Skip to main content

Mass Transaction Qualifier - We are currently trying to configure the mass transaction functionality. I am curious how others have coded this. Today it appears that it simply qualifies all activities done by a SAP user within 10 seconds (we can config the amt of time 10 seconds was recommended to start). All of these activities are classified as a mass transaction and they are all coded as user type "R" (again I believe this is the standard).

 

However, when you look at the actual business process and execution many if not all of these mass transactions are initiated by a manual user performing at least one of the steps.

 

Example: in P2P user marks "delivery complete' which triggers second activity automatically of set "final invoice indicator' in SAP even though user name is the same for both activities. Currently Celonis calls both of these activities "R" whereas we would like the initial activity to show as "A" because a user performed that activity and the second activity as "R" so we can look at automation.

Hi Bryan,

 

This is a good question. In theory, you should be able to code this "mass transaction indicator" systematically on the basis of specific TCODEs.

 

For example, say that transaction TX99 corresponds to a user marking "delivery complete" on a PO which then triggers the setting of "final invoice indicator" automatically. In SQL, you could write something like this:

 

-- In the "Set Final Invoice Indicator" activity:

CASE

WHEN CDPOS.FNAME = '{{Final Invoice Indicator Field}}' AND CDPOS.TABNAME = '{{Final Invoice Indicator Table}}'

THEN CASE

WHEN CDHDR.TCODE = 'TX99'

THEN 'R'

ELSE USR02.USTYP

END

WHEN ...

WHEN ...

END AS USER_TYPE

 

Do note - to make sure that this approach works in an exhaustive manner - that you will have to work with the business users to understand all of the possible fields which can be updated in certain situations within a given transaction.

 

Hope this helps!


Hi Brian,

to my understanding, the Mass transaction qualifier is checking for a single activity performed by the same user within a timeframe of a couple of seconds, 10 being the default proposed. For each activity in the selection, it will indeed change the user type 'A' (manual user) to 'R' which is a Celonis value. This would be the case for example when a user performs manual mass PO output with transaction ME9F and select multiple POs before executing; or if there is a batch job that is executed at night under the name of of end user to process POs based on criteria's.

The reasoning behind is that for specific activities, it is physically not possible for a human being to perform them within x seconds by executing the PO output one by one or opening each document separately. And if you need to calculate Automation rate, then having those activities with User type 'A' would not reflect reality. OK, you still have a manual activity to start ME9F, select a set of POs and execute the output, but it is a one shot that counts for nothing in your automation rate calculation.

So you then also need to filter those 'R' users out. I usually modify the statement WHEN USER_TYPE ='B' THEN 1.0, by WHEN USER_TYPE != 'A' THEN 1.0 so that all system user types from SAP (B, S, ...) and Celonis (R) are taken into account to calculate the rate, not forgetting to add WHEN ISNULL(USER_TYPE) = 1 THEN NULL so that activities which are more 'status' related are not taken into account (mostly in AP: 'Vendor creates invoice', or 'Due Date Passed')

If you currently see user type 'R' for those 2 activities you mention, then the first one must have been executed in mass by the user or a job and the second one being the consequence of the first one will also have a very short time difference between two occurrences.

If the first one should be identified as a manual activity although a set of POs is handle in a very short period of time, you can either force a filter out of the related activities by adding ACTIVITY_EN NOT IN ('AAA', 'BBB') to the WHERE clause; or after the transformation was executed, add a piece of code to reprocess the 'R' into 'A' for the selected activities with ACTIVITY_EN IN ('AAA', 'BBB') in the WHERE clause.

And as Greg wrote, if you want to define that a specific activity executed by a defined transaction is of type 'R', then use the relevant parameters in the CASE WHEN statement. I personally used it in AP process for activity 'Clear Invoice with Payment Run': payment run list preparation is a manual activity, but execution of the clearing is automated.

kind regards

Marc


Reply