ADMIN_JOB_QUERY ストアード・プロシージャー

SYSPROC.ADMIN_JOB_QUERY ストアード・プロシージャーは、ジョブの状況と完了情報を表示します。

環境

汎用プログラミングインターフェース情報の開始。

ADMIN_JOB_QUERY のロード・モジュール DSNADMJQ が APF 許可ライブラリー内に存在している必要があります。 ADMIN_JOB_QUERY は、WLM が確立したストアード・プロシージャーのアドレス・スペースで実行されます。この WLM プロシージャーの STEPLIB DD 連結に指定されているライブラリーはすべて、APF 許可ライブラリーである必要があります。

BPX.DAEMON.HFSCTL FACILITY クラス・プロファイルがセットアップされていない場合は、ADMIN_JOB_QUERY のロード・モジュール DSNADMJQ をプログラムで制御する必要があります。 DSNADMJQ をプログラムで制御するように定義する方法については、インストール・ジョブ DSNTIJRA を参照してください。

許可

CALL ステートメントを実行するには、CALL ステートメントを含むパッケージまたはプランの所有者は、以下の 1 つまたは複数の特権を持つ必要があります。

  • ADMIN_JOB_QUERY ストアード・プロシージャーに対する EXECUTE 特権
  • ストアード・プロシージャーの所有権
  • SYSADM 権限

構文

以下の構文図は、このストアード・プロシージャーを呼び出す SQL CALL ステートメントを示します。

構文図を読むビジュアルシンタックスダイアグラムをスキップするCALLSYSPROC.ADMIN_JOB_QUERY(ユーザーIDNULL,パスワードNULL,job-id,状況,max-RC,完了型,system-abend-code,ユーザーアベンドコード,戻りコード,メッセージ)

オプションの説明

user-ID
ジョブを照会するユーザー ID を指定します。

user-ID が NULL の場合は、password も NULL でなければなりません。 user-ID 値および password 値が NULL の場合、ログイン・プロセスではプロセスの 1 次許可 ID が使用されます。

以下の状況の場合、このパラメーターに NULL を指定できます。

  • ストアード・プロシージャー・アドレス・スペースに関連付けられた許可 ID には、デーモン権限があります。
  • ストアード・プロシージャー・アドレス・スペースに関連付けられている許可 ID は、デーモン権限を持っていませんが、BPX.SRV.ユーザー ID SURROGAT クラス・プロファイルに対して許可されています。ここで、ユーザー ID はストアード・プロシージャーの許可 ID です。 RACF® セキュリティ管理者が、ストアドプロシージャのアドレススペースに関連付けられた認証IDをSURROGATクラスプロファイルに承認する方法の詳細については、「パスワードまたはパスワードフレーズなしでユーザーを処理するサーバーの定義」 を参照してください。

    デーモン権限は、BPX.DAEMON FACILITY クラス・プロファイルに対して許可されているすべてのスーパーユーザーに付与されます。 BPX.DAEMON FACILITY クラス・プロファイルが定義されていない場合、すべてのスーパーユーザーにデーモン権限が付与されます。

これは、タイプ VARCHAR(128) の入力パラメーターです。

パスワード
入力パラメーター user-ID に関連したパスワードを指定します。

password の値は、ペイロードの一部としてストアード・プロシージャーに渡され、暗号化されません。 パラメーター・マーカーが使用されている場合は、動的キャッシュに格納されません。

password が NULL の場合は、user-ID も NULL でなければなりません。 user-ID 値および password 値が NULL の場合、ログイン・プロセスではプロセスの 1 次許可 ID が使用されます。

以下の状況の場合、このパラメーターに NULL を指定できます。

  • ストアード・プロシージャー・アドレス・スペースに関連付けられた許可 ID には、デーモン権限があります。
  • ストアード・プロシージャー・アドレス・スペースに関連付けられている許可 ID は、デーモン権限を持っていませんが、BPX.SRV.ユーザー ID SURROGAT クラス・プロファイルに対して許可されています。ここで、ユーザー ID はストアード・プロシージャーの許可 ID です。

変更の開始これは、タイプ VARCHAR (100) の入力パラメーターです。変更の終わり

job-id
照会するジョブのジョブ ID を指定します。 有効な形式は以下のとおりです。
  • Jnnnnnnn
  • 仕事nnnnn

ここで、n は 0~9 の数字です。 以下に例を示します。 JOB01035

JnnnnnnnJOBnnnnn のいずれも、長さは厳密に 8 文字でなければなりません。

これは、タイプ CHAR(8) の入力パラメーターで、NULL にはできません。

状態
ジョブの現行状況を示します。 可能な値は以下のとおりです。
1
ジョブを受け取ったがまだ実行されていない (INPUT)。
2
ジョブ実行中 (ACTIVE)。
3
ジョブが完了し、印刷 (出力) または取得できる出力がある (OUTPUT)。
4
ジョブが見付からない。
5
ジョブのフェーズが不明である。

これは、タイプ INTEGER の出力パラメーターです。

max-RC
ジョブ完了コードを示します。

これは、タイプ INTEGER の出力パラメーターです。

完了型
ジョブの完了タイプを示します。 可能な値は以下のとおりです。
0
完了情報がありません。
1
ジョブは正常に終了しました。
2
ジョブは完了コードで終了しました。
3
ジョブに JCL エラーが発生しました。
4
ジョブが取り消されました。
5
ジョブは異常終了しました。
6
ジョブの処理中にコンバーターが異常終了しました。
7
ジョブはセキュリティー検査に失敗しました。
8
ジョブはメモリーの終わり (end-of-memory) により失敗しました。

completion-type の情報は、IAZSSST マッピング・マクロの STTRMXRC フィールドの最終 6ビットです。 この情報は SSI 80 を介して返されます。 追加情報については、 z/OS® MVS のデータ領域のSSSTマクロに関する説明を参照してください。

これは、タイプ INTEGER の出力パラメーターです。

system-abend-code
異常終了発生時にシステム異常終了コードを返します。

これは、タイプ INTEGER の出力パラメーターです。

ユーザーアベンドコード
異常終了発生時にユーザー異常終了コードを返します。

これは、タイプ INTEGER の出力パラメーターです。

return-code
ストアード・プロシージャーからの戻りコードを指定します。 可能な値は以下のとおりです。
0
呼び出しは正常に完了しました。
4
ジョブが見付からなかったか、またはジョブ状況が不明です。
12
呼び出しは正常に完了しませんでした。 message 出力パラメーターにエラーについて説明するメッセージが含まれています。

これは、タイプ INTEGER の出力パラメーターです。

メッセージ
ストアード・プロシージャーにより検出されたエラーについて説明するメッセージが含まれます。 エラーが発生しない場合、メッセージは返されません。

これは、タイプ VARCHAR(1331) の出力パラメーターです。

次の C 言語サンプルで、ADMIN_JOB_QUERY の呼び出し方法を示します。

 #include    <stdio.h>
 #include    <stdlib.h>
 #include    <string.h>

 /******************** DB2 SQL Communication Area ********************/
 EXEC SQL INCLUDE SQLCA;

 int main( int argc, char *argv[] )    /* Argument count and list    */
 {
   /****************** DB2 Host Variables ****************************/
   EXEC SQL BEGIN DECLARE SECTION;

   /* SYSPROC.ADMIN_JOB_QUERY parameters                             */
   char        userid[129];            /* User ID                    */
   short int   ind_userid;             /* Indicator variable         */
   char        password[101];           /* Password                   */
   short int   ind_password;           /* Indicator variable         */
   char        jobid[9];               /* Job ID                     */
   short int   ind_jobid;              /* Indicator variable         */
   long int    stat;                   /* Job status                 */
   short int   ind_stat;               /* Indicator variable         */
   long int    maxrc;                  /* Job maxcc                  */
   short int   ind_maxrc;              /* Indicator variable         */
   long int    comptype;               /* Job completion type        */
   short int   ind_comptype;           /* Indicator variable         */
   long int    sabndcd;                /* System abend code          */
   short int   ind_sabndcd;            /* Indicator variable         */
   long int    uabndcd;                /* User abend code            */
   short int   ind_uabndcd;            /* Indicator variable         */
   long int    retcd;                  /* Return code                */
   short int   ind_retcd;              /* Indicator variable         */
   char        errmsg[1332];           /* Error message              */
   short int   ind_errmsg;             /* Indicator variable         */
   EXEC SQL END DECLARE SECTION;

   /******************************************************************/
   /* Assign values to input parameters to query the status and      */
   /* completion code of a job                                       */
   /* Set the indicator variables to 0 for non-null input parameters */
   /******************************************************************/
   strcpy(userid, "USRT001");
   ind_userid = 0;
   strcpy(password, "N1CETEST");
   ind_password = 0;
   strcpy(jobid, "JOB00111");
   ind_jobid = 0;

   /******************************************************************/
   /* Call stored procedure SYSPROC.ADMIN_JOB_QUERY                  */
   /******************************************************************/
   EXEC SQL CALL SYSPROC.ADMIN_JOB_QUERY
                        (:userid    :ind_userid,
                         :password  :ind_password,
                         :jobid     :ind_jobid,
                         :stat      :ind_stat,
                         :maxrc     :ind_maxrc,
                         :comptype  :ind_comptype,
                         :sabndcd   :ind_sabndcd,
                         :uabndcd   :ind_uabndcd,
                         :retcd     :ind_retcd,
                         :errmsg    :ind_errmsg);

   return(retcd);
 }

出力

このストアドプロシージャは、 オプションの説明で説明されている以下の出力パラメータを返します

  • 状態
  • max-RC
  • 完了型
  • system-abend-code
  • ユーザーアベンドコード
  • return-code
  • メッセージ

汎用プログラミングインターフェース情報の終了。