Pega® Platform includes powerful and flexible facilities for defining data structures and managing data. You can define individual fields, arrays and repeating groups, multilevel structures, and a variety of other data structures. To support the exchange of data with other systems, your application can convert a Pega Platform data structure into a fixed record layout, an XML document, a message, or a relational database row.
The basic element in a Pega Platform data structure is called a property. To create a property, you define its characteristics, including name and type. For example, a property named DateofBirth typically has a date type. Other types include numbers, currency amounts, text fields, and Boolean (true or false) values.
In addition to a name such as DateofBirth, most property rules belong to a work type, which is a container that defines the scope of the name. The work type is part of the full property name. For example, the full name LoanApplication.DateofBirth, identifies a property DateofBirth, where LoanApplication is the work type, and the period is a separator.
To reduce development effort, Pega Platform includes thousands of property rules, known as standard properties, which you can use in your application. You need to create additional property rules only for those properties that are unique to your business situation and environment.
Most properties identify a single value such as a date, time, number, or text string. Other properties define arrays of scalar values, or data structures that contain a set of property values, known as pages. Pages can contain other properties, including other pages, or arrays of other pages.
For example, a data structure that describes a family insurance policy can include an embedded page for each member of the family, with individual properties for the person's first name, date of birth, and so on. The "dot notation" that is used in many software development environments allows you to specify the full details of any property, even one that is embedded deeply within pages that are contained in other pages that are also contained in other pages. If the entire structure is named Policy, and the information about each family member is an array of pages named InsuredPerson, then the date of birth property for the third family member has this full name:
Properties have the following key features and attributes.
Property mode and type
The simplest properties identify a single, specific value. For example, in an order entry system, properties such as Subject, Department Name, Department Number, Bill Customer, Order Date, and Note identify simple, scalar values.
The mode of these properties is Single Value, also called scalar. Properties that hold multiple values can be arrays or other structures. For simple arrays, the property modes are Value List and Value Group.
For Single Value, Value List, and Value Group property types, a type is also defined. The following property types are the most popular:
- Integer – A positive or negative whole number, such as 33, 1066, or -123,456,908.
- Date – A single day, represented internally in the format YYYY-MM-DD, such as 2017-10-31. The date value can appear in forms and be displayed in other formats such as 10/31/17 or October 31, 2017.
- DateTime – A time stamp, which is a 'moment' in time, in a specific world time zone. The day, hour, minute, second, and millisecond are included.
- Decimal – A positive or negative number plus a decimal fraction with an explicit number of decimal places, such as 43.7 or -15.
- Text – A text value that is one or more characters in length.
- TrueFalse – A value of true or false, also called Boolean.
Internal property value representation and external formats
All integer properties are saved in a single, universal format internally. However, in some displays, integers may be formatted with commas such as 1,234,567. In other situations, integers can be displayed with a leading sign (+ or -), or negative integers may be shown in parentheses or red text.
Similarly, dates, times, and decimal values each have one internal format but many possible presentations on forms and reports. When you enter a value, it is converted automatically to the internal format for efficiency in storage and processing. When a value is presented as output, the internal form is converted to the appropriate output format.
Clipboard pages (data structures)
As you interact with the system, Pega Platform builds and maintains a collection of pages of data known as the clipboard. Each user's clipboard is separate and dedicated to that user. The clipboard occupies memory on the server that supports your Pega Platform system.
When you log in, your clipboard is initially empty and is assembled with initial data from several sources. When you log out, your clipboard is erased and the memory is released so that the memory becomes available to others.
Most interactions update the clipboard, but it is not ordinarily visible. The Clipboard tool is useful when you build and test rules. The Clipboard tool shows the structure of pages in the left panel, and the detailed contents (for Single Value properties) in the right panel.
In the preceding example, the left panel presents the user's entire clipboard, as a tree structure of pages, including pages within pages. The right panel shows the property names and current values of the page that is highlighted in the left panel.
The value of a property can change from moment to moment, and from user to user, but you determine the other permanent characteristics of a property in a rule form. For example, this Property rule form identifies the property type (Decimal) of the property Newb-Newbies-Work.LineItemTotal, and indicates that values of the property typically appear as a currency amount, such as $1,234.56.
As development of a business application progresses, the development team might discover that new properties are needed beyond those already available. To create a property, you define it on the Property rule form.
Value definitions for one or more properties
The Property rule form does not include an initial or default value for a property. The most appropriate initial value depends on the situation or application. You can use a data transform to set values for one or more properties.
The following data transform sets the value of three properties to 0, and sets a text property to "C-".
Data transform form
- Aggregate property – A general term for any property that has multiple values, such as a simple array (property modes Value List and Value Group), a structure (property mode Page) or a repeating structure (property modes Page List and Page Group).
- Class – A hierarchy or tree structure of named "containers" that define which properties can be on a page.
- Clipboard – An internal memory structure for a user, holding the pages and property values in current use. The clipboard is established when you log in, updated as you work, and disappears when you log out.
- Data transform – A rule that assigns values to one or more properties, often used only for initial values that may change later. The value can be a constant (such as 7 or "Hello") or an expression that involves other property values.
- Embedded page – A page that is not a top-level page; a page that defines a substructure of a higher-level page.
- Group – A repeating structure with elements identified by a text name, such as a state code. For example, the Value Group property StateCapitol may contain elements StateCapitol (MA) for Boston, Massachusetts. There is no defined order for members of a group.
- List – A repeating structure with elements identified by numeric subscripts starting at 1. Value Lists correspond to simple arrays. Page Lists are an array of pages.
- Page – A collection of property names and values where all the properties belong to a common class (or to an ancestor of that class.)
- A rule that defines the name, class, property mode, and other characteristics of a property.
- Informally, the name and current value of a property rule, a name-value pair.
- Property mode – An attribute of each property that identifies whether it holds one value (Single Value mode) or an array of values (Value List and Value Group modes) or a structure (Page, Page List, and Page Group modes).
- Property type – For Single Value properties and simple arrays (property mode Value List or Value Group), the type identifies how to validate and interpret the value. The most popular types are Text, Date, DateTime, Integer, and Decimal.
- Single Value – The property mode for scalar properties, corresponding to a single text, date, numeric, or other value. The opposite of aggregate properties.
- Top-level page – A page on the clipboard that is not part of any other page.