1

我试图在我的 iSeries 系统(RPG 程序)上调用存储过程,但我无法激活“工具”->“生成器”下的相应菜单Java

我要调用的 RPG 程序(我们将其命名为 RPG00)有 5 个输入参数和 1 个输出值。

我执行了以下操作:

  • object创建一个名为“ RPG00 ”的“外部”(类型:存储过程)
  • 在上面的外部对象中创建一个名为“ RPG00 ”的方法,并将“外部名称”属性设置为“ RPG00
  • Web Panel使用变量 &test (类型:外部对象RPG00 )创建一个并使用正确的参数调用它
  • 在 iSeries 数据存储配置中更改以下设置:
    • "访问技术设置" --> JDBC
    • “外部存储过程列表”--> RPG00

此时,如果我尝试构建KB,它总是会出错。在项目文件夹中,我找不到“ crtjdccalls.java”文件和存储存储过程指令的相应“类”文件。

怎么了?任何想法?有什么建议吗?“Java 生成器”菜单中的相应元素永远不会出现!!

我的配置:

  • Gx Ev2 U5
  • 环境:Web\Java
  • 数据库:iSeries 6.1
4

2 回答 2

1

我认为您忘记使用找到 RPG 程序 RPG00 的库的名称设置数据存储属性 (JDBC)“库列表”。

检查这一点并全部重建。

问候,路易斯。

于 2014-07-22T15:19:33.047 回答
0

感谢 Genuxs 开发团队,我找到了解决方案!该问题与将参数传递给存储过程的方式有关。

记住:

  • 您不能使用 SDT 元素作为输入参数
  • 您不能使用直接值作为输入参数
  • 您只能使用变量!!!

例如

SDT.value1, SDT.value2
&variable1 = SDT.value1
&variable2 = SDT.value2
&RPG00.RPG00(SDT.value1, SDT.value2, ecc) --> ERROR
&RPG00.RPG00(&variable1, XXX, ecc) --> ERROR where XXX is for example an integer value
&RPG00.RPG00(&variable1, &variable2, ecc) --> ONLY VARIABLES WORK FINE!!

希望这对其他人有帮助

于 2014-08-05T09:16:21.600 回答