有没有人知道如何使用原型在免费RPG中调用* CMD程序? 在我的情况下,该命令有10个参数,我想用4来调用它。
使用10/10参数调用它。但是如何用更少的参数来做呢?
答案 0 :(得分:4)
命令(* CMD)由命令语言处理器执行,未调用。
假设用户编写了命令,那么你就拥有了命令所引发的程序的源代码......我建议创建一个原型并调用直接处理命令的程序......
DSPCMD会告诉你该程序是什么......
如果是IBM或第三方命令,则需要调用命令语言处理器并将其传递给您要执行的命令。
IBM为命令语言处理器提供了一些API
Execute Command (QCMDEXC)
Process Commands (QCAPCMD)
此外,您可以使用C-runtime API
system() — Execute a Command
这是一篇关于使用最强大(和复杂)选项QCAPCMD的文章,其中包含有关QCMDEXC和system()的文章的链接。
QCAPCMD another alternative to QCMDEXC
答案 1 :(得分:1)
在您的D特定对象中声明:
DCL-PR GoCmd INT(10) EXTPROC('system');
CmdString POINTER VALUE OPTIONS(*STRING);
END-PR;
然后您可以调用AS400命令...例如:
CmdString = 'CLRPFM FILE(WORKFILE)' ;
ReturnCode = Gocmd(CmdString) ;