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
  • DB: iSeries 6.1
4

2 に答える 2

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 に答える