File Manager バッチ・ジョブの JCL 構文

バッチ・ジョブで File Manager 機能を使用するには、次のステートメントを使用します。//stepname EXEC PGM=FILEMGR

デフォルトでは、レポート出力はSYSPRINTに書き込まれます。出力の一部は、以下のddnamesに代わりに指示することができます。

FMNROPT
File Manager アクティブなオプション
FMNRPRM
$$FILEM コマンド・パラメーターおよび戻りコード
FMNRPRC
SYSIN から読み取られた REXX プロシージャー・ステートメント
FMNREPT
コマンド・レポートおよび戻りコード
FMNRSUM
TALLY サマリーレポート

JCL に FMNPRINT が存在する場合には、SYSPRINT の代わりに使用されます。JCL に FMNIN が存在する場合には、SYSIN の代わりに使用されます。

さらに、そのバッチ・ジョブに含まれる File Manager 機能によっては、STEPLIB ステートメントまたは他の DD ステートメントが必要になる場合もあります。

File Manager 制御ステートメントをコーディングするときには、以下のことを行う必要があります。
  • それぞれの制御ステートメントを 1-7 桁目の $$FILEM で開始し、その後の 8 桁目にブランクを続け、さらにコマンド名とその後に最初のパラメーター (もしあれば) を続けます。
  • パラメーターとその値を、等号で分離して、指定します。次のようになります。
    PARAMETER=value
  • 各パラメーター (最後のパラメーターを除いて) の直後にコンマを置きます。

アスタリスク (*) で始まるコメント・ステートメントも使用することができます。

制御ステートメントを次の行に続ける場合、最初の行はコンマで終わり、次の行は $$FILEM およびブランクで始めます。

1 行に収まらないパラメーターを続ける場合、継続文字は使用しないでください。代わりに、パラメーターを複数の行に分割し、各部分をアポストロフィで囲みます。例:
$$FILEM DSNIN='u/test/this is a regular HFS file ',
$$FILEM 'that has a v',
$$FILEM 'ery long name'
注釈:
  1. 制御ステートメントに関数名のみが含まれる場合、関数名とコンマの間にスペースを入れる必要があります。
  2. FCH (検索/変更) ユーティリティーで FIND および CHANGE コマンドを続けるには、最初の行はコンマで終わります (継続行に $$FILEM は入りません)。
  3. バッチで処理オプションを変更する場合、またはオプションをインストール・デフォルトにリセットする場合、SET 機能を使用します。

HEX 形式では、以下の例は、DSP File Manager 機能を使用して 20 件のデータ・セットのレコード (キー値 0001000 を持つレコードから始まる) を印刷するバッチ・ジョブを示しています。
//jobcard
//ABC EXEC PGM=FILEMGR
//SYSPRINT DD SYSOUT=*
//SYSIN  DD *
$$FILEM DSP DSNIN='FMNUSER.TEST.KSDS1',
$$FILEM FORMAT=HEX,KEY=000100,NLRECS=20
/*