No data transfer from SAP system to external Business system.
SAP IDOC is failing with STATUS -02.
How To Reproduce Error:
- We executed the external data transfer job from client system side. After some time TIME_OUT error occurs and data transfer from SAP gets stuck.
- We checked the jobs which were triggered in SAP via SM37.
Jobs were successfully completed but job log has an error.
- Few IDOCS were successfully sent to external system but some idocs were not sent with status 02
We get error as “Could not find code page for receiving system” as shown below:
IDOC status log says:
Could not find code page for receiving system
Message No. E0266
For the logical destination <RFCNAME>, you want to determine the code page in which the data is sent using RFC. This was not possible at the current runtime. For this reason, the IDoc could not be sent.
The reason was issued.
Procedure for System Administration:
The following detailed information was transmitted as the cause of the problem:
|001 The entry no longer exists in the table of logical destinations.|
|002 The destination type could not be determined.|
|003 Problem while determining the destination properties|
|004 MDMP is active|
|005 Client code pace is active|
|006 For the language used, , no code page was stored|
|007The logon language is not installed in the target system.|
|008 The external program (TCP/IP) registered with a different code page than the one that was set in SM59.|
Further possible causes include:
- The target system could not be accessed at runtime.
- No logon language or explicit code page is maintained in the destination
At first check the SM37 job log for the failing IDOC:
From job log we can see there is an CPICERR:
IDoc: Start = 13.03.2021 16:30:40, End = 13.06.2021 16:31:40
tRFC: Data Package = 1, TID = 1DB8EE2JFGW805EE0A8430F43, Duration = 00:00:00, ARFCSTATE = CPICERR
tRFC: Start = 13.03.2020 16:31:40, End = 13.06.2020 16:31:40
Asynchronous transmission of info IDoc 3 in task 0003 (0 parallel tasks)
Altogether, 0 records were filtered out through selection conditions
We can see entries in SM58 for the TID: 1DB8EE2JFGW805EE0A8430F43.
We usually get the error “Could not find code page for receiving system” whenever RFC which is responsible for conversion between technical format is not set correctly.
Goto SM59 –>search for related RFC –>Goto UNICODE tab
Here we can see, communication Type with Target System is set to ‘Non-Unicode’.
Change it to Unicode and rerun the jobs from external system.
in our case, it worked and the SAP IDOC in STATUS 02 was processed successfully.
The IDOCS are probably failing due to different code pages of sender and receiver.
What are the Code pages in SAP?
The RFC is responsible for performing conversions between the code pages of sender and receiver.
We have 3 different possibilities:
|Two systems have SAME code pages (Unicode/non unicode)||In this case, RFC performs the technical conversions, there is no code conversion|
|Two systems that have DIFFERENT code pages exchange data with each other and NONE of system uses UNICODE code pages:||Page conversion is performed on receiver system side.|
|Two systems that have DIFFERENT code pages exchange data with each other and ONE of system uses UNICODE code pages:||Code conversion is always performed at the system with the Unicode page codes.|
RFC Between Unicode System And Multiple Code Pages Systems:
If the RFC takes place between a Unicode system and a non-Unicode system that has multiple code pages (MDMP system), then the data is available on the MDMP side in different code pages.
In such cases, RFC considers language key included in date and assigns code page used in MDMP system to each language.
In our case, the IDOCs which are used in ALE interfaces do not have Language ID.
Hence Unicode system will converts in below way:
Unicode System Calls MDMP System:
Converts into the non-Unicode code page that is normally assigned to the logon language (in the Unicode system).We can also configure ‘RFC Bit Options’ in tab ‘Special Option’ to use logon language of RFC destination
MDMP System Calls Unicode System:
Corresponding to the code page given by the sender.