Back Forward Property form
Completing the Advanced tab

  1. About 
  2. New 
  3. General 
  4. Advanced 
  5. History 
  6. More... 

Optional. Complete this tab to:

The format and contents of this tab depend on the Property Mode value selected on the General tab.

Basics

Field

Description

Max Length

Optional. This field is visible only for Value mode properties of type Password, Text, or Identifier. You can restrict the value to a specific maximum number of characters in internal storage.

Enter the number here. If a user or activity attempts to assign a longer value to the property, the clipboard does contain the longer value, but also has an associated message.

CautionIf you leave this blank, PRPC does not limit the length of values of the property. However, operational considerations and system performance considerations may apply. For example, database software supporting the PegaRULES database may limit the size of the column to no more than 255 characters, or 1023 characters, or another value; this applies if the property is to be exposed. Even when the property is not exposed as a database column, sizes larger than 1,000 bytes may adversely add to the memory demands on the server and JVMs, depending on how many instances contain the large property and how often they are accessed on requestor clipboards.

NoteWhen updating or overriding a property that has a Max Length defined, you can enter a smaller Max Length value, but not a larger value.

Expected Length

Optional. Enter the typical length in characters expected for the property being defined, as entered into a form. This does not affect the number of characters that can be stored internally in the property value.

If you associate the standard control FixedSizeForInput with this property, the system uses this value to define the size of HTML input textboxes. Use the similar FixedSize control to apply this limit to both input and display presentations of the property.

This field is visible only for Value mode properties.

Override Sort Function

SmartPromptOptional. Use to this field in special situations, to compare and sort values of this property in ways other than the natural sort sequence for the Type. If you leave this blank, the system uses a built-in sort order based on the Type.

Identify here a function rule in the Pega-RULES:Sort library or a custom function in a custom Sort library. For a custom function, enter the RuleSet name, a colon and the sort function name.

This field is visible only for Single Value mode properties.

Access When

SmartPromptOptional. This field is meaningful only when the Type is TextEncrypted and the mode is Single Value.

Identify the second key part of an access when rule (Rule-Access-When rule type) that controls whether or not the clear-text or encrypted value appears in reports and forms. Design the access when rule to be true for those operators, situations, and times when the clear text of the property value is to appear, and false otherwise. See Implementing and using the TextEncrypted type.

Edit Input

SmartPromptOptional. To convert data entered by a user into another format, identify an edit input rule to perform the conversion. This field is visible only for Value mode properties.

If this property is to hold text that is composed using the RichTextControl control and so may contain HTML markup such as <b> or <h2>, select pxFilterRichText. This standard edit input rule deletes potentially insecure markup from the input value, while retaining the legitimate display markup.

Validate

SmartPromptOptional. Validation of a Value mode property always includes testing its value against the formats allowed by the Type and its maximum length. To provide stronger validation for this property, identify an edit validate rule.

When users complete and submit a form containing a value for this property, the system first applies the edit input rule. This rule may transform the input text. Next, it applies the edit validate rule, which may cause a message to be added to the property indicating that the property value has failed validation.

NoteTo restrict this value to a (PRPC) Java identifier, enter JavaIdentifier.

NoteMany standard edit validate rules are emulated by an equivalent JavaScript function that can be run on the client workstation before users submit a user form or flow action form. See client-side validation.

This field is visible only for Value mode properties.

Column Inclusion

Optional. If this Single Value property is to belong to a top-level object (not to an embedded page) in any concrete class, indicate whether this property is to appear in the Database Class Mappings gadget and Modify Schema wizard as a candidate for an exposed column:

  • Leave blank if you do not anticipate any benefit in making this property an exposed column.
  • Choose Required or Recommended to record your intent that a database administrator extend a database table schema to expose this property. These choices cause this property to appear as a candidate for column exposure in the Database Class Mappings gadget and Modify Database Schema wizard.

The other choice Optional is equivalent to blank.

NoteYour choice in this field only conveys advice to a database administrator; it does not cause the schema to change. You can update a property to revise this selection at any time. Using the Database Class Mappings gadget, you can compare the values in this field with the current schema, identifying properties marked as Required which are not exposed. To start this gadget, select > Data Model > Classes and Properties > Database Class Mappings.

See How to expose a property as a database column and Data Model category — Classes and Properties landing page.

NoteIf the property is not a Single Value property, or is not at the top level of an instance of any concrete class, this field is not meaningful.

NoteIf this is a transient property (the Transient Property checkbox is selected), select Optional or leave this field blank. A transient property cannot be exposed ("optimized").

Optimized for Classes

A list of the classes containing this property that have values as an exposed column in the PegaRULES database. This read-only list appears only for Single Value properties which have been exposed through the Property Optimization tool. See About the Property Optimization tool.

Cannot Be Declarative Target

Select to prevent this property from being the target of a Declare Expression rule.

NoteThis restriction applies to Declare Expression rules created after you save the Property form; it is not applied retroactively.

This restriction is meaningful only for Single Value, Page, or Java Property properties.

Cannot be included as an input field

Select to turn on the pySpecial restriction for this rule. If selected, users cannot directly enter a value for this property on an HTML form. This restriction improves system security and reduces the chance of errors that can occur when one property is in some cases computed and in other cases directly input.

Such properties are sometimes called special properties.

TipChoose a naming convention for special properties, to help everyone on your team remember them. (Standard special properties have a property name starting with the letters px.)

Reference Property

Select to make this property a reference property, a property that can link to a source property. Reference properties can reduce the need for duplicating data values on multiple pages or objects, and can simplify lengthy property references. Use the Property-Ref method in an activity to establish the contents of a reference property.

Advanced featureIf this property is of mode Page or Page List and the Page Class is a concrete class, you can in some cases use auto-population rather than use the Property-Ref method.

Persistence

Select to cause the value of this property to be omitted (equivalently, set to null) when any clipboard page containing this property is committed to the PegaRULES database. Similarly, the property has no value when an instance containing this property is opened to the clipboard from the PegaRULES database.

Marking a property as transient, when appropriate, improves performance by reducing the size of the Storage Stream property value (the pzPVStream property and column). While on the clipboard, the property can have values of any length.

Of course, select this only for properties — Single Value or aggregate — that have values that you don't need to be saved in the database.

If you mark a property as transient, but saved instances of objects already exist in the PegaRULES database, the values of this property are removed only when and if those objects are later opened and then recommitted.

NoteThe value of a transient property is not deleted when a requestor session containing a clipboard value for a transient property is passivated. The current value of the property is included in the saved passivation record, and restored when the requestor session is later activated.

NoteYou can't expose a transient property as a database column. Because all values of the column would be empty, this is not useful. Similarly, you can't mark a property as transient if PRPC determines that it is part of an external database table.

Auto-populated embedded pages

Optional. If the mode of this property is Page or Page List and the Page Class identifies a concrete class, your application can automatically retrieve, compute, or references values for the property by defining a source of page data. If configured, then PRPC at runtime, when the page or page is accessed, retrieves data for the page or pages based on the value of specified properties.

Use of auto-populated Page or Page List properties can simplify your application by eliminating the need to write an activity to populate the properties, or by eliminating a routine step in an activity. The content of the page or pages can be copied from:

Advanced featureIf the Reference Property option is selected, the data is retrieved and copied to a temporary page (or a Code Pega-List page, for Page List properties), rather than copied to the property.

Auto-populated pages are analogous to backwards-chaining Declare Expression rules, in that the value of a property is computed only when the value is needed. However, Declare Expression rules compute only scalar properties; this feature computes entire pages or lists of pages.

NoteAuto-population occurs only when at least one embedded property on the page or pages is accessed, for example displayed on a user form or used in an activity.

NoteTo debug auto-populated properties, start the Tracer tool, open the Tracer Options form, and select the Auto Populate Properties event type.

For an example, see PDN article Automatically populating a Page or Page List property.

Field

Description

Auto-populate Property

Select to indicate that values of this Page or Page List property are to be auto-populated at runtime based on the details entered on this tab.

This field is visible only for properties of type Page or Page List. When selected, the Advanced tab changes to include additional fields. Complete these fields to define a source of values.

Use Declare Page to Perform Load

Available when Auto-populate Property is checked. Select to indicate that values for this property are to be populated by a declare pages rule.

When this checkbox is selected, a field appears in which you specify the declare pages rule. SmartPromptSelect the Page Name (key) of a declare pages rule that starts with the prefix Declare_Ref_. At runtime, the value of the Page property is set by copying this page (or referencing a temporary page. whenever the Page property is accessed.

If this property has mode Page, the class of the declare page must match the Page Class of this property. If this property has mode Page List, the class of the declare page must be Code-Pega-List, with embedded pages that match the Page Class of this property.

Advanced Auto-population Options

Select this option to record how PRPC obtains the key to an object (or keys to a list of objects) in the PegaRULES database. Typically, you cause auto-population of a Page or Page List mode property by

  1. Setting a value for the property (or properties) that make up the key to the class identified in the Page Class field.
  2. Referencing any non-key property (such as .pyLabel) on the object.

For example, to populate a page of class Data-Admin-Operator-ID, set a value to the property Data-Admin-Operator-ID.pyUserIdentifier. On the Basic tab of the Class form, pyUserIdentifier is listed as the key to these objects.

In less typical situations, the key value is as the value of a separate property in the current object, or is computed from multiple separate properties each providing one key part.

For a Page mode property, you can also specify how to load the property with an object from the PegaRULES database by selecting one of these options:

  • Load Using Instance Handle — At runtime, the value of a property on the parent page, when not blank, holds the pzInsKey (handle) of the object to open.
  • Load using Class Keys — At runtime, the values of one or more properties on the parent page, when not blank, together identify the visible key of the object to open.
Autopopulate using instance handle from parent page

These fields are displayed when the Advanced Auto-population Options checkbox is checked and Load Using Instance Handle is selected.

Get handle of associated instance from

SmartPromptSelect the property that, when not blank, holds the pzInsKey value of an object of the appropriate class. This field appears when you select Load Using Instance Handle.

At runtime, when this Page mode property is accessed, the system retrieves an object from the PegaRULES database based on this pzInsKey value.

Autopopulate using class keys from parent page

These fields are displayed when the Advanced Auto-population Options checkbox is checked and Load Using Class Keys is selected. Indicate the source of values for each key part that makes up the class key.

Key of associated Instance

Read-only. Identifies a property that forms the key, or part of the key, of instances of the Page Class class.

Value from Property

SmartPromptSelect a property on the parent page that, when not blank, holds a value for this key part.

At runtime, when this Page mode property is accessed, the system retrieves an object from the PegaRULES database based on this key.

Auto-Populate List using Conditions

These fields are displayed when the property has Page List mode and the Advanced Auto-population Options checkbox is checked. For each row of this array, identify match conditions for a key or part of a key.

List Condition for Auto-Populate Instances

Read-only. Identifies a property that forms the key, or part of the key, of instances of the Page Class class.

Value from Property

SmartPromptSelect property on this Page List property's parent page (Applies To class) that, when not blank, holds a value for this key part.

Enter at least one non-blank value. When the Page List mode property is accessed, the system performs a list operation on objects in the PegaRULES database, creating a page for each match.

Exclude from localization in UI controls

This checkbox is available only when the property's mode is Single Value.

Select this checkbox if there is no need in your application’s UI to localize the (string) value of this property. Enabling controls in your UI to skip calls to the database for localized values can improve performance. For example, there is no need to localize string values for alphanumeric IDs, or for transient properties.

By default, Work-.pyID and @baseclass.pxObjClass skip localization.

pySkipLocalization display only when the property mode is of type String, i.e. Single Value

Property Qualifiers

Optional. Complete this array to associate one or more property qualifier rules (Rule-Obj-Property-Qualifier rule type) with this property.

Each property qualifier you list here provides additional information at runtime about the property, and may alter the behavior in computations or presentation of the property.

Advanced featureYou can provide a value for the qualifier on this tab, thereby defining a permanent value. Or when desired, you can leave the value blank and use Java methods in the PublicAPI to set or test values dynamically. For details, see More about Property Qualifier rules.

CautionIf you update an existing property that references the pyDecimalPrecision qualifier, additional steps may be necessary. See Revalidation is necessary after certain property updates in More about Properties.

Field

Description

Qualifier

Optional. For a permanent qualifier, enter the value in a pop-up dialog box:

  • For the standard qualifier pyDecimalPrecision, enter a literal constant integer such as 2 to indicate how many decimal places are to be presented when this property value appears at runtime. (Use pyDecimalPrecision only with properties with a Decimal type.)
  • For the standard qualifier pyMinimumLength, enter a literal constant minimum length, such as 10.
  • For the standard qualifiers pyUnits and pyCurrency, identify an application property (found at runtime on the same page as this property) that holds the units or currency code applicable to this property.

Advanced featureTo allow the value of a qualifier to be set dynamically and temporarily at runtime, leave this field blank.

Property Explorer

Click Explore after you save the form if you completed the Table Type field on the General tab and want to preview the presentation of choices for this property when presented in input mode. This display also identifies any Declare Expression rules that reference the property, and dependencies among expressions. See Properties — Working with the Explore Window.

Up About Properties