Interstage Job Workload Server バッチ開発ガイド |
目次
![]() ![]() |
第2章 ジョブの設計に必要な知識 | > 2.5 バッチアプリケーション | > 2.5.3 C言語アプリケーション |
バッチジョブ定義で設定した入力パラメタを、バッチアプリケーション(C言語アプリケーション)に渡すことができます。また、バッチアプリケーションからの復帰コードは、ジョブステップの終了コードになります。これにより、バッチアプリケーションからの復帰コードで、後続ジョブステップを実行するかを制御できます。
バッチジョブ定義とバッチアプリケーションの入力パラメタ、および復帰コードの関係を以下に示します。
バッチアプリケーションには、以下のインタフェースがあります。
詳細を以下で説明します。
入力パラメタについて説明します。
バッチジョブ定義のジョブステップ定義のバッチアプリケーション定義にあるパラメタに設定した値が、バッチアプリケーションの入力パラメタとして渡されます。入力パラメタのデータ型は、IDLファイルに設定します。
IDLファイルは、1バッチアプリケーションにつき、1つ作成します。
バッチジョブ定義に設定したパラメタの値が、バッチアプリケーションのパラメタに渡されるイメージは以下のとおりです。
バッチアプリケーション
IDLファイル
バッチアプリケーション
IDLファイル
C言語アプリケーションに入力パラメタを渡す場合は、IDLファイルが必要になります。入力パラメタが必要ない場合でも、IDLファイルは必要です。入力パラメタが複数個ある場合は、1つのIDLファイルにまとめます。
IDLファイルの設定例を以下に示します。
module module1{ interface func1{ long pgm1( in short parm1, /* INパラメタ(数値型2バイト) */ in long parm2, /* INパラメタ(数値型4バイト) */ in long long parm3, /* INパラメタ(数値型8バイト) */ in string parm4 /* INパラメタ(英数字項目) */ ); }; }; |
C言語アプリケーションのデータ型、バッチアプリケーション定義のパラメタのデータ型およびIDLファイルのデータ型の対応関係は以下のとおりです。
C言語のデータ型 |
パラメタのデータ型 |
IDLファイルのデータ型 |
---|---|---|
short |
short : 数値型(2バイト)項目 |
short |
int |
int : 数値型(4バイト)項目 |
long |
long long |
long long : 数値型(8バイト)項目 |
long long |
char* |
char : 英数字項目 |
string |
![]()
- バッチアプリケーションのパラメタは最大32個です。
- 使用できるパラメタはINパラメタのみです。
バッチアプリケーションの復帰コードを決定します。
また、バッチ実行基盤で使用できるユーザアプリケーションの復帰コードは、ジョブのジョブステップ終了コードとジョブ終了コードにもなります。
バッチ実行基盤で使用できるユーザアプリケーションの復帰コードのデータ型は、以下のとおりです。
C言語データ型 |
---|
int |
バッチ実行基盤で実行するユーザアプリケーションの復帰コードの範囲は、以下のとおりです。
復帰コードの範囲 |
---|
-999999999〜999999999 |
![]()
- バッチ実行基盤とSystemwalker Operation Managerを連携する場合、バッチアプリケーションの復帰コードを0〜200の範囲にしてください。バッチアプリケーションの復帰コードがこの範囲以外の場合には、Systemwalker Operation Managerの仕様にしたがいます。
- 復帰コードを設定せずに終了した場合、バッチアプリケーションの復帰コードは、0になります。
バッチアプリケーションで使用する環境変数です。
バッチアプリケーションが使用できる環境変数には以下があります。
![]()
- バッチアプリケーション定義の環境変数については、“バッチアプリケーションに渡す環境変数”を参照してください。
- バッチアプリケーション実行時に使用できる環境変数の詳細、およびバッチワークユニットの環境変数については、“Interstage Job Workload Server セットアップガイド”の“環境変数の設定指針”を参照してください。
バッチアプリケーション定義の環境変数、およびジョブ定義の環境変数を使用したバッチアプリケーション間の、環境変数によるデータの引継ぎはできません。
ファイル管理機能が、バッチジョブ定義に設定した資源名とファイルの物理的なパスの対応関係を環境変数に設定しバッチアプリケーションに通知します。これにより、バッチアプリケーションに直接、物理的なパスを記述しないでファイルをアクセスできます。
以下にファイルのアクセス方法について示します。(例でのパス名などは、SolarisおよびLinuxの形式で記載しています。)
バッチジョブ定義で資源名“DAT1”を設定します。資源名“DAT1”は“/data/2006/”に割り当てられているファイル“file1”です。バッチアプリケーションでは、環境変数名“DAT1”に対してgetenvを実行して、取り出した文字列を指定してファイルをアクセスします。取り出した文字列に、該当する物理ファイル名とファイルの割当て場所が取り込まれているため、“/data/2006/”に割り当てられているファイル“file1”をアクセスできます。
ファイルの物理的なパスを変更する場合は、“ファイルパスの論理化機能”を利用することでバッチジョブ定義およびバッチアプリケーションの汎用性が高くなります。
目次
![]() ![]() |