%RECNUM

Return the number of the last record processed

WSupported on Windows
USupported on Unix
VSupported on OpenVMS
NSupported in Synergy .NET
last = %RECNUM(channel)

Return value

last

The number of the last record processed on channel. If no operation has occurred on the file, %RECNUM returns a value of zero. (i)

Arguments

channel

The channel to check for the last record processed. (n)

Discussion

%RECNUM is valid for any non-ISAM file, but it is only updated on a successful I/O operation.

Encountering end of file does not change the value of %RECNUM. When you encounter end of file, you can use %RECNUM to get back to the last record that was processed.

Note

%RECNUM is not updated on a FIND because FIND does not transfer data.

Examples

The following function returns the number of records in a file.

function numrecs 
   a_data       ,a 
   a_chn        ,d 
proc 
   read(a_chn, a_data, ^last) 
   freturn %recnum(a_chn) 
endfunction