A Page List property is an ordered list of embedded pages that are referenced by a numeric subscript, starting with 1. Page List properties are useful for holding lists of data. A Page Group property is an unordered set of pages that is referenced by a string subscript. Page Group properties are useful when you need to look up specific pages by a unique identifier and the order of the pages does not matter.
The values of Page List and Page Group properties are stored in the BLOB column, that is, these values are not columns in the database. You can use a Declare Index rule to expose Page List and Page Group properties so that you can report on them. For more information, see About Declare Index rules.
Page List or Page Group creation
When you create the property, set the Property Mode to Page List or Page Group. Set the PageClass to the class that represents the structure for each embedded page. For example, the standard Page Group property Work-.pyWorkParty has pages is of class Data-Party.
Ad hoc Page Lists are also created and filled when you do a database search by using the Obj-List method. Consider work objects entered by an operator. These work objects are not explicitly defined in the Operator table. You can write a query by using the Obj-List method to generate a list of records from the database.
List item modification
To edit, delete, or add Page Groups or Page Lists on a work page, create a custom activity. See the standard activities Work-.PartyCreate and Work-.PartyRemove for examples. You can also modify list items using a data transform with the Remove and Update page methods.
List item iteration
To iterate through the elements of a Page Group on a single step of an activity, use the For each embedded page option on the Loop button as shown in the following example. To iterate through elements of a Page List, use a data transform.
The following table shows the current page and the iteration counter for accessing values in method parameters and Java steps.
|Access||Current page||Iteration counter|
|in Method parameters||(it is the default step page)||param.pyForEachCount|
|in a Java step||myStepPage||tools.getParamValue("pyForEachCount")|