从Cobol调用Java程序

时间:2014-03-03 14:49:09

标签: java cobol microfocus

我正在尝试与Java和Cobol进行沟通。我需要从Cobol调用Java程序(带参数)。

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

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

提前致谢。

2 个答案:

答案 0 :(得分:1)

您发布的链接非常了解我们如何即时创建java类。如果您关注参数,那么使用参数构造函数编写Java类,并在从Cobol实例化类时传递参数。

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

答案 1 :(得分:1)

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

检查CallEXE

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

说到 Microfocus ...

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

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

我正在包含一个显示此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.   
  

我希望这篇文章能为您提供更多信息,我只掌握大型机知识并且没有尝试上述任何一项。