ABAPCode class English

From Theobald Software

Jump to: navigation, search

German Version: ABAP-Code dynamisch ausführen


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.

Image:ABAPPad.jpg

DeutschEnglish
Navigation
Xtract PPS