ALE Module のトラブルシューティング
このセクションでは、ALE Module の始動時または実行時に発生する可能性のある問題について説明します。以下の事項について説明します。
始動時の問題
以下のサブセクションでは、共通の始動時の問題に関する推奨事項を示します。
コネクターが SAP アプリケーションにログオンまたは
登録できない
コネクターが SAP アプリケーションにログオンまたは登録できない場合には、以下のように対処します。
コネクターがポーリング・イベントを選出しない
コネクターが SAP アプリケーションからイベントをポーリングしない場合には、以下のように対処します。
- 必要な動詞の動詞アプリケーション固有の情報が、正しいメッセージ・タイプ、メッセージ・コード、およびメッセージ機能を持つように変更されているかどうかを検査します。
- 動詞 AleOutboundVerbs が存在し、有効な動詞のリストを持っているかどうかを検査します。
コネクターがポーリング中に見えるが、イベントは選出されていない
- イベント・キュー (SAPALE_Event_Queue および
SAPALE_Wip_Queue) が正しく作成されているかどうか、およびポーリ
ングが event キューに対して実行されているかどうかを確認します。
- システム上で以下のものが稼働していることを確認します。
- SAP アプリケーション内での ALE 構成が正しいかどうかを検査します。詳細については、ALE Module の概要を参照してください。
- コネクターがこれまでに少なくとも 1 回のポーリング呼び出しを実行しているかどうかを検査します。実行していれば、イベント処理用の機能モジュールがインストールされます。
- メッセージが wip キューに書き込まれ、event キューに移動されたかどうかを検査します。
イベント処理
コネクターは、(SAPALE_Event_Queue 構成プロパティ
ーで指定されたキューの) JMS-MQ イベント・メッセージ内の正常に処理された
IDoc に関する情報を、EventState.log ファイルに記録します。このファイルは、AleEventDir構成プロパティーで指定されたディレクトリーに格
納されています。
注:
それぞれのイベント・メッセージに、それぞれがビジネス・
オブジェクトを表す複数の IDoc が含まれている場合があります。
コネクターが現行のイベント・メッセージのすべての IDoc を処理する
前にダウンした場合、コネクターは、リカバリーの際に EventState.log ファイルを使用して、各 IDoc が 1 回のみ統合ブローカーに送信されるよ
うにします。
重要:
コネクターはイベントを初めて処理する際に自動的にログ・フ
ァイルを作成しません。コネクターを最初に稼働させる前に、このファイルを作成する必要があります。
ログ・ファイルの書式は次のとおりです。
TID: OS, 1S, 2F, 3U
ここで、<TID> は、処理されている現行トランザクション ID
であり、各番号はイベント・メッセージ内のすべての作業単位のシーケンス番号を表します。
例えば、コネクターが現行のイベント・メッセージの最初の 4 つの IDoc のうち 3 つを
正常に処理し、2 番目の IDoc の処理に失敗した場合は、コネクターは現行のイベント・メッセージの処理を完了しておらず、EventState.log ファイルには以下のように示されます。
<TID> :: OS, 1F, 2S, 3S
コネクターがイベント・メッセージ全体を処理する前にダウンした場合、コネクターは始動時にログ・ファイルの情報を使用して、メッセージ内のイ
ベントの処理を中断したポイントから再開します。コネクターはログを読み取り、リカバリーするイベ
ントのトランザクション ID、最新の作業単位および各作業単位の状況を取得します。次に、コネクターは統合ブローカーに対して、ログ・ファイル内の最後の番号
よりもシーケンス番号が大きいイベント・メッセージ内の各 IDoc を
表すビジネス・オブジェクトの送信を開始します。前記の例では、コネクターは現行のイベント・メッセージ内の 5 番目の IDoc を処理します。
コネクターは、パフォーマンスを向上させるため、ログ・ファイルの内容をメモリーに保持します。ディスク上のファイルには、新しいエントリーで更新する場合にのみアクセスします。コネクターは、ログ・ファイルをリカバリー時にのみ読み取ります。
リカバリー・プロセスでコネクターが EventState.log ファイルをどのように使用するかについては、障害リカバリーを参照してください。
障害リカバリー
注:
以下のリカバリー・ステップは、ディスクに障害が発生したり、ディスクが満杯の場合には適用されません。
コネクターは、イベント通知中の障害をリカバリーするために、以下の処理を実行します。
- コネクターは event キュー (SAPALE_Event_Queue 構成プロパティーで指定) の JMS-MQ メッセージ内の IDoc を処理します。IDoc が正常に処理されると、EventState.log ファイルにエントリーを記録します。
- イベント・メッセージ内の作業単位がすべて正常に処理された場合は
、コネクターはイベント・メッセージをアーカイブ・キューに
移動し、IDocProcessStatus 値を success にします。
- イベント・キュー・メッセージ内の作業単位のいずれかの処理に失敗した場合は、コネクターはイベント・メッセージをアーカイブ・キューに
移動し、IDocProcessStatus 値を partial に更新します。
- コネクターはイベント・メッセージ内のすべての IDoc を
処理した後、EventState.log ファイルをクリアして、このファイルへのエントリーの書き込みを次のイベント・メッセージから開始します。
- コネクターがイベント・メッセージのすべての IDoc を処理する前にダウ
ンした場合、コネクターはリカバリー処理中に EventState.log の情報を使用して、処理を開始する位置を決定します。復旧すると、コネクターはログ・ファイル内にエントリーがあるかどうかを検査します。
- エントリーがない場合は、イベント・メッセージのすべての IDoc を統合
ブローカーに送信します。
- エントリーがある場合は、この情報を使用して、処理が中断された位置から、イベント・メッセージの処理を再開します。コネクターは
ログを読み取り、リカバリーするイベント・メッセージの名前と、最後の IDoc シーケンス番号を取得します。次に、コネクターは統合ブローカーに対して、ログ・ファイル内の最後の番号よりもシーケンス番号が大きい
イベント・メッセージ内の各 IDoc を送信します。この例では、イベント・メッセージ
はアーカイブ・キューに移動され、IDocProcessStatus は EventState.log 内の
各作業単位の状況に従って更新されます。
ログ・ファイルを使用することにより、コネクターが同じ IDoc を複
数回統合ブローカーに送信することを防ぐことができます。コネクターは、パフォーマンスを向上させるため、ログ・ファイルをメモリーに保持します。ディスク上のファイルには、新しいエントリーで更新する場合にのみアクセスし、リカバリー時にのみログ・ファイルを読み取ります。
注:
イベント・メッセージに、ログ・ファイル内の最後の番号よ
りも大きいシーケンス番号を持つ IDoc が存在しない場合、コネクターは最後のイベン
トを処理した後、イベント・ファイルをアーカイブする前にダウンします。この場合、イベント・メッセージ
はアーカイブ・キューに移動され、IDocProcessStatus は EventState.log 内の
各作業単位の状況に従って更新されます。
ビジネス・オブジェクト作成エラーのリカバリー
コネクターが WIP キューのメッセージのヘッダー部分のみを作成し、データ部分を作成していない場合は、以下の手順によって
メッセージのデータ部分をリカバリーします。
- SAP コネクター・ログを調べて、該当するビジネス・オブジェクトの名前、メ
ッセージ・タイプ、または動詞に関連したエラー・メッセージを見つけます。
- ビジネス・オブジェクト定義またはコネクター構成に適切な修正を加えま
す。
注:
構成変更には WebSphere MQ キューに対する変更も含まれる場合がありま
す。詳細については、
ALE Module 実行の前提条件を参照してください。
- コネクターを再始動します。
要求処理
サブスクライブしているビジネス・オブジェクトが ALE Module によって処理されない場合には、以下のように対処します。
- Vision コネクター・フレームワークが ALE Module を呼び出すように設定されているかどうかを検査します。Modules プロパティーには ALE を設定してください。
- コネクターがビジネス・オブジェクトにサブスクライブしているかどうかを検査します。
