免费注册 查看新帖 |

Chinaunix

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

RCVF的用法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-08 11:15 |只看该作者 |正序浏览
请教

001100              CRTPF      FILE(LIBL/JOBENDP) RCDLEN(9999) OPTION(*SRC) +
001200                           LVLCHK(*NO)                                 
001300              WRKACTJOB  OUTPUT(*PRINT)                                 
001400              CLRPFM     FILE(LIBL/JOBENDP)                             
001500              CPYSPLF    FILE(QPDSPAJB) TOFILE(LIBL/JOBENDP) +         
001600                           SPLNBR(*LAST) CRTDATE(*LAST)                 
001700  LOOP:       RCVF                                                      
001800              MONMSG     MSGID(CPF0864) EXEC(GOTO CMDLBL(END))   
001900              CHGDTAARA  DTAARA(*LDA *ALL) VALUE(JOBENDP)        
002000              RTVDTAARA  DTAARA(*LDA (10 10)) RTNVAR(&JOBNAME)   
002100                                                                 
002200              CHGVAR     VAR(&IDNAM1) VALUE(&IDNAM)              
002300              CHGVAR     VAR(&JOBNAME1) VALUE(&JOBNAME)         
002400                                                                 
002500              IF         COND(&JOBNAME1 *EQ &IDNAM1) THEN(DO)   
002600              ENDJOB     JOB(&JOBNAME) OPTION(*IMMED)            
002700              ENDDO                                             
002800              GOTO       CMDLBL(LOOP)      

RCVF我是想读取CPYSPLF的数据文件,这个 JOBENDP是没有RCDFMT的,所以我RCVF后不接任何参数,这样编绎可以通过,但是DEBUG时这一行一直被STOP,按F3后才会继续下一语句,请问是怎么回事?应该如何解决呢?谢谢。

论坛徽章:
0
51 [报告]
发表于 2008-12-09 10:01 |只看该作者
*CAT 就是连接字符串.

也就是想把JOBNAME加个引号传进去.

论坛徽章:
0
50 [报告]
发表于 2008-12-09 09:13 |只看该作者
Variable  . . . . . . . . . . . . . . . : &ARM01            
  Type  . . . . . . . . . . . . . . . . :   CHARACTER      
  Length  . . . . . . . . . . . . . . . :   20              
  *...+....1....+....2....+....3....+....4....+....5        
''          '        '                                     不太明白为什么要*CAT哦,出来是这样的效果。。

论坛徽章:
0
49 [报告]
发表于 2008-12-09 08:51 |只看该作者
CHGVAR  &ARM01 VALUE('''' *CAT &JOBNAME *CAT '''')  
WRKACTJOB OUTPUT(*PRINT) JOB(&arm01)

论坛徽章:
0
48 [报告]
发表于 2008-12-08 17:00 |只看该作者
&ARM01 这个是哪个字段哦?

论坛徽章:
0
47 [报告]
发表于 2008-12-08 16:52 |只看该作者
CHGVAR  &ARM01 VALUE('''' *CAT &JOBNAME *CAT '''')  

试试.  怪事多

论坛徽章:
0
46 [报告]
发表于 2008-12-08 16:48 |只看该作者
原帖由 digitalchina 于 2008-12-8 16:43 发表
我用WRKACTJOB OUTPUT(*PRINT) JOB(TTTTTT)  也不会报错的.

TTTTTT是不存在的.



直接填一个名字是不报错哦,我试的是填一个变量&jobname。

直接填一个名字没有意义的啊,,呜呜。。

论坛徽章:
0
45 [报告]
发表于 2008-12-08 16:43 |只看该作者
我用WRKACTJOB OUTPUT(*PRINT) JOB(TTTTTT)  也不会报错的.

TTTTTT是不存在的.

论坛徽章:
0
44 [报告]
发表于 2008-12-08 16:39 |只看该作者
不行呢,我最开始就是这样写的,报错:

Message . . . . :   CPF0001 received by ENDJOBCL at 1600. (C D I R)        
Cause . . . . . :   Control language (CL) program ENDJOBCL in library LIBL
  detected an error at statement number 1600. Message text for CPF0001 is:
  Error found on WRKACTJOB command.

论坛徽章:
0
43 [报告]
发表于 2008-12-08 16:33 |只看该作者
那就只有用我前面说过的WRKACTJOB JOB(TESTJOB)

看看有没有返回数据.
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP