If you had read my earlier blog then you have the context and background of how a custom report program is created to automate analysis of CIF Postprocessing records in APO based on a mapping table and picking up error message number from blocked queues / records. In this blog I shall outline further enhancements done to the program to make it more robust and effective for it to be handed over to regular business users.
The earlier logic had the error line from application log providing the necessary details like message number that was used to determine explanation text. This is fine but quite some times the error line does not provide the required details. In fact success (green traffic light) entry following the error (red traffic light) entry contains relevant data like the location product actually causing issue. The screenshot below shows a good example that we shall follow further in this blog. The error is cause when Stock Transfer Requisition is converted to TLB Order that is transferred to ECC for creation of Stock Transfer Order. But this CIF record gets stuck due to no price maintained in Purchasing InfoRecord without which Stock Transfer Order cannot be created. The error record displays root cause message but does not provide material-plant combination having the issue which is available in the next line which in fact is a success record.
Another point to note any record in CIF Application Log can have maximum of 4 variables defined as &1 to &4. In the above example &1 = N (New), &2 = Stock Transfer Order, &3 = Material value and finally &4 = Plant value. Thus if we can extract the 3rd and 4th variable values from second record from the CIF Error record in the Application Log then CPP record analysis is correct and robust. To enable this I designed so-called secondary check – don’t bother about the semantics of the naming. The original check logic is “primary” so this enhanced logic had to be named “secondary” 😀 .
The custom table is enhanced to include an indicator named Secondary Check, and two other fields one containing transaction link for APO and connected ECC system as shown here. Note the explanation text for Secondary Check is having selected variables whose value gets dynamically populated from matching CIF application log error record. Add another field for the offset value e.g. “1” in the above example denoting offset by 1 record from the error record to determine the record whose variable values need to be picked up and passed to explanation text. The APO and ECC Txn Link fields will be maintained with one APO and ECC system transaction that is most relevant for the error type. In Dialog Mode it is quite beneficial if user not only sees explanation text but can access most relevant APO and connected ECC system transaction to make corrective action or review the data. The Product-Location combination is passed to the APO transaction along with Planning Version = 000 as only active version data gets transferred via CIF to ECC. Likewise the Product-Location combination is passed to ECC transaction via RFC from APO as Material – Plant combination.
There is furthermore to this conundrum after analysis of multi-line TLB Order where just one Product can cause entire Stock Transfer Order to be stuck from creation. Here is a good illustration of it – Net price is missing just for product E4LW400000 causing the entire TLB Order to be transferred to ECC in order to create Stock Transfer Order for multiple products (items). Normally custom report will list all other product CIF error records as Net Price not found which is not correct. So another brainspark later the secondary check indicator is enhanced to a new value M denoting multiple matching is required. In such a case the program will only report Explanation Text as “No issue” for those not matching and put the dynamic explanation text only for the product-location actually having the issue.
The resulting Automated CPP Record Analysis Report enhanced output result is shown as below with explanation text clearly mentioning no issue with most of the Product-Location entries and correctly highlight the one with root cause.
For each of lines two more columns are added only in dialog mode to provide hyperlink to APO and ECC transaction codes.
This enhancement was greatly appreciated by client SAP Architect and also key Business Users as they were also given access to this custom (read-only) report to enable them to quickly review if anything is stuck in CIF when they do not see plan change transferred to ECC and vice-versa. Business does not need to wait for or raise Helpdesk / Service Desk ticket for getting Production Support team to look into CIF queues / post processing records.
This completed the CIF related custom enhancements all coming out based on incremental innovation ideas from day to day support work undertaken.