不允许CLLE SNDRCVF命令



我正试图使用Rational Series编译这段CL代码,但不断出现错误。

这是我的CL代码:

PGM
DCLF       FILE(LAB4DF)
SNDRCVF    RCDFMT(RECORD1) /* send, recieve file */
DOWHILE    (&IN03 = '0')
SELECT
WHEN       (&USERINPUT = '1' *OR &USERINPUT = '01') CALLSUBR   OPTION1
OTHERWISE  DO
*IN03      = '1'
ENDDO
ENDSELECT
ENDDO
SUBR       OPTION1
DSPLIBL
ENDSUBR
ENDPGM

这是我的DSPF代码

A          R RECORD1
A                                  1 38'LAB 4'
A                                  3  3'Please select one of the following-
A                                       options:'
A                                  6 11'3.  Maximum Invalid Signon Attempt-
A                                      s allowed'
A                                  8 11'5.  Run Instructor''s Insurance Pr-
A                                      ogram'
A                                  5 11'2.  Signed on User''s Message Queu-
A                                      e'
A                                  1  3'Yathavan Parameshwaran'
A                                  7 11'4.  Initial number of active jobs -
A                                      for storage allocation'
A                                  4 11'1.  Previous sign on by signed on -
A                                      user'
A                                 14 11'F3 = Exit'
A                                 14 31'F21 = Command Line'
A                                  2 70TIME
A                                  1 72DATE
A                                  9 11'Option: '
A            USERINPUT      2   B  9 19
A  91                                  DSPATR(RI)
A  92                                  DSPATR(PC)
A            MSGTXT1       70   O 11 11
A            MSGTXT2       70   O 12 11 

我的CL代码或DSPF代码有问题吗?

你忘了说你得到了什么错误。把所有关于错误消息的信息都放进你的问题中总是很重要的。

有两个错误。

  • &IN03未定义
  • 您对*IN03的分配应该是对&IN03,但这不是您在CLP中执行任务的方式

如果您想按F3,您必须在"函数"中为记录格式编写类似CA03(03(的代码。

要在CL中分配变量,请对进行编码

CHGVAR name value

查看此处的文档,我怀疑您需要将RCDFMT添加到DCLF规范中,如下所示:

DCLF       FILE(LAB4DF) RCDFMT(RECORD1)
SNDRCVF    RCDFMT(RECORD1) /* send, recieve file */

如果你的显示文件中确实只有一个记录格式,那么你也可以从两个命令中省略RCDFMT,比如:

DCLF       FILE(LAB4DF)
SNDRCVF    /* send, recieve file */

相关内容

  • 没有找到相关文章

最新更新