SQLRPGLEプログラム内では、新しいレコードIDが割り当てられたレコードをコピーした別のファイルにレコードをコピーするためにステートメントを挿入する必要があります。私はこれらの手順に従って、そうするには :iSeries:SQLRPGLE SELECTステートメントの各レコードのプロシージャーを呼び出す方法
1)プロトタイプたびに
D ri_box12 PR 13S 0 D wkFileName 10A Value2と呼ばれる新しいレコードのIDを取得するための手順)は、動的SQL文
C EVAL SQL_STM='insert into PGMR46/STD05GR0F' C +' (select CART, CARV, ' C +%char(ri_box12('STD05GR0F')) C +' from arasso0f)' C/EXEC SQL C+ execute immediate :SQL_STM C/END-EXEC3を実行)
P ri_box12 B D ri_box12 PI 13S 0 D wkFileName 10A Value D wkID S 13S 0 C DOri_box12手順を定義しますポイントは、ri_box12は一度だけ呼び出されるため、すべてのコピーされたレコードは同じIDを持ちます。プログラムを複数回実行すると、新しいレコードIDを持つすべてのレコードが再度コピーされます。
** ...some instructions to give wkID a value C ENDDO C Return wkID P E
私は何が間違っていたのですか、何が欠けていますか?
非常に多く
私はちょうど私の手順は、SQL文の外に呼び出されたので、私はそれをやった方法が間違っていることに気づきました。ですから、可能であれば、SQLステートメント内で呼び出すことができる内部SQLRPGLEプロシージャーを定義する方法は正確にはわかりません。さもなければ、私は別の何かをするべきだと思う。何か助けてくれてありがとう – user8444