JES JCL文

本章では、JES JCL文と各オペランドについて説明します。

1. 概要

以下は、JES JCL文の一覧です。

JES JCL文 説明

JESコマンド文

JESコマンドを記述します。

JOBPARM文

ジョブの制御情報を記述します。

MESSAGE文

OpenFrameでは構文エラーのみをチェックします。

NETACCT文

OpenFrameでは構文エラーのみをチェックします。

NOTIFY文

ジョブの終了を通知するユーザーを指定します。

OUTPUT文

出力処理のためのSYSOUTデータセットの属性を指定します。

PRIORITY文

ジョブの優先順位を指定します。

ROUTE文

OSYSOUTデータセットの出力先を指定するか、ジョブが実行されるネットワーク・ノードを識別します。現在OpenFrameでは、PRINT文のみをサポートしています。

SETUP文

OpenFrameでは構文エラーのみをチェックします。

XEQ文

OpenFrameでは構文エラーのみをチェックします。

2. JESコマンド文

JESコマンドを記述します。JESコマンド文は、最初のJOB文が出現する前に記述します。

その他の位置に記述されたJESコマンド文は使用されません。JESコマンド文で実行されたコマンドの成功の可否は、JESコマンド文の後ろに記述されたジョブのサブミットや実行には影響を及ぼしません。

JOB文を記述せずに、JESコマンド文のみを記述することもできます。JESコマンド文のみのJCLを実行する場合、OpenFrame Batchでは一時的にJOBNAME(TJESSUBM)を割り当ててJESコマンドを実行した後、ジョブはDONEで終了します。

JESコマンドの実行結果は、OpenFrame環境設定のofsysサブジェクトのDIRECTORYセクションのLOG_DIRキーに設定されたディレクトリのjobサブディレクトリに「submit_YYYYMMSS.log」の形式で記録されます。

  1. ログファイルには実行結果のみ記録されます。JESコマンドの実行による追加メッセージは各サブシステムのログを確認してください。

  2. JCL構文エラーが発生した場合は、obmjmsvrサーバーのログとtjesmgrのログに出力されます。

以下は、JESコマンド文の説明です。

  • 構文

    /*\コマンド△°オペランド
    項目 説明

    コマンド

    「/*\」または「/*$」に続く4桁目にコマンドを記述します。サポートされるコマンドについては、コマンドを参照してください。

    オペランド

    コマンドの後ろに0つ以上の空白またはコンマ(,)を入れてオペランドを記述します。使用可能なオペランドはコマンドによって異なります。

コマンド

以下は、前述したコマンド項目に指定可能なコマンドの説明です。

  • VS

    指定したシステム・コマンドを実行します。

    /*$VS[ ],'system command'

    以下は、システム・コマンドの説明です。

    コマンド 説明

    S (START)

    指定したプロシージャをサブミットします。

    F (MODIFY)

    与えられた処理プログラムまたはコマンドを実行します 。

OpenFrameでは上記以外のコマンドはサポートしていません。

2.1. S(START)

指定したプロシージャをサブミットします。S(START)コマンドを使用してサブミットを実行すると、該当するプロシージャを呼び出すステップを持つジョブがサブミットされます。また、JOBQにサブミットされたジョブが登録されます。そのとき、プロシージャはカタログ・プロシージャである必要があります。

  • 構文

    S プロシージャ名,記号パラメータ=値[,記号パラメータ=値]...
    項目 説明

    プロシージャ名

    サブミットするプロシージャ名を指定します。

    記号パラメータ

    PROC文の記号パラメータを参照します。

  • 以下は、JESコマンド文でTMAXPROCプロシージャを実行するSコマンドを実行するVSコマンドを実行する例です。

    /*$VS,'S TMAXPROC'

2.2. F(MODIFY)

与えられた処理プログラムまたはコマンドを実行します。

  • 構文

    F(MODIFY) プログラム(コマンド)名,プログラム(コマンド) パラメータ[,プログラム(コマンド) パラメータ]...
    項目 説明

    プログラム(コマンド)名

    処理プログラム名またはコマンド名を指定します。

    プログラム(コマンド) パラメータ

    指定したプログラムまたはコマンドで使用されるパラメータを指定します。

  • 以下は、JESコマンド文でAIM操作コマンドを実行するシステム・コマンドFを実行するVSコマンドを実行する例です。

    /*$VS,'F AIM,D,WS,MODE=ALL'

3. JOBPARM文

ジョブの制御情報を記述します。JOBPARM文はJOB文の後ろに記述します。オペランドが重複する場合は、最初に記述された値が使用されます。

  • 構文

    /*JOBPARM△¹キーワードオペランド[,キーワードオペランド]...△¹
    項目 説明

    JOBPARM

    オペレーションを記述する位置であり、「/*」に続く3桁目に「JOBPARM」と記述します。

    キーワードオペランド[,キーワードオペランド]

    オペレーションの後ろに1つ以上の空白を入れてキーワード・オペランドを記述します。オペランドの順序は関係ありません。詳細については、オペランドと各オペランドの節を参照してください。

オペランド

以下は、オペランドについての説明です。

  • キーワード・オペランド

    項目 説明

    BURST/B

    OpenFrameでは構文エラーのみをチェックします。

    BYTES/M

    OpenFrameでは構文エラーのみをチェックします。

    CARDS/C

    OpenFrameでは構文エラーのみをチェックします。

    COPIES/N

    OpenFrameでは構文エラーのみをチェックします。

    FORMS/F

    OpenFrameでは構文エラーのみをチェックします。

    LINECT/K

    OpenFrameでは構文エラーのみをチェックします。

    LINES/L

    OpenFrameでは構文エラーのみをチェックします。

    NOLOG/J

    OpenFrameでは構文エラーのみをチェックします。

    PAGES/G

    OpenFrameでは構文エラーのみをチェックします。

    PROCLIB/P

    ステップで実行するプロシージャを検索するために使用されます。

    RESTART/E

    OpenFrameでは構文エラーのみをチェックします。

    ROOM/R

    OpenFrameでは構文エラーのみをチェックします。

    SYSAFF/S

    OpenFrameでは構文エラーのみをチェックします。

    TIME/T

    OpenFrameでは構文エラーのみをチェックします。

3.1. BURST/B

OpenFrameでは構文エラーのみをチェックします。

  • 構文

    BURST | B = {YES | Y | NO | N}

3.2. BYTES/M

OpenFrameでは構文エラーのみをチェックします。

  • 構文

    BYTES | M = 値

3.3. CARDS/C

OpenFrameでは構文エラーのみをチェックします。

  • 構文

    CARDS | C = 値

3.4. COPIES/N

OpenFrameでは構文エラーのみをチェックします。

  • 構文

    COPIES | N = 値

3.5. FORMS/F

OpenFrameでは構文エラーのみをチェックします。

  • 構文

    FORMS | F = 値

3.6. LINECT/K

OpenFrameでは構文エラーのみをチェックします。

  • 構文

LINECT | K= 値

3.7. LINES/L

OpenFrameでは構文エラーのみをチェックします。

  • 構文

    LINES | L = 値

3.8. NOLOG/J

OpenFrameでは構文エラーのみをチェックします。

  • 構文

    NOLOG | J

3.9. PAGES/G

OpenFrameでは構文エラーのみをチェックします。

  • 構文

    PAGES | G = 値

3.10. PROCLIB/P

ステップで実行するプロシージャを検索するために使用されます。PROCLIBを指定すると、システムはステップで実行するプロシージャをPROCLIBから検索します。

OpenFrame環境設定のtjesサブジェクトのPROCLIBセクションの{ddname}キーに指定されたカタログ式プロシージャのライブラリDD名でデータセット・リストを取得します。取得したデータセット・リストのメンバーの中からプロシージャを優先的に検索します。

ステップで実行するプロシージャの検索順は以下のとおりです。4項まで検索しても対象が見つからない場合はフラッシュが発生します。

  1. ストリーム内プロシージャの中から検索します。

  2. JES JCL文のJOBPARM文にPROCLIB={ddname}オペランドが指定されている場合は、OpenFrame環境設定のtjesサブジェクトのPROCLIBセクションの{ddname}キーに設定されたデータセットのメンバーの中から検索します。

  3. OpenFrame環境設定のtjesサブジェクトのPROCLIBセクションのPROC00キーに設定されたデータセットのメンバーの中から検索します。

  4. SYS1.PROCLIBのメンバーの中から検索します。

環境設定項目の詳細については、OpenFrame Batch『環境設定ガイド』のtjesサブジェクトを参照してください。

以下は、PROCLIBオペランドについての説明です。

  • 構文

    PROCLIB | P = {ddname}
    項目 説明

    {ddname}

    カタログ式プロシージャを検索するときに参照するライブラリ・リストが設定されたDD名を指定します

  • 注意事項

    OpenFrame環境設定のtjesサブジェクトのPROCLIBセクションの{ddname}キーの値にカタログ式プロシージャのライブラリDD名がない場合、当該オペランドは使われません。

  • 以下は、JOBPARM文でPROCLIBを使用する例です。PROCLIBをPROC00に指定したため、STEP1のPROC01は、OpenFrame環境設定のtjesサブジェクトのPROCLIBセクションのPROC00キーに指定されたデータセットのメンバーの中から検索します。

    //JOB1    JOB
    /*JOBPARM PROCLIB=PROC00
    //STEP1   EXEC PROC01
    //SYSOUT  DD   SYSOUT=*

3.11. RESTART/E

OpenFrameでは構文エラーのみをチェックします。

  • 構文

    RESTART | E = 値

3.12. ROOM/R

OpenFrameでは構文エラーのみをチェックします。

  • 構文

    ROOM | R = 値

3.13. SYSAFF/S

OpenFrameでは構文エラーのみをチェックします。

  • 構文

    SYSAFF | S = 値

3.14. TIME/T

OpenFrameでは構文エラーのみをチェックします。

  • 構文

    TIME | T = 値

4. MESSAGE文

OpenFrameでは構文解析のみサポートします。

  • 構文

    /*MESSAGE△¹オペランド

5. NETACCT文

OpenFrameでは構文解析のみサポートします。

  • 構文

    /*NETACCT△¹オペランド

6. NOTIFY文

ジョブが終了してメッセージを残しておくと、NOTIFYに指定されたユーザーがtjesmgrでコマンドを使用してそのメッセージを確認することができます。

  • 構文

    /*NOTIFY△¹{userid}
    項目 説明

    NOTIFY

    オペレーションを記述する位置であり、「/*」に続く3桁目に「NOTIFY」と記述します。

    userid

    8文字以内の記号名称を指定します。

  • 注意事項

    JOB文のNOTIFYオペランドとJES JCL文のNOTIFY文が両方とも記述されている場合は、JOB文のNOTIFYオペランドの値は無視され、JES JCL文のNOTIFY文の値が使用されます。

  • 以下は、ユーザーUSER1にメッセージを残すように設定する例です。

    /*NOTIFY USER1

7. OUTPUT文

出力処理のためのSYSOUTデータセットの属性を指定します。

  • 構文

    /*OUTPUT△¹キーワードオペランド[,キーワードオペランド]...△¹
    項目 説明

    名前

    オペレーションを記述する位置であり、「/*」に続く3桁目に「OUTPUT」と記述します。OUTPUT文の名前は省略できず、DD文でOUTPUTオペランドにより該当するOUTPUT文を参照するときに使われます。

    OUTPUT

    オペレーションを記述する位置であり、名前の後ろに1つ以上の空白を入れて「OUTPUT」と記述します。

    キーワードオペランド[,キーワードオペランド]

    「OUTPUT」の後ろに1つ以上の空白を入れてキーワード・オペランドを記述します。キーワード・オペランドの順序は関係ありません。詳しい内容については、オペランドと各オペランド節を参照してください。

オペランド

以下は、オペランドについての説明です。各オペランドについての詳しい内容は、該当する節を参照してください。

  • キーワード・オペランド

    項目 説明

    BURST

    OpenFrameでは構文エラーのみをチェックします。

    CHARS

    データセットを出力する際、出力文字とサイズについての設定テーブルを指定します。

    CKPTLNS

    OpenFrameでは構文エラーのみをチェックします。

    CKPTPGS

    OpenFrameでは構文エラーのみをチェックします。

    COMPACT

    OpenFrameでは構文エラーのみをチェックします。

    COPIES

    SYSOUTデータセットのコピー 回数を指定します。

    COPYG

    OpenFrameでは構文エラーのみをチェックします。

    DEST

    SYSOUTデータセットの出力先を指定します。

    FCB

    FCB名を指定します。

    FLASH

    OpenFrameでは構文エラーのみをチェックします。

    FLASHC

    OpenFrameでは構文エラーのみをチェックします。

    FORMS

    SYSOUTデータセットの書式番号を指定します。

    LINDEX

    OpenFrameでは構文エラーのみをチェックします。

    LINECT

    OpenFrameでは構文エラーのみをチェックします。

    MODIFY

    OpenFrameでは構文エラーのみをチェックします。

    MODTRC

    OpenFrameでは構文エラーのみをチェックします。

    UCS

    OpenFrameでは構文エラーのみをチェックします。

7.1. BURST

OpenFrameでは構文エラーのみをチェックします。

  • 構文

    BURST = {YES | Y | NO | N}

7.2. CHARS

データセットを出力する際、出力文字とサイズについての設定テーブルを指定します。

  • 構文

    CHARS = (テーブル名[,テーブル名]...)
    項目 説明

    テーブル名

    データセットを出力する際、出力文字とサイズについての設定テーブルを1~4文字の英数字で指定します。最大4つまで指定できます。

  • 注意事項

    OpenFrameでは、印刷出力のためのCHARS情報を外部プリンター・モジュールに渡すために、ジョブの実行完了後に保存しています。同情報の使用有無は、外部プリンター・モジュールの必要に応じて異なります。

  • 以下は、データ出力文字とサイズの設定テーブルとして、TBL1とTBL2を指定する例です。

    /*OUTPUT   OUT1 CHARS=(TBL1,TBL2)
    //OUT      DD SYSOUT=(A,,OUT1)

7.3. CKPTLNS

OpenFrameでは構文エラーのみをチェックします。

  • 構文

    CKPTLNS = 値
    項目 説明

    0~32767の符号なし整数で指定します。

7.4. CKPTPGS

OpenFrameでは構文エラーのみをチェックします。

  • 構文

    CKPTPGS = 値
    項目 説明

    1~32767の符号なし整数で指定します。

7.5. COMPACT

OpenFrameでは構文エラーのみをチェックします。

  • 構文

    COMPACT = 値
    項目 説明

    8文字以内の記号名称を指定します。

7.6. COPIES

SYSOUTデータセットのコピー回数を指定します。

  • 構文

    COPIES= ([コピー回数][,グループコピー回数...])
    項目 説明

    コピー回数

    SYSOUTデータセットのコピー回数を1~255の符号なし整数で指定します。(デフォルト値: 1)

    グループコピー回数

    SYSOUTデータセットのページ単位のグループ・コピー回数を1~255の符号なし整数で指定します。最大8つまで指定できます。

  • 注意事項

    OpenFrameでは、印刷出力のためのCOPIES情報を外部プリンター・モジュールに渡すために、ジョブの実行完了後に保存しています。同情報の使用有無は、外部プリンター・モジュールの必要に応じて異なります。

  • 以下は、SYSOUTデータセットのコピー回数を10に指定する例です。

    /*OUTPUT   OUT1 COPIES=10
    //OUT      DD SYSOUT=(J,,OUT1)

7.7. COPYG

OpenFrameでは構文エラーのみをチェックします。

  • 構文

    COPYG = 値
    項目 説明

    1~255の符号なし整数を指定します。

7.8. DEST

SYSOUTデータセットの出力先を指定します。

  • 構文

    DEST = 出力先
    項目 説明

    出力先

    SYSOUTデータセットの出力先を指定します。

  • 注意事項

    OpenFrameでは、印刷出力のためのDEST情報を外部プリンター・モジュールに渡すために、ジョブの実行完了後に保存しています。同情報の使用有無は、外部プリンター・モジュールの必要に応じて異なります。

  • 以下は、SYSOUTデータセットの出力先をBCCOMPに指定する例です。

    /*OUTPUT   OUT1 DEST=BCCOMP
    //OUT      DD SYSOUT=(J,,OUT1)

7.9. FCB

FCB名を指定します。

  • 構文

    FCB = FCB名
    項目 説明

    FCB名

    FCB名を1~4文字の記号名称で指定します。

  • 注意事項

    OpenFrameでは、印刷出力のためのFCB情報を外部プリンター・モジュールに渡すために、ジョブの実行完了後に保存しています。同情報の使用有無は、外部プリンター・モジュールの必要に応じて異なります。

  • 以下は、FCB名をAA33に指定する例です。

    /*OUTPUT   OUT1 FCB=AA33
    //OUT      DD SYSOUT=(J,,OUT1)

7.10. FLASH

用紙に一定の書式と範囲をあらかじめ印刷する場合に使用するフィルム・オーバーレイの識別名を指定します。OpenFrameでは構文エラーのみをチェックします。

  • 構文

    FLASH = フィルム名[,適用枚数]

7.11. FLASHC

OpenFrameでは構文エラーのみをチェックします。

  • 構文

    FLASHC = 値
    項目 説明

    0~255の符号なし整数を指定します。

7.12. FORMS

SYSOUTデータセットの書式番号を指定します。

  • 構文

    FORMS = 書式番号
    項目 説明

    書式番号

    SYSOUTデータセットの書式番号を1~4文字の英数字で指定します。

  • 注意事項

    OpenFrameでは、印刷出力のためのFORMS情報を外部プリンター・モジュールに渡すために、ジョブの実行完了後に保存しています。同情報の使用有無は、外部プリンター・モジュールの必要に応じて異なります。

  • 以下は、SYSOUTデータセットの書式番号を5に指定する例です。

    /*OUTPUT   OUT1 FLASH=FLM1,FORMS=5
    //OUT      DD SYSOUT=(A,,OUT1)

7.13. INDEX

OpenFrameでは構文エラーのみをチェックします。

  • 構文

    INDEX = 値
    項目 説明

    1~31の符号なし整数を指定します。

7.14. LINDEX

OpenFrameでは構文エラーのみをチェックします。

  • 構文

    LINDEX = 値
    項目 説明

    1~31の符号なし整数を指定します。

7.15. LINECT

OpenFrameでは構文エラーのみをチェックします。

  • 構文

    LINECT = 値
    項目 説明

    1~255の符号なし整数を指定します。

7.16. MODIFY

SYSOUTデータセットのコピー修飾モジュール名とCHARSオペランドで指定するテーブルの中から、使用するテーブル順に対応する番号を指定します。OpenFrameでは構文エラーのみをチェックします。

  • 構文

    MODIFY = ([モジュール名][,テーブル番号])
    項目 説明

    モジュール名

    SYSOUTデータセットのコピー修飾モジュール名を1~4文字の英数字で指定します。

    テーブル番号

    SYSOUTデータセットのCHARSオペランドで指定するテーブルの中から、使用するテーブルの順序に対応する番号を指定します。

7.17. MODTRC

OpenFrameでは構文エラーのみをチェックします。

  • 構文

    MODTRC = テーブル参照名
    項目 説明

    メンバー

    0~3の符号なし整数を指定します。(CHARSで指定したテーブルの参照番号)

7.18. UCS

OpenFrameでは構文エラーのみをチェックします。

  • 構文

    UCS = 値
    項目 説明

    4文字以内の記号名称を指定します。

8. PRIORITY文

ジョブの優先順位を指定します。PRIORITY文はJOB文の前に記述します。

  • 構文

    /*PRIORITY△¹優先順位
    項目 説明

    PRIORITY

    オペレーションを記述する位置であり、「/*」に続く3桁目に「PRIORITY」と記述します。

    優先順位

    オペレーションの後ろに1つ以上の空白を入れて1~15の数字を指定します。

    優先順位の詳細については、優先順位を参照してください。

優先順位

ジョブの優先順位はジョブ・クラスと一緒にスケジューリングに使用され、数字が高いほど優先順位が高くなります。 スケジューラでは、同じクラスを有するジョブがある場合、 このオペランドの値に応じてどのジョブを先に実行するかを決定します。

同じ優先順位の場合は、先にサブミットされたジョブが実行されます。 ジョブの優先順位はエージング・ポリシーに従って時間が経つにつれ高くなります。 優先順位は、tjesサブジェクトのSCHEDULINGセクションの PRTYHIGH、PRTYLOWキーに設定します。

tjesサブジェクトの詳細については、OpenFrame Batch『環境設定ガイド』を参照してください。

  • 構文

    優先順位
    項目 説明

    優先順位

    ジョブのスケジューリングに関連する優先順位を1~15の数字で指定します。

  • 注意事項

    • オペランドを使用するには、OpenFrame環境設定のtjesサブジェクトのSCHEDULINGセクションのPRTYJECLキーのVALUE項目をYESに設定する必要があります。

    • PRIORITY文に優先順位を指定し、またJOB文にもPRTYオペランドを使用して優先順位を指定した場合は、PRIORITY文の優先順位が適用されます。

  • 以下は、優先順位を10に指定した例です。

    /*PRIORITY 10
    //JOB1 JOB CLASS=A

    以下は、JOB文とPRIORITY文に同時に優先順位を指定した場合、PRIORITY文の優先順位に従う例です。以下の例では、ジョブの優先順位が5に指定されます。

    /*PRIORITY 5
    //JOB1 JOB CLASS=A,PRTY=10

9. ROUTE文

SYSOUTデータセットの出力先を指定するか、ジョブが実行されるネットワーク・ノードを識別します。現在OpenFrameでは、PRINT文のみサポートしています。

  • 構文

    /*ROUTE△¹PRINT△¹出力先
    項目 説明

    ROUTE

    「/*」に続いて3桁目に「ROUTE」と指定します。

    PRINT

    SYSOUTデータセットの出力先を指定します。PRINTオペランドの後ろに1つ以上の空白を入力した後指定します。

    SYSOUT DD文やOUTPUT文でDESTの指定がない場合にのみ適用されます。これらの指定がある場合、適用の優先順位は以下のようになります。

    1. SYSOUT DD文

    2. OUTPUT文

    3. ROUTE文

10. SETUP文

OpenFrameでは構文解析のみサポートします。

  • 構文

    /*SETUP△¹オペランド

11. XEQ文

OpenFrameでは構文解析のみサポートします。

  • 構文

    /*XEQ△¹オペランド