Sometime you faced the problem that the remote system is not determined correctly while calling a transaction launcher. This article will show how transaction launcher determines the remote system.
Basically there is a static way to determine the remote system but also with release CRM 7.0 and higher, it comes with a feature to determine the remote system dynamically as business need it. for e.g. documents of different ERP systems should be displayed.
Determine the logical system from transaction CRMS_IC_CROSS_SYS
While configuring the transaction launcher, a Logical System is specified.
System reads the mapped logical system in transaction CRMS_IC_CROSS_SYS.
This is a static way of determining the remote system.
Determine the logical system from Global Data Context (GDC)
Sometime business needs to use multiple remote systems. You can check the “MultiSys” checkbox in transaction CRMS_IC_CROSS_SYS.
Then the transaction launcher will read the attribute LOGICAL_SYSTEM from the GDC which can mainly happen in the interaction center.
You can check method CL_CRM_IC_ACTION_UTIL=>GET_LOGSYS_FROM_MAPPING from technical point of view.
Determine the logical system using enhancement spot WCF_LTX
System also has the enhancement spot WCF_LTX which contains the BAdI WCF_LTX_BADI with its method ADJUST_LOGSYS. This method will be called during the initialization phase of the transaction launcher. You can set a breakpoint in method INIT of the transaction launcher
handler class to check the BADI.