cancel
Showing results for 
Search instead for 
Did you mean: 

Agentry Complex Table with SAP Backend

Former Member
0 Kudos

Hallo,

we have a use case where we have to load round 10.000 Objects from the SAP Backend to the Agentry Client.

Let us say we have a inventory and need all InventoryItems for this. First we try to create a Inventory object with a collection from InventoryItems and load the Inventory items with a read step in the collection. But this takes a long time (round 15 minutes) on the client.

Now we try it with a complex table. We load the 10.000 InventoryItems in the complex table an it needs only 30 second.

Question1: Why is the complex table so much faster as the object load.

But now our problem is that we need to filter the result of the complex table fetch.

Question2: The use case is: we want scan the inventory number and want load all InventoryItems from the Backend for this inventory number in the complex table. How can we do this? Can we get the inventory number from the inventory object in the java class for the complex table load? Do someone have a idear.

Thanx André

Message was edited by: Michael Appleby

Accepted Solutions (1)

Accepted Solutions (1)

jason_latko
Advisor
Advisor
0 Kudos

Andre,

Object collection sizes should be kept in the hundreds, not thousands.  Object records are not indexed, but complex table records are indexed for fast searching on the clients.  If you are using one of the Syclo products, the complex table logic is written into the BAPIs that fetch the data, not the java code.  You may be able to limit the data set by applying filters in the config panel for your particular complex table.  There is probably a way to apply filters at run-time by extending the java class that handles the complex table, but I don't know how to do that off the top of my head.

Jason Latko - Senior Product Developer at SAP

Answers (1)

Answers (1)

Former Member
0 Kudos

Question 1:

Complex table data and Object data are store differently. This is because Complex Table data is expected to be pulled from, and the Object data is where you modify the data.

Complex Table: Complex Table

The complex table definition defines a table of records containing multiple fields stored on the Agentry Client in a structured and searchable format. A complex table can contain large amounts of data with records numbering in the thousands. Included in the complex table are the fields for its records and indexes on fields to provide search functionality and structure to the overall data in the table. The complex table definition also defines how its data is synchronized.

The fields and indexes of a complex table define the structure of the records. A complex table must have a minimum of one index definition, which is the primary index. This index is defined for the field containing the unique identifier for each record. This field and index are then used during synchronization to identify records for addition, replacement, or removal.

Object Data: SyBooks Online

An object definition encapsulates a business entity and its related data. An object’s child property definitions give that object its characteristics. An object can also define how its data is retrieved from the back end system.

The object definition is in essence a container for the properties defined within it. Objects are defined to encapsulate the different business entities in a module in support of the functionality to be provided in the mobile application. The properties then define the data stored within that object.

Question 2:

You can scan into a field and then can an action that loops through the complex table with a sub action loops that finds all the matching number and call a transaction that builds the object data for it.

Former Member
0 Kudos

Hello Steve,

thanx for your explanations.

Question 2: Thats not really what i want. It is ok when the InventoryItems stored in the complex table. I do not need the object data. What I need is to parameterise the download from the backend for the complex table that i only get the InventoryItems for the Inventory number.

Is this possible?

Thanks,

André

sravanthi_polu
Contributor
0 Kudos

Hi,

Please check if there are any filters defined in config panel for complex tables

Regards,

Sravanthi