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 ステートメントを示します。
オプションの説明
- 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
Jnnnnnnn と JOBnnnnn のいずれも、長さは厳密に 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
- メッセージ
