スレッドモードでファイルの小入出力機能を使用する場合、ジョブの開発において以下に留意してください。
ジョブの外部仕様の設計
スレッドモードの場合、“Interstage Job Workload Server バッチ開発ガイド”の“ジョブの外部仕様の設計”で設計したジョブの外部仕様の設計に加えて以下の点を設計します。
入力データ
入力データの種類に応じて、入力方法を決めます。
ファイル操作処理(OPEN文)によるファイル入力
ACCEPT文による小入出力によるファイル入力
ACCEPT文による小入出力は、ジョブ全体で統一してください。また、ACCEPT文でファイルから入力を行う場合は、入力先のファイルはジョブ実行環境で1つのみです。
出力データ
出力データの種類に応じて、出力方法を決めます。
ファイル操作処理(OPEN文)によるファイル出力
DISPLAY文による小入出力、および出力データの出力先(標準出力またはファイル)
DISPLAY文による出力先は、ジョブ全体でどちらかに統一してください。また、DISPLAY文でファイルに出力を行う場合は、出力先のファイルはジョブ実行環境で1つのみです。
バッチアプリケーションを配備するバッチワークユニット
小入出力機能でファイルを使用するCOBOLアプリケーションは、ファイルを使った小入出力を行うジョブの実行環境のバッチワークユニットに配備してください。
ジョブの構成設計
ジョブを構成するバッチアプリケーションの構成(ジョブステップの構成)
ジョブを複数のジョブステップで構成する場合、先頭のCOBOLアプリケーションには必ずファイルの小入出力機能を使用する場合の翻訳オプションを指定してください。
また、ジョブを複数のジョブステップで構成する場合、ジョブ内のCOBOLアプリケーションは、DISPLAY文を使った小入出力機能で標準出力とファイルのどちらを使用するかを統一してください(バッチ実行基盤のジョブからACCEPT文を使用する場合は、入力先に標準入力は使用できません)。
NetCOBOLの翻訳オプションの詳細は、NetCOBOLのマニュアル“使用手引書”を参照してください。
COBOLアプリケーションのコンパイル/リンク
COBOLアプリケーションは、ファイルの小入出力機能を使用する場合の翻訳オプションを指定して作成します。
小入出力機能のデータの入力先をファイルにする場合には、翻訳オプションSSINを指定します。
データの出力先をファイルにする場合には、翻訳オプションSSOUTを指定します。
このほかに、スレッドモードで動作するCOBOLアプリケーションは、翻訳オプションTHREAD(MULTI)を指定する必要があります。
NetCOBOLの翻訳オプションSSIN、SSOUTに指定する「環境変数情報名」には、小入出力機能で使用するファイルの資源名を指定します。
小入出力機能を使ってファイル処理を行うプログラムの記述方法および注意事項の詳細については、NetCOBOLのマニュアル“使用手引書”を参照してください。
バッチジョブ定義の作成
バッチ実行基盤のジョブから、DISPLAY文およびACCEPT文によるファイルの小入出力機能を使用する場合の手順を説明します。
資源定義の資源名に翻訳オプションSSINまたはSSOUTで指定した入出力先の「環境変数情報名」を指定します。ファイル名には、入出力先に指定するファイル名を指定します。
[資源の後処理]に、[削除]は指定しないでください。指定した場合、ジョブの実行時にBTFW61204のメッセージが出力され、ファイルの削除に失敗します。
1つのジョブ内で複数のジョブステップを実行する場合、ジョブ内のバッチアプリケーションで、DISPLAY文およびACCEPT文を使った小入出力機能で標準出力とファイルのどちらを使用するかを統一してください。統一されていない場合、バッチワークユニットのプロセスで最初に実行されたCOBOLアプリケーションの翻訳時の指定に依存し、2回目以降のCOBOLアプリケーションの指定は無効になります。
DISPLAY文・ACCEPT文によるファイル入出力拡張機能を使用する場合
バッチ実行基盤のジョブから、ファイルの小入出力機能を使用する際に、DISPLAY文によるファイル出力の拡張機能およびACCEPT文によるファイル入力の拡張機能を指定する場合の手順を説明します。
本機能は、必要に応じて指定してください。
資源定義の資源名に翻訳オプションSSINまたはSSOUTで指定した入出力先の「環境変数情報名」を指定します。ファイル名には、入出力先に指定するファイル名を指定します。
[資源の後処理]に、[削除]は指定しないでください。指定した場合、ジョブの実行時にBTFW61204のメッセージが出力され、ファイルの削除に失敗します。
[資源の作成・使用方法]には、以下を指定してください。
DISPLAY文で出力するファイルは、[新規にファイルを作成する]または[既存のファイルを更新する]を指定します。
ACCEPT文で入力するファイルは、[既存のファイルを参照する]を指定します。
資源定義に、使用するファイル入出力拡張機能を指定します。
ファイルの追加書き(DISPLAY文によるファイル出力の拡張機能)
[NetCOBOL固有のファイル機能]の[ファイルの追加書きを行う]を指定します。
ダミーファイル(DISPLAY文またはACCEPT文によるファイル出力の拡張機能)
[ダミーファイルを使用する]を指定します。
ダミーファイルを使用する場合、資源名以外の指定は不要です。
ファイルの最大サイズ制限解除(DISPLAY文によるファイル出力の拡張機能)
資源定義設定ダイアログでの設定はありません。
バッチアプリケーション定義の環境変数定義に以下の環境変数を指定します。
環境変数名 | 設定値 |
---|---|
BTFW_CBL_SCREEN_資源名 | なし |
環境変数名中の“資源名”は、資源定義に指定した資源名を指定します。
本環境変数の指定が無い場合、以下のとおりに動作しますので注意してください。
資源定義で追加書きを指定した場合、ファイル管理機能は、OPEN OUTPUT文の実行による既存のファイルへの追加書きの指定とみなして動作します。この場合、アプリケーション実行時にDISPLAY文でエラーになります。
DISPLAY文でファイルの最大サイズ制限解除を指定する場合は、バッチアプリケーション定義の環境変数定義に以下の環境変数を指定します。
環境変数名 | 設定値 |
---|---|
BTFW_CBL_NOLIMIT_資源名 | なし |
環境変数名中の“資源名”は、資源定義に指定した資源名を指定します。
「BTFW_CBL_LFS_資源名」と「BTFW_CBL_NOLIMIT_資源名」を同時に指定した場合は、「BTFW_CBL_NOLIMIT_資源名」の指定を無視します。
「BTFW_CBL_NOLIMIT_資源名」の指定は、Solarisでのみ有効になります。Solaris以外のプラットフォームで本環境変数が指定された場合は、無視して動作します。
バッチ実行基盤でサポートするDISPLAY文によるファイル出力の拡張機能およびACCEPT文によるファイル入力の拡張機能については、“Interstage Job Workload Server バッチ開発ガイド”の“DISPLAY文・ACCEPT文によるファイル入出力拡張機能”を参照してください。