Defining the pages and classes of a rule
Many types of rules can access or update information on various clipboard pages when they run. Most of these rule types include a Pages & Classes tab that you can use to provide important information about what your clipboard pages will look like during execution.
- Setting up rule prompting during when you configure forms. For example, if you specified that a page belongs to the Work-class in the Pages & Classes tab of an activity, when the page is used as a step page, prompting shows results from the Work- class.
- Configuring rule validation. The information specified in the Pages and Classes tab defines how rule references are validated during rule validation.
- Applying the default class for list elements. When you define a list or group page on the Pages and Classes tab, the system automatically sets the class of those elements when new entries are added.
Guidelines
To complete a Pages & Classes tab, follow these guidelines:
- Leave this tab blank if the other tabs of the rule do not reference any pages.
- Complete this tab to describe the clipboard context expected at run time.
- Page names are case-sensitive, so be sure to match the case of the page name.
- Enter the name of each page referenced explicitly on the other tabs of the rule form. For rules that contain HTML or XML text , such as correspondence or HTML rules , the reference can be inside a JSP tag or directive.
- To set the class of the primary page, add a row that has no value for the page name and the desired class name.
- If you use the keyword Top on other tabs of the rule form, such as in embedded properties, add a row with the keyword Top in the Page Name column and the class of the top level page in the Class column. You frequently do this when the name of the top-level page name varies in different settings.
-
For an embedded page enter the full page name. You can also enter the full page name
starting with the top-level page name or with the keyword Top. For List and Group arrays,
use trailing (). For example:
-
myPage.ListA().PageA
-
myPage.ListA().listB()
Page names must be absolute property references. Relative references, such as
.myEmbeddedPage
are not supported. Instead, use the keywordsPrimary
orStepPage
to make the path absolute. For example:-
Primary.myEmbeddedPage
-
StepPage.myEmbeddedPage
-
- You do not need to list all the clipboard pages expected to be on the clipboard, only those that are referenced in this rule.
-
For HTML rules, XML Stream rules, and other stream rules containing JSP tags, list all
the pages identified in the HTML text, including system pages (
pxRequestor
,pxProcess
,pxThread
, and their embedded pages, if mentioned). -
You cannot use the keywords
$ANY
or$CLASS
in the Class column. - Do not use the keywords $ANY, $CLASS, or $None in the Class column; these keywords are deprecated.
- If the Class column is blank, the Applies To class of the rule is used by default.
- For rules that run in the context of a primary page, you can leave the page name blank for greater flexibility. (The class of the primary page matches the Applies To key part of the rule.)
- You must have classes for data pages defined on the Pages & Classes tab. When you add a parameterized data pages to the tab, do not use parameters or brackets.
- The context at run time often differs from the context at design-time.
- You can enter rows in the list in any order.
- You cannot use the Top keyword in the Pages & Classes tab of a list view or summary view rule.
- Using the Top keyword in a data transform does not reference the top-level page.
- You must list embedded pages in the Pages & Classes tab if the class of the embedded page varies from the class defined for the property at run time.
Run-time processing
The pages that are present when a rule is running might vary from execution to execution. The system neither requires nor checks that all the pages listed are present each time it runs the rule. It only determines it can find the properties needed to perform the current execution.
In some situations, the class of a page may vary from execution to execution. If all the properties referenced are available in a common parent class, you can list the parent on this tab, even though the page belongs to a subclass.
For example, an activity may operate on a page named Customer that, in some situations, has the class Data-Account-Savings and in other cases has the class Data-Account-Checking. If all the properties that the activity needs — for example CurrentBalance and AccountOpenDate — are defined in the Data-Account- class, you can list Data-Account- in the Class column.
However, if the activity needs to access both checking and savings data at once, the activity needs to work with two pages — one of each class — with distinct page names.
Identifying pages in your application
Managing the number and names of clipboard pages referenced in your application is important. Using too many pages or omitting to remove the pages when no longer needed can add to the run time memory demand of your applications. Misspelling page names or having two copies of one page (with different names) can also hurt performance or make testing difficult.
Use the Data Designer Usage tab to see the pages that use a data type.
Special cases
Certain rule forms offer more capabilities for greater power and flexibility:
-
This functionality is not supported. Use a data page instead. For three rule types —
Declare Expression, constraints, and when condition rules — you can define page names that
start with the keyword
locate
and that use an activity to search or assemble the page needed. These pages are known as locatable pages. -
For six rule types — including activities and correspondence — pages with names that
start with the keyword
prompt
are known as indirect pages. This facility allows a calling activity to share multiple pages with a called activity, for example. When the called activity references a property on a page named promptALPHA, the system searches the clipboard for a page named ALPHA.Note: This feature has been deprecated.