Properties - Completing the Create, Save As, or Specialization form
Records can be created in various ways. You can add a new record to your application or copy an existing one. You can specialize existing rules by creating a copy in a specific ruleset, against a different class or (in some cases) with a set of circumstance definitions. You can copy data instances but they do not support specialization because they are not versioned.
Create a new property by selecting
Property
from the
Data Model
category.
- Use Action > Create rather than Save As to create most properties, because after you save a new property, you cannot change the Mode or certain other values on the form.
- To create several properties in a single class quickly, use the Create Properties wizard, available from the right-click menu on the Application Explorer.
Key parts:
A property has two key parts:
Field | Description |
---|---|
Apply to |
Select the name of the class in which you are creating the property.
For a property of mode
The list of available class names depends on the ruleset you select. Each class can restrict applying rules to an explicit set of rulesets as specified on the Advanced tab of the class form. |
Identifier |
Enter a name that starts with a letter, and use only letters, numbers, and hyphens, forming a Java identifier. See How to enter a Java identifier.
Avoiding duplicate names As a best practice for good runtime performance, choose property names that are distinct and unique throughout your application. For technical reasons, having several properties named Amount in one inheritance path, even if these have different RuleSets, can slow the initial assembly of rules that reference Amount. Choosing more explicit names — such as PrincipalAmount, AmountAtRisk, TotalOrderAmount — will both prevent this performance impact and also help ensure that developers use the appropriate property. When you click Create and open or Save As, and a property of the same name already exists in the inheritance path, a warning message appears asking if you want to create the property anyway. Properties that are duplicates of other property instances have an effect on caching, which can have a negative effect on system performance. Notes on names
Property names may contain up to 64 characters. However, if this property is of mode
Except when overriding a standard rule in an upwards-compatible way, choose a name that does not start with px or py. Property names that start with these letters are reserved. In your application, however, use of standard properties with names starting with px and py is encouraged. Your application can set and test values in these properties. The pz prefix identifies standard properties that support Pega Platform internal operations. Do not directly alter these in your application.
Don't choose a name that matches a reserved page name or keyword, such as
|
Additional creation options
Field | Description |
---|---|
Data Type |
Select a data type to create a
Single Value
property and accept default values for all fields except
Type
.
|
Access When |
Select a when rule if you are creating a
TextEncrypted
property type. The access when rule test and automatic encryption (or decryption) occur only as users interact with a form. In all other cases, your application must explicitly call the functions.
|
Reporting
If you are creating a top-level
Single Value
property in a concrete class, you can choose to optimize ("expose") the property as a database column now, before the system contains any values for the property.
If you are uncertain, leave these blank; you can expose the property as a column, and populate the column with values later. (This feature is available only on systems with a production level of 1 or 2, requires specific database account capabilities, and requires that you hold the SchemaPropertyOptimization privilege. See Platform generated schema changes.)
Field | Description |
---|---|
Optimize this Property for reporting on (class) | Select the top check box to expose the property for the class only. |
Optimize this Property for reporting on (class) and its descendent classes |
Select the second check box to expose the property for the
Apply to
class and all classes derived from this class. |
Rule resolution