免费注册 查看新帖 |

Chinaunix

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

[解决]自定义的命令如何将参数设为必须输入 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-11-02 09:47 |只看该作者 |倒序浏览
设置命令的参数为必须输入,我知道的有2种方法
1.由系统做的有效性检查,包括参数的类型长度和命令中定义的有效性检查等。
     当把最前面的参数设置为必须输入,即MIN(1)时,系统在该参数没有输入时会反白,并提示给用户。
   2.自己写有效性检查程序
     如果第N个参数也是必须输入的,即MIN(1),它不会像第一个参数一样会被系统自动检查,这时候要
自己写有效性检查程序,然后在CRTCMD时指定VLDCHK参数为这个有效检查程序。
    例:
    PGM PARM(&OUTSPLF &BCDLIN)
    DCL VAR(&OUTSPLF) TYPE(*CHAR) LEN(10)
    DCL VAR(&BCDLIN) TYPE(*DEC) LEN(3)
    IF COND(&OUTSPLF * EQ '          ') THEN(DO)
     SNDPGMMSG MSGID(CPD0006) MSGF(QCPFMSG) +
               MSGDTA('0000 错误信息...') MSGTYPE(*DIAG)
     SNDPGMMSG  MSGID(CPF0002) MSGF(QCPFMSG) MSGTYPE(*ESCAPE)
   ENDDO
     IF COND(&BCDLIN *LE 0 ) THEN(DO)  
      SNDPGMMSG MSGID(CPD0006) MSGF(QCPFMSG) +
               MSGDTA('0000 错误信息...') MSGTYPE(*DIAG)
      SNDPGMMSG  MSGID(CPF0002) MSGF(QCPFMSG) MSGTYPE(*ESCAPE)
    ENDDO
     
   #END   ENDPGM
即对要检查的参数做判断,有错误时发送一个CPD0006的MSGID,且MSGDTA要以0000开头。最后还要发一个CPF0002的MSGID,系统接收CPF0002时,发出CPF0001给调用程序指出已找到错误。

[ 本帖最后由 yayuyo 于 2007-11-2 10:42 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2007-11-05 08:18 |只看该作者
这个 方法是更简单一些,谢谢楼上的,又学到一招!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP