我正在创建自己的命令,到目前为止,处理.cmd代码的cl代码本身就可以正常工作。我可以调用它并发送参数,它确实完成了它需要做的事情,所以我假设错误必须是.cmd:
CMD 'DISPLAY SYSTEM LEVEL (DSPSYSLVL) NADIA S.C.'
PARM KWD(OUTPUT)
MIN(1)
TYPE(*CHAR) LEN(8)
RSTD(*YES)
VALUES(*MSGLINE *DISPLAY)
PROMPT('OUTPUT FOR SYSTEM LEVEL')
PARM KWD(SOLUTION)
TYPE(*CHAR) LEN(4)
RSTD(*YES)
VALUES(*YES *NO)
DFT(*NO)
PROMPT('TELL ME HOW YOU DID IT')
PARM KWD(SHOWCMD)
TYPE(*CHAR) LEN(4)
RSTD(*YES)
VALUES(*YES *NO)
DFT(*NO)
PROMPT('SHOW COMMAND')
当我运行crtcmd
并提供相应的文件名时,我收到消息“命令DSPSYSLVL未在库[库名]中创建。”带有CPF0201消息。
我对整个系统还是比较新的,我真的不确定问题是什么。作业日志不提供任何新信息......
答案 0 :(得分:3)
这可能只是一个转录问题,但首先突出的是没有连续字符的多行格式(+):
CMD 'DISPLAY SYSTEM LEVEL (DSPSYSL'
PARM KWD(OUTPUT) +
MIN(1) +
TYPE(*CHAR) LEN(8) +
RSTD(*YES) +
VALUES(*MSGLINE *DISPLAY) +
PROMPT('OUTPUT FOR SYSTEM LEVEL')
PARM KWD(SOLUTION) +
TYPE(*CHAR) LEN(4) +
RSTD(*YES) +
VALUES(*YES *NO) +
DFT(*NO) +
PROMPT('TELL ME HOW YOU DID IT')
PARM KWD(SHOWCMD) +
TYPE(*CHAR) LEN(4) +
RSTD(*YES) +
VALUES(*YES *NO) +
DFT(*NO) +
PROMPT('SHOW COMMAND')
每个PARM
都是一个单独的实体,必须继续'如果分成多行。
CRTCMD
命令应该生成一个假脱机文件,其中包含有关错误的更多详细信息。
编辑: CMD
提示符的最大长度为30个字符。