Einen Report mit ERPConnect aufrufen 
From Theobald Software
In diesem Beispiel wird über einen eigenen Z-Baustein im SAP ein Report aufgerufen, das Ergebnis per Tabelle an die Konsole übergeben und dort ausgegeben.
Z-Baustein anlegen
Legen Sie einen neuen Funktionsbaustein an. Der Name sollte Z_XTRACT_IS_REMOTE_REPORT sein, kann aber bei Bedarf auch geändert werden. Definieren Sie den Baustein in seinen Attributen als ‚Remotefähig‘ und legen Sie die Import-, Export- und Tabellenparameter so an, wie in den nachfolgenden Screenshots gezeigt.
Den ABAP-Code zum Baustein finden Sie hier: Z_XTRACT_IS_REMOTE_REPORT.txt. Kopieren Sie bitte den Quellcode per Strg+C und Strg+V in den Code-Editor (Reiter Source Code).Sichern Sie den Baustein und aktivieren Sie ihn. Nun ist er für die Benutzung bereit.
Ansteuerung mit .NET und ERPConnect
Im nachfolgenden Quellcode werden der auszuführende Reportname per Parameter PROGRAM_NAME und die Select-Options für den Report per Tabelle an SAP übergeben. Das Ergebnis des Reports wird per Tabelle LIST_OUTPUT an den Aufrufer zurückgeliefert und in einer Schleife ausgegeben.
static void Main(string[] args) { R3Connection con = new R3Connection("HOST", 11, "USER", "PW", "DE", "800"); con.Open(); RFCFunction func = con.CreateFunction("Z_XTRACT_IS_REMOTE_REPORT"); func.Exports["PROGRAM_NAME"].ParamValue = "RLT10010"; // Name of the Report func.Exports["ACTIONID"].ParamValue = "X"; //Execute immediatly RFCStructure mySelection = func.Tables["SELECTION_TABLE"].AddRow(); mySelection["SELNAME"] = "T1_LGNUM"; //Name of the Select-Option mySelection["SIGN"] = "I"; //Include mySelection["OPTION"] = "EQ"; //Equal mySelection["LOW"] = "001"; //LGNUM try { func.Execute(); } catch (ERPException e) { Console.WriteLine(e.Message); Console.ReadLine(); return; } //Output of the Report foreach (RFCStructure dr in func.Tables["LIST_OUTPUT"].Rows) { Console.WriteLine(dr["WA"].ToString()); } Console.ReadLine(); }
Bildschirmausgabe in SAP und .Net







