Einen einfachen Baustein aufrufen: SD RFC CUSTOMER GET Deutsch

From Theobald Software

Jump to: navigation, search

English Version: Call a simple function module: SD_RFC_CUSTOMER_GET


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.

Screenshot des Beispielprogramms
Enlarge
Screenshot des Beispielprogramms


[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
DeutschEnglish
Personal tools
Xtract PPS