我正在尝试与Java和Cobol进行沟通。我需要从Cobol调用Java程序(带参数)。
我从Microfocus阅读了一些文档: http://supportline.microfocus.com/documentation/books/nx40/dijafc.htm http://supportline.microfocus.com/documentation/books/nx40/dijaco.htm
但我没有找到真正的解决方案,因为我需要调用整个程序而不是Java类。
提前致谢。
答案 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.
我希望这篇文章能为您提供更多信息,我只掌握大型机知识并且没有尝试上述任何一项。