Einen einfachen Baustein aufrufen: SD RFC CUSTOMER GET 
From Theobald Software
|
|
Der Baustein SD_RFC_CUSTOMER_GET ist eine Demo-Baustein für RFC-Anwendungen, der in jedem SAP-System vorhanden sein sollte. Er empfängt als Eingabeparameter eine Kundennummer und gibt die zugehörige Adresse in Form einer Tabelle zurück (Es ist deshalb eine Tabelle, weil Sie theoretisch auch mit Wildcards suchen können. Das Resultat wäre dann mehr als eine Kundenadresse).
Der folgende Code zeigt zunächst die Anmeldung am SAP-System. Ein RFCFunction-Objekt wird dann mit Hilfe der Funktion CreateFunction gebildet. Der Import-Parameter KUNNR wird mit der Benutzereingabe gefüllt. Execute führt den Baustein aus. Nach dem Aufruf gilt es nur noch, die Ergebnistabelle auszulessen und auszugeben.
[C#]
static void Main(string[] args) { R3Connection con = new R3Connection("hamlet",11,"theobald","pw","DE","800"); con.Open(false); // Create a function object RFCFunction func = con.CreateFunction("SD_RFC_CUSTOMER_GET"); Console.WriteLine("Please enter customer number ..."); Console.WriteLine("(and do not forget the leading zeros ..."); // fill the export parameter StringBuilder CustomerNo = new StringBuilder(Console.ReadLine()); func.Exports["KUNNR"].ParamValue = CustomerNo.ToString(); try { func.Execute(); } catch (ERPException e) { Console.WriteLine(e.Message); Console.ReadLine(); return; } // Output the result of the function module Console.WriteLine("Name of customer:"); Console.WriteLine(func.Tables["CUSTOMER_T"].Rows[0,"NAME1"]); Console.ReadLine(); }
[VB]
Sub Main() Dim con As New R3Connection("hamlet", 11, "theobald", "pw", "DE", "800") con.Open(False) ' Create a function object Dim func = con.CreateFunction("SD_RFC_CUSTOMER_GET") Console.WriteLine("Please enter customer number ...") Console.WriteLine("(and do not forget the leading zeros ...") ' fill the export parameter Dim CustomerNo As New StringBuilder(Console.ReadLine()) func.Exports("KUNNR").ParamValue = CustomerNo.ToString() Try func.Execute() Catch e As ERPException Console.WriteLine(e.Message) Console.ReadLine() Return End Try ' Output the result of the function module Console.WriteLine("Name of customer:") Console.WriteLine(func.Tables("CUSTOMER_T").Rows(0, "NAME1")) Console.ReadLine() End Sub


