我对 AS400 和 RPG 的了解非常有限 (0)。但是我们有一个迫切的需求,我们需要从一个 java 类中调用一个 RPG 程序。所以我发现我们可以通过JTOpen来实现。但我坚持声明 ProgramParameter 列表。我有以下关于 RPG 程序的信息
程序名称:ZM30000R 参数:Branch 7,0(数字)
账户类型 2(01-支票,02 储蓄)
帐号 20(字符)
错误代码 7(字符)DR/CR 指示符 1(字符 D,C)
但不知道什么是输入和输出。如何声明 ProgramParameter。我做了如下。我也无法测试,因为我没有与这些系统的连接。
// Create AS400 Text objects for the different lengths
// of parameters you are sending in.
AS400Text branchTxt = new AS400Text(7);
AS400Text accntTypeTxt = new AS400Text(2);
AS400Text accntNumberTxt = new AS400Text(20);
AS400Text errorCodeTxt = new AS400Text(7);
AS400Text DCIndicatorTxt = new AS400Text(1);
// declare and instantiate your parameter list.
ProgramParameter[] parmList = new ProgramParameter[5];
// assign values to your parameters using the AS400Text class to convert to bytes
// the second parameter is an integer which sets the length of your parameter output
parmList[0] = new ProgramParameter( branchTxt.toBytes(branch),7);
parmList[1] = new ProgramParameter( accntTypeTxt.toBytes(accntTypeTxt),2);
parmList[2] = new ProgramParameter( accntNumberTxt.toBytes(accntNumberTxt),20);
parmList[3] = new ProgramParameter( errorCodeTxt.toBytes(""),7);
parmList[4] = new ProgramParameter( DCIndicatorTxt.toBytes(indicator),5);
任何帮助都会非常有用。
谢谢并恭祝安康,
斯里尼瓦斯