SV: Re: get the DSCB with REXX.
*/ 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 */ If a ''xThen , /* Check open DCB count */ Call SET_FLAGS 1, 'O' Else , Call SET_FLAGS 1, '-' Call SET_FLAGS pe, 'P', '-' Call SET_FLAGS dy, 'D', '-' Call SET_FLAGS gm, 'C', '-' Call SET_FLAGS vl, 'L', '-' Call SET_FLAGS vi, 'V', '-' Call SET_FLAGS op, 'O', '-' Call SET_FLAGS xt, 'X', ' ' Call SET_FLAGS 1, ' ' Call SET_FLAGS is, 'IS ' Call SET_FLAGS ps, 'PS ' Call SET_FLAGS da, 'DA ' Call SET_FLAGS po, 'PO ' Call SET_FLAGS cx, 'CLG ' Call SET_FLAGS cq, 'DMQ ' Call SET_FLAGS mq, 'PMQ ' Call SET_FLAGS gs, 'GO ' Call SET_FLAGS tx, 'TLG ' Call SET_FLAGS tq, 'TMQ ' Call SET_FLAGS vs, 'VS ' Call SET_FLAGS tr, 'T37 ' Call SET_FLAGS un, 'UN ' alc.i = alc.i Left(flags,12) Leave End End /* If all found we start from this ptr next iteration of the loop:*/ If d = divalThen dsabptr = d + 4 End tiotptr = tiotptr+tioelen/* Get next entry */ tioelen = C2d(STG(tiotptr,1))/* Get entry length */ End alc.0 = i END_GET_ALLOCATED_DATASETS: Return - And the other called routines: /**/ SET_FLAGS: Procedure Expose v. f. z flags IfArg(1) Then Do flags = Overlay(Arg(2),flags,v.0p) v.0p = v.0p + Length(Arg(2)) End Else If Arg(3) ^== '' Then Do flags = Overlay(Arg(3),flags,v.0p) v.0p = v.0p + Length(Arg(3)) End END_SET_FLAGS: Return /**/ PTR: Return C2d(Storage(D2x(Arg(1)),4)) /* Return a pointer */ /*---*/ STG: Return Storage(D2x(Arg(1)),Arg(2)) /* Return storage */ /*---*/ GET_SWAREQ: Procedure Expose a. If Right(C2x(Arg(1)),1) 'F' Then /* SWA=BELOW ? */ Return C2d(Arg(1)) + 16/* YES, Return SVA+16 */ sva = C2d(Arg(1)) /* CONVERT TO DECIMAL */ tcb = PTR(540) /* TCB PSATOLD */ jscb = PTR(tcb + 180) /* JSCB TCBJSCB */ qmpl = PTR(jscb + 244) /* QMPL JSCBQMPI*/ qmat = PTR(qmpl + 24) /* QMAT QMADD */ Do While sva 65536 qmat = PTR(qmat + 12) /* NEXT QMAT QMAT+12*/ sva = sva - 65536 /* 010006F - 06F */ End END_GET_SWAREQ: Return PTR(qmat + sva + 1) + 16 Regards, Thomas Berg _ Thomas Berg Specialist A M SWEDBANK -Ursprungligt meddelande- Från: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] För MONTERO ROMERO, ENRIQUE ELOI Skickat: den 23 maj 2011 12:13 Till: IBM-MAIN@bama.ua.edu Ämne: Re: get the DSCB with REXX. Hi, These is the data we get thru the assembler macro : SALIDA DS0CL141 SAVOLDSCL6 VOLUME SAUNIT DSCL8 UNIT (3350,3330V,TSODA,... SADSNDSCL44DSNAME SAORGDSCL2 ORG (PO,PS,VS,...) SARECFM DSCL3 RECORD FORMAT (F,V,U,S,B,...) SALRECL DSCL3 LRECL SABLKDSCL3 BLKSIZE SAEXTDSCL2 OCUPIED EXTENTS SASECDSCL1 SECONDARY SPACE ? *=YES SATRKDSCL3 USED TRACKS SATPCDSCL2 OCUPIED
Re: SV: Re: get the DSCB with REXX.
On Thu, 26 May 2011 14:13:32 +0200, Thomas Berg thomas.b...@swedbank.se wrote: I'm using this subroutine in rexx for *allocated* datasets (partly stolen from Doug Nadel): snip --*/ GET_SWAREQ: Procedure Expose a. If Right(C2x(Arg(1)),1) 'F' Then /* SWA=BELOW ? */ Return C2d(Arg(1)) + 16/* YES, Return SVA+16 */ sva = C2d(Arg(1)) /* CONVERT TO DECIMAL */ tcb = PTR(540) /* TCB PSATOLD */ jscb = PTR(tcb + 180) /* JSCB TCBJSCB */ qmpl = PTR(jscb + 244) /* QMPL JSCBQMPI*/ qmat = PTR(qmpl + 24) /* QMAT QMADD */ Do While sva 65536 qmat = PTR(qmat + 12) /* NEXT QMAT QMAT+12*/ sva = sva - 65536 /* 010006F - 06F */ End END_GET_SWAREQ: Return PTR(qmat + sva + 1) + 16 And Doug borrowed SWAREQ from Gilbert Saint-Flour. :-) Mark -- Mark Zelden - Zelden Consulting Services - z/OS, OS/390 and MVS mailto:m...@mzelden.com Mark's MVS Utilities: http://www.mzelden.com/mvsutil.html Systems Programming expert at http://expertanswercenter.techtarget.com/ -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
SV: SV: Re: get the DSCB with REXX.
-Ursprungligt meddelande- Från: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] För Mark Zelden Skickat: den 26 maj 2011 14:38 Till: IBM-MAIN@bama.ua.edu Ämne: Re: SV: Re: get the DSCB with REXX. On Thu, 26 May 2011 14:13:32 +0200, Thomas Berg thomas.b...@swedbank.se wrote: I'm using this subroutine in rexx for *allocated* datasets (partly stolen from Doug Nadel): snip --*/ GET_SWAREQ: Procedure Expose a. If Right(C2x(Arg(1)),1) 'F' Then /* SWA=BELOW ? */ Return C2d(Arg(1)) + 16/* YES, Return SVA+16 */ sva = C2d(Arg(1)) /* CONVERT TO DECIMAL */ tcb = PTR(540) /* TCB PSATOLD */ jscb = PTR(tcb + 180) /* JSCB TCBJSCB */ qmpl = PTR(jscb + 244) /* QMPL JSCBQMPI*/ qmat = PTR(qmpl + 24) /* QMAT QMADD */ Do While sva 65536 qmat = PTR(qmat + 12) /* NEXT QMAT QMAT+12*/ sva = sva - 65536 /* 010006F - 06F */ End END_GET_SWAREQ: Return PTR(qmat + sva + 1) + 16 And Doug borrowed SWAREQ from Gilbert Saint-Flour. :-) Mark Oh. So Gilbert still have it ? :D Regards, Thomas Berg _ Thomas Berg Specialist A M SWEDBANK -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: get the DSCB with REXX.
In a625c752b9c1fc47aaa52c6d3e58f919cc3f07b...@s1128expm115.bbva.igrupobbva, on 05/20/2011 at 01:36 PM, MONTERO ROMERO, ENRIQUE ELOI enriqueeloi.mont...@servifactory.com said: Is there some way to get DSCB information using REXX.? LISTDSI will give you some. It's ugly, but you could parse the output of LISTDS. -- Shmuel (Seymour J.) Metz, SysProg and JOAT ISO position; see http://patriot.net/~shmuel/resume/brief.html We don't care. We don't have to care, we're Congress. (S877: The Shut up and Eat Your spam act of 2003) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: get the DSCB with REXX.
Hi, These is the data we get thru the assembler macro : SALIDA DS0CL141 SAVOLDSCL6 VOLUME SAUNIT DSCL8 UNIT (3350,3330V,TSODA,... SADSNDSCL44DSNAME SAORGDSCL2 ORG (PO,PS,VS,...) SARECFM DSCL3 RECORD FORMAT (F,V,U,S,B,...) SALRECL DSCL3 LRECL SABLKDSCL3 BLKSIZE SAEXTDSCL2 OCUPIED EXTENTS SASECDSCL1 SECONDARY SPACE ? *=YES SATRKDSCL3 USED TRACKS SATPCDSCL2 OCUPIED PERCENT SAFECDSCL3 CREATION DATE SAPASS DSCL1 PASSWORD PROTECTED SARACF DSCL1 RACF PROTECTED SAINDUPD DSCL1 UPDATE OPEN FLAG SAFECREF DSCL3 LAST REFERRED DATE SASECTPC DSCL4 SECONDARY ASIGNED TYPE-QTY SAFECEXP DSCL3 EXPIRATION DATE SAVOLSQ DSCL4 VOLSEQ SARESDSCL20RESERVED SAUCBDSCL4 UCB ADDR SADIRBLK DSCL3 DIRECTORY BLOCKS (PO) SAOCUPA DSCL3 VOLUME OCUP % SATPDIS DSCL3 TRACK SIZE IN DEV SAERRDSCL10ERRORS Also i have been looking for the REXX LISTDSI, maybe it could help me to obtain some of these values. Best regards Enrique Montero -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: get the DSCB with REXX.
Hi. LISTDSI works only under TSO, if you want to trap same msgs(and more) you can also use Storage function to surf MVS Data Area with swareq pointing to jfcb and subfields. Used properly allows a perfect usage of jcl info. Regards, Marco -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: get the DSCB with REXX.
On Mon, 23 May 2011 15:23:37 +0200 Marco Gianfranco Indaco mgind...@gmail.com wrote: :Hi. :LISTDSI works only under TSO, if you want to trap same msgs(and more) you :can also use Storage function to surf MVS Data Area with swareq pointing to :jfcb and subfields. JFCB does not contain much of the DSCB. :Used properly allows a perfect usage of jcl info. -- Binyamin Dissen bdis...@dissensoftware.com http://www.dissensoftware.com Director, Dissen Software, Bar Grill - Israel Should you use the mailblocks package and expect a response from me, you should preauthorize the dissensoftware.com domain. I very rarely bother responding to challenge/response systems, especially those from irresponsible companies. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: get the DSCB with REXX.
:JFCB does not contain much of the DSCB. Sorry, more than LISTDSI, of course. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
get the DSCB with REXX.
Hi, Now i have a REXX question. Is there some way to get DSCB information using REXX.? I know in assembler the UCBSCAN can be used, but i need to get the same information using REXX instead of Assembler. Best regards and happy weekend Enrique Montero -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: get the DSCB with REXX.
What information are you looking for? There are some built in functions that may provide what you want. -Original Message- From: IBM Mainframe Discussion List [mailto:IBM-MAIN@bama.ua.edu] On Behalf Of MONTERO ROMERO, ENRIQUE ELOI Sent: Friday, May 20, 2011 4:37 AM To: IBM-MAIN@bama.ua.edu Subject: get the DSCB with REXX. Hi, Now i have a REXX question. Is there some way to get DSCB information using REXX.? I know in assembler the UCBSCAN can be used, but i need to get the same information using REXX instead of Assembler. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: get the DSCB with REXX.
On Fri, 20 May 2011 13:36:55 +0200 MONTERO ROMERO, ENRIQUE ELOI enriqueeloi.mont...@servifactory.com wrote: :Now i have a REXX question. For TSO-REXX subscribe / signoff / archive access instructions, send email to lists...@vm.marist.edu with the message: INFO TSO-REXX :Is there some way to get DSCB information using REXX.? :I know in assembler the UCBSCAN can be used, but i need to get the same information using REXX instead of Assembler. What kind of DSCB info do you get via UCBSCAN? -- Binyamin Dissen bdis...@dissensoftware.com http://www.dissensoftware.com Director, Dissen Software, Bar Grill - Israel Should you use the mailblocks package and expect a response from me, you should preauthorize the dissensoftware.com domain. I very rarely bother responding to challenge/response systems, especially those from irresponsible companies. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html