Please also have a look in our OnlineHelp for further information.

Sometimes it is neccessary to determine the row count of a table remotely. In this sample we are getting the row count with the help of an SAP standard function module called EM_GET_NUMBER_OF_ENTRIES.

This function module is remote enabled, so we can use it either with ERPConnect for pure programming or with the Xtract product line for pure plug’n play.

Let us first take a look at the programming method with ERPConnect. The following code sample illustrates how easy it is getting the row count of the table MARA with just a few lines of code.

[C#]
R3Connection con = new R3Connection("SAPServer", 00, "SAPUser", "Password", "EN", "800");
RFCFunction func = con.CreateFunction("EM_GET_NUMBER_OF_ENTRIES");
RFCStructure entrystruc = func.Tables["IT_TABLES"].AddRow();
entrystruc["TABNAME"] = "MARA";
CountFunc.Execute();
if (func.Tables["IT_TABLES"].RowCount>0)
Console.WriteLine(func.Tables["IT_TABLES"][0, "TABROWS"].ToString());

Having a look at the following screenshots you can see how it works with the Xtract IS BAPI Component .

First we define the Input Type as static and the Output Type as Pipeline of the Table IT_TABLES. Then we click on Edit.

BAPI-Row-Count-01

The field TABNAME has to be filled with the name of the table. We can also use a variable here, or we can define a table to get multiple values. But that leads to the necessity to change the Input Type to Pipeline and define the Input table. In this sample we insert a single value MARA.

BAPI-Row-Count-02

After running the package we can see, that the field TABROWS is now filled with the row count of the Table MARA.

BAPI-Row-Count-03

BAPI-Row-Count-04