Prevention of Transfer of Internal Orders with Locked Profit Centers, to CONCUR.
Pre-Read : https://blogs.sap.com/2020/09/14/cost-object-export-from-sap-to-concur/?update=updated
CONCUR is the Travel and Expense solution that is tightly integrated with SAP ERP through the ICS integration. It is used for posting the expenses by employees to SAP. Expense posting is nothing but a vendor invoice posting, in terms of the posting in SAP. Any such posting needs cost objects, such as Cost Centers, Internal orders, for the posting to take place. The source of this master data/Cost Object is SAP. ICS integration provides option of transferring cost objects such as Cost Centers and Internal Orders from SAP to CONCUR, so that those can be used during expense Submission.
The Transaction code CTE_SETUP provides the option of this transfer.
In this article, we will discuss a specific scenario, where Internal Orders get transmitted to CONCUR from SAP and the underlying Profit Centers are locked . As per the standard flow, there are no errors that come up during the transfer of the Internal Orders to CONCUR. However, when the expense Reports get posted to SAP the postings end in error.
Subsequently the Errors need to be looked in to and one of the following needs to happen.
- The ER needs to be recalled and sent back to the employee and the employee needs to be told to change the Internal Orders in the expense Report and resubmit.
- The Master data in SAP need to be corrected, by unlocking the Profit Center.
This results a delay in the regular Expense process. To avoid this , it is preferable that, these IOs, with Inactive/Locked PCs should be identified Upfront and prevented from going in to CONCUR at the time of Export itself. Standard ICS integration does not provide a direct solution for that. However there is BADI, which is made available in the Master data Export Flow and Custom Logic can be put in there to achieve the prevention of export of Internal Orders with locked Profit centers to CONCUR.
The BADI that is available to achieve the above is “BADI_CTE_FIN_COBJ_DATA_CHANGE” . This can be implemented, and the below logic can be written in that BADI, to achieve the needful. The same BADI gets called during both export(Creation/Change ) of IO’s and Deletion of IO’s as well. So, the logic needs to be written in a way such that it gets triggered only during the Creation/Change of IO’s.
In the BADI, the Table IT_COST_OBJECT_DATA contain the master data records to be exported to CONCUR. The Profit centers with in the IOs in this table, need to be looked up and compared against the Master Data records (in the table CEPC) and the corresponding IO records for which the Profit Centers are locked(CEPC-LOCK_IND is ‘X’), should be removed from the list of IO’s that being exported to CONCUR. This logic needs to be applicable, only for those records which do not have the deletion indicator(it_cost_object_data is not ‘X’), only during the Creation/Change of IO’s.
When the above logic is put and the Internal Order Export is run, only those internal orders, which have an active profit center , will get transferred to CONCUR. With this, we can avoid the Errors due to the Locked Profit Centers, by preventing them from being exported to Concur.
Comments and Feedback’s are Welcome.