as400 crtcmd命令未在库中创建

时间:2014-07-16 23:13:36

标签: command ibm-midrange cl

我正在创建自己的命令,到目前为止,处理.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消息。

我对整个系统还是比较新的,我真的不确定问题是什么。作业日志不提供任何新信息......

1 个答案:

答案 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个字符。