手順
汎用モジュールは、以下のステップを実行する必要があります。
-
IDocに正しいメッセージタイプ(フィールドIdoc_Contrl-Mestyp)。そうでない場合は、適切なメッセージを使用して例外Wrong_Function_Calledを発生させます。
-
得意先によって「削減」できるマスタデータの受信汎用モジュールを実装する場合は、メッセージタイプをチェックしないでください。代わりに基本IDocタイプを確認してください(フィールドIdoc_Contrl-Idoctp)。
-
すべてのグローバル変数またはテーブルを初期化/更新します。インバウンド汎用モジュールは、プロセスによって複数回呼び出すことができます。したがって、グローバル変数は2回目に値で埋められます。
-
テーブル内の文字データを変換しますテーブルIdoc_Data内部テーブルの内部形式に。これを行う方法については、以下のコーディング例を参照してください。以下を含むフィールドには特別な注意を払う必要があります。
-
測定単位(IDocのISOコード)
-
通貨コード(IDocのISOコード)
-
国コード(IDocのISOコード)
-
出荷手順(IDocのISOコード)
-
金額(換算係数が必要)
-
日時(下記参照)
日付と時刻を含む項目は、IDocの項目が空、つまり空白の場合、インバウンド処理中にエラーを引き起こす可能性があります。ABAPでは、空白文字項目が日付項目にコピーされると、日付項目は空白のままで、初期値ではありません(ゼロは含まれません)。これは、日付フィールドに無効な値が含まれていることを意味します。フィールドの初期値がチェックされるとすぐに、後続の処理でエラーが発生します。DateFieldが初期の場合…。これを回避するには、サンプルコードに示すように、IDocフィールドが空の場合は日付フィールドをクリアします。
可能であれば、を使用してデータベースを更新しないでください関数を呼び出す更新タスクの場合-これはALEインバウンド処理には必要なく、データベースの負荷を増やすだけです。
-