ABAPCode class 
From Theobald Software
The class ABAPCode offers nearly unlimited possibilities. You can execute ABAP code on the fly and retrieve the result in a string array. The example below shows how to create a simple ABAP interpreter that executes a dynamic SQL statement.
Like other client classes, ABAPCode needs a valid R/3 connection. With the help of the method AddCodeLine, a new line of code will added to the dynamic report. The report will be executed via Execute. The result set (regarding the ABAP list) can be read by the method GetResultLine.
[C#]
private void button1_Click(object sender, System.EventArgs e) { ERPConnect.R3Connection con = new ERPConnect.R3Connection(); if(!con.AskUserAndOpen(true)) return; ERPConnect.Utils.ABAPCode code = new ERPConnect.Utils.ABAPCode(); code.Connection = con; foreach(string s in textBox1.Lines) code.AddCodeLine(s); if (code.Execute()) { for(int i=0; i < code.ResultLineCount; i++) textBox2.Text += code.GetResultLine(i) + "\r\n"; } else textBox2.Text = "ABAP Error: " + code.LastABAPSyntaxError; }
[VB]
Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click Dim con As New ERPConnect.R3Connection If Not con.AskUserAndOpen(True) Then Exit Sub End If Dim code = New ERPConnect.Utils.ABAPCode code.Connection = con Dim s As String For Each s In textBox1.Lines code.AddCodeLine(s) Next Dim i As Integer If code.Execute() Then For i = 0 To code.ResultLineCount - 1 textBox2.Text += code.GetResultLine(i) + vbCrLf Next Else textBox2.Text = "ABAP Error: " + code.LastABAPSyntaxError End If End Sub
The figure below shows AbapPad in action.



