Errors in RSA1 when extract data over the UDI connection (S:RSSDK:400 or S:RSSDK:300)
Possible errors: “S:RSSDK:400 Requested state cache element does not exist for k ey”
Logs from the BI_SDK Tracce logs:
There is also a possibility to see error:
“Field A cannot be found in structure B“
“S:RSSDK:300 com.sap.ip.bi.sdk.datasource.beans.BI_SDK_Bean$Msg Exception”
There are some important points and optimization which should be followed:
1) use a new RFC and Program ID for all SDK_*
- create/clone new Program ID in Visual Admin tool on the Jco RFC Provider node.
- If we have 20 SDK_* create 20 Program ID-s (valid only for J2EE versions <710)
- After creation, start the new Program ID (symbol for started Program ID is marked with )
An example for a started and configured Program ID: UDI_C1
There is no name or prefix restriction, Program ID can be also “MY_RFC_UDI_1” etc.
- create a new RFC ID like UDI_<DataSource name _1,2,…x> in transaction SM59
- check and use same settings on “Logon & Security” + “MDMP & Unicode” tabs
- After that, press the button “Connection Test” and check if it works. If not, check typos or server name, gateway etc.
RFC name: UDI_ACCPAC_C6
Program ID name: UDI_C1
On ABAP side in transaction RSA1 we can see some created UDIs like AAPAC_C6
- Now assign the newly created RFC in the table RSLOGSYSDEST.
Each UDI – LOGSYS (created in RSA1) should use its own RFC – DESTINATION name.
Example: AAPAC_C6 is correct, it uses its own RFC: UDI_AAPAC_C6
The ACCPAC + ACCPAC_C5 + ACCPAC_C7 are wrong, because they share the same RFC ID.
2) In case of more server nodes, please check “Local Bundle” on all server nodes.
- select and open a server node
- navigate to Jco RFC Provider node
- select the Program ID-s which are used for the UDI on the tab Special Settings and set the flag “Local Bundle”
- press button Set
- repeat steps for all server nodes.
See the topic in SAP Note: 1009063 – UDConnect displays erratic behavior in loading data
When a new RFC destination is created in the visual admin for 04s, there is a tab called ‘Special Settings’. In the very bottom there is a checkbox saying ‘Local Bundle’. If you are using 04, then the ‘Local Bundle’ check box is at the bottom when you create a new destination. If you check this option the destination will be created on the current server only and won’t be replicated to the rest of the available server nodes. You need to do this setting for the destination that will handle the UDI load requests. Please see the attached file for detail screen shots.
3) Setup the lifetime
SAP Note: 1050748 – UD Connect: connection pooling interfere with data load
- start Visual Administrator
- select “Connector Container“
- select <your UDI_* connection name>
- select tab Managed connection Factory -> Connection Definition -> set flag “Expiration”
- enter to Connection Lifetime and Cleanup Thread the values: 20 or 300
- confirm it by hitting ENTER, in other case it will not remember the value.
- then press save.
- restart connector service (click on sap.com/com.ip.bi.s…jdbc press stop then start button), re-check values.