ibm-midrange - 返回从 cobol 到 rpg 的值

标签 ibm-midrange cobol rpgle

我从 rpgle 调用了一个 cobol 程序。我想从 cobol 程序返回一个值给 rpgle。我对这些很陌生,不确定我的做法是否正确。有人可以向我解释一下执行此操作的程序吗?下面是我在 rpgle 中用来调用 cobol 的命令。

callp prog(id:name);

在cobol中我使用了

working storage section.
linkage section.
01 newid.
01 newname.
procedure division using newid, newname.

如果在cobol中编辑值,值newidnewname会自动传递给rpg还是有其他方式?如何将cobol中的值传回rpgle。

最佳答案

你的基础知识是正确的。只要您在两个程序中提供匹配的字段定义就应该没问题。在 ILE COBOL 链接部分中,您需要添加参数名称所指内容的定义。您没有 PICLIKE 子句。

在您的 ILE RPG 程序中,您需要定义一个原型(prototype)来调用 COBOL 代码。原型(prototype)中的参数定义需要 match the format of the parameters 在 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 程序对象中。但留到下次再说吧。

关于ibm-midrange - 返回从 cobol 到 rpg 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19810554/

相关文章:

java - iseries - 返回结果集的 java 外部存储过程

cobol - 用于打印 AFP 的动态表格

rpgle - 将字符编码为 XML 的字符实体

java - 分离字符生成从 IBM i 系列 (AS400) 转换为 Java 文本文件

ibm-midrange - 如何为 RPG 或 CL 程序中的激活组设置编译器选项?

java - 可以通过Java中的Apache TelnetClient连接到AS400吗?

ftp - 上传到 z/OS 的文件中出现意外的换行符

cobol - CALL 语句中的 BY CONTENT 和 BY VALUE 有什么区别?

arrays - 用于存储大数据的动态数据结构数组