Processing

In this section, you execute the core functions of the model.

This stream takes the data from Production Planning and analyses the process.

The starting points are functions Production Order Header in AFKO and Production Order Items in AFPO and the document changes in CDHDR and in CDPOS. The data is selected and matched so only documents relevant to PR and their changes are obtained.

Key activities are then derived both from the documents and their changes. Each document is assigned a unique Case ID. Lines in the final document represent activities and are marked by a timestamp as well as some additional fields, such as an automation and compliance flag. Based on the concatenation of their ordered activities ID, the cases are then grouped into different variants ranked by frequency. Next, KPIs are computed to provide useful information that helps understand the process and where, when and how it deviates from the standard variant.

It comprises the following functions as input:
  • CDHDR – Change Document Header

  • CDPOS – Change Document Items

  • AFKO – Production Order Header

  • AFPO – Production Order Items

  • AUFK – Order Master Data

  • T001W – Plants

  • USR02 – Logon Data

  • Process Compliance Rules

  • Process Forecast Data

It comprises the following functions:

Join Header and Line Item Data

In this function, the header and line items documents are joined.

The join methods are left outer join for the AFPO and AFKO tables in order to join all production orders with belonging production order items and left outer join for the AUFK table.

Join Change Document Data

This function joins the header and line item level document changes. They are then inner joined to the documents coming from the Join Header and Line Item Data function to select only documents that are pertinent to Production Planning.

The changes are treated differently depending on whether they are line level changes or header level changes. Since each case is the path of a line in the document, level header changes are multiplied for each line of the document. The Case ID is also computed in this process. This way the changes can be matched to their documents with the Join Activity Derivation Results. Furthermore, the system performs a lookup on the company code to improve reporting.

Derive Activities from Header and Line Item Data

This Derivation function is used to derive basic activities for each document.

Each line coming from Join Header and Line Item Data corresponds to a single document line and usually gives more than one activity. Common activities are the creation of the document and its subsequent clearing. Each rule defines an activity.

Derive Activities from Change Document Data

This Derivation function is used to derive an Activity ID for key change lines coming from the Join Change Document Data function.

The Case ID for each document was already assigned. Each rule has a corresponding activity. Any line not used for an activity is discarded.

Join Activity Derivation Results

This Join function is used to join the two activity streams (Derive Activities from Header and Line Item Data and Derive Activities from Change Document Data) and to compute the Variant ID.

The Variant ID field is created using string aggregation of activity IDs, ordered by Timestamp and Activity ID and grouped at Case ID level. A hash value is then produced for each unique value. Then, the Variant ID is joined via left outer join to the original input table. The join predicate is the Case ID for both joins.

Calculate KPIs

This Calculation function takes the results of the Join Activities Derivation Results join and calculates the following Key Performance Indicators (KPIs):
  • Preceding Activity ID

  • Following Activity ID

  • Automation Flag

  • Compliance Flag

  • Right First Time Flag

  • Duration [Seconds]

  • Variant Frequency

  • Activity Frequency

  • Activity Sequence

  • Duration [Days]

  • Quantity

  • Automation Rate

  • Right First Time Rate

  • Variant Rank by Frequency

  • Counter

  • Completion Time

Determine Compliance and Happy Path

This function determines the compliance flag as well as the happy path flag in every record and violation type for non-compliant activities. There are two types of violation, sequence and outright. Sequence violation means that a particular activity sequence represents a violation. Outright violation occurs when an activity by itself represents the violation. In case of non-compliant records, the compliance flag is set to value “0”; else are set to value “1”. Similarly, activities that belong to predefined happy path have the Happy Path Flag set to value “1”; else are set to value “0”.

Start and End

This Join function takes the Determine Compliance and Happy Path function as input and creates new lines for each Case ID corresponding to a start and end point that is common to all. The variables Quantity Counter, Value and Variant Frequency are only assigned to the first or the last line, providing a quick way to sum over Case IDs without multiplying by the number of activities.