如何创建支持值与范围同时输入的CRTCMD命令
解决CRTCMD中TEST参数F4提示*ALL和1-8范围的问题
正确的PARM语句配置如下:
PARM KWD(TEST) TYPE(*CHAR) LEN(4) RSTD(*YES) + PROMPT('Test') VALUES(*ALL) RANGE(1 8)
关键调整说明:
- TYPE改为*CHAR:
*ALL是字符型特殊值,无法存储在*DEC类型参数中,必须用字符类型兼容两种输入。 - LEN设置为4:足够容纳
*ALL(4个字符)或1-8的数字(留有余量)。 - VALUES(*ALL):明确允许输入
*ALL这个特殊值。 - RANGE(1 8):限定非
*ALL的输入必须是1到8之间的数值,F4提示时会显示该范围。
之前尝试失败的原因:
- 前两种配置用
*RANGE作为VALUES选项:*RANGE不是VALUES的合法参数,语法错误。 - 第三种配置直接写
1-8在VALUES中:VALUES仅接受具体值,不支持范围写法。 - 第四种配置缺少
RSTD(*YES)和VALUES(*ALL):只能输入1-8的数值,无法选择*ALL。 - 第五种配置混用
*DEC类型和VALUES(*ALL):*DEC类型无法存储字符型的*ALL,导致类型冲突报错。
内容的提问来源于stack exchange,提问作者Asymptote
相关产品推荐
相关产品推荐

