你有基本的权利。只要您在两个程序中都提供匹配的字段定义,那应该没问题。在 ILE COBOL 链接部分中,您需要添加参数名称所指内容的定义。你没有PIC
orLIKE
子句。
在您的 ILE RPG 程序中,您需要定义一个原型来调用您的 COBOL 代码。原型中的参数定义需要
与
COBOL中的参数格式相匹配。如果您在一侧使用压缩、分区或二进制整数,那么您必须在另一侧使用相同的参数。
(参见http://pic.dhe.ibm.com/infocenter/iseries/v7r1m0/index.jsp?topic=%2Frzase%2Fsc092540419.htm)
例如,在 RPG PROG1 中,您通常可能有以下内容:
D someID 7p 0
D someName 10a
D addInfo PR EXTPROG("PROG2")
D 7p 0
D 10a
callp addInfo (someID:someName);
// or omit the optional callp opcode
addInfo (someID:someName);
然后在 COBOL PROG2 中你可以有类似的东西:
working storage section.
linkage section.
01 newid pic s9(7) packed-decimal.
01 newname pic x(10).
procedure division using newid, newname.
此时最简单的选择是将它们编译为单独的程序。但也可以使用 ILE 技术将您的 COBOL 过程组合到最终的 RPG 程序对象中。但是再保存一次。