Interstage Job Workload Server バッチ開発ガイド
目次 前ページ次ページ

第2章 ジョブの設計に必要な知識> 2.5 バッチアプリケーション> 2.5.3 C言語アプリケーション

2.5.3.2 C言語アプリケーションのインタフェース

バッチジョブ定義で設定した入力パラメタを、バッチアプリケーション(C言語アプリケーション)に渡すことができます。また、バッチアプリケーションからの復帰コードは、ジョブステップの終了コードになります。これにより、バッチアプリケーションからの復帰コードで、後続ジョブステップを実行するかを制御できます。
バッチジョブ定義とバッチアプリケーションの入力パラメタ、および復帰コードの関係を以下に示します。

バッチアプリケーションには、以下のインタフェースがあります。

詳細を以下で説明します。

■入力パラメタ

入力パラメタについて説明します。

◆入力パラメタの構成

バッチジョブ定義のジョブステップ定義のバッチアプリケーション定義にあるパラメタに設定した値が、バッチアプリケーションの入力パラメタとして渡されます。入力パラメタのデータ型は、IDLファイルに設定します。
IDLファイルは、1バッチアプリケーションにつき、1つ作成します。
バッチジョブ定義に設定したパラメタの値が、バッチアプリケーションのパラメタに渡されるイメージは以下のとおりです。


バッチアプリケーション
IDLファイル

バッチアプリケーション
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

■復帰コード

バッチアプリケーションの復帰コードを決定します。
また、バッチ実行基盤で使用できるユーザアプリケーションの復帰コードは、ジョブのジョブステップ終了コードとジョブ終了コードにもなります。

◆復帰コードのデータ型

バッチ実行基盤で使用できるユーザアプリケーションの復帰コードのデータ型は、以下のとおりです。

C言語データ型

int

 

◆復帰コードの範囲と値

バッチ実行基盤で実行するユーザアプリケーションの復帰コードの範囲は、以下のとおりです。

復帰コードの範囲

-999999999〜999999999

■環境変数

バッチアプリケーションで使用する環境変数です。
バッチアプリケーションが使用できる環境変数には以下があります。


バッチアプリケーション定義の環境変数、およびジョブ定義の環境変数を使用したバッチアプリケーション間の、環境変数によるデータの引継ぎはできません。

■ファイル資源の割当て

ファイル管理機能が、バッチジョブ定義に設定した資源名とファイルの物理的なパスの対応関係を環境変数に設定しバッチアプリケーションに通知します。これにより、バッチアプリケーションに直接、物理的なパスを記述しないでファイルをアクセスできます。

以下にファイルのアクセス方法について示します。(例でのパス名などは、SolarisおよびLinuxの形式で記載しています。)

バッチジョブ定義で資源名“DAT1”を設定します。資源名“DAT1”は“/data/2006/”に割り当てられているファイル“file1”です。バッチアプリケーションでは、環境変数名“DAT1”に対してgetenvを実行して、取り出した文字列を指定してファイルをアクセスします。取り出した文字列に、該当する物理ファイル名とファイルの割当て場所が取り込まれているため、“/data/2006/”に割り当てられているファイル“file1”をアクセスできます。


ファイルの物理的なパスを変更する場合は、“ファイルパスの論理化機能”を利用することでバッチジョブ定義およびバッチアプリケーションの汎用性が高くなります。

目次 前ページ次ページ

Copyright 2009 FUJITSU LIMITED