Troubleshooting for the ABAP Extension Module

This section describes problems that you may encounter when starting up or running the ABAP Extension Module. It covers three troubleshooting areas:

Transport files

If you get errors when installing the adapter's transport files for the ABAP Extension Module:

Startup problems

If the connector logs in to the SAP application successfully, but the connector's log in the SAP application is empty:

Event distribution problem on Microsoft Windows (connector version 4.2.7 only)

After upgrading to the IBM CrossWorlds Connector for SAP Version 4.2.7 on Windows, events remain in the event table and are not picked up and processed by the connector in the following circumstances:

This problem is caused by a change SAP has made in their java API (SAPJCo).

To fix the problem, load a patch transport that changes only the event request and event return function modules provided by the IBM WebSphere Business Integration Adapter for mySAP.com. Load this patch transport in 4.0 and 4.5 SAP systems that do not have the namespace (/CWLD/) infrastructure.

Note:
The namespace ABAP infrastructure does not have this problem.

Event handling

The following subsections provide suggestions for event handling problems.

ABAP Extension Module is not invoked by subscribing business objects

If a subscribing business object is not being processed by the ABAP Extension Module, then:

Connector is not picking up events

If your connector is not picking up events from the SAP application:

Business object fails to process

If a business object fails to process successfully, check the connector log in the SAP application. Entries for failed events appear in red. Reprocess events using the reprocessing tool, which enables you to set breakpoints in the code as you step through the transaction.

Attention: Do not use the reprocessing tool in a production environment, because it causes the WebSphere business integration system and the SAP application to be out of sync.

Deadlock with Event Table

The current event table and the future event table, may encounter a deadlock situation if there are many events being added at one time. This situation occurs if the provided indices for the event table are not used because of database tuning. Tuning normally occurs during off-peak hours when there are few or no events in the event table. When a database table has no or few entries, it is more efficient not to use an index for reading the table. To avoid a deadlock situation, exclude the current event and future event tables when running a database tuning utility.

Large Objects

Large objects may require additional changes to process successfully. ABAP Extension Module objects are converted to a flat structure before passing the data to the SAP application or converted from a flat structure when receiving the data from the SAP application. See Business object conversion to a flat structure for more information. This flat structure is held in memory with each attribute for an object instance being a row in the structure. For each attribute, 373 bytes of data are passed between the connector and the SAP application. The number of attributes multiplied by 373 gives an approximation of the size of the flat structure. As well, an instance of the object is also in memory. Therefore, an object with many child objects (segments) may require a change to the Java heap size in the startup script for the connector's Java process in order to avoid an out-of-memory error.
Windows

In the start_SAP.bat script, change the -mx128m Java heap size options parameter default value to a value large enough to handle the flat structure and the instance of the object. A value larger than the available memory on the machine running the Java process will also result in an out-of-memory error. The 128m represents a maximum Java heap size of 128 MB.

Unix

The SAP application may also require changes to the ABAP timeout parameter to process a large object successfully.

Copyright IBM Corp. 2003, 2004