中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 操作系统 > IBM Server
在CLP程序中使用RTVJOBA获得JOB属性
作者:未知 时间:2005-09-13 22:58 出处:Blog.ChinaUnix.net 责编:chinaitpower
              摘要:在CLP程序中使用RTVJOBA获得JOB属性
本文主要讲解在CLP程序中如何使用RTVJOBA获得JOB属性。

RTVJOBA命令主要用于获得一个或同时获得作业的多个属性。它参数定义可以在OS/400命令行输入RTVJOBA命令,然后按F4键获得所有参数的定义和属性(字段名、长度等),如下图所示:

那如何在CLP程序中使用RTVJOBA呢?

下面举一个例子来具体说明如何在CLP程序中使用RTVJOBA命令,这个程序主要实现从当前作业中取出它所用的Message Queue和它所在的Library,然后将Message发送到这个Message Queue中,程序中用到了几个自定义的变量:

&MSGQ用于存放Message Queue的名称;

&MSGQLIB用于存放Message Queue所在的Library;

&MSGKEY用于将Message的查询结果用RCVMSG返回到相应的Message Queue中;

&REPLY用于存放返回回答结果;

   . . . :       1  71           浏览                             LIU/QCLSRC   SEU==>                                                                ZRTVJOBA

FMT **  ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 

        ******************** 数据开始 ***************************************** 0001.00              PGM                                                        0002.00              DCL        VAR(&MSGQ) TYPE(*CHAR) LEN(10)                  0003.00              DCL        VAR(&MSGQLIB) TYPE(*CHAR) LEN(10)               0004.00              DCL        VAR(&MSGKEY) TYPE(*CHAR) LEN(4)                 0005.00              DCL        VAR(&REPLY) TYPE(*CHAR) LEN(1)                  0006.00              CHGVAR     VAR(&REPLY) VALUE(*BLANKS)                      0007.00                                                                         

0008.00              RTVJOBA    SBMMSGQ(&MSGQ) SBMMSGQLIB(&MSGQLIB)             0009.00              IF         COND(&MSGQ *EQ '*NONE') THEN(DO)                0010.00              CHGVAR     VAR(&MSGQ) VALUE('QSYSOPR')                     

0011.00              CHGVAR     VAR(&MSGQLIB) VALUE('QSYS')                     0012.00              ENDDO                                                     

0013.00  SNDMSG:     SNDPGMMSG  MSG('WOULD YOU PLEASE TO INSERT A TAPE IN +     0014.00                           THE DRIVER (Y/N)?') +                         0014.01                           TOMSGQ(&MSGQLIB/&MSGQ) MSGTYPE(*INQ) +        0014.02                           KEYVAR(&MSGKEY)                               0017.00                                                                         0018.00              RCVMSG     MSGQ(*PGMQ) MSGTYPE(*RPY) MSGKEY(&MSGKEY) +     0019.00                           WAIT(12) MSG(&REPLY)                         

0020.00              IF         COND(&REPLY *EQ 'Y') THEN(GOTO CMDLBL(BACKUP))  0021.00              ELSE       CMD(IF COND(&REPLY *EQ 'N') THEN(GOTO +         0021.01                           CMDLBL(END)))                                 0022.00                                                                         

0023.00  BACKUP:     SNDPGMMSG  MSG('BACKUP FINISHED') TOMSGQ(&MSGQLIB/&MSGQ)   0026.00                                                                        

0028.00  END:        ENDPGM                                                     

        ******************** 数据结束 *****************************************

                                                                               

                                                                                

                                                                               

 F3= 退出  F5= 刷新     F9= 检索      F10= 光标    F11= 切换    F12= 取消      

 F16= 重复查找          F24= 其余键                                        

执行CALL ZRTVJOBA后,先通过Shift+Esc系统请求键切换到4回答QSYS/QSYSOPR信息,最终也通过WRKMSG QSYSOPR查看执行结果如下:

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有