©
serviceprofessionalgmbh
Mit dem folgenden Programm kann eine Liste von Dateinamen ermittelt werden. Die Suchqualifier können nach den Regeln
wie unter ISPF-DSLIST-Utility (3.4) teilqualifiziert mit Wildcards angegeben werden. Das RETURN-Ergebnis ist eine Wortkette mit
Dateinamen.
Wird der Funktion neben dem Suchkriterium als zweiter Parameter MITVOL mitgegeben, steht in der Wortkette jeweils
hinter einem Dateinamen der Name des Datenträgers, auf dem er sich befindet. Ist eine Datei von HSM ausgelagert, wird an Stelle
des Volumes ein Hinweis auf Migration ausgegeben (Migrate-1 oder Migrate-2).
/* REXX * DLST$E ******************************************************
* *
* Funktion: Ermittelt alle Dateinamen zu einem bestimmten Qualifier *
* und liefert abhaengig vom Parameter zurueck: *
* PARM___ WORTKETTE______________________________________ *
* keine dsn dsn ... *
* MITVOL dsn vol dsn vol ... (ggfls Migrate-?) *
* *
** REXX **************************************************************/
parse source . PGMTYP PUAKTCMD .
address ispexec
"control errors return"
if PGMTYP = "FUNCTION" then arg QUALIFIER,PARM,DUMMY
else arg QUALIFIER PARM DUMMY
PULSTCMD = PUAKTCMD
PUAKTRC = 0
PULSTRC = 0
/*********************************************************************
* Gefundene DSNs werden als Wortkette in FOUND_DSN fortgeschrieben *
*********************************************************************/
FOUND_DSN = ""
"lmdinit listid(LID) level("QUALIFIER")"
"lmdlist listid(&LID) dataset(SUCHDSN) stats(YES)"
do while RC = 0
if ZDLVOL <> "*ALIAS" then do
FOUND_DSN = FOUND_DSN SUCHDSN
if PARM = "MITVOL" then do
if ZDLVOL = "MIGRAT" then do
DMY = outtrap(LISTC.)
address tso "listc entry('"SUCHDSN"') ALL"
DMY = outtrap("OFF")
parse value word(LISTC.11,2) with . "'" HEX_STR "'"
if HEX_STR = "78048083" then ZDLVOL = "Migrate-2"
else ZDLVOL = "Migrate-1"
end
FOUND_DSN = FOUND_DSN ZDLVOL
end
end
"lmdlist listid(&LID) dataset(SUCHDSN) stats(YES)"
end
"lmdfree listid(&LID)"
PULSTERG = FOUND_DSN
"vput (PUAKTCMD PULSTCMD PULSTMSG PULSTERG)"
if PGMTYP = 'COMMAND' then exit
return strip(PULSTERG)
zurück zu REXX mit Dialog Manager