External classes

An external class is a concrete class (instance of the Rule-Obj-Class rule type) that corresponds to a table in an external relational database, rather than to a table or view in the PegaRULES database.

You can create an external class and associated properties by using one of the following tools:

  • The Connector and Metadata wizard
  • The New External Database Table Class Mapping button on the Data Model: Classes and Properties landing page

No inheritance or rule resolution applies to external classes, even if the class name contains a hyphen. Because each external class has an associated database table instance ( Data-Admin-DB-Table class), it cannot be part of a class group.

The following methods can operate on an instance of an external class:

  • Obj-Browse
  • Obj-Open
  • Obj-Open-by-Handle
  • Obj-Delete
  • Obj-Refresh-and-Lock
  • Obj-Save
  • Obj-Save-Cancel
  • Commit
  • Rollback

You cannot create Declare Index rules that have an external class as the Applies To key part. However, Declare Expression rules (Rule-Declare-Expressions rule type), validate rules ( Rule-Obj-Validate rule type), and trigger rules ( Rule-Declare-Trigger rule type) do operate on clipboard property values for external classes.

External classes do not contain the properties @baseclass.pzInsKey and @baseclass.pxObjClass, which are present in every internal class. In some cases, no single property in the external class can serve as a unique handle. To support the Obj-Open-by-Handle method with external classes, Pega Platform assembles a substitute string from the key columns of the table.

In certain cases, the performance of database insert, delete, and update operations for external classes can be improved through the optional batchUpdates setting in the prconfig.xml file or dynamic system settings.

System messages sometimes refer to external classes as "Obj-External"; however, Pega Platform does not have an Obj-External method.