Skip to main content

Celonis Product Documentation

KM - Records

Introduction to Records
Why do they exist?

Records contain all the domain and use-case-specific data. For instance, an Execution App in the domain of Accounting will typically have a Record for invoices. An Execution App in Customer Support typically has a Record for support tickets.

What do they do?

Records are derived from tables in a Data Model (DM) but have an additional layer of abstraction. In comparison, a DM table contains the actual data instances in a certain schema (Data Model Layer), whereas a Record features more powerful modeling capabilities such as human-readable annotations (e.g. Display Name and Description) as well as Augmented Attributes.

How are they used?

Records and attributes are frequently used in tables, action flows, skills, and in many other components.

How are they created?
How are they created?

In the Visual Editor, Records are created inside the Records tab in the Knowledge Model Main Listing. The Record Tab contains all the Records that exist in the Knowledge Model. Within the Main Listing, you find the following Fields:

  • Name: Shows the human-readable Display Name of each Record.

  • ID: A unique technical identifier used to reference this Record

  • Source: This column gives an overview of where the Record was originally defined. Possible options are:

    • Base.

    • Base - overwritten.

    • Auto-generated.

    • Auto-generated - overwritten.

    • Custom added.

  • Record Items: Shows the amount of existing items within the Record.

    Screenshot_2022-11-08_at_14_43_42.png
  • Records that represents the Case or Activity Table in the Data Model will be tagged as such. Records can also have a "Default" tag on them, indicating they represent the Default Activity Table in the Data Model.

    Screenshot_2022-11-08_at_15_21_23.png

    If you click on the Record Items, you will unfold a detailed overview of the Attributes, Augmented Attributes and Flags contained within the Record. Here you will find the following fields:

  • Name: Shows the human-readable Display Name of each Record.

  • ID: A unique technical identifier used to reference this Record

  • Source: Overview of where the object was originally defined.

Screenshot_2022-11-08_at_15_21_44.png

You can create a Record by clicking on the plus button on the Record Tab. This will lead you to the Record creation window which has the following value assignments:

General Settings:

  • Display Name: A human-readable label used in the user interface.

  • Short Display Name: Shorter human readable label for the object shown automatically on the Views whenever the Display Name is truncated. Can contain max 20 characters.

  • ID: A unique technical identifier used to reference this Record. Must be unique within all Records in the KM.

  • Description: A human-readable description for the Record.

  • Internal Note: A field only visible within the Knowledge Model.

  • PQL Formula: Contains the reference to the table in the data model that will be represented in the Record.

Screenshot_2022-11-08_at_14_53_36.png

Once you have a created a Record, you will be able to make changes to its configuration. By clicking to edit a Record that already exists, you will be able to access more information on the objects associated with the Record. This includes information on the Record's Identifier, Attributes, Augmented Attributes and Flags.

Screenshot_2022-11-08_at_14_55_29.png
YAML
Introduction to Records in YAML

Attributes in YAML

Attribute declaration for Records in YAML follows this format:

records:
  - id: "INVOICE"
    displayName: "invoice ID"
    pql: "BKPF.MANDT || BKPF.BUKRS"
        attributes: []

Augmented Attributes

Attribute declaration for Records in YAML follows this format:

records:
  - id: "INVOICE"
    newAttributes:
          - id: STATUS
        displayName: Status
        columnType: string
        possibleValues:
          - OPEN
          - IN_PROGRESS
          - CLOSED
        defaultValue: OPEN

Flags

Flags in YAML follow the format below. On the code block, you can see a flag for short payment terms for an invoice record. Using PQL, the flag gets defined. Record attributes such as the vendor's name can be defined as the root cause feature of a flag.

records:
  - id: "INVOICE"
        flags:
      - id: SHORT_PAYMENT_TERMS
                displayName: Short Payment Terms (< 15 days)
                pql: DAYS_BETWEEN  ( ROUND_DAY("BKPF"."BLDAT") ,
                PU_LAST(BSEG,ROUND_DAY("_CEL_AP_ACTIVITIES"."EVENTTIME"),
                "_CEL_AP_ACTIVITIES"."ACTIVITY_EN"=  'Due Date passed' )) 
                < 15 AND DAYS_BETWEEN  ( ROUND_DAY("BKPF"."BLDAT") ,
                PU_LAST(BSEG,ROUND_DAY("_CEL_AP_ACTIVITIES"."EVENTTIME"),
                "_CEL_AP_ACTIVITIES"."ACTIVITY_EN"=  'Due Date passed' )) >= 0
Defining Records

A record configuration can range from a simple PQL Query to an advanced, customized scheme to retrieve and provide information.

- id: INVOICE
  displayName: Invoice
  description: ""
  pql: BKPF
  identifier:
    - id: CASE_KEY_ID
      displayName: Identifier
      description: ""
      pql: '"BKPF"."MANDT"'
  attributes:
    - id: Client_ID
      displayName: client_id
      description: ""
      pql: '"BKPF"."MANDT"'
      columnType: INTEGER
      unit: ""
      format: ""
  augmentedAttributes:
    - id: STATUS
      displayName: Invoice Status
      description: ""
      columnType: STRING
      possibleValues:
        - OPEN
        - IN_PROGRESS
        - CLOSED
      defaultValue: OPEN
      unit: ""
      format: ""
  flags:
    - id: LOW_INVOICE_VALUE
      displayName: Low Invoice Value
      description: ""
      pql: DAYS_BETWEEN  ( ROUND_DAY("BKPF"."BLDAT") ,
            PU_LAST(BSEG,ROUND_DAY("_CEL_AP_ACTIVITIES"."EVENTTIME"),
            "_CEL_AP_ACTIVITIES"."ACTIVITY_EN"=  'Due Date passed' ))
            < 15 AND DAYS_BETWEEN  ( ROUND_DAY("BKPF"."BLDAT") ,
            PU_LAST(BSEG,ROUND_DAY("_CEL_AP_ACTIVITIES"."EVENTTIME"),
            "_CEL_AP_ACTIVITIES"."ACTIVITY_EN"=  'Due Date passed' )) >= 0

Let's have a more detailed look at the attributes

Field name

Description

id

Defines the id of the record, needs to be unique.

displayName

Defines the name of the record, should be descriptive.

description

Possibility to add a short description of the record.

pql

Here the PQL query gets defined, see here PQL Function Library .

identifier

Defines which element gets used as a unique identifier of the record consists of:

  • id

  • displayName

  • description (optional)

  • PQL

attributes

Defines attributes of the record using PQL queries, consists of:

  • id

  • displayName

  • description (optional)

  • PQL

  • columnType

  • unit and format (optional)

unit

Defines the unit of the attribute (e.g. $).

format

Defines the format of the attribute, see format documentation here.

augmentedAttributes

Defines advanced attributes of a record that go beyond querying information from the data model, consists of:

  • id

  • displayName

  • description (optional)

  • columnType

  • unit and format (optional)

  • possibleValues

  • defaultValue

flags

A flag is an attribute of a Record. This flag can then be called by an Anomaly. Consists of:

  • id

  • displayName

  • description (optional)

  • pql