0

我正在尝试交流 Java 和 Cobol。我需要从 Cobol 调用一个 Java 程序(带有参数)。

我从 Microfocus 阅读了一些文档:http: //supportline.microfocus.com/documentation/books/nx40/dijafc.htm http://supportline.microfocus.com/documentation/books/nx40/dijaco.htm

但是我没有找到真正的解决方案,因为我需要调用整个程序而不是 Java 类。

提前致谢。

4

2 回答 2

1

下面是一个从 COBOL97 应用程序中启动 EXE 的示例程序。

查看http://www.netcobol.com/support/code-samples/中的CallEXE演示


当谈到微焦...

不能从 Micro Focus INT 或 GNT 调用 EXE,但您可以调用非大型机程序(MFE 中的 Micro Focus 方言)并向 DOS 发出 shell,然后从那里执行执行 EXE 的命令行或执行直接在 Micro Focus CALL 上传递的 EXE 文件(x'91' 功能代码 =35)。

此外,您将不会取回任何传递的参数,因为一旦 DOS shell 关闭,就无法返回任何参数。因此,获取参数的最佳方法是将它们写入文件。

我包含了一个示例程序,它显示了这个 x'91' FC=35 调用。如您所见,您可以直接执行批处理文件或命令或 EXE。

Working-Storage Section.

1  Cmd-Line-Str.

 2              Pic X(45)

  *      value 'RUN $IMSDIR\PCIMS RUNIMS BMP,DBUTIL,DEMO001T'.

  *      value 'run lorince'.

     value 'dir c:\ /o > d.d'.

2   N-1         Pic X Value Low-Value.

   1   Call-Func    Pic X Comp-X Value 35.

   1   Result       Pic X Comp-X.

   1   Cmd-Line-Len Pic X Comp-X Value 0.

   Procedure Division.

   P1.

   Display Cmd-Line-Str upon Command-Line

   Call x'91' using Result, Call-Func, Cmd-Line-Len

   If Result = Zeroes

      Display 'Call worked'

   End-If

    Goback.   

我希望这篇文章能给你更多的信息,我只有大型机知识,还没有尝试过上面的任何一个。

于 2014-03-03T22:15:16.493 回答
1

您发布的链接很好地解释了我们如何实例化一个 java 类。如果您关心参数,则使用参数构造函数编写 Java 类,并在从 Cobol 实例化类时传递参数。

如果您对 Java 类和 Java 程序感到困惑,那么您需要知道 Java 程序被编译成 .class 文件,您最多有包含 .class 文件的可执行 jar。但是对于 java,没有什么像 .exe 这样的。

于 2014-03-03T15:20:12.880 回答