Einen Report mit ERPConnect aufrufen Deutsch

From Theobald Software

Jump to: navigation, search

English Version: Execute a Report with ERPConnect


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.


Image:Z_XTRACT_IS_REMOTE_REPORT_Shot1.jpg



Image:Z_XTRACT_IS_REMOTE_REPORT_Shot2.jpg



Image:Z_XTRACT_IS_REMOTE_REPORT_Shot3.jpg


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

Image:Z_XTRACT_IS_REMOTE_REPORT_Shot4.jpg



Image:Z_XTRACT_IS_REMOTE_REPORT_Shot5.jpg

DeutschEnglish
Personal tools
Xtract PPS