Question
1つのxamlファイル内で『SAP BAPI を呼び出し』アクティビティを繰返し実行すると1回目は成功し2回目で処理が失敗します。
エラーメッセージ例:
Message:FIELD REQ_DATE of TABLE [STRUCTURE BAPISCHDL] (SETTER): cannot convert String into DATE
Answer
原因
『SAP BAPI を呼び出し』アクティビティでBAPIを呼び出す時に引き渡すDataTable型のパラメーターの方向が"In/Out"である場合、BAPIを呼び出した後、DataTable変数の一部の列のデータ型が変更されてしまうことがあります。
解決策1:
パラメーターに指定するDataTable変数をループ内で作成し直しエラーが解消されるかお試しください。
例:『代入』アクティビティで、DataTable変数を作成し直す方法は以下のようにDataTable変数をクローンすることで実現できます。
引数用DataTable変数 = 初期データ用DataTable変数.Clone
解決策2:
(1)『SAP BAPI を呼び出し』アクティビティが含まれる処理を別ワークフローとして抽出します。
(2) Mainのワークフローから、『ワークフローファイルを呼び出し』アクティビティで手順(1)で抽出したワークフローを呼び出します。
呼び出されたワークフローに引き渡すDataTable引数の方向を"入力(IN)"にします。