Root and Child Pagination
The EAI UI Data Adapter supports pagination for both root and child components. To support root and child pagination, the EAI UI Data Adapter requires that you set the attributes listed in the following table as part of the integration component instance.
Attribute | Description |
---|---|
pagesize |
The number of records to be returned for a component. The default page size is 10. Note that there is a server parameter that controls the maximum page size (MaximumPageSize). If the pagesize attribute is greater than the maximum pagesize defined in the server parameter, then an error occurs. |
startrownum |
Determines the starting point for record retrieval. The 0-based index of the record within the recordset. |
lastpage |
Indicates whether the record being returned is the last record in the record set. The value is set by the EAI UI Data Adapter. Valid values are true or false. |
recordcountneeded |
When set to true, indicates that a record count is needed for this component. Valid values are true or false. |
recordcount |
Value set by the EAI UI Data Adapter indicating the approximate record count provided by the object manager based on the search specification. |
child pagination |
When set to true, enables pagination of child records. Valid values are true or false. |
Example of QueryPage on Parent and Child Components
This example demonstrates querying on both parent and child components. In this example, the query is for accounts that begin with ‘A’ and any associated contacts (First Name and Last Name). Note that pagesize is 10 and an approximate record count is requested and returned in the response.
Request
<SiebelMessage MessageType="Integration Object" IntObjectName="Account"
IntObjectFormat="Siebel Hierarchical">
<ListOfAccount pagesize="10" startrownum="0" recordcountneeded = "true">
<Account>
<Name>='A'</Name>
<ListOfContact>
<Contact>
<FirstName></FirstName>
<LastName></LastName>
</Contact>
</ListOfContact>
</Account>
</ListOfAccount>
</SiebelMessage>
Response
SiebelMessage MessageType="Integration Object" IntObjectName="Account"
IntObjectFormat="Siebel Hierarchical">
<ListOfAccount recordcount="2" lastpage="true">
<Account>
<Name>Adams Tech</Name>
<ListOfContact lastpage="true">
<Contact>
<FirstName>Sally</FirstName>
<LastName>Brown</LastName>
</Contact>
<Contact>
<FirstName>Terry</FirstName>
<LastName>Smith</LastName>
</Contact>
</ListOfContact>
</Account>
<Account>
<Name>Aleph Inc.</Name>
<ListOfContact lastpage="true">
<Contact>
<FirstName>Bill</FirstName>
<LastName>Jones</LastName>
<Contact>
<Contact>
<FirstName>Roland</FirstName>
<LastName>Smith</LastName>
</Contact>
</ListOfContact>
</Account>
</ListOfAccount>
</SiebelMessage>
Example of QueryPage Using Child Pagination
This example demonstrates querying using child pagination. In this example, the query is for account with name as ABC Mart #18 and any associated contacts (First Name and Last Name). Note that only 10 records are retrieved though there are 4999 records. This is because the page size is 10 and child pagination parameters is also set.
Request
<SiebelMessage MessageId="" IntObjectName="EAI Account" MessageType="Integration
Object" IntObjectFormat="Siebel Hierarchical">
<ListOfEAI_spcAccount>
<Account Name="ABC Mart #18">
<ListOfContact recordcountneeded="true" startrownum="0"
ChildPagination="true" pagesize="10">
<Contact>
</Contact>
</ListOfContact>
</Account>
<ListOfEAI_spcAccount>
</SiebelMessage>
Response
<SiebelMessage MessageId="" MessageType="Integration Object" IntObjectName="EAI
Account" IntObjectFormat="Siebel Hierarchical">
<ListOfEAI_spcAccount lastpage="true">
<Account Name="ABC Mart #18">
<ListOfContact recordcount="4999" lastpage="false">
<Contact First_spcName="M*" Last_spcName="A*"></Contact>
<Contact First_spcName="MAYA" Last_spcName="ANDERSON"></Contact>
<Contact First_spcName="ABS_ADMIN_EMP1"
Last_spcName="ABS_ADMIN_EMP1"></Contact>
<Contact First_spcName="ABS_ADMIN_EMP2"
Last_spcName="ABS_ADMIN_EMP2"></Contact>
<Contact First_spcName="ABS_ADMIN_EMP3"
Last_spcName="ABS_ADMIN_EMP3"></Contact>
<Contact First_spcName="ABS_ADMIN_EMP4"
Last_spcName="ABS_ADMIN_EMP4"></Contact>
<Contact First_spcName="HARRY" Last_spcName="ADAMS"></Contact>
<Contact First_spcName="VERNON" Last_spcName="AJAX" ></Contact>
<Contact First_spcName="THOMAS" Last_spcName="ALEX" ></Contact>
<Contact First_spcName="MAY" Last_spcName="ALLISON" ></Contact>
</ListOfContact>
</Account>
</ListOfEAI_spcAccount>
</SiebelMessage>