如何使用免费的RPG原型调用* CMD程序

时间:2018-02-19 12:54:23

标签: rpgle

有没有人知道如何使用原型在免费RPG中调用* CMD程序? 在我的情况下,该命令有10个参数,我想用4来调用它。

使用10/10参数调用它。但是如何用更少的参数来做呢?

2 个答案:

答案 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) ;