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 (SAP JCo) で行った変更によって発生します。

この問題を修正するには、アダプターが提供するイベント要求機能モジュールおよびイベント戻り機能モジュールのみを変更するパッチ・トランスポートをロードします。このパッチ・トランスポートを、ネ ーム・スペース (/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 ヒープ・サイズを表 します。

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

Copyright IBM Corp. 2004, 2005