Maintenance procedures for mainframe software involve having to find out the current level of maintenance for specific modules within a Broadcom product load library.
There are several ways to get this information in batch jobs–using the Common Services CAMODID utility, for example–and this article shows how to use a sample Rexx program to provide interactive details on load library members.
When using Chorus Software Manager or SMP/E repositories, information about software levels for different components reflects what is in those repositories, but may not necessarily represent the contents of a given load library, if the load library was built as a copy or consolidation activity using one or more SMP/E managed libraries. Because of this challenge, the Common Services utility called CAMODID was created, and this utility extracts information from each load module or program object in a report format to help identify the status or maintenance level of a given module.
The SVLOAD program provided here is a single Rexx module that will capture the same information about members of a load library that CAMODID provides, and will present this information in an ISPF panel that allows multiple filters and sort criteria. This tool requires the SYSVIEW product to be installed, and uses the SYSVIEW-Rexx environment to extract the details provided via the LISTDIR command.
To use this tool, download the attached SVLOAD.txt from this article, and then upload the contents of the file into a PDS that you use for other Rexx utilities. Then (assuming you have no other program called SVLOAD), you can locate your desired load library in ISPF 3.4 or CA PDSMAN Ezyedit, and then enter SVLOAD in the line command area beside the file you wish to examine. Alternatively, you can enter a TSO command: SVLOAD my.loadlb.name (with or without quotes).
The listing screen will be presented, with a bar at the top showing the progress of reading through the library. Here is a sample of the top of the page:
At the top, you can see your loadlib DSN, and beneath that are the attributes of that file: the current LPAR, the VolSer where that file is catalogued on the LPAR, whether the file is a standard PDS or PDSE, the number of loadlib members, and the LRECL and BLKSIZE. You can note here that while there are 820 members in the loadlib, there are 1155 different CSECTS available in those members.
The column headers and the filter row below it are what make this tool most useful. First, you can see in the column header that the display is sorted by default in module name ascending sequence. You can click on any of the column names to sort by that column. Subsequent clicks will toggle between ascending and descending sequence. Next, there are filters for several of the displayed fields, and there is field level help available by placing your cursor in the desired area and pressing the Help PF key (normally, PF1/13). You can mix filters, and as you see above, wildcards are allowed.
As mentioned above, we can extract individual subprograms/CSECTs from a single module in some cases. Here is how that might look in the listing:
You can see the module name DBSOCPR here, and it contains entry points/CSECTs/subprograms called BEGIN, CALLDD, DBSOCPR, and DDCALL. You can tell that this multi-entry member exists because of the blue color for the repeated member name. In this display, you can also see that none of the included modules have had maintenance, except for DDCALL, and you can see the fix name and assemble date for that here.
One common use for this SVLOAD tool is in determining the release level of modules in a loadlib. Some customers will build a run-time library from multiple product/component libraries, and occasionally, an older version module may be found among a new release. With a couple clicks on the Release column header, you can sort the contents of the load library in Release order and find any module that has a different release.
Another use is to sort the listing on the Assemble Date or the Last Fix to find the highest fix in the library.
By combining the sort and filter capabilities, you can quickly and easily find the information you need about a given module in your Broadcom product load libraries.
This SVLOAD sample program is provided free of charge and without support. These sample programs are solely for use by an authorized licensee of the applicable Broadcom SYSVIEW product(s) ("licensed program(s)"), to copy and modify such sample programs solely in conjunction with the internal implementation and use of the licensed program(s) in accordance with the terms of the licensed program(s) license. These sample programs are provided "as is" without warranty of any kind. To the full extent permitted under applicable law, Broadcom, Inc. disclaims all liability arising from or related to any use of these sample programs.