AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken SAP BAPI_MATERIAL_GETLIST Übergabe des Filters
Thema durchsuchen
Ansicht
Themen-Optionen

SAP BAPI_MATERIAL_GETLIST Übergabe des Filters

Ein Thema von rdes · begonnen am 7. Dez 2021 · letzter Beitrag vom 11. Dez 2021
 
rdes

Registriert seit: 16. Jun 2005
3 Beiträge
 
Delphi 11 Alexandria
 
#1

SAP BAPI_MATERIAL_GETLIST Übergabe des Filters

  Alt 7. Dez 2021, 15:05
Datenbank: SAP • Version: 7.6 • Zugriff über: ActiceX
Hallo liebes Forum,
bin auf der Suche nach dem Fehler den ich mache.
Der Rückgabewert von SAP Lautet: „Value in field SIGN can only be I, E „

Die Beispiele auf der Seite,
http://www.joachim-lentz.homepage.t-online.de/intro.htm
Funktionieren soweit, also die Verbindung zu SAP ist OK.

Bei der BAPI Funktion „BAPI_MATERIAL_GETLIST“ stoß ich auf ein Problem.
Bei der Übergabe der Tabelle als Filter -> MATNRSELECTION wird etwas nicht stimmen.

Hat jemand einen Tipp?


Danke.

Viele Grüße
Reiner

Delphi-Quellcode:
procedure TForm1.Button18Click(Sender: TObject);
var i:integer;
txt:String;

iTabIndex,y:integer;

    item,mat,funct,selPlant,itemPlant:Variant;

begin

    funct := sapFunctions1.add('BAPI_MATERIAL_GETLIST');

    funct.exports['MAXROWS'].value :=100;


   mat:=funct.tables.item('MATNRSELECTION');

    item:=mat.rows.add;

         item.Value(1,'SIGN'):='I';
         item.Value(1,'OPTION'):='BT';
         item.Value(1,'MATNR_LOW') :='000000000006000107';
         item.Value(1,'MATNR_HIGH'):='000000000006020000';


  if not funct.call then
  showMessage(funct.exception)
  else begin

// Ausgabe Material
    tab2 := funct.tables.item['MATNRLIST'] ;
      if tab2.rowcount > 0 then
      begin

        iTabIndex := tab2.rowcount;



        for i := 1 to iTabIndex do
        begin

          try
            begin
              for y := 1 to 5 do
              begin
                txt := tab2.value(i, y);
                Grid.cells[y, i] := copy(txt, 0, 20);

              end;
            end;
          finally
            begin
            end;

          end;

         end;

             end;

// Ausgabe Fehler
           tab2 := funct.tables.item('RETURN');


LN_Rueckgabe.caption := inttostr(tab2.rowcount);
      if tab2.rowcount > 0 then
      begin

        iTabIndex := tab2.rowcount;


        for i := 1 to iTabIndex do
        begin

          try
            begin
              for y := 1 to 12 do
              begin
                txt := tab2.value(i, y);
                Grid.cells[y, i] := copy(txt, 0, 50);

              end;
            end;
          finally
            begin
            end;

          end;

        end;



             end;
 end;




end;

Geändert von rdes ( 8. Dez 2021 um 07:29 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:45 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz