About ULXL01
ULXL01 is an application written by Bill Godfrey in 1985 and later updated in 1991 for the MVS and ISPF products of that time. ULXL01 exhibits available disk space information using four panel displays (including a HELP panel) and a dialogue driver (similar to a TSO Command Processor) executing under ISPF.
ULXL01 traverses the requested DASD volume VTOC DSCBs to obtain space, extent and device information and renders such information to the user. As written, ULXL01 supports Indexed VTOCs and MVS/XA extensions which are not supported in the public domain 24-bit OS, MVS 3.8J!
Bill’s ULXL01 application contribution can be found in various CBT tapes at CBTTAPE.ORG, specifically, in tapes FILE088 (CBT088.zip), FILE161 (CBT161.zip), and FILE168 (CBT168.zip). The version used in this post is from FILE161, version, 1.1, dated 1991.
Below is a screen capture from XiFrame XMI Explorer with the ULX* members in FILE161.XMI (CBT version 495) contained in CBT161.zip from CBTTAPE.ORG:
Referring to the above FILE161.XMI snippet, the component inventory for the ULXL01 suite is:
– ULXDOC (documentation)
– ULXH02 (ISPF help panel)
– ULXJ01 (MVS assemble-link JCL)
– ULXL01 (ISPF dialogue module)
– ULXM01 (ISPF message file
– ULXP01 (ISPF initial application panel)
– ULXP02 (ISPF disk space application panel)
– ULXP03 (ISPF disk extents application panel)
Below are sample panels used by ULXL01:
TUTORIAL------------------- DISK SPACE INFORMATION ---------------------------- The disk space information panel shows how much space is available on a specified disk. Cylinders available --------- The number of cylinders containing no used tracks. Tracks available ------------ The number of unused tracks that are in partially used cylinders. Total tracks available ------ The number of unused tracks including all unused cylinders. Extents of free space ------- An extent is a group of adjacent tracks. This is the number of groups of unused tracks on the volume. Largest single extent ------- The largest group of adjacent unused tracks. DSCB's available in VTOC ---- The maximum number of additional data sets that this volume can have. The number of unused entries in the volume table of contents. ULXH02 - Help Panel used by ULXP02
--------------------------- DISK SPACE INFORMATION ---------------------------- COMMAND ===> Display information about available space on a disk volume. VOLUME ===> _ ULP01 - Initial VOLUME Panel
--------------------------- DISK SPACE INFORMATION ---------------------------- COMMAND =======> NEXT VOLUME ===> Volume --- PUB000 Device --- 3350 Tracks per cylinder ------------- 30 Cylinders ------ 550 Cylinkers available ------------- 292 Tracks available ---------------- 85 Total tracks available ---------- 8845 Percent used --- 46 Extents of free space ----------- 10 Enter L here to List Extents S for Sorted-by-Size ===> Largest single extent: Cylinders --------------------- 202 Tracks ------------------------ 0 Total tracks ------------------ 6060 DSCB'S available in VTOC -------- 1269 According to Format 4 --- 1269 VTOC tracks --- 29 According to Index ------ N/A VTOC extent --- 00000001 0000001D ULXP02 - Disk Space Info Panel (subsequent VOLUME requests via line 3)
------------- DISK SPACE INFORMATION ---------------- ROW 1 OF 10 COMMAND =======> SCROLL ===> HALF Volume PUB000 Device 3350 Trk/Cyl 30 Extents 10 XXXX = REL TRK OF 1ST TRK YYYY = NO. OF CYLS ZZ = NO. OF TRKS SEQNO XXXXYYYYZZ CYLINDERS TRACKS TOTAL BEGIN CCHH END CCHH ----- ---------- --------- ------ ------- ---------- ---------- 1 1028000001 1 1 0089001A 0089001A 2 11AC000006 6 6 00960018 0096001D 3 11E6000006 6 6 00980016 0098001B 4 120E000014 20 20 009A0002 009A0015 5 1224000006 6 6 009A0018 009A001D 6 161E000006 6 6 00BC0016 00BC001B 7 18E2000014 20 20 00D4000A 00D4001D 8 1914000100 1 30 00D60000 00D6001D 9 198C00CA00 202 6060 00DA0000 01A3001D 10 364C005914 89 20 2690 01CF000A 0228001D ******************************* BOTTOM OF DATA ******************************* ULXP03 - Disk Space Extents Panel
Transition approach to MVS 3.8J
With the introduction of ISPF v1.1 in 2017 from Wally Mclaughlin, the software development landscape was improved for the MVS 3.8J hobbyist community. This meant that not only were TSO command processors an option for creating productivity and informational tools on you personal mainframe, you now had another option using an ISPF-like product to develop ISPF dialogue managers. Of course, another development tool is KICSforTSO… A discussion for another day!
As support for additional ISPF functions and services are realized in each product release from Wally, opportunities increase for creating new applications or transitioning existing individual applications or applications contributed to CBTTAPE.ORG.
At this juncture, ULXL01 is a perfect candidate to enable under MVS 3.8J as ISPF v2.1 ISPLINK interface supports CONTROL, VDEFINE, DISPLAY, TBCREATE, TBADD, TBTOP, and TBDISPL services used by ULXL01.
After some thinking-time, the enabling (adoption) approach to MVS 3.8J / ISPF 2.1 utilizes conditional assembly directives inserted into ULXL01 version 1.1 to maintain the current code base resulting in a successful assemble and link of ULXL01. Also, minor corrections to the long message text in ULXM01 ISPF message file is required for ISPF 2.1 compatibility purposes. Lastly, a minor variable name correction is required in panel ULXP02.
Software Disclaimer
No guarantee; No warranty; Install / Use at your own risk.
This software is provided “AS IS” and without any expressed or implied warranties, including, without limitation, the implied warranties of merchantability and fitness for a particular purpose.
The author requests keeping authors name intact to any modified versions.
In addition, the author requests readers to submit any code modifications / enhancements and associated comments for consideration into a subsequent release (giving credit to contributors) thus, improving overall functionality benefiting the MVS 3.8J hobbyist public domain community.
Access ULXL01 now for a demo!
Take ULXL01 for a ‘test drive’ before downloading and installing onto your MVS38J system.
Point your TN3270 terminal emulator using TLS to
URL: mywhs.belmontes.net
PORT: 5000
TLS : Version 1.2
Once connected, log on using any of the TK4- default user ids and passcodes.
After successful logon, select option I (I for ISPF) from the TSO Applications Menu. Note, option I is not listed on the menu – this is intentional.
From the ISPF PRIMARY OPTION MENU, type L in the command field (OPTION ==>) and press ENTER to display the ShareABitOfIT Software Demo Menu.
Type ULXL01 in the command field (OPTION ==>) and press ENTER.
Enter a volume name (e.g. PUB000) and press ENTER.
Use PF1 to display help panel.
Use PF3 to end ULXL01.
Use PF3 to exit from ISPF and TSO Applications Menu returning to the TSO READY prompt.
Log off TSO.
Terminate 3270 session.
Installation
After downloading CBT161.zip from CBTTAPE.ORG, transfer members from your personal device to MVS 3.8J platform. I will leave this to you as many avenues can be utilized to accomplish this task.
What follows are the steps I performed to install application ULXL01 onto TK4- with ISPF 2.1:
- Install ULXH02, ULXP01, ULXP02, ULXP03 into ISPF application PLIB library (preferably NOT the ISPF system PLIB library).
- For ULXP02, correct variable name &UCVOPT to &ULXOPT in the VER statement located in the )PROC section. Save the changes.
- Install ULXM01 into the ISPF application MLIB library (preferably NOT the ISPF system MLIB library).
- For ULXM01, place single quotes to column 1 and column 80 for all long messages (lines with BLANKs in columns 1 to column 80). Save the changes.
- For ULXDOC, save into a CNTL dataset for later reference.
- For ULXL01, save into a CNTL dataset.
- Download ULXL01M.zip from here. Unzip ULXL01M.zip. Save ULXL01M.ASM into a CNTL dataset as member ULXL01M for assembly and link.
- For ULXJ01, save into a CNTL dataset. Modify the JOB statement per your installation standards (i.e. CLASS, MSGCLASS, JOBNAME, etc.) including the SYSIN dataset name and member name. Remember, use ULXL01M for member name. Save the changes. Note, the load member (ULXL01) is written to SYS2.CMDLIB.
- Submit ULXJ01 for assembly and link.
- Upon successful completion of ULXJ01, sign on to ISPF on MVS 3.8J.
- From the ISPF main menu command line, type TSO ULXL01, and press ENTER.
- Panel ULXP01 should display. Enter a volume name (e.g. PUB000) and press ENTER.
- Panel ULXP02 should display. Enter S for Sort-by-Size (mid screen, right side) and press ENTER.
- Panel ULXP03 should display.
- Press PF3 to return to panel ULXP02.
- Press PF3 to terminate ULXL01.
- You successfully validated ULXL01 and completed installation!
Closing
Use ULXL01 to incrementally add to your ISPF tool set for disk space and extents inquiries on your MVS3.8J / Hercules system.
Thanks to Bill Godfrey for his contribution of ULXL01. This is a great model to base other ISPF dialogue development using help and application panels in addition to the various ISPF services exercised in the module within the confines offered by the current ISPF product version from Wally.
My contribution was simply modifying ULXL01 for execution under MVS 3.8J public domain version in conjunction with ISPF 2.1 (ISPF-like product from Wally) to provide added value to the MVS 3.8J hobbyist community.
For functional documentation, please refer to members ULXL01 and ULXDOC. ULXL01M contains the same base code as ULXL01 with conditional assembly code for MVS 3.8J.
Please use the comment box below or the contact us link on the menu bar to communicate any suggestions, improvements, corrections or issues regarding this post.
Enjoy!
In the installation instructions I believe the name of the variable to change is &ULXOPT and not &UXLOPT
Marco
P.S. I saw and understood the answer for the problem in the WRLDWTCH panel
Hello, Marco!
Thanks for the correction! After a while, reviewing and making changes to instructions become blurry before publishing when they should not!!!
Updated the post with your correction!
Thank You,
LarryB