Hi Dear Readers, I will start my first ever blog post that might be helpful to everyone about the newly enhanced and extended Checks types in SAP Profitability and Performance Management On-Premise.
I believe most of you are already familiar with how Checks works on SAP PaPM. However, for those who are new to SAP PaPM, let me give you a brief overview of what is the usage of Checks functionality.
Each processing function includes built in Checks to detect inconsistencies in the result data during an execution run. Including Check uses selection conditions to detect specific records in the result data and appends a message text and a message type to the application log.
The new Category Checks was introduced to help our customer easily validate the input values in a function. This is to ensure that all the values of the fields (e.g., "ZE_Example") are part of its Master Data. For values that are out of the Master Data range, a message informs the user that unfamiliar values exist.
Now, let me introduce the new features of Checks under the Category column.
Master Data Check
This check performs the validation if the value of the fields is in the Master Data. For entries which are not in the Master Data, a message will be shown in the Message Log and in the column FS_PER_MESSAGE_TEXT_ of the specific entry.
Initial value entries are also subject to validation.
If the Master Data table does not contain an empty entry, all the initial values will trigger a message in the Message Log.
If the Master Data table contains an empty entry, initial values for that function field are permitted.
2. Master Data or Initial Value Check
This check performs the validation if the values of the function fields are part of the Master Data. Initial entries are excluded from the validation, they are permitted, so no message will be shown for initial entries.
Please be reminded that in Master Data Check OR Master Data or Initial Value Check, the “Selection” column is not taken into consideration. All the function fields will be checked against Master Data. If the user configured a selection condition, a warning message will appear when the check is saved.
3. Excluding Check
This check performs the validation that the criteria in “Selection” appears at least one time in the field values. If criteria in “Selection” are not found at all, then a message will appear in the Message Log. In this way, the user can notice if an important, must-have value is omitted from the value set.
On the other hand, the priority among different category checks is:
Master Data Check OR Master Data or Initial Value Check.
Note: One function should not have both a Master Data check and a Master Data or Initial Value check.
Excluding Check are performed regardless of all the other check types.
While the priority among same category checks is the order on which they appear on the Environment -> Checks tab.
I know at this moment there’s a lot of questions in your mind like where you can navigate it, how can you configure it and how it works. First let me show the user interface of Checks.
Checks can be found in the Environment Level setting where users can define and register them in one or more functions so that they are applied during the execution.
The created Checks below will be used in our Sample Configuration to utilize and fully understand the different functionality of Checks.
Let’s use an Environment Fields with Master Data. As you can see in the image below Customer (ZE_CUST) and Product (ZE_PROD) have maintained Master Data fields.
Please note the behavior when modeling;
In On-premise, Values that are not part of the master data are accepted and can be saved by choosing YES in the Save Confirmation pop-up window.
In Cloud, Values that are not part of the master data will have a validation error and the data is not going to be accepted.
At this time, we will be using this Model Table as an input Function.
MT - Input Table with Master Data Values
On our example below of the created View Function, you will see the configured Header and Input tab section.
The Signature tab will be configured with the addition of ZE_CUST and ZE_PROD as it will be used in our Output Tab section.
We will utilize the logic below for the Case When statement to be used in formula.
ZE_CUST = CUST01 then ZE_PROD will be PROD01
ZE_CUST = CUST02 then ZE_PROD will be PROD02
ZE_CUST = CUST03 then ZE_PROD will be PROD03
The rest of the value for ZE_CUST will be initial
After the activation and execution of View Function, this is the Expected Result without applying checks.
Now let’s try to apply the Including Check.
As you can see in the image below, After the run the defined Selection field appeared in the result data. The criteria are found, and the system displayed a message in the message log. Based on the result of View Function, it satisfied the Including Check for Abort message type as the result table has an entry “CUST01”
Note: Result table should NOT show any result, since it satisfies the Abort check which results to the termination of the process.
Now let’s try to apply the Master Data Checks.
As you can see in the image below, After the run, a message was shown in the Message Log and in the column FS_PER_MESSAGE_TEXT_ of the specific entry. By adding the column FS_PER_MSG_TEXT_ from the Personalization, it will show the values that satisfies the Checks.
In this way, the user can see which entries are out of the Master Data range. Initial entries are also subject to validation.
The fourth to seventh row corresponds to a Warning message since ZE_CUST and ZE_PROD satisfies the check condition.
Now let’s try to apply the Master Data or Initial Value Check.
As you can see in the image below, After the run, a message was shown in the Message Log and in the column FS_PER_MESSAGE_TEXT_ of the specific entry. In this way, the user was able to see which entries were out of the Master Data range. The system results below contained an empty entry, initial values for that function field were permitted.
The initial value for ZE_PROD and ZE_CUST initial entries are permitted. Only the fourth to fifth row corresponds to the Checks for Status as the set values of ZE_CUST are out of the Master Data range.
Now let’s try to apply the Excluding Check.
As you can see in the image below, After the run, since the criteria are not found at all a message was shown in the Message Log. In this way, the user can notice if an important, must-have value is omitted from the value set.
It satisfies the Excluding Check for Error message type as the result table does not have “ZE_CUST = CUSTOMER".
Now it's done. I believe this time you now understand the functionality of the new Checks options and how it works in our system. I hope this blogpost will help you when configuring it on SAP PaPM On-Premise system.