BANF Status abrufen 
From Theobald Software
Den Status einer Bestellanforderung wollen wir uns in diesem Beispiel mit der BAPI BAPI_REQUISITION_GETDETAIL und mit Hilfe von ERPConnect aufrufen.
Es wird nur die Nummer der Bestellanforderung an die Funktion übergeben. Nach erfolgreichem Abruf erfolgt dann die Rückmeldung der Stati inkl. der Positionssdaten an unser Programm zurück. Diese befinden sich in der Tabelle "REQUISITION_ITEMS".
Es sind noch detaliertere Übergabemöglichkeiten und Rückgabewerte möglich, welche in der SAP-Doku nachgelesen werden können.
Damit die Funktion funktioniert, muss das Verbindungsobjekt Con als Instanz-Variable der Klasse vorhanden sein.
public static void BanfStatus(string Banf_Number) { RFCFunction func = Con.CreateFunction("BAPI_REQUISITION_GETDETAIL"); func.Exports["NUMBER"].ParamValue = Banf_Number; func.Execute(); if (func.Tables["Return"].RowCount > 0) { string rMessage = func.Tables["Return"].Rows[0, "MESSAGE"].ToString(); Console.WriteLine(rMessage); } if (func.Tables["REQUISITION_ITEMS"].RowCount > 0) { foreach (RFCStructure dr in func.Tables["REQUISITION_ITEMS"].Rows) { Console.WriteLine("BelgNummer:" + dr["PREQ_NO"].ToString() + " Pos: " + dr["PREQ_ITEM"].ToString() + " Status: " + dr["PROC_STAT"].ToString()); } } [...]
Hier sehen wir das Ergebnis. Die Bestellanforderung besteht aus 3 Positionen, die alle den gleichen Status besitzen. Man sieht wie der Status der 3 Positionen in der Console ausgegeben werden. "N" steht für "Nicht bearbeitet". Weitere Stati sind :
- B - Bestellung erstellt
- A - Anfrage erstellt
- K - Kontrakt erstellt
- L - Lieferplan erstellt
- S - Leistungserfassungsblatt erstellt
In unserem Fall sind alle Positionen der BANF "Nicht bearbeitet".


