Die Klasse ABAPCode bietet die Möglichkeit, den Code von ABAP-Reports an SAP zu übergeben und dort on the fly auszuführen.
Dadurch ergeben sich nahezu unbegrenzte Möglichkeiten.
Das folgende Beispiel zeigt, wie Sie einen einfachen ABAP-Interpreter erstellen, der ein dynamisches SQL-Statement ausführt.
Einen ABAP-Interpreter erstellen #
- Bauen Sie mit der R3Connection-Klasse eine Verbindung zum R/3 System auf.
- Fügen Sie mit der Methode AddCodeLine eine neue Zeile ABAP-Code hinzu.
- Ist der gewünschte Code vollständig übergeben, führen Sie ihn mit Execute aus.
- Lesen und verwerten Sie die Ergebnismenge (die Listausgabe) mit der Methode GetResultLine.
private void button1_Click(object sender, System.EventArgs e)
{
using (R3Connection con = new R3Connection("SAPServer", 00, "SAPUser", "Password", "EN", "800"))
{
ERPConnect.LIC.SetLic("LicenseNumber");
con.Open(false);
ERPConnect.Utils.ABAPCode code = new ERPConnect.Utils.ABAPCode();
code.Connection = con;
foreach (string s in txtABAPCode.Lines)
{
code.AddCodeLine(s);
}
if (code.Execute())
{
for (int i = 0; i < code.ResultLineCount; i++)
txtResult.Text += code.GetResultLine(i) + "\r\n";
}
else
{
txtResult.Text = "ABAP Error: " + code.LastABAPSyntaxError;
}
}
}