ADMIN_JOB_QUERY存储过程

SYSPROC.ADMIN_JOB_QUERY 存储过程显示作业的状态和完成信息。

环境

开始通用编程接口信息。

ADMIN_JOB_QUERY的加载模块DSNADMJQ必须位于APF授权的库中。 ADMIN_JOB_QUERY 在 WLM 建立的存储过程地址空间中运行,该 WLM 过程 STEPLIB DD 中的所有库都必须经过 APF 授权。

如果未设置 BPX.DAEMON.HFSCTL 设施类配置文件,则ADMIN_JOB_QUERY、DSNADMJQ的负载模块必须由程序控制。 有关如何定义DSNADMJQ进行编程控制的信息,请参阅安装作业DSNTIJRA。

授权

要执行CALL语句,包含CALL语句的程序包或计划的所有者必须具有以下一项或多项权限:

  • ADMIN_JOB_QUERY存储过程中的EXECUTE权限
  • 存储过程的所有权
  • SYSADM 权限

语法

下面的语法图显示了调用此存储过程的SQL CALL语句:

阅读语法图跳过可视化语法图CALLSYSPROC.ADMIN_JOB_QUERY(用户IDNULL,密码NULL,job-id,状态,最大RC值,完成类型,系统-晚会-代码,用户密码,返回码,消息)

选项说明

用户ID
指定查询作业的用户ID。

如果用户ID 为空,则密码也必须为空。 如果用户ID密码值为NULL,则登录过程使用该过程的主授权ID。

在以下情况下,您可以将此参数指定为空:

  • 与存储过程地址空间关联的授权ID具有守护进程权限。
  • 与存储过程地址空间关联的授权ID没有守护程序权限,但被授权给 BPX.SRV.userid SURROGAT类配置文件,其中 userid 是存储过程的授权ID。 有关 RACF® 安全管理员如何将授权ID与存储过程地址空间关联到SURROGAT类配置文件的更多信息,请参阅定义服务器以处理无需密码或密码短语的用户

    任何超级用户,只要被允许访问 BPX.DAEMON 设施类配置文件,即可获得守护进程权限。 如果未定义 BPX.DAEMON 设施类配置文件,则所有超级用户都具有守护进程权限。

这是一个VARCHAR(128)类型的输入参数。

密码
指定与输入参数 user-ID 关联的密码。

密码值作为有效载荷的一部分传递给存储过程,且未加密。 当使用参数标记时,它不会存储在动态缓存中。

如果密码为空, 用户ID 也必须为空。 如果用户ID密码值为NULL,则登录过程使用该过程的主授权ID。

在以下情况下,您可以将此参数指定为空:

  • 与存储过程地址空间关联的授权ID具有守护进程权限。
  • 与存储过程地址空间关联的授权ID没有守护程序权限,但被授权给 BPX.SRV.userid SURROGAT类配置文件,其中 userid 是存储过程的授权ID。

更改开始这是一个VARCHAR(100)类型的输入参数。更改结束

job-id
指定查询的工作的工作编号。 可接受的格式包括:
  • Jnnnnnnn
  • 工作nnnnn

其中n 是0到9之间的数字。 例如: JOB01035

Jnnnnnnn工作nnnnn 的长度必须均为8个字符。

这是一个类型为CHAR(8)的输入参数,不能为空。

状态
确定当前的工作状态。 可能的值包括:
1
工作已收到,但尚未运行(输入)。
2
作业正在运行(活动)。
3
工作已完成,有输出结果需要打印或检索(输出)。
4
找不到作业。
5
工作处于未知阶段。

这是一个整数类型的输出参数。

最大RC值
提供工作完成代码。

这是一个整数类型的输出参数。

完成类型
确定工作的完成类型。 可能的值包括:
0
没有完工信息。
1
工作正常结束。
2
工作以完成代码结束。
3
作业出现JCL错误。
4
工作被取消了。
5
工作异常终止。
6
转换器在处理作业时异常终止。
7
工作未通过安全检查。
8
任务在内存不足时失败。

完成型信息是IAZSSST映射宏STTRMXRC字段的最后6位。 此信息通过SSI 80返回。 更多信息,请参阅 z/OS® MVS 数据区中关于 SSST 宏的讨论。

这是一个整数类型的输出参数。

系统-晚会-代码
如果发生异常终止,则返回系统异常终止代码。

这是一个整数类型的输出参数。

用户密码
如果发生异常终止,则返回用户异常终止代码。

这是一个整数类型的输出参数。

返回码
提供存储过程的返回代码。 可能的值包括:
0
通话已成功结束。
4
该职位未找到,或职位状态未知。
12
通话未成功完成。 消息输出参数包含描述错误的消息。

这是一个整数类型的输出参数。

消息
包含描述存储过程所遇到错误的信息。 如果没有发生错误,则不会返回任何消息。

这是一个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);
 }

输出

此存储过程返回以下输出参数,这些参数在选项描述中进行了说明:

  • 状态
  • 最大RC值
  • 完成类型
  • 系统-晚会-代码
  • 用户密码
  • 返回码
  • 消息

通用编程接口信息结束。