Chinaunix
标题:
[解决]自定义的命令如何将参数设为必须输入
[打印本页]
作者:
yayuyo
时间:
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 编辑
]
作者:
yayuyo
时间:
2007-11-05 08:18
这个 方法是更简单一些,谢谢楼上的,又学到一招!
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2