This section describes problems that you may encounter when starting up or running the ABAP Extension Module. It covers three troubleshooting areas:
This section provides suggestions for transport file problems. For more information on installing transport files, see Connector transport file installation.
If you get errors (not warnings) when installing the adapter's transport files for the ABAP Extension Module:
For example, one transport file creates a data element for a table and another transport creates a table for that data element. If the table is not created first, the system returns an error.
You must install at least the Primary, Utilities, Request, and Delivery transport files. For more information, see Connector transport files.
If the connector logs in to the SAP application successfully, but the connector's log in the SAP application is empty:
To check the number ranges, go to transaction SNRO and enter /CWLD/LOG in the Number Range Object field. Click the Number Ranges button, click the Display Intervals button, and note the number range object number. Open the connector log and note the number of the first entry. If this number is higher than the number range object number, then the log entry number in the connector log needs to be modified to be one number higher. For more information, see Verifying number ranges for transport objects.
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 (jCO).
To fix the problem, load a patch transport that changes only the event request and event return function modules provided by the . Load this patch transport in 4.0 and 4.5 SAP systems that do not have the namespace (/CWLD/) infrastructure.
The following subsections provide suggestions for event handling problems.
If a subscribing business object is not being processed by the ABAP Extension Module, then:
If your connector is not picking up events from the SAP application:
If you have multiple connectors subscribed to the same business object, then one connector might be processing the wrong events. For more information on distributing events between multiple connectors, see ***.
Check the connector's event table in the SAP application to see if the event has a status of L (Locked). If the status is L, then you most likely have a problem in the SAP application and not the connector.
If the event did not make it to the destination, change the status from R to Q (Queued). Events with a status of Q are picked up by the connector at the next poll interval. To change the status from R to Q, go to the event table, select the event, and then click the Edit button. In the window that appears, change the Event Status field from R to Q.
If a business object fails to process successfully, check the connector log in the SAP application. Entries for failed events appear in red. You can reprocess events using the reprocessing tool, which enables you to set breakpoints in the code as you step through the transaction. For more information on reprocessing objects, see Reprocessing archived objects.
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.
The current event table, and to a lesser extent, 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. This tuning normally occurs during off-peak hours when there may be relatively 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 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.
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.
In the CWConnEnv.sh script, for the "JVM_FLAGS" environment variable, change the "-Xmx128m" 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.
The SAP application may also require changes to its system parameters, e.g., the ABAP timeout parameter, to process a large object successfully.