まず、BDCコールトランザクションの概要を理解しましょう。BDCは、SAPの画面操作を自動化する方法です。これにより、大量のデータを一度に処理することが可能になります。BDCコールトランザクションは、SAPのトランザクションコードを呼び出すために使用されます。
BDCコールトランザクションを使用する手順は次のとおりです。
-
BDCデータの準備: BDC処理するデータを準備します。これは、Excelやテキストファイルなどの外部データソースから取得することができます。
-
レコードの作成: BDCデータから処理するためのレコードを作成します。各レコードは、SAPのフィールドに対応しています。
-
BDCセッションの作成: BDCデータをSAPに送信するためのBDCセッションを作成します。このセッションには、トランザクションコードと処理するレコードが含まれます。
-
BDCセッションの実行: 作成したBDCセッションを実行し、SAPにデータを送信します。SAPは、BDCデータを処理し、結果を返します。
-
エラー処理: BDC処理中に発生したエラーを処理します。エラーメッセージやステータスコードを確認し、必要に応じてエラーハンドリングを実装します。
以下に、BDCコールトランザクションのコード例を示します。
DATA: bdcdata TYPE TABLE OF bdcdata,
bdcsession TYPE bdcdata,
bdcgroup TYPE bdcdata.
bdcdata-program = 'SAPM07DR'.
bdcdata-dynpro = '0100'.
bdcdata-dynbegin = 'X'.
APPEND bdcdata TO bdcsession.
bdcdata-program = 'SAPM07DR'.
bdcdata-dynpro = '0200'.
bdcdata-dynbegin = 'X'.
APPEND bdcdata TO bdcsession.
bdcdata-program = 'SAPM07DR'.
bdcdata-dynpro = '0300'.
bdcdata-dynbegin = 'X'.
APPEND bdcdata TO bdcsession.
bdcgroup = bdcsession.
CALL TRANSACTION 'MM01' USING bdcgroup MODE 'N' UPDATE 'S'.
IF sy-subrc = 0.
WRITE: 'BDC Call Transaction successful.'.
ELSE.
WRITE: 'Error in BDC Call Transaction:', sy-subrc.
ENDIF.
このコード例では、SAPのMM01トランザクションを呼び出しています。bdcdataテーブルには、各画面のフィールドや操作を定義するデータが設定されています。bdcsessionには、実行するBDCセッションのデータが追加されます。最後に、CALL TRANSACTIONステートメントを使用してBDCセッションを実行し、結果をチェックしています。