系统函数 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的机会也不是太多。
主要还是要看实际需要。
|