SV: Re: get the DSCB with REXX.

2011-05-26 Thread Thomas Berg
   */
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.

2011-05-26 Thread Mark Zelden
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.

2011-05-26 Thread Thomas Berg
 -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.

2011-05-25 Thread Shmuel Metz (Seymour J.)
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.

2011-05-23 Thread MONTERO ROMERO, ENRIQUE ELOI
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.

2011-05-23 Thread Marco Gianfranco Indaco
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.

2011-05-23 Thread Binyamin Dissen
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.

2011-05-23 Thread Marco Gianfranco Indaco
: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.

2011-05-20 Thread MONTERO ROMERO, ENRIQUE ELOI
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.

2011-05-20 Thread Schwarz, Barry A
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.

2011-05-20 Thread Binyamin Dissen
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