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. 1997, 2003