基本となるレコードの読み取りと、その前後のレコードの読み取りと
話を二つにわけて考えた方がよさそうです。
次のようなソースで試してみました。
RPGソース
FMT * ..... *. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7
***************** データの始め **************************************
0001.00 **---------------------------------------------------------------
0002.00 ** ID : RPG62
0003.00 ** NAME : CHAIN,READ,READP
0004.00 **---------------------------------------------------------------
0005.00 H Y-
0006.00 F*---------------------------------------------------------------
0007.00 FFILE1 IF E K DISK
0008.00 C*---------------------------------------------------------------
0009.00 C 'K3' CHAINFILE1R 99
0010.00 C DTA01 DSPLY
0011.00 C READ FILE1R 99
0012.00 C DTA01 DSPLY
0013.00 C 'K3' CHAINFILE1R 99
0014.00 C READPFILE1R 99
0015.00 C DTA01 DSPLY
0016.00 C SETON LR
0017.00 C RETRN
***************** データの終り **************************************
FILE1のデータ
*...+....1
K1DATA01..
K2DATA02..
K3DATA03..
K4DATA04..
K5DATA05..
K6DATA06..
K7DATA07..
K8DATA08..
K9DATA09..
実行結果
> CALL TESTLIB/RPG62
DSPLY DATA03..
DSPLY DATA04..
DSPLY DATA02..
結果:READとREADPだけでうまくいく。