首页 > 学技术 > 技术网文 > IBM AS400应用论坛 > 正文

[精华] 取指定JOB的信息


来源 chinaunix.net 酷勤网整理

系统函数  QUSRJOBI  的调用
(本文乃胖有型根据QSYSINC/H  QUSRJOBI中的英文注释所猜测,非IBM官方文章,如有误导,纯属不幸)
CALL   QUSRJOBI
           PARM        &RCVMSG   结构
       PARM        &LEN          可以在D表定义为9B  0
           PARM       &FORMAT    10位字符
       PARM       &JOBMSG    26位字符
       PARM       &JOBID      10位字符 
       PARM       &错误信息    结构

       &RCVMSG 也就是取出来作业信息,都放在一个结构里,结构的定义可参照QSYSINC/QRPGLESRC  QUSRJOBI里的定义。这段RPGLE里面,定义了多个结构,我们可以直接借用这些结构,当然也可以不厌其烦的自己再定义一个,不过个人建议用一下/COPY会省事很多,而且肯定不会错。
参数为结构,也就是下面这个意思:
&RCVMSG    DS
    xx           1    4
    yy           5              8
诸如此类的,然后把整个结构体&RCVMSG做为一个系统返回的参数变量,很好理解吧。(比如说如果作业是等待状态,那么QUSAJS字段就是“TIMW”,如果有错误信息,就是“MSGW”状态)
    
&LEN      我猜这个LEN是个长度字段,是指结构的长度比如说JOBI0200对应是135位,反正我一向是在D行定义为9B 0,因为H里面说,这是一个INT字段
&FORMAT  就是说调用内部函数时,要它返回哪一种结构,参照注释里的JOBI那串字符比如说JOBI010000,又或者是JOBI0150等等(这里我们完全可以看出IBM在那个RPGLE中定义多个结构的良苦用心,它的本意是让大家有很多很多的选择,但是给本人在最初猜想的时候带来了极大的困扰)
&JOBMSG   其实我私下认为这个参数应该放在第一位,因为它是指“要查询哪一个作业的信息”,26位字符为 JOBNAME(10位) + USRNAME(10位) + JOBNUMBER(6位)
&JOBID 作业标识符,据说是用来做标识的,可能就类似于CLP里的LABL这个东西吧,注释说明的作用居多(也是我猜的),反正经测试,不赋值也没问题
&错误信息 这里也是一个结构,借用QSYSINC/QRPGLESRC  QUSEC这个RPGLE里面的结构(反正就那么一个),也就是CALL的时候,最后一个参数用QUSEC这个结构。至于到底是什么意思,可以根据QSYSINC/H  QUSEC里的注释来猜

总之我们如果想监控一下作业的运行状态,看看有没有MSGW啊,有没有LCKW啊什么的,就可以使用这个命令。



 xuguopeng 回复于:2006-01-23 14:38:22

加精鼓励~~~  LZ干脆直接来个专集吧 专门总结API的使用 嘎嘎


 pl421 回复于:2006-01-23 15:24:47

的确有研究价值。


 胖有型 回复于:2006-01-23 23:31:58

引用:原帖由 xuguopeng 于 2006-1-23 14:38 发表
加精鼓励~~~  LZ干脆直接来个专集吧 专门总结API的使用 嘎嘎 


过奖了,其实也只是需要用的时候,就到处找;
找到了,就贴出来大家一起看看。
如果不是搞产品研发的,我想用到系统API的机会也不是太多。
主要还是要看实际需要。




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=693198
转载请注明作者名及原文出处



收藏本页到: