How to handle IDoc postings in SAP ECC based on time zone
In a multi-phase global SAP implementation for third party to IDoc scenarios, there can be a requirement that the IDocs are posted in the time-zone of the sender systems.
For the SAP inbound IDoc scenarios which are through PI, IDocs are posted through an RFC destination of Type H created in PI to access SAP R/3 system. The time of posting of IDoc is actually dependent on the user profile used while creating the RFC. Many projects use PIAPPLUSER while creating the RFC while some other projects create System user with specific roles for this purpose.
It is required that the IDocs are posted in ECC with respective time-zones of the sender systems. For this, it is imperative that the IDocs are posted with User profiles of respective time-zones. Apart from the fact that this helps in monitoring, it might also have to do with business requirement for Order creation date/ time, Goods receipt posting, subsequent inventory reconciliation and invoicing.
Let’s consider a scenario below where 3 systems are on different timezones.
System A is on CST (North America) time-zone
System B is on GMT (UK/Europe) time-zone
System C is on AU-VIC (Australia) time-zone
while SAP System is on UTC.
Solution: In this case, it is required to create 3 additional RFCs in PI. Let’s call them RFC_NA, RFC_GMT & RFC_AU. The RFCs will be on system users (created in ECC) on separate time-zones (AST or as agreed, GMT and AU-VIC or as agreed).
When the time-zone of sender systems is known as design time, it becomes simple. You need to create 3 IDoc adapters with 3 distinct RFC destinations and assign them in corresponding receiver agreements.
Objects to be created:
IDoc Adapter for NA -> With RFC_NA
IDoc Adapter for GMT -> With RFC_GMT
IDoc Adapter for AU -> With RFC_AU
RFC_NA (to be created in PI) pointing to ECC but with SystemUser_NA (To be created in ECC)
RFC_ANZ (to be created in PI) pointing to ECC but with SystemUser_ANZ (To be created in ECC)
RFC_AU (to be created in PI) pointing to ECC but with SystemUser_AU (To be created in ECC)
On execution of the interface, the IDoc created is posted in ECC with user in respective time-zone. This can be verified in T code WE02. Double click on Status 53-> Tab logging as below:
Solution for EDI IDoc flat files:
For EDI postings in ECC where PI is not used, the files are posted to the file port by different vendors and processed in ECC as IDocs. Normal configuration needs to be done to define the file path from where files are picked and processed for specific message/IDoc types automatically.
Subsequently, internally a background job runs in SAP and posts these files as IDocs through file port. There might be a similar requirement to post the IDocs in vendor time zones. If we try to apply the same solution (system user in respective time zone through separate RFCs) for EDI vendors, the problem is that the files would be created with the system users but since the background job runs with WF-BATCH, the IDocs will be processed with WF-BATCH which is on UTC. To make sure that the user which creates the files on the file path is used for processing within SAP, you need to make a change in ECC to facilitate it.
Go to T code- OYEA – Change Global Parameter IDoc Inbound from file – > Check Synchronous Processing
Now the IDocs will be posted with the respective RFC users based on different Vendor time-zones and not WF-BATCH.
Hope it was informative.