Troubleshooting
Problem
Random SAP BW Pack jobs, i.e.. Open Hub extract jobs and BW Load jobs, fail with the following error at the job startup phase, the problem jobs run fine if re-run without any job modification. Item #: 11 Event ID: 11 Timestamp:: 2011-11-11 07:03:01 Type: Fatal User Name: dsadm Message:: IN_DSO_CS_ZXX..T_ZXX_001: RFC_ERROR_SYSTEM_FAILURE: See RFC trace file or SAP system log for more details (group 104)
Cause
Logon to SAP system failed due to time-out.
Diagnosing The Problem
Get the RFC trace for the failing job (cf IBM technote 1408720 on how to get RFC trace), and check if the SAP logon check function RfcOpenEx failed due to time-out.
>>> RfcOpenEx ...
Got following connect_param string:
CLIENT=100 USER=usr1 PASSWD=******* LANG=EN TRACE=0 ASHOST=10.10.10.10 SYSNR=10
Send RFCHEADER: 01/BIG/IEEE/SPACE/1100
Send UNICODE-RFCHEADER: cp:1100/ce:IGNORE/te:REJECT/cs:1/rc:0x00000023
UUID: send_rfcuuid {4EA9D4D8-D4D7-E02A-0200-00000A220EA9}
>>> Logon check: calling RFCPING
>>> RfcCall [1] ...
*> RfcCall
FUNCTION RFCPING
handle = 1
parameter = <NULL>
tables = <NULL>
UUID: RfcCallNew send the uuid to the partner {4EA9D4D8-D4D7-E02A-0200-00000A220EA9}
>>>> [1] <unknown> : EXT <ac: 3> L 10.34.14.163 >>> WRITE (34312533)
-{4EA9D4D8-D4D7-E02A-0200-00000A220EA9}
...
<* RfcCall [1] : returns 0:RFC_OK
>>> Timeout during logon check
*> rfcClose called by RFC-Library in file: rfcext_mt.c, line: 568
handle = 1
...
<* rfcClose
<<< RfcOpenEx failed
Resolving The Problem
Logon failure due to time-out means either the network response is slow or the SAP Server response is slow (for example due to server load), so help is require from SAP Support.
There is a SAP environment variable, RFC_CONNECT_TIMEOUT, to control the SAP logon time-out period which is 60 seconds by default. Setting this variable to a larger value like 120 or 180 will reduce the chance of a time-out occurring.
- To set it at the DataStage instance level, add the following lines to the $DSHOME/dsenv file and restart the DataStage Engine.
RFC_CONNECT_TIMEOUT=<timeout_in_seconds> ## replace <...> with number of seconds
export RFC_CONNECT_TIMEOUT
- Or, to set the environment variable for a specific DataStage project, add the variable as a user defined environment variable in DataStage Administrator for that specific DataStage project.
Related Information
Was this topic helpful?
Document Information
Modified date:
16 June 2018
UID
swg21573828