2

私は3つのステップを持つアプリケーションエンジンを持っています:1)ピープルコード(モデルユーザー設定をロード)2)選択とピープルコード(モデルユーザー設定をユーザーリストの設定にコピー)3)ピープルコード(最終結果をログに追加)

2番目のステップのpeoplecodeアクションは、「doselect」アクションによって取得されたユーザーごとにループで実行されます。

すべてのレコードと値が正しい場合、プログラムは正しく実行されます。しかし、エラーが発生した場合にテストしようとしています。この場合、問題が発生します。

2番目のステップ内のピープルコードで&CompInt.Save()を使用してデータベースにすでに存在する値を挿入しようとすると、次のエラーが表示されます。

追加されるデータは、既存のデータと競合します。(18,2)

コンポーネントインターフェイスの保存中にエラーが発生しました。{Z09_CI_OPR_DEFN}(91,37)

プロセス18256はステップZ09_USERPREF.MAIN.Step02(PeopleCode)で異常終了しました-RC =?(108,524)メッセージセット番号:108メッセージ番号:524メッセージ理由:プロセス18256がステップZ09_USERPREF.MAIN.Step02(PeopleCode)で異常終了しました-RC =?(108,524)

問題は、その後、2番目のステップ内のピープルコードが実行を終了しますが、「doselect」アクションによって取得された次の値に対してそのピープルコードの反復が実行されないことです。正しい動作ではエラーが表示され、次の反復を続行する必要があります。

誰かが何が起こっているのか知っていますか?2番目のステップのOnerrorパラメーターは、「Ignore」に設定されています。

4

1 に答える 1

2

CIエラーによってSQLカーソルが破壊された可能性があります。別のdoselectステップではなく、データを行セットにロードし、2番目のステップに1つのpeoplecodeステートメントを含める方がよいでしょう。コード例を投稿できれば、より良い提案を提供する方が簡単です。

于 2011-11-30T09:15:00.610 に答える