/* REXX ***************************************************************/ /* -------------------------------------------------------------------*/ /* Name: WHOHOLDS */ /* Short Who holds a dataset (i.E. by Edit) */ /* Type: REXX-Function */ /* Author: Norbert Haas */ /* Input: DSN */ /* Output: User-Id */ /* Syntax: x = WHOHOLDS(dsn) */ /* Parameter: dsn = Dataset */ /* Remark: Needs Macro MCANCEL */ /* */ /* Version Author Date Why */ /* ------- ------------- ---------- --------------------------------- */ /* V01.00 N.Haas 06.01.2003 Creation */ /**********************************************************************/ /* Get dsn */ PARSE UPPER ARG dsn /* full qualified ? */ IF LEFT(dsn,1) /= "'" THEN dsn = "'"dsn IF RIGHT(dsn,1) /= "'" THEN dsn = dsn"'" /* Try to open with edit (maybe it doesn't work) */ "ISPEXEC EDIT DATASET("dsn") MACRO(MCANCEL)" IF rc = 14 THEN DO /* This systemvar contains the userid, that holds the dataset */ "ISPEXEC VGET zenqlist PROFILE" /* Fisrt char is x'02', delete it */ uid = SUBSTR(zenqlist,2) END ELSE uid = '*NONE*' EXIT uid