gpt4 book ai didi

java - JT400 ProgramCall 的 run() 方法未返回任何结果

转载 作者:行者123 更新时间:2023-12-01 17:16:11 25 4
gpt4 key购买 nike

我是 JT400 的新手。我试图通过 JT400 调用 AS400 中的测试程序。这是我的代码

public class TestRpg {

public static void main(String[] args){

try{

AS400 sys=new AS400("mydomain","username","password");

String number="asdf <= Return value from Java Input";
String lnsts="";
String amount="";
String lnofcd="";

AS400Text txt80 = new AS400Text(80);
AS400Text txt50 = new AS400Text(50);

ProgramParameter[] parmList = new ProgramParameter[4];

parmList[0] = new ProgramParameter( txt80.toBytes(number),80);
parmList[1] = new ProgramParameter( txt50.toBytes(lnsts),50);
parmList[2] = new ProgramParameter( txt80.toBytes(amount),80);
parmList[3] = new ProgramParameter( txt50.toBytes(lnofcd),50);


ProgramCall pgm = new ProgramCall(sys,"/QSYS.LIB/mylib.LIB/testrpg.PGM",parmList);

if (pgm.run()!=true) {
System.out.println("executed");
}else{
System.out.println("Output Data 0: " + (String)txt80.toObject( parmList[0].getOutputData() ) );
System.out.println("Output Data 1: " + (String)txt50.toObject( parmList[1].getOutputData() ) );
System.out.println("Output Data 2: " + (String)txt80.toObject( parmList[2].getOutputData() ) );
System.out.println("Output Data 3: " + (String)txt50.toObject( parmList[3].getOutputData() ) );
sys.disconnectService(AS400.COMMAND);
}

AS400Message[] messageList = pgm.getMessageList();
System.out.println(messageList.length);
for (int i=0; i < messageList.length; i++)
{
System.out.print ( messageList[i].getID() );
System.out.print ( ": " );
System.out.println( messageList[i].getText() );
}
sys.disconnectService(AS400.COMMAND);

}catch(Exception e) {
System.out.println(e.toString());
}
}

}

我调试了代码,执行后没有给出任何响应 pgm.run()。它甚至没有表现出任何异常。程序只是停留在 pgm.run() 并且不返回任何东西。

根据我收到的评论,我想包括我正在尝试处理的场景。在AS400中,当我们执行testrpg.pgm程序时,它会显示一个屏幕,其中有四个输入字段和一些用于执行操作的功能键。我的目的是从 JT400 调用该程序的 f2 功能键。我遵循的方法是正确的方法吗?请推荐我

最佳答案

所有程序调用都是批量发生的,因此您的程序很可能位于服务器上的 MSGW 中。使用 wrkactjob 找到它并调查它正在等待的消息,并给出适当的操作。

这通常是由于参数格式不正确造成的。

关于java - JT400 ProgramCall 的 run() 方法未返回任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22011018/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com