ファイルのNetCOBOL連携機能について説明します。
ファイルのNetCOBOL連携機能には、以下があります。
ファイルの連結
ダミーファイル
ファイルの追加書き
その他のNetCOBOL連携機能
以降、それぞれについて説明します。
利用できるバッチアプリケーション
ファイルのNetCOBOL連携機能は、バッチアプリケーションの種別がCOBOLアプリケーションの場合に利用できます。
C言語アプリケーション、コマンド/スクリプトの場合は、ファイルのNetCOBOL連携機能は利用できません。
連携するNetCOBOL EEのバージョン・レベルについて
ファイルのNetCOBOL連携機能は、各プラットフォームのNetCOBOL EE V10.0で提供されるファイル機能と連携することを前提に説明しています。NetCOBOL EE V9.1以前では、サポートされているファイル機能が各プラットフォームとバージョン・レベルによって異なるため、ジョブの設計時に、使用可能なNetCOBOLのファイル機能について注意してください。
NetCOBOL EE V9.1以前と連携する場合、NetCOBOL EEの各プラットフォームとバージョン・レベルでサポートされていない機能をバッチアプリケーションが使用すると、バッチアプリケーションのファイルアクセス時にエラーになります。
ファイルのNetCOBOL連携機能は、NetCOBOL EE V10.0で提供されるファイル機能と連携します。
NetCOBOL EEでサポートされているファイル機能は、各プラットフォームのNetCOBOLのマニュアルのリリース情報を参照してください。
1つの資源名に対して、複数の入力ファイルを割当てます。アプリケーションは、複数ファイルのデータを1ファイルの処理として読み込むことができます。
ファイルの連結を使ったバッチ業務の例を以下に示します。
1日単位に作成された1週間分の業務データを1つのファイルへマージする処理を行うことができます。
複数の拠点からファイル転送されてくる売上データなどの業務データを1つのファイルへマージする処理を行うことができます。
世代ファイルを連結して、レコード参照することができます。
例えば、管理する最大世代数を1週間分の世代とし、1週間分の世代ファイルを連結してマージしたのち、最大世代数を超えるとすべての世代を回収する(保存対象外にする)運用ができます。
ファイル連結機能の詳細は、NetCOBOL EEのマニュアルを参照してください。
ファイルの連結の指定方法
ファイルを連結する場合には、1つの資源名に対して複数のファイルを指定します。連結するファイルの資源定義に同じ資源名を指定してください。また、同時に、ファイルを連結する順序を“連結番号”で指定します。
連結番号は、1~9999の範囲で指定します。
ファイルを連結する順序は、連結番号の小さい番号から昇順に行います。このため、連結番号は連続している必要はありません。
ファイルを連結の途中に追加する場合は、挿入する位置の連結番号を修正してください。
ファイルの途中追加があらかじめ見込まれる場合は、該当する連結番号を空けておくことで他の資源定義の連結番号を修正せずに追加できます。
ファイル管理機能では、アプリケーション内で行う、ファイル操作(open、read、write、close)については制御を行いません。COBOLアプリケーション内でのファイル操作に関しては、NetCOBOL EEのマニュアルに従ってください。
バッチジョブ定義作成時には、以下の点に注意が必要です。
同一ファイルを1つの資源に対して連結することはできません。
使用する資源の種別が[ファイル]の資源定義で連結するファイル名が重複する場合はバッチジョブ定義作成時にエラーになります。
使用する資源の種別が[先行ジョブステップの資源]の資源定義でジョブステップにまたがって連結するファイル名が重複する場合はジョブ実行時にエラーになります。
ファイルの追加書きと同時に指定できません。バッチジョブ定義作成時にエラーになります。
ファイルの連結とダミーファイル指定の関係
連結を指定したファイルのいずれかに、ダミーファイルを指定した場合、連結するファイルすべてがダミーファイルになります。
ダミーファイルを指定した資源定義の情報は無効となり、元の資源定義の情報はバッチジョブ定義ファイルに保存されません。
ダミーファイルについては“2.4.4.2 ダミーファイル”を参照してください。
ファイルをジョブステップ間で引き継ぐ場合(後続ジョブステップから先行ジョブステップの資源を参照する)
ファイルをジョブステップ間で引き継ぐ場合、後続のジョブステップでは、先行のジョブステップの資源の連結の指定は引き継がれません。
引き継ぐファイルの指定方法によって、後続ジョブステップで参照できるファイルが異なります。後続ジョブステップでの先行のジョブステップのファイルの指定方法と参照できるファイルを、以下に示します。
バッチジョブ定義の[先行ステップの資源名]を指定する方法
後続のジョブステップから先行ジョブステップの資源名を指定して参照する場合に、先行ジョブステップの資源が連結されている場合は、後続ジョブステップでは連結の先頭に定義されたファイルを参照します。
先行ジョブステップの資源が連結ファイルでかつダミーファイルの場合は、後続ジョブステップで参照できる連結の先頭のファイルがダミーファイルで定義されている場合のみ、後続のジョブステップでは、ダミーファイルの指定が引き継がれます。
バッチジョブ定義の[ファイル名]を指定する方法
後続のジョブステップから直接ファイル名を指定して参照する場合は、ファイル連結の有無に関わらず指定したファイルのみを参照します。
ジョブステップ間でファイルの連結を引き継ぐ場合は、後続のジョブステップにおいて、資源定義で連結するファイルを再定義してください。
実体が存在しない架空のファイルを“ダミーファイル”と呼びます。
ダミーファイルに対してファイルの割当てを行うことができます。
アプリケーションからダミーファイルへのファイルアクセスに対しては、実際のファイル操作を行いません。また、ダミーファイルは、ファイルの排他制御を行いません。
ダミーファイルを使ったバッチ業務の例を以下に示します。
トラブル発生時にデバッグ情報ファイルを出力することができます。
通常の運用時はログファイルをダミーファイル指定にしてデバッグログ出力を抑止しておき、トラブル発生時にダミーファイルでない資源定義に置き換えることで、デバッグ情報を採取することができます
ジョブの再実行時に、不要な出力ファイルの作成を抑止することができます。
テスト時に入力ファイルとして使用することができます。
アプリケーション開発時のテスト工程において、実際の入力ファイルが用意できない場合に、入力ファイルの代わりにダミーファイルを使用することができます
ダミーファイルは、NetCOBOL EE V9.0では使用できません。指定した場合、バッチアプリケーションの実行時にファイルのオープンエラーになります。
COBOLアプリケーションからダミーファイルを使用する場合、ダミーファイルの機能範囲はNetCOBOLの仕様に従います。
既存の資源定義にダミーファイルの指定を行った場合、既存の入力情報は上書きされ、元の資源定義の情報はバッチジョブ定義ファイルに保存されません。既存の定義を変更する場合は、事前に定義ファイルを退避することを推奨します。
ダミーファイルを指定した場合、ファイルのNetCOBOL連携機能のうち同時に指定できない機能があります。詳細は、各機能での注意を参照してください。
バッチジョブ定義エディタでダミーファイルを指定した場合、資源名とファイル連結の指定以外はグレーアウトされ指定できません。
ダミーファイル機能の詳細は、NetCOBOL EEのマニュアルを参照してください。
後続ジョブステップから先行ジョブステップの資源を参照する場合
後続のジョブステップから先行ジョブステップの資源を参照する場合に、先行参照先のファイルがダミーファイルの場合は、後続ジョブステップで使用する先行参照ファイルもダミーファイルとして扱います。
既存のファイルにデータを追加することができます。ファイルが存在すれば、既存ファイルにデータを追加します。ファイルが存在しなければ、新規にファイルを作成します。
ファイルの追加書きを使ったバッチ業務の例を以下に示します。
ジョブ間およびジョブステップ間で同一ファイルへデータ追加を行うことができます。
ファイル管理機能では、アプリケーション内で行う、ファイル操作(open、read、write、close)については制御を行いません。使用できるファイルの範囲およびCOBOLアプリケーション内でのファイル操作は、NetCOBOL EEのマニュアルに従ってください。
ファイルの連結と同時に指定できません。バッチジョブ定義作成時にエラーになります。
ダミーファイルと同時に指定できません。バッチジョブ定義作成時にダミーファイルを指定すると、資源名とファイル連結の指定以外はグレーアウトされ指定できません。
ファイル追加書き機能の詳細は、NetCOBOL EEのマニュアルを参照してください。
後続ジョブステップから先行ジョブステップの資源を参照する場合
後続のジョブステップから先行ジョブステップの資源を参照する場合に、先行ジョブステップの資源の追加書きの指定は、後続ジョブステップでは引き継ぎません。
ファイルの追加書きをしたい場合は、ジョブステップの資源定義単位に指定してください。
その他のNetCOBOL連携機能として、以下について説明します。
ファイルの高速処理
DISPLAY文・ACCEPT文によるファイル入出力拡張機能機能
大容量ファイル
ファイルの高速処理
COBOLアプリケーションでレコード順ファイルおよび行順ファイルを使用する場合、アクセス性能を高速化する指定ができます。
ファイルの高速処理を使ったバッチ業務の例を以下に示します。
複数のジョブで既存ファイルを共用して参照する場合、処理を高速化できます。
COBOLアプリケーションからファイル高速処理・大容量ファイルを指定したファイルを使用する場合、機能範囲はNetCOBOLの仕様に従います。
ダミーファイルと同時に指定できません。バッチジョブ定義作成時にダミーファイルを指定すると、資源名とファイル連結の指定以外はグレーアウトされ指定できません。
ファイルの高速処理機能の詳細および注意事項は、NetCOBOL EEのマニュアルを参照してください。
後続ジョブステップから先行ジョブステップの資源を参照する場合
後続のジョブステップから先行ジョブステップの資源を参照する場合に、先行ジョブステップの資源で指定したファイルの高速処理の指定は、後続ジョブステップでは引き継ぎません。
ファイルの高速処理を指定したい場合は、ジョブステップの資源定義単位に指定してください。
DISPLAY文・ACCEPT文によるファイル入出力拡張機能
NetCOBOLの小入出力機能を使用する場合に、DISPLAY文によるファイル出力の拡張機能およびACCEPT文によるファイル入力の拡張機能を指定することができます。
NetCOBOLの小入出力機能を使用する場合、およびバッチ実行基盤でサポートするDISPLAY文によるファイル出力の拡張機能およびACCEPT文によるファイル入力の拡張機能の使用方法については、“Interstage Job Workload Serverセットアップガイド”の“NetCOBOLの小入出力機能でファイルを使用する場合”を参照してください。
DISPLAY文によるファイル出力の拡張機能には以下があります。
ファイルの追加書き
DISPLAY文でファイル出力を行う場合に、プロセス間でDISPLAY文によるファイル追加書きを行うことができます。
ダミーファイル
DISPLAY文でファイル出力を行う場合に、ダミーファイル機能を使用する指定をすることができます。
ファイルの最大サイズ制限解除
COBOLアプリケーションがDISPLAY文でファイル出力を行う場合に、ファイルの最大サイズである1Gバイトの制限を解除する指定をすることができます。
ACCEPT文によるファイル入力の拡張機能には以下があります。
ダミーファイル
ACCEPT文でファイル入力を行う場合に、ダミーファイル機能を使用する指定ができます。
大容量ファイル
COBOLアプリケーションが大容量ファイルを使用する指定ができます。
大容量ファイルの指定
COBOLアプリケーションが大容量ファイルを使用する指定ができます。
大容量ファイルを使用する場合は、資源定義にあわせてバッチアプリケーション定義の環境変数定義に以下の環境変数を指定します。
環境変数名 | 設定値 |
---|---|
BTFW_CBL_LFS_資源名 | なし |
環境変数名中の“資源名”は、資源定義に指定した資源名を指定します。
「BTFW_CBL_LFS_資源名」と「BTFW_CBL_NOLIMIT_資源名」を同時に指定した場合は、「BTFW_CBL_LFS_資源名」の指定が有効になります。「BTFW_CBL_NOLIMIT_資源名」の指定は無視します。
「BTFW_CBL_LFS_資源名」の指定は、Solarisでのみ有効になります。Solaris以外のプラットフォームで本環境変数が指定された場合は、無視して動作します。
ダミーファイルを指定した場合、本環境変数の指定は無視します。