免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2363 | 回复: 1
打印 上一主题 下一主题

[新手入门] 如何取得 JOBD 中的 Library list ?(Command RTVJDLIBL -- API Q [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2002-11-25 22:14 |只看该作者 |倒序浏览
如何取得 JOBD 中的 Library list ?(Command RTVJDLIBL -- API QWDRJOBD)
於前期中有提及如何檢查某 Library 中的 JobD 的 INLLIBL 參數是否含有指定的 Library,
本期直接將擷取 JOBD 的 INLLIBL 部分直接寫成指令便於使用, 此 RTVJDLIBL 指令傳回
Library list 字串及 Library list  中含有 library 的個數便於擷取, Library list
字串中的每一 library 長度為 10, library 間有一個空白, 所以當擷取每一個 library 時, 需要以 11 為長度單位, 如
         1         2         3         4
1234567890123456789012345678901234567890
Library1   Library2   Library3         

第一個位置 1, 第二個位置 12, 第三個位置 23,...


File  : QCLSRC
Member: RTVJDLIBLC
Type  : CLP
Usage : CRTCLPGM RTVJDLIBLC
Version: ALL


/* After you executed RTVJDLIBL you can use QCMDEXC to adjust */
/*  your library list. */

/* CHGVAR     VAR(&CHGLIBL) VALUE('CHGLIBL  LIBL(' *CAT +
            &INLLIBB *CAT ')')                         */
/* CALL       PGM(*LIBL/QCMDEXC) PARM(&CHGLIBL 500)    */



PGM        PARM(&JOBD &INLLIBL &INLLIBLCNT)
DCL        VAR(&JOBD) TYPE(*CHAR) LEN(20) +
                 /* Qualified name of jobdescription */
DCL        VAR(&RCVVAR) TYPE(*CHAR) LEN(2750) +
                 /* Receiver Variable */
DCL        VAR(&RCVLEN) TYPE(*DEC) LEN(9 0) VALUE(2750) +
             /* Length of receiver variable */
DCL        VAR(&RCVLBIN) TYPE(*CHAR) LEN(4) +
                 /* Receiver length in binary */
DCL        VAR(&FORMAT) TYPE(*CHAR) LEN( +
             VALUE(JOBD0100) /* Format name */


DCL        VAR(&ERROR)      TYPE(*CHAR) LEN(
DCL        VAR(&ZERODEC)    TYPE(*DEC)  LEN(9 0)
DCL        VAR(&ZEROBIN)    TYPE(*CHAR) LEN(4)
DCL        VAR(&OFFSET)     TYPE(*CHAR) LEN(4)
DCL        VAR(&NBRLIB)     TYPE(*CHAR) LEN(4)
DCL        VAR(&OFFSETDEC)  TYPE(*DEC)  LEN(9 0)
DCL        VAR(&NBRLIBDEC)  TYPE(*DEC)  LEN(9 0)
DCL        VAR(&INLLIBL)    TYPE(*CHAR) LEN(275)
DCL        VAR(&INLLIBLCNT) TYPE(*CHAR) LEN(9)

CHGVAR     VAR(%BIN(&RCVLBIN)) VALUE(&RCVLEN)
CHGVAR     VAR(%BIN(&ZEROBIN)) VALUE(&ZERODEC)

CHGVAR     VAR(&ERROR) VALUE(&ZEROBIN *CAT &ZEROBIN +
             *CAT '       ')
CALL       PGM(QWDRJOBD) PARM(&RCVVAR &RCVLBIN &FORMAT +
             &JOBD &ERROR)

CHGVAR     VAR(&OFFSET) VALUE(%SST(&RCVVAR 361 4))
CHGVAR     VAR(&NBRLIB) VALUE(%SST(&RCVVAR 365 4))

CHGVAR     VAR(&OFFSETDEC) VALUE(%BIN(&OFFSET))
CHGVAR     VAR(&NBRLIBDEC) VALUE(%BIN(&NBRLIB))
CHGVAR     VAR(&INLLIBLCNT) VALUE(&NBRLIBDEC)

CHGVAR     VAR(&OFFSETDEC) VALUE(&OFFSETDEC + 1)
CHGVAR     VAR(&NBRLIBDEC) VALUE(&NBRLIBDEC * 11)

CHGVAR     VAR(&INLLIBL) VALUE(%SST(&RCVVAR &OFFSETDEC +
              &NBRLIBDEC))
ENDPGM


File  : QCMDSRC
Member: RTVJDLIBL
Type  : CMD
Usage : RTVCMD CMD(RTVJDLIBL) PGM(RTVJDLIBLC) ALLOW(*IPGM *BPGM)
Version: ALL


CMD        PROMPT('Retrieve library-list of jobd')
/*********************************************************/
/* Compile met ALLOW(*IPGM *BPGM)  !!!!!                 */
/* *******************************************************/
  PARM       KWD(JOBD) TYPE(Q1) PROMPT('Job description:')
  PARM       KWD(INLLIBL) TYPE(*CHAR) LEN(275) +
             RTNVAL(*YES) PROMPT('Initial library list:')
  PARM       KWD(INLLIBLCNT) TYPE(*CHAR) LEN(9) +
             RTNVAL(*YES) PROMPT('Initial library list count:')
Q1:         QUAL       TYPE(*NAME) LEN(10) MIN(1)

             QUAL       TYPE(*NAME) LEN(10) DFT(*LIBL) +
                  SPCVAL((*LIBL)) PROMPT('Library name:')


File  : QCLSRC
Member: RTVJDLIBLT
Type  : CLP
Usage : CRTCLPGM RTVJDLIBLT
        CALL RTVJDLIBLT 'your jobd'
Version : ALL


PGM          &JOBD
             DCL  &JOBD        *CHAR  10
             DCL  &INLLIBL     *CHAR 275
             DCL  &INLLIBLCNT  *CHAR   9
             DCL  &MSG      *CHAR 256
             RTVJDLIBL  JOBD(&JOBD) INLLIBL(&INLLIBL) +
                          INLLIBLCNT(&INLLIBLCNT)
             CHGVAR  &MSG   (&INLLIBLCNT *BCAT &INLLIBL)
             SNDPGMMSG  MSGID(CPF989 MSGF(QCPFMSG) MSGDTA(&MSG) +
                          MSGTYPE(*COMP)
         /*    SNDPGMMSG MSG(&MSG)  */

ENDPGM



论坛徽章:
0
2 [报告]
发表于 2002-11-25 22:14 |只看该作者

如何取得 JOBD 中的 Library list ?(Command RTVJDLIBL -- API Q

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP