Management of custom code in (Customer Exits)
A customer often has some custom requirements that come up when deploying Digital Supplier Network membership. Such a requirement would be related to a very specific business process customer has only in his company and it is not covered by a standardized Cloud tool. Nuances like that are often handled via a custom code implemented through Customer exits.
When we were implementing some custom code in our project, we noticed that order of the code plays an important role and may cause standard segments disappearing from your IDOC.
While using Order type: ARBCIG_ORDERS we have a predefined segment structure which can be seen via Tcode we30
Ex: Screen shot
We wanted to add taxes onto our PO (as described in https://blogs.sap.com/2020/05/25/how-to-add-taxes-to-the-purchase-order-sent-to-ariba-network/ ) so we wrote a custom program defining taxes (Material/ Service PO) and that was updated in one of the exits before INCLUDE
This approach changed our IDOC structure entirely due to which, basic functionality such as delivery schedule line for material PO stopped working (it was no longer appearing in the IDOC and was not visible in the UI, so supplier could not know what is the delivery schedule, The PO however did not fail because this piece of information is optional and if it is not included, system does not trigger any errors)
- How did we run into this issue:
We wrote our custom code for Taxes before the exit “INCLUDE arbcig_order_request_002” (Below IDOC structure of PO: It changed the segment for E1EDPO1)
- How did we corrected the problem:
This time we moved our code for taxes after the Exit “INCLUDE arbcig_order_request_002” (Changes can be segment E1EDPO1)
Always have your code/custom program updated after the exit defined as we are trying to populate a predefine IDOC segment.
This solved our issue of Multi Delivery schedule line.
Service Purchase Orders and Multi Service Line PO failing in CIG
When it comes to Purchase Order and Services, what typically comes up as a requirement is to send multiple service line for a single line item in the PO (Refer below Screen shot).
Example of that can be found below in SAP:
When we tried to send the Purchase Order to Ariba Network from S/4 HANA, we encountered an error.
Below issue when sending Service PO with more than one line (Error in CIG while sending the above Service PO)
Error resulted in Service PO not appearing in the buyer account of Ariba Network.
After investigation we realized that such error means that business function is not activated and it needs to be turned on. So to get this working in S/4 HANA solution here is to have Basis team activating the following business functions:
And then re-sent a brand new Service Purchase Order with multiple lines.
This solution is applicable only in S/4 HANA. When it comes to old systems such as ECC – there is a SAP note that needs to be implemented while configuring this functionality (described in the documentation on help.sap.com). After implementing the note – problem is fixed in ECC. In S/4 HANA, above mentioned functions need to be activated.