1つのxamlファイル内で『SAP BAPI を呼び出し』を繰返し実行すると2件目で処理が失敗

:grey_question: Question

1つのxamlファイル内で『SAP BAPI を呼び出し』アクティビティを繰返し実行すると1回目は成功し2回目で処理が失敗します。

エラーメッセージ例:

Message:FIELD REQ_DATE of TABLE [STRUCTURE BAPISCHDL] (SETTER): cannot convert String into DATE

:bulb: Answer

原因

『SAP BAPI を呼び出し』アクティビティでBAPIを呼び出す時に引き渡すDataTable型のパラメーターの方向が"In/Out"である場合、BAPIを呼び出した後、DataTable変数の一部の列のデータ型が変更されてしまうことがあります。

image

解決策1:

パラメーターに指定するDataTable変数をループ内で作成し直しエラーが解消されるかお試しください。
例:『代入』アクティビティで、DataTable変数を作成し直す方法は以下のようにDataTable変数をクローンすることで実現できます。

引数用DataTable変数 = 初期データ用DataTable変数.Clone

解決策2:

(1)『SAP BAPI を呼び出し』アクティビティが含まれる処理を別ワークフローとして抽出します。
(2) Mainのワークフローから、『ワークフローファイルを呼び出し』アクティビティで手順(1)で抽出したワークフローを呼び出します。
呼び出されたワークフローに引き渡すDataTable引数の方向を"入力(IN)"にします。