Retrieving the Relative Record Number
Q: In an RPG program, how do I retrieve the relative record number (RRN) of a record read using a keyed file? The file being read is a logical with duplicate keys allowed. After loading the records into a subfile in key sequence, I want to select a record for update. In order to grab the correct record, I thought I would write out the RRN to the subfile in a hidden field. Where can I find the RRN?
A: The relative record number of a database record in an RPG program is in binary form in positions 397 to 400 of the INFDS. If the RPG compiler requests blocking, then the INFDS will be updated only when a block of records is read. You may need to prevent your program from reading blocks of records in order to get the RRN for each read. You can do this by specifying SEQONLY(*YES 1) on the Override Database File (OVRDBF) command.
LATEST COMMENTS
MC Press Online