未解析の IDoc のイベント処理

アダプターは、構文解析機能があるアプリケーションまたはコンポーネントの未解析の ALE イベントを処理できます。 アダプターは未解析の IDoc を構文解析済みの IDoc と同じように処理します。ただし IDoc のデータ部分は構文解析しません。 アダプターでの IDoc の直接交換では、IDoc の構文解析と直列化がアダプターの外部で行われるので、SAP との高性能な非同期対話が使用可能になります。

アダプターは、パケット IDoc が分割されているか非分割か、およびデータが構文解析を必要としているかどうかに基づいてデータを処理します。
  • アダプターはパケット IDoc を、1 パケットとして、または個々の IDoc として処理できます。 アダプターが IDoc をパケット IDoc として SAP から受け取った場合、分割して個々の IDoc として処理するか、または 1 パケットとして処理します。 ビジネス・オブジェクト・レベルでの SplitIDocPacket メタデータの値により、IDoc の処理方法が決定されます。

    分割された IDoc の場合、ラッパーには単一の未解析の IDoc オブジェクトだけが含まれます。

  • Type メタデータは、データを構文解析するかどうかを示します。 未解析の IDoc の場合、この値は UNPARSEDIDOC であり、構文解析された IDoc の場合、値は IDOC です。 この値はエンタープライズ・サービス・ディスカバリーにより設定されます。

未解析のデータ・フォーマット

固定幅フォーマットの未解析 IDoc では、IDoc のセグメント・データは、ビジネス・オブジェクトの IDocData フィールドに設定されます。 これはバイト配列の固定長データです。

セグメント長のすべてが使用されない場合もあります。 アダプターはデータがあるフィールドにスペースを埋め込みます。フィールドの残りは無視され、セグメントの終わりが設定されます。 セグメントの終わりはヌルにより示されます。

以下の図は、参照用の「|」記号により区分されたフィールドがあるセグメントを示しています。
図 1. 処理前のセグメントの例
未解析のセグメントの例。セグメントの終わりにいくつかの空フィールドがあることを示しています。
アダプターがこのセグメントを処理して未解析データにする場合、データがあるフィールドだけを考慮します。 アダプターは、各セグメント・フィールドのフィールド幅を維持します。 データがある最終フィールドを検出すると、セグメントの終わりのマークとしてヌルを付加します。
図 2. 処理後のセグメントの例
処理後の未解析セグメントの例。セグメントの終わりの空フィールドはヌルで置き換えられています。

未解析データとして処理される次のセグメント・データは、このヌルの後に付加されます。

制限

未解析イベント機能により、特定の IDoc タイプ用のエンタープライズ・アプリケーションに対して一定の制限が課されることになります。
  • エンタープライズ・アプリケーションは、特定の IDoc タイプまたはメッセージ・タイプについて、構文解析されたビジネス・オブジェクト・フォーマットまたは未解析のビジネス・オブジェクト・フォーマットのいずれかをサポートします。
  • 特定の IDoc タイプに対して、Inbound の未解析ビジネス・オブジェクト・フォーマットを選択した場合、Outbound は構文解析されたビジネス・オブジェクトに基づいているため、同じ EAR ファイル内で Inbound と Outbound インターフェースを持つことはできません。

ご利用条件 |


(c) Copyright IBM Corporation 2005, 2006.
(C) Copyright IBM Japan 2006
このインフォメーション・センターでは Eclipse テクノロジー (http://www.eclipse.org) が採用されています。