Working with class groups
A class group data instance unifies a set of classes in the PegaRULES database that share a common name structure and common key structure. A class group causes all instances of these classes to be stored in one database table. As a result, processing can later convert an instance of any member class from its current class to another class within the class group, without affecting the key structure or changing the database table that holds the instance.
Class groups are primarily used to group a set of related subclasses of the Work- base class; such class groups are also known as work pools.
For example, a work item created from a scanned document may initially be assigned to a general work type. After a worker reviews and classifies the work item, she may convert it to a more specific type. Ordinarily, both the general and the specific work types belong to one work pool (one class group), so the "conversion" does not affect the key of the work item, and does not require moving the object from one table to another in the PegaRULES database.
A class group has one key part, which is the name of a concrete class. Objects of this class (and of subclasses of this class, except as overridden by other class group instances) are stored in a single database table.
Class groups can help with database table management, backup, space, and reporting.
Class groups with dedicated database tables
For reporting, performance, and other reasons, it is often desirable to place the work
items for a class group in a single, dedicated database table, rather than the default
pc_work table. In development systems (only), the system can create a
PegaRULES datable with the appropriate structure automatically as the class group is
External classes cannot be part of a class group. Each external class has an associated Database Table instance ( Data-Admin-DB-Table class).
- Automatically creating class groups
Class groups and related rules are created automatically by various processes in Pega Platform. Creating appropriate class groups and the corresponding classes are important early steps in building an application. Class groups are created when you use any of the following tools.
- Copying a class structure
Clone classes, database table rules, and class groups to use one application for multiple work types. The Clone Class Group tab creates a set of classes (one of which corresponds to a class group) that match the classes below a specified class. The new and original class groups share the same native database table.
- Creating a separate table for a child class
Classes that are derived from a parent class using pattern inheritance share the same table with their parent class except as otherwise specified. Sharing the same table allows the table for an entire hierarchy of classes to be defined in one place.
- Segregating cases into a dedicated table
If your pc_work table contains cases from two or more unrelated applications, segregate cases into a dedicated table.
- Creating a class group manually
Create a class group using the Class Group form by selecting Class Group from the SysAdmin category. Creating appropriate class groups is typically done automatically, although you can create a class group and related rules manually.