Case Classes, Global Classes and Local Classes

A global BOM must contain a case class or a global class. It can also contain, as required, further case classes or global classes, and local classes.

Type Icon Description
Case A case class is a template for a case object. A case class:
  • must have one or more case identifiers.
  • can have searchable attributes.

You can create case objects from case classes using either a case data service task in a process or a public API. Creating a case object returns a case reference. That reference can be used by any process to find and manipulate that case object.

Note: Unlike local objects, which exist only over the lifespan of a process instance, case objects are persisted - each case object is stored in the case data tables that represent the case model from which the case object was instantiated.
Global A global class is a component of one or more case classes. A global class:
  • cannot be created or accessed independently of a case class.

    For example, a Person global class holds basic details such as name, gender, DOB, which can be used by other global or case classes. However, the Person class doesn't have a unique ID and cannot be directly accessed from a process.

  • cannot have a case identifier.
  • can have searchable attributes.
Local A local class is a template for a local object. A local class:
  • cannot have a case identifier.
  • cannot have searchable attributes.
Note: A business object created from a local class only has local scope, even though the class exists in a global BOM. The local object is not persisted to the case data store and can only be accessed by the process that creates it.
Note: You can convert a class from its existing type to either of the other types. Right-click the class and select the appropriate Convert to Type option. For example, if you right-click a case class, Convert to Global and Convert to Local menu options will be available.