BAL, ISPF 2.x, MVS38J

ULXL01 in MVS38J

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:

  1. Install ULXH02, ULXP01, ULXP02, ULXP03 into ISPF application PLIB library (preferably NOT the ISPF system PLIB library).
  2. For ULXP02, correct variable name &UCVOPT to &ULXOPT in the VER statement located in the )PROC section. Save the changes.
  3. Install ULXM01 into the ISPF application MLIB library (preferably NOT the ISPF system MLIB library).
  4. 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.
  5. For ULXDOC, save into a CNTL dataset for later reference.
  6. For ULXL01, save into a CNTL dataset.
  7. Download ULXL01M.zip from here. Unzip ULXL01M.zip. Save ULXL01M.ASM into a CNTL dataset as member ULXL01M for assembly and link.
  8. 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.
  9. Submit ULXJ01 for assembly and link.
  10. Upon successful completion of ULXJ01, sign on to ISPF on MVS 3.8J.
  11. From the ISPF main menu command line, type TSO ULXL01, and press ENTER.
  12. Panel ULXP01 should display. Enter a volume name (e.g. PUB000) and press ENTER.
  13. Panel ULXP02 should display. Enter S for Sort-by-Size (mid screen, right side) and press ENTER.
  14. Panel ULXP03 should display.
  15. Press PF3 to return to panel ULXP02.
  16. Press PF3 to terminate ULXL01.
  17. 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!

Tagged ,

2 thoughts on “ULXL01 in MVS38J

  1. 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

    1. 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

Leave a Reply

Your email address will not be published. Required fields are marked *


CAPTCHA Image
Reload Image

This site uses Akismet to reduce spam. Learn how your comment data is processed.