230 likes | 889 Views
Preprocessing support for large scale process mining of SAP transactions Jon Espen Ingvaldsen Jon Atle Gulla Overview Motivation Process mining SAP data EVS ModelBuilder Preprocessing steps Algorithm for constructing process instances Mapping to MXML Discussion & Experiences Interprete
E N D
Preprocessing support for large scale process mining of SAP transactions Jon Espen Ingvaldsen Jon Atle Gulla
Overview • Motivation • Process mining SAP data • EVS ModelBuilder • Preprocessing steps • Algorithm for constructing process instances • Mapping to MXML • Discussion & Experiences
Interprete Business Understanding Explore Models Extract Process Instances Information Systems Process mining project
Process mining SAP data • Documents that refer to each other • Example: • Manual document operations are done by use of transactions • ME21 – Create Purchase Order • VA02 – Change Sales Order • All document operations are logged with user reference and timestamp PR PO OC
Process mining SAP data • n to n mapping between business processes transaction codes • n to n mapping between transaction codes and tasks • Large amounts of data • Multiple of database tables involved
EVS ModelBuilder • Developed as a set of plugins to Eclipse • Tested and applied at Nidar AS to investigate their purchase agreement processes
Preprocessing process • Define a process mining project • Define access properties for involved database sources • Define event types • Define business object types • Define relationships between event types and business object types
How do we define event types? • Type name • Key attributes • Ensure unique identification • Timestamp attribute and format • Tells when the event occurred and how to parse the timestamp values • Relationships to BO types • Tells which BOs that were involved in the event • Discriminators
Example of an event description • Type name: • ALTER PURCHASE ORDER • Key attributes: • CDHDR.CHANGENR • Timestamp attributes: • CDHDR.UDATE (ddMMyyyy) and CDHDR.TIME (hhmmss) • Discriminators: • CDHDR.OBJECTCLAS = ”EINKBELEG”
Examples of constructed events Type: ALTER PURCHASE ORDER Key: CDHDR.CHANGENR = 00021 Timestamp: 1. June 2007, 14:01:23 Type: ALTER PURCHASE ORDER Key: CDHDR.CHANGENR = 00024 Timestamp: 4. June 2007, 11:52:04
How do we define Business Object types? • Type name • Key attributes • Ensure unique identification • Value attribute • Provides a textual description of the BO • Analysis features • Information that describe the BO • Relationships to other BO types • Discriminators
Examples of Business Object descriptions • Type name: USER • Key attributes: USR01.BNAME • Value attribute: USR01.NAME1 • Analysis features: (NONE) • Discriminators: (NONE)
Examples of constructed business objects Type: USER Key: USR01.BNAME = JACKSON Value: Michael Jackson Type: USER Key: USR01.BNAME = SIMPS Value: Homer Simpson
How do we define relations? • Relations consist of: • Two end points • Textual description • Mapping attributes / path
Example of a relation Type: USER Key: USR01.BNAME = JACKSON Value: Michael Jackson Relation name: Has user / Executes Mapping attributes: CDHDR.USERNAME = USR01.BNAME Type: ALTER PURCHASE ORDER Key: CDHDR.CHANGENR = 00021 Timestamp: 1. June 2007, 14:01:23
Example of an event and its relations Type: DEPARTMENT Key: USR01.ABTLG = Los Angeles Value: Los Angeles Type: USER Key: USR01.BNAME = JACKSON Value: Michael Jackson Type: PURCHASE REQUISITION Key: EBAN.BANFN = 007866 Value: 007866 Type: ALTER PURCHASE ORDER Key: CDHDR.CHANGENR = 00021 Timestamp: 1. June 2007, 14:01:23 Type: TRANSACTION Key: TSTC.TCODE = ME21N Value: Create Purchase Order Type: PURCHASE ORDER Key: EKKO.EBELN = 002121004 Value: 002121004
14. June 17. June 2. June 21. June 22. June Construction of process instances
MXML • The input format for ProM • Requirements for events (AuditTrailEntries) in MXML: • Reference to an activity • Reference to a process instance • Reference to a performer • Labeled with a timestamp • Ordered on timestamp within the process instance
Mapping to MXML To construct AuditTrailEntries inMXML we need to: Type: USER Key: USR01.BNAME = JACKSON Value: Michael Jackson Selects the BO type that represents the orginators Selects the BO type that represents the workflow element Type: ALTER PURCHASE ORDER Key: CDHDR.CHANGENR = 00021 Timestamp: 1. June 2007, 14:01:23 Make use of the event timestamp Type: TRANSACTION Key: TSTC.TCODE = ME21N Value: Create Purchase Order
Discussion & Experiences • Still a effort is required! • Preprocessing support have most value: • When mining longer process chains • A lot of database tables are involved • Stores data source descriptions, not the process of transforming the data • Ensures reusability across process mining projects. • Enable process mining of processes that spans multiple information systems