book
Article ID: KB0091175
calendar_today
Updated On:
Description
Resolution:
Environment:
===========
SAP Adapter 6.1.0, 6.2.0, 6.2.1
Symptoms:
========
SAP Adapter would stop unexpectly after 'Invalid Destination' error while invoking the RFC if the BW timeout was made by specifying 'Time To Live' in 'Transport' tab of BW activity (Invoke an Adapter Request-Response Service).
Resolution:
==========
1). When invoking the request-response service in the SAP adapter from BW, there is a property that can be set in the user closure class when invoking the operation from BW. The SAP adapter provides RFCCLOSURE class (RFCCLOSURE class is not able to see by default. We need to add it through an edit statement in designer.) and there is a property called rfcBapiTimeout which can be used to control the timeout of the invocation of the SAP adapter.
2). Once bringing in this closure class, rfcBapiTimeout can be populated with a value that is less than TTL. For example, if TTL is 62000 then set rfcBapiTimeout to 60. Once the timeout exception is generated by the adapter, the reply destination should still be valid and the exception should be sent back to BW.
FYI: Note that rfcBapiTimeout is maintained in seconds, not milliseconds. Recommend maintaining a global variable when mapping to this property so it can be easily maintained.
3). When a timeout exception is returned back by the adapter, the connection is not closed automatically. This means that any context in the SAP system would still remain. To avoid issues with subsequent invocations, it is recommended that the TRA property adr3.keeprfcalive be set to ON. When this property is turned ON it will close the connection used and create a new connection. By closing the connection any context in SAP will be cleaned up.
Issue/Introduction
How to avoid the crash of a SAP adapter caused by "JMS Error:Invalid destination".