ABAP Extension Module のトラブルシューティング

このセクションでは、 ABAP Extension Module の始動時または実行時に発生する可能性のある問題について説明します。以下の 3 つの項目に関するトラブルシューティングについて説明します。

トランスポート・ファイル

ABAP Extension Module 用のアダプターのトランスポート・ファイルをインストールする際にエラーが発生した場合には、以下のように対処します。

始動時の問題

コネクターは SAP アプリケーションに正常にログインしたが、SAP アプリケーション内のコネクターのログに何も記録されない場合には、以下のように対処します。

Microsoft Windows でのイベント分配問題 (コネクター・バージョン 4.2.7 のみ)

以下の条件下では、Windows 上で IBM CrossWorlds Connector for SAP バージョン 4.2.7 にアップグレードした後、イベントがイベント表に残り、コネクターによって選出されず、処理されなくなります。

この問題は、SAP がそれ自身の java API (SAPJCo) で行った変更によって発生します。

この問題を修正するには、Connector for mySAP.com が提供するイベント要求機能モジュールおよびイベント戻り機能モジュールのみを変更するパッチ・トランスポートをロードします。このパッチ・トランスポートを、ネーム・スペース (/CWLD/) インフラストラクチャーを持たない 4.0 および 4.5 SAP システムにロードします。

注:
ネーム・スペース ABAP インフラストラクチャーにはこの問題はありません。

イベント処理

以下のサブセクションでは、イベント処理の問題に関する推奨事項を示します。

サブスクライブしているビジネス・オブジェクトによって ABAP Extension Module が呼び出されない

サブスクライブしているビジネス・オブジェクトが ABAP Extension Module によって処理されない場合には、以下のように対処します。

コネクターがイベントを選出しない

コネクターが SAP アプリケーションからイベントを選出しない場合には、以下のように対処します。

ビジネス・オブジェクトの処理に障害が起こる

ビジネス・オブジェクトが正常に処理されなかった場合は、SAP アプリケーションのコネクター・ログを検査してください。失敗したイベントに関するエントリーは赤で表示されます。イベントは、再処理ツールを使用して再処理します。再処理ツールを使用すると、トランザクションをステップごとにたどりながら、コードにブレークポイントを設定することができます。オブジェクトの再処理の詳細については、アーカイブされたオブジェクトの再処理を参照してください。

重要: 再処理ツールを使用すると、WebSphere Business Integration システムと SAP アプリケーションが同期しなくなるため、再処理ツールは実稼働環境では使用しないでください。

イベント表でのデッドロック

現在のイベント表、および将来のイベント表において、一度に多数のイベントが追加されたときに、デッドロック状態が発生する可能性があります。この状況は、データベースのチューニングのために、イベント表の索引が使用されない場合に生じます。チューニングは通常は、イベント表内のイベントが少ないか存在しないオフピーク時に行われます。データベース表上のエントリーが少ないかまたは存在しない場合には、テーブルの読み出しに索引を使用しない方が効率的です。デッドロック状態を回避するには、データベース・チューニング・ユーティリティーの実行時に現在のイベント表と将来のイベント表を除外します。

ラージ・オブジェクト

ラージ・オブジェクトを正常に処理するには、追加の変更が必要となります。ABAP Extension Module オブジェクトは、データを SAP アプリケーションに渡す前にフラット構造に変換されるか、またはデータを SAP アプリケーションから受信するときにフラット構造から変換されます。詳細については、ビジネス・オブジェクトのフラット構造への変換を参照してください。このフラット構造は、構造内の行となるオブジェクト・インスタンスの各属性と共に、メモリー内に保持されます。各属性に対して 373 バイトのデータがコネクターと SAP アプリケーション間で受け渡されます。属性の数に 373 を掛けた値がフラット構造のサイズの近似値です。同様に、オブジェクトのインスタンスもメモリー上にあります。そのため、メモリー不足エラーを回避するために、オブジェクトに多数の子オブジェクト (セグメント) がある場合は、コネクターの Java プロセスの始動スクリプト内で Java ヒープ・サイズを変更する必要があるかもしれません。
Windows

start_SAP.bat スクリプト内で、Java ヒープ・サイズ・オプション・パラメーターのデフォルト値の -mx128m を、フラット構造とオブジェクトのインスタンスを処理するために充分大きな値に変更します。Java プロセスが実行されるマシンで使用可能なメモリーより大きな値を指定した場合にも、メモリー不足エラーが発生します。128m は 128 MB の最大 Java ヒープ・サイズを表します。

Linux

CWConnEnv.sh スクリプト内で、JVM_FLAGS 環境変数の Java ヒープ・サイズ・オプション・パラメーターのデフォルト値 -Xmx128m を、フラット構造とオブジェクトのインスタンスを処理するために充分大きな値に変更します。Java プロセスが実行されるマシンで使用可能なメモリーより大きな値を指定した場合にも、メモリー不足エラーが発生します。128m は 128 MB の最大 Java ヒープ・サイズを表します。

OS/400

CWConnEnv.sh スクリプト内で、JVM_FLAGS 環境変数の Java ヒープ・サイズ・オプション・パラメーターのデフォルト値 -Xmx128m を、フラット構造とオブジェクトのインスタンスを処理するために充分大きな値に変更します。Java プロセスが実行されるマシンで使用可能なメモリーより大きな値を指定した場合にも、メモリー不足エラーが発生します。128m は 128 MB の最大 Java ヒープ・サイズを表します。

SAP アプリケーションは、ラージ・オブジェクトを正常に処理するために、ABAP タイムアウト・パラメーターの変更も必要とします。

Copyright IBM Corp. 2004