RPGでレコードロックを行う方法はCHAINすればうまくできるのはわかっていますがREAD の場合ロックされている1件前のデータが表示されます。READの場合はロックされているレコード情報を取得できないのでしょうか?コーデイングは下記のようにしています。C @READ TAG C SETOF 96 レコードロック 検査用 C READ JM01PF 9699 C 99 GOTO @END C *IN96 IFEQ '1' C MOVE JAUK# P#UK# C MOVELCPFMSG P#CPF C CALL 'RCDLK01C'PRLKC1 C GOTO @READ C ENDIF JAUK#の値は ロックされている1件前の情報になります
レコード・ロックされているレコードの情報(レコードの中身:フィールド値)は読めません。もし読むことができればロックされていないことになります。ロックされているので(更新モード)では読むことはできませんが読み取りモードで別ファイルの定義としてオープンすれば読むことはできます。ロックされているレコードのRRNを読み取って、読取りモードで RRN でCHAIN するなど処理はやや面倒になりますが。
回答有難うございました。ロックされているデータの項目を取得できると思っていたのが間違っていたようです。対策として プログラム状況データ構造の91- 170 桁目の検索された例外データの情報を使います。有難うございました。