Hi Folks,

I just experimented with an undocumented way to do UCB lookups that works. The advantage of the method is that you can do a full scan of all defined UCBs and get the REAL UCBs and their associated DCE (DASD CLASS EXTENSION) (the REAL ones), without being APF-authorized and without needing a big workarea. This method is used in SHOWzOS (CBT File 492). Look in the SHOWzOS source for the word ULUT (which means UCB Lookup Table - there still really is one). Gilbert Saint-flour, of blessed memory, did the research and "nosing around" that was necessary to uncover this technique.

To see a useful example of this technique, please download File 731 from the Updates page of www.cbttape.org and assemble and fire up the TSO command called UCBDASD. The output of UCBDASD is done in PUTLINE format so it can be captured and displayed under ISPF, using the included TSOV, TSOE, TSOB, and TSOR rexx execs. You'll like what you see. None of this stuff is APF-authorized. I tried to document what is happening, in the UCBDASD source code, so you can see the technique at work. If you look at the storage around displayed UCB and DCE addresses for each DASD volume using the LOOK fullscreen storage-browser TSO command from CBT File 264, you'll see MUCH more detail about what can be displayed. These are REAL UCBs and DCEs, not copies. No authorization necessary. Mucho cool.

A couple of days ago, a friend of ours fixed the old PACKRAT (dataset scratching fullscreen) TSO command to work under z/OS (CBT File 046). PACKRAT had broken after the OS/390 2.10 level, and didn't work anymore on z/OS 1.1, because of its UCB scan in the BACKEND module of PACKRAT. Our friend fixed PACKRAT by using the UCBSCAN macro in the BACKEND module, but just for kicks, I was able to fix it a different way using this method of using the ULUT (UCB Lookup Table). See File 046 on the UPDATES page of www.cbttape.org for the results.

UCBDASD was tested back to ESA 5.2.2 and forward to z/OS 1.13. So you see that the technique is pretty stable. The format of the ULUT changed (from type 1 to type 2) at z/OS 1.7, but if you account for the difference (UCBDASD does it - see the code), everything is transparent.

   Macros:  IEFUCBOB from Maclib, IECDDCE from Modgen.

   Have fun......

   All the best.......

Sam

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to