当前位置: 首页 > 知识库问答 >
问题:

从Cobol调用Java程序

韦繁
2023-03-14

我正在尝试与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个答案

张宝
2023-03-14

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

如果你对Java类和Java程序感到困惑,那么你需要知道Java程序最多被编译成. class文件,你有包含. class文件的可执行罐。但是没有什么比. exe更适合java。

谭志用
2023-03-14

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

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

说到微焦点。。。

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

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

我包括一个示例程序,显示这个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.   

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

 类似资料:
  • 快速免责声明:我是一个。Net开发人员,可能没有提供您需要的有关环境的所有信息,但可以根据要求获取信息。我们有COBOL程序员,但他们从来没有这样做过。 我们正在将带有DB2数据库的大型机应用程序转换为。Net MVC应用程序和SQL数据库。我们希望从DB2上的COBOL存储过程调用一个大型机COBOL批处理程序。我读过这篇文章,但是我还没有找到一个好的例子来说明如何创建一个调用COBOL程序的C

  • 编译COBOL程序 为了使用JCL以批处理模式执行COBOL程序,需要编译程序并使用所有子程序创建加载模块。 JCL在执行时使用加载模块而不是实际程序。 在使用JCLLIB或STEPLIB执行时,将加载库连接并提供给JCL。 有许多主机编译器实用程序可用于编译COBOL程序。 一些公司公司使用像Endevor这样的变更管理工具,它可以编译和存储程序的每个版本。 这在跟踪对程序所做的更改时很有用。

  • 问题内容: 我想从Java应用程序调用Servlet。问题是,该调用似乎未到达Servlet。我没有收到任何错误,但是没有到达Servlet中的第一个输出“ doPost”。如果我在Web浏览器中打开URL,我当然会得到如下错误:不支持GET等。但是至少我知道发生了一些错误。 我使用以下代码(ActionPackage类仅包含一个Vector参数,并且可序列化): Java应用程序: Servle

  • 问题内容: 我有一个用c#创建的dll,在调用时会执行一些数据库操作。我必须将一些参数从Java应用程序传递到dll中的方法。关于如何执行此操作的任何想法。 要么 通过Java应用程序在c#中调用方法的更好的主意吗? 谢谢 编辑:我的Java应用程序是AVAYA平台的标准Dialogue Designer应用程序,并且我已经开发了一个仅在.net SDK上工作的C#应用​​程序。所以我需要将数据从

  • 问题内容: 我需要从PowerShell调用Java程序(jar文件)。以下代码有效: 但是我需要在一个过程中运行该应用程序(使用)。 我正在尝试以下成功: 错误: 知道如何解决吗? 问题答案: 您将需要为Powershell使用以下格式: 或者您可以使用的其他选项是Start-job: