RW_RPTLIST
WSupported on Windows
|
USupported on Unix
|
VSupported on OpenVMS
|
|
xcall RW_RPTLIST(channel, array, [start], [end], names_req, [#names], [filename][, sts])
Arguments
channel
Returned with the channel number of the open report definition file. (d2)
array
Returned with the array of report names. (a40)
start
(optional) Contains the name at which to start. (a40)
end
(optional) Contains the name at which to end. (a40)
names_req
The number of report names requested. (d4)
#names
(optional) Returned with the number of report names. (d4)
filename
(optional) The name of the report definition file to open. (a64)
sts
(optional) The error status: (d1)
0 = Success
1 = Failure
Discussion
RW_RPTLIST returns a list of report names from the specified report definition file. If no report definition file is specified, RPTDAT:reports.rpt, is used. RW_RPTLIST returns as many report names as are found or as are requested, whichever occurs first. The actual number of names in the array can be returned in #names.
Channel must be 0 on the first call to this routine, so the report definition file is opened. The report definition file is closed when either the end of file or an error condition occurs, or when names_req is 0.
You can specify a wildcard character (*) in your start value to return only the reports that start with a specific string (for example, only the reports that start with “ACCT”).
Array must be an arrayed variable. |
Examples
Let’s assume the following data division.
record names ,20a40 ;Array for report names ct ,d2 ;Return count sts ,d1 ;Error status returned
This call would get the first 10 report names.
xcall rw_rptlist(chn, names,,, 10, ct,, sts)
This call would get the next 10 report names.
xcall rw_rptlist(chn, names, names[10],, 11, ct,, sts)
This call would get all reports (maximum of five) that start with “ACCT” from the report definition file myrpt.rpt.
xcall rw_rptlist(chn, names, "ACCT*",, 5, ct, "myrpt.rpt", sts)