プロセス
次の図は、プログラム構造ロジックを示しています。
IDocは、宛先を指定して以下の2つの汎用モジュールのいずれかを呼び出すことにより、SAPシステムから送信されます。
-
IDOC_INBOUND_ASYNCHRONOUS
リリース4.0以降、この汎用モジュールを使用する必要があります。4.xで有効なレコードタイプのIDocを処理します。これは、より長いIDocセグメント名がサポートされることを意味します。
-
INBOUND_IDOC_PROCESS
4.0より前のリリースでは、この汎用モジュールを使用する必要があります。3.xで有効だったレコードタイプのIDocを処理します。下位互換性の理由から、4.xでも使用できる必要があります。外部プログラムもこの汎用モジュールをサポートする必要があります。
関数呼び出しのINBACKGROUNDTASK追加は、トランザクションRFCを識別します。
同期呼び出しの場合、パラメータDESTINATIONは、リモートシステムのパス(プログラムコンテキスト)を持つSAPシステムのテーブルを使用してターゲットマシンとターゲットプログラムを定義します。
ABAPテストプログラムSRFCTESTにも注意してください。
SM59で更新される対象プログラムは、汎用モジュール呼び出しの名前を持つ機能を含む外部システムに存在する必要があります。
SAPシステムでは、アプリケーションデータは構造EDI_DD40(4.0より前のEDI_DD)の内部テーブルで転送されます。IDocごとに、構造EDI_DC40(4.0より前のEDI_DC)の管理レコードがIDocの管理データとともに転送されます。この例では、このデータは内部テーブルの形式で転送されます。
詳細については、文書: ABAPでのRFCプログラムの記述を参照してください。
tRFCプログラムの例は、 RFCソフトウェア開発キット(RFC SDK)にあります。
-
trfctest.c(クライアントプログラム)
-
trfcserv.c(サーバープログラム)
これらのプログラムを独自のプログラムのテンプレートとして使用できます。
IDocの使用データを解釈するには、CプログラムレベルでのIDocのデータ構造も必要です。SAPシステムを利用できる場合は、トランザクションWE60( IDocタイプに関する文書)からIDocのヘッダファイルを直接生成することができます。