DSLIST through REXX
Overview
A REXX routine that uses ISPF's LMDLIST function to generate a dataset listing comparable to the ISPF 3.4 interface, using only a high-level qualifier as input.
Complete REXX Code
/*REXX*/
/* AUTHOR - YOGESH (VNDJ29) OCTOBER 2007 */
/* THIS REXX ROUTINE USES LMDLIST FUNCTION (ISPF) TO CREATE */
/* A LIST OF DATASETS (SIMILAR TO 3.4 LIST) WITH THE HELP OF */
/* JUST HIGH LEVEL QUALIFIER. THE WILDCARD '*' CAN BE USED. */
/*-------------------------------------------------------------*/
/* THE DATASET LIST WILL BE WRITTEN TO VNDJ29.LIST.DATASETS */
/*-------------------------------------------------------------*/
ADDRESS ISPEXEC
DSNLEV = 'PA00.CP000000.CTAA*'
DONE = 'NO'
COUNT = 0
"LMDINIT LISTID("LSTID") LEVEL("DSNLEV")"
DO WHILE DONE = 'NO'
"LMDLIST LISTID("LSTID") OPTION(SAVE) GROUP(LIST) STATS(NO)"
COUNT = COUNT + 1
IF COUNT >= 1 THEN
DONE = 'YES'
ELSE NOP
END
"LMDLIST LISTID("LSTID") OPTION(FREE)"
/*REXX*/
Output
By default, results are written to USERID.LIST.DATASETS. To display results on-screen instead, change OPTION(SAVE) to OPTION(LIST):
"LMDLIST LISTID("LSTID") OPTION(LIST) DATASET(DSVAR) STATS(YES)"