Tracking state (Events)

Event action – Abstract

Event

Short description

Adding tracking state

This event is triggered before an attempt to add a new tracking state entry for the designated 'Owner'.

Added tracking state

This event is triggered when a new tracking state entry was successfully added to the tracking state history for its 'Owner'.

The following events apply to adding entries to the Tracking state history of business objects or their line items:

Event

Short description

Adding tracking state

This event is triggered before an attempt to add a new tracking state entry for the designated 'Owner' (statusOwner).

Added tracking state

This event is triggered after a new tracking state entry was successfully added to the Tracking state history of the specified 'Owner' (statusOwner).

►NOTE◄ Within event handlers for these events the new tracking state entry can be addressed via variable trackingStatusEntry.

Overview of the process of adding tracking states

The following schematic illustrates the overall course of events for the process of adding tracking state entries to a business object or its line items:

images/download/attachments/78255667/image2019-5-14_13-36-28-version-1-modificationdate-1628514389877-api-v2.png

  • The process begins with the Create event (see Common action event) for the tracking state to add, which is handled as a data object of its own.

  • The Adding tracking state event is triggered before the validity checks (next step), which makes it useful e. g. for event handlers including abort criteria to handle prior to checking the transformation matrices.

  • If any Tracking state workflows apply for the data context, these are evaluated to determine whether adding the new tracking state for the owner qualifies as a valid tracking state transformation.

  • The Added tracking state event is only triggered, if adding the tracking status entry qualifies as valid and was accomplished successfully.

  • If the added tracking state entry implies an update of one or more tracking state attributes of its owner (see Working with tracking states), because it determines the 'current' tracking state according to its External input time (see Tracking state history), the Update event for the business object is triggered as a last step of the process.

►NOTE◄ The Tracking state owner (statusOwner) referenced in the tracking state entry may be a business object or one of its line items. Since line items are not handled as fully independent data objects, updates to line items (here: their tracking state attributes) trigger the Update event for the parent business object. Of course, this event also responds to any other changes to values of business object properties originating from the context of the transaction.