Hi,
I have a rexx that extract info about allocations from current memory. I.
e. it works outside TSO. (I haven't used it in 8 years so YMMV...)
If you are interested I can send it to you.
Extract from desc text:
/* REXX
------------------------------------------------------------------------
Name: EFQALLOC
Type: TSO REXX Function
Function: Returns information about current allocations.
Partially based on code stolen from Doug Nadel.
Syntax: EFQALLOC( < sel <, < options > <, output >>>)
sel Selection criteria in the form of a mask or a
complete DD- or DSname.
(If 'sel' is longer than 8 bytes or contains a '.'
it is supposed it's a DSname else that it's a
DDname.)
options Format or/and sort order of the result.
Could be: SORT SORTDD SORTDS SORTVOL SORTFLAG DD DSN
VOL FLAG ONLYDD ONLYDS ONLYVOL ODD ODS OVOL DELDUPL
output Indicates where the output should be sent.
- If empty and 'sel' is specified with one distinct
DDname it's returned as a result if called as a
function or subroutine.
- If 'RETURNVALUES' or an abbreviation thereof is
specified it's returned as a result if called as a
function or subroutine. In this case the resulting
rows (if more than one) is delimited by ';' or as
specified as a second parm after 'RETURNVALUES'.
Example: res = EFQALLOC(,,'RETURN /')
- Otherwise if empty or 'S' or 'STACK' or
'DATASTACK' it's written to the datastack.
- Otherwise if not empty it's written to that
DDname, or if a DSname, to that DS.
Exempel: rcode = EFQALLOC('ISP*','SORT DD','SYSUT2')
rcode = EFQALLOC('ISPPROF')
rcode = EFQALLOC()
----------------------------------------------------------------------
Availible info:
Parse Value X2b(C2x(c)) With ,
is 2 , /* DSABIS INDEXED SEQUENTIAL ORGANIZATION */
ps 3 , /* DSABPS PHYSICAL SEQUENTIAL ORGANIZATION*/
da 4 , /* DSABDA DIRECT ACCESS ORGANIZATION */
cx 5 , /* DSABCX COMMUNICATIONS LINE GROUP */
cq 6 , /* DSABCQ DIRECT ACCESS MESSAGE Queue */
mq 7 , /* DSABMQ PROBLEM PROGRAM MESSAGE Queue */
po 8 , /* DSABPO PARTITIONED ORGANIZATION */
un 9 , /* DSABU UNMOVEABLE */
gs 10 , /* DSABGS GRAPHICS ORGANIZATION */
tx 11 , /* DSABTX TCAM LINE GROUP */
tq 12 , /* DSABTQ TCAM MESSAGE Queue */
13 , /* * */
vs 14 , /* DSABAM VSAM */
tr 15 , /* DSABTR TCAM 3705 */
. 16 , /* * */
. 17 , /* * */
dy 18 , /* DSABDALC DYNAMICALLY ALLOCATED */
pe 19 , /* DSABPALC PERMANENTLY ALLOCATED ATTRIBUTE */
dv 20 , /* DSABDCNV DYNAMICALLY CONVERTED */
cv 21 , /* DSABCONV CONVERTIBLE ATTRIBUTE */
dc 22 , /* DSABDCAT DYNAMICALLY CONCATENATED */
pc 23 , /* DSABPCAT PERMANENTLY CONCATENATED */
gm 24 , /* DSABCATM CONCATENATED GROUP MEMBER */
iu 25 , /* DSABNUSE IN-USE ATTRIBUTE */
op 26 , /* DSABOPEN DATA SET HAS BEEN OPENED */
rm 27 , /* DSABIRM D.S. REVERSED MERGED FOR INPUT */
uc 28 , /* DSABUNAL UNALLOCATE When CLOSED */
vl 29 , /* DSABVLF VIRTUAL LOOKASIDE FACILITY */
ch 30 , /* DSABJCHG DSNAME OR VOLSER CHANGED IN */
ni 31 , /* DSABNODI When = 1, no dataset integrity */
. 32 , /* DSABATCT Use alternate TCTIOT offset */
. 33 , /* * */
df 34 , /* DSABDEFR DEFERRED MOUNTING */
pa 35 , /* DSABPASS PASS/RETAIN IND */
vi 36 , /* DSABVAM VIO DATA SET */
vr 37 , /* DSABVMSC VIO PAGING SPACE RELEASED */
ca 38 , /* DSABCATL DATA SET IS A CATALOG */
js 39 , /* DSABJSCT JOBCAT OR STEPCAT DATA SET */
vv 40 , /* DSABVVDS VVDS - ICF CATALOG */
xt 41 , /* DSABTIOX DSAB HAS XTIOT ENTRY */
cd 42 , /* DSABCKDS THIS IS A CHECKPT DATA SET */
sv 43 , /* DSABCKVL VOLUME CONTAIN CKPT DS IS SECURE*/
si 44 , /* DSABCKSI SECURITY INTERF. XIST F CKPT DS */
hi 45 , /* DSABHIER HIERARCHICAL FILE INDICATOR */
an 46 , /* DSABGANM ALTERNATE NAME SECTION GETMAINED*/
la 47 , /* DSABLCAT LAST DATASET IN DD CONCATENATION*/
. 48 , /* DSABAUCB Actual UCBs are to be used */
. 49 . /* DSABCASL DSAB TO BE COPIED INTO
Thomas
Den ons 21 aug. 2024 21:28Billy Ashton <
[email protected]> skrev:
> Hi all, I have a simple question, but my searches are eluding me (maybe
> I don't know what to ask for).
>
> In my Rexx program, before I try to do an EXECIO against it, I want to
> do something to make sure the DD statement is there and control the
> error. I tried ListDSI, but that only works on DASD files and not on
> instream (DD *) data.
>
> How can I test that I have the ABCXYZ DD statement allocated, if it is
> DD * or DD DATA? Likewise, how can I test for DD JKLMNO that is
> allocated to SYSOUT=* to be sure it is there (as I am writing via EXECIO
> to it)?
>
> Thank you and best regards,
> Billy Ashton
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
>
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN