Single Value Data Types in Pega
Already in the essentials courses of PRPC [SAE] the distinction between a Single Value property versus a Page property is made along with the considerations of using a Page, Page List or Page Group — in functional terms that is. This topic on Data Modeling however oversteps what this means in technical terms. Let´s explain how Pega appears to have implemented the Property concept from a Java perspective.
Like most other languages or platforms data is kept in named variables. In PRPC these variables are called properties. These properties are normally maintained as records in the PegaRULES database table called pr4_rule_property. Once configured, instances of properties can store scalar values like text or numbers, but can also be structured in named Page containing multiple (related) properties — similar to a struct in C or some lightweight Java class with just member variables.
Multiple pages can be maintained in either a 1-indexed Page List or a Page Group with some "subscript" quoted string. In contrast to Java, PRPC uses round brackets for subscripts. Note: Pega discourages the use of the more array-like Value List and Value Group properties because these data structures cannot be extended later on. Let´s provide a table of basic Single Value data types currently supported by Pega and their correspondence to Java:
|Single Value Property||Java Data Type||Remarks|
|Identifier||A text string that contains no line break characters or double quote characters; not the same as Java identifiers|
|Password||String||Not yet encrypted on the Clipboard, but stored in encrypted database column; never decrypted|
|Decimal||Stored internally as BigDecimal|
|Date Time||yyyyMMdd´T´HHmmss.SSS zzz where zzz is GMT|
|Date||Conform ISO 8601 and formatted as YYYYMMDD internally|
|Time Of Day||Local time without date and timezone|
|True / False||Boolean|
|Encrypted Text||Both encrypted on the Clipboard and in its database column, but can be selectively decrypted for specific users or situations|
@edgarverburgTweets by @edgarverburg
Edgar is a software engineer with experience in TIBCO Middleware and Pega Case Managemement. He holds a master's degree in Computer Science with a specialization in Data Visualization & Computer Graphics.