RPG

521. SFLレコードのRRNを取得する方法(2)

カーソルがセットされているSFLレコードのRRNを
取得する方法を紹介する。
先に(1)で紹介した古典的な方法では
利用が大変であるがここに紹介する新しい方法であれば
アッと言う間にできてしまう。
_

041.00      A          R SFREC01                   SFL                      
042.00      A                                      TEXT(' SFLレコード ') 
043.00      A  20                                                           
044.00      AO 99                                  SFLNXTCHG                
 :
0072.00      A          R SFCTL01                   SFLCTL(SFREC01) 
 :
0100.00      A                                      SFLCSRRRN(&RELRCD)
 :
0141.00      A            RELRCD         5S 0H 

[解説]

DSPFソースのSFLコントロールで

SFLCSRRRN(&RELRCD) を定義しておいて

RELRCD 5S 0H という変数も定義しておけば
この RELRCDという変数にカーソルが位置づけられているRRNが
代入される。
前の(1)の方法に比べるとはるかに簡単である。
ただし RELRCDは必ず5桁の数字でなければならない。
カーソルがSFLレコードに位置付けられていない場合は
RELRCDには値=0が入る。