業務処理実行アプリケーションの入出力の引数の設定値に関する情報を以下に示します。
業務処理実行アプリケーションの入出力で“すべての業務データを入出力”使用時の変更
“Interstage Job Workload Server バッチ実行基盤(Java)”のフロー実行時の業務データの引継ぎの動作において、最初のアクティビティ定義の業務処理実行アプリケーションがjava.util.Mapオブジェクトに含めなかった業務データで2番目のアクティビティ定義の業務処理実行アプリケーションの入力値に変更があります。
本非互換は、”第3章プログラム修正一覧”のPG99164により修正された動作です。
条件
以下の条件に一致する場合、動作が変更されます。
1) アクティビティ定義を複数定義したフロー定義を作成する、かつ
2) 1)のフロー定義で最初のアクティビティにおいて定義した業務処理実行アプリケーションの呼出し定義で”すべての業務データを入出力”を指定している、かつ
3) 1)の最初のアクティビティ定義の業務処理実行アプリケーションが、一部、または全ての業務データを含まないjava.util.Mapオブジェクトを復帰値として返却した場合。
変更内容
V9.3.2以前は、2番目のアクティビティ定義の業務処理実行アプリケーションの入力値は、最初のアクティビティ定義の業務処理実行アプリケーションの入力値になります。
V9.4.0以降では、2番目のアクティビティ定義の業務処理実行アプリケーションの入力値は、“Interstage Job Workload Server バッチ実行基盤(Java)”の“フロー定義の制約”の“業務データの引継ぎに関する規約”に従い初期化された値が入力値になります。
なお、フロー前処理から最初のアクティビティ、2番目から3番目のアクティビティ、および最後のアクティビティからフロー後処理における動作は、変更されておらずV9.3.2以前より“Interstage Job Workload Server バッチ実行基盤(Java)”の“フロー定義の制約”の“業務データの引継ぎに関する規約”に従い初期化された値が入力値になります。
影響
2番目以降のアクティビティにおいて動作が変更される業務データを参照している場合、処理内容に応じてフローの処理結果に違いが発生する可能性があります。
対処方法
以下のいずれかの対処を実施してください。
業務処理実行アプリケーションの修正
入力値として渡さる業務データ全体を格納したjava.util.Mapオブジェクトから業務データを削除せず、更新が必要な業務データの値のみ更新し、入力値として渡されたjava.util.Mapオブジェクトを返却するように業務処理実行アプリケーションを修正する。
定義変更によるV9.3.2以前の動作への変更
環境設定ファイルに以下の行をエディタ等で追加します。
business-data.initialize.compatible定義の値をtrueとすることにより、V9.3.2以前の動作になります。
定義を変更した場合は、リソースユニットを再起動してください。
business-data.initialize.compatible=true
環境定義ファイルは以下に格納されています。
/opt/FJSVibs/etc/JavaBatch/config.properties
[Interstage Job Workload Serverのインストールディレクトリ]\BAS\etc\JavaBatch\config.properties