Managing Source Files
We strongly recommend that you always use source support to make the best use of Abend-AID. Source support gives you many additional diagnostic benefits such as displaying your actual source code and providing an enhanced program listing with merged data that is easy to read and does not require any hexadecimal calculations. To obtain source support for your COBOL, PL/I, and Assembler programs, you need to modify your compile/link-edit JCL to use the COBOL language processor, the PL/I language processor, and the Assembler language processor. See BMC AMI Common Shared Services User/Reference space for more information about the language processors.
This section describes how to manage source files and source shared directories using the Source Directory screen. From this screen you can display user-defined source data sets, and after you select a batch entry, you can access the source data sets allocated to the server at the time of the abend. In addition to the Source Directory, the following screens are described:
- Source Program Directory
- Source data set Information
- Source Program Browse
- Source Program Information
- Source Mismatch Selection
- Source Program Directory for source mismatch selection.
- No Source Selected
- Convert Program Compiler Listing
- Matching Listing Data Set Name
- Known Compiler Listings
- Source Support Utilities Menu
- BMC AMI CSS Utilities CreateJCL Menu
Source Directory Screen
The Source Directory screen lets you enter a data set name for a specific source listing or a source shared directory, as shown in following figure, or additionally display the source data sets and source shared directories allocated to the server at the time of the program error, as shown in the figure. Besides accessing the Source Directory screen directly from the Abend-AID Report Menu, you can access this screen by entering SD or SRCDIR as a fast-path command on any Abend-AID screen.
Access the Source Directory screen as described above, noting:
- If you access this screen without first selecting a batch entry, the Abend-AID Viewer displays the Source Directory screen with any user-defined source data sets.
- If you access this screen after selecting a batch entry, Abend-AID displays the Source Directory screen with not only any user-defined source data sets but also the source data sets allocated to the server at the time of the abend, as shown in following figure. Source data sets are allocated to the server using either an FCT entry or an SLSF001 DD statement, as described in the Abend-AID Advanced Configuration space.
Source Directory Screen with List of User-Defined and Default Source data sets
You can do the following on the Source Directory screen:
- Use the cursor point-and-shoot feature and press Enter at the Add field to display the input window, as shown in Add Source data set Window. Enter a user-defined source data set name in the data set field to add a data set to the list. All data sets in the list are included in the search that Abend-AID makes to find the best source listing match unless you explicitly exclude them from the search list.
- Enter S at any data set name to display the Source Program Directory for that data set.
- Enter I at any data set name to display the Source data set Information screen, as shown in Source data set Information Scree.
- Enter X at any user-defined data set name to include an excluded data set or to exclude an included data set from the list of source data sets used in the search for the best match for program source display.
- Enter D at any user-defined data set name to delete the source data set from the list. Press Enter to confirm or End (PF3) to cancel the deletion.
Source data set Information Screen
Using Distributed Viewing Support
Distributed Viewing Support (DVS) lets you view a batch abend entry using source support when the source listings for the abending program reside on an MVS system other than the one on which the abend occurred. For example, if you develop applications at a central site and distribute them to other remote sites, DVS eliminates the need to distribute source listing data sets with the applications.
If your site has implemented Distributed Viewing Support (DVS), you can display the following list of user-defined remote source listings by entering the REMOTE fast-path command on any related screen.
List of Remote Source Files
Press Enter at the Update field to display the Source Directory (Figure). From this screen, you can add a user-defined source data set name for a listing that resides on an MVS system other than the one on which the abend occurred by doing the following:
- Use the cursor point-and-shoot feature and press Enter at the Add field on the Source Directory (Source Directory Screen with List of User-Defined and Default Source data sets) to display the input window, as shown in Add Source data set Window. Enter a user-defined source data set name in the data set field to add a data set to the list.
- Specify the name of the Abend-AID server running on the remote MVS system in the Remote Server field.
- Specifying a user ID and password in the fields are optional when you are adding the remote data set to the list of source data sets. However, if you or other users add any remote data sets, whenever you select a batch entry from the Abend-AID Directory, you are required to enter a valid user ID and password with the appropriate READ authority to access the data set on the remote MVS system, as shown in the input window in Remote data set Access Window.
If you do not specify a valid user ID and password for the remote data set displayed in the window, that data set will not be included in the list of source data sets searched for a source listing corresponding to the program in the selected batch entry. For security reasons, the user ID and password are not retained from one Abend-AID session to another. Whenever you log onto the Abend-AID server, you must enter the user ID and password for each remote data set in the list that you want to include in the search.
Instead of entering the user ID and password in the pop-up window shown in Remote data set Access Window, you can access the Source Directory, press the Right PF key (PF11) to scroll the display to the right, and add your user ID and password in the appropriate corresponding fields for each remote data set you want to include in the list of source data sets searched for any batch entries you want to view.
Add Source data set Window
Remote data set Access Window
- Alternatively, if you know you do not want to include any of the remote data sets in the search for source listings, access the Source Directory and enter the X (Include/Exclude) line command to exclude them. If at a later date you choose to use any of the remote data sets, you can again use the X line command to include them.
- Further, if you think you will never want to include one or more of the remote data sets in the search for source listings, you can use the D (Delete) command on the Source Directory to remove the data sets from the list of source data sets. This command removes the data set from the list of source data sets on the Source Directory for your user ID only and does not perform any function against the data set itself. If circumstances change and you later want to use the deleted remote data set, you can add it to the list of source data sets for your Abend-AID sessions, as explained in steps 1 through 3 above.
Source Program Directory
The Source Program Directory, shown in the following figure, displays the source listings for the selected data set. Using the available line commands, you can select, lock or unlock, delete, or display additional information for any of the listings. If you want Abend-AID to automatically restore the mask and sort parameters from your last session on the Source Program Directory, enable this functionality by using the User Profile screen, as described in User Profile screen.
Source Program Directory
Access the Source Program Directory by doing one of the following:
- Enter S as a line command at any data set name on the Source Directory screen.
- Use the cursor point-and-shoot feature and press Enter at the entry for the source data set name field on the Program Detail screen.
Use the available line commands to do the following:
- Enter S at any source listing to select it for viewing. Abend-AID displays the Source Program Browse screen, shown in Source Program Browse Screen.
- Enter L or U at any source listing to lock or unlock it. The Locked Status field reflects any change you make with the lock/unlock line commands, indicating the current status. LOCKED-M means that the listing was manually locked. LOCKED-A indicates that the listing was automatically locked.
- Enter D at any source listing to delete it from the source data set. Press Enter when Abend-AID displays the Confirm Source Program Delete screen, or press End (PF3) to cancel the deletion.
- Enter I at any source listing to display the Source Program Information screen, shown in Source Program Information Screen.
Source Program Browse Screen
Source Program Information Screen
Source Mismatch Selection Screen
The Source Mismatch Selection screen, shown in Source Mismatch Selection Screen, lets you display source processing for a program that does not have an exactly matching source listing. This screen displays the compile date and time, the language and release for the selected program, and the most current version of the source listing.
Source Mismatch Selection Screen
Use the cursor point-and-shoot feature and press Enter at one of the following fields:
- CURRENT field to select the most current source listing for source processing in all subsequent displays of the program.
- LISTINGS field to display the Source Program Directory for source mismatch selection, which displays every occurrence of a listing for the selected program in all available source listing files, as shown in Source Program Directory for Source Mismatch Selection.
- LISTALL field to displays more listings that may be suitable for this program.
- For COBOL and PL/I, the Source Program Directory displays all listings for the language for the selected program name, including listings for different releases of the compiler.
- For Assembler, the Source Program Directory displays all Assembler listings, including listings for different program names. This is particularly useful for those assembler applications where the selected CSECT name does not match the name used for the listing.
- CONVERT field to display the Convert Program Compiler Listing screen, as shown in Convert Program Compiler Listing Screen.
- UTILITIES field to display the Site Customized Utilities screen, as shown in Source Support Utilities Menu.
- NO SOURCE field to suppress source processing in all subsequent displays of the program.
If at a later time you want to override your selection regarding source processing for this program, enter the SOURCE RESET primary command on any Abend-AID screen displaying information about this program. The program returns to its previous mismatched condition, and Abend-AID displays the Source Mismatch Selection screen, from which you can make a different selection.
Source Program Directory for Source Mismatch Selection
The Source Program Directory for source mismatch selection, shown in Source Program Directory for Source Mismatch Selection, displays every occurrence of a source listing for the selected program. This screen allows you to select the listing that you think is the best match.
If you access from the LISTINGS field, the Source Program Directory screen displays every occurrence of a source listing for the selected program. For COBOL and PL/I, all listings for the selected program name will be displayed only if the programming language and the compiler version match. For Assembler, all Assembler listings for the selected program name will be displayed. This screen allows you to select the listing that you think is the best match.
If you access from the LISTALL field, the Source Program Directory screen displays more listings that may be suitable for this program. For COBOL and PL/I, all listings for that language for the selected program name will be displayed. This may include listings for a different release of the compiler. For Assembler, all Assembler listings will be displayed. This may include listings for different program names. This is particularly useful for those assembler applications where the selected CSECT name does not match the name used for the listing.
Source Program Directory for Source Mismatch Selection
Use the available line commands to do the following:
- Enter S at any source listing. Abend-AID displays with source support the screen you were attempting to access when the Source Mismatch Selection screen was displayed.
- Enter B at any source listing to select it for viewing. Abend-AID displays the Source Program Browse screen.
- Enter I at any source listing to display the Source Program Information screen.
After you use one of the line commands, press the END key (PF3) to return to the Source Program Directory. You can select another listing, or press PF3 again to return, depending upon which screen you were originally attempting to view with source support, to either the main menu or to the screen from which the Source Mismatch Selection screen was first displayed.
The selected source listing is available from every applicable subsequent display until you use the SOURCE RESET command, which returns the program to its previous mismatched condition. The Abend-AID Viewer displays the Source Mismatch Selection screen, from which you can make another selection.
Convert Program Compiler Listing Screen
Accessed from the Source Mismatch screen, the Convert Program Compiler Listing screen, shown in following figure, allows you to convert a compiler listing to a BMC source listing. The listing can reside on a sequential data set or it can be a member of a PDS. The conversion is done by executing the appropriate Common Shared Services post-compile language processor while your user session waits. After the conversion has successfully completed, the original command you entered is automatically executed again.
Convert Program Compiler Listing Screen
Use the cursor point-and-shoot feature and press Enter at one of the following fields:
- SEARCH field to display a list of partitioned data sets known to the server that contain the compiler listing member, as shown in Matching Listing Data Set Names Screen.
- DISPLAY field to display a list of compiler listing data sets known to the server, as shown in Known Compiler Listings.
Alternatively, you can enter the data set name of a sequential file or PDS that contains the source listing. After you enter the data set name, the Abend-AID Viewer invokes the appropriate CSS Language Processor postprocessor to analyze the listing and save the analyzed results to the Scratchpad listing file.
Matching Listing Data Set Names Screen
Known Compiler Listings
If you use the cursor point-and-shoot feature and press Enter at the CONVERT field on either the Source Mismatch Selection screen or the No Source Selected screen and the listing file has been processed, the original program search is reissued and the Abend-AID Viewer will find the just processed listing. If the new entry is an exact match, it is used automatically, and no further user action is necessary. If it is not an exact match, the Source Mismatch screen is redisplayed. The new contents includes the just processed listing, which you can select. On a subsequent request for the same program, the analyzed listing from the Scratchpad listing file is included in the automatic search for the source. When you use the cursor point-and-shoot and press Enter at the CONVERT field, the Abend-AID Viewer remembers that selection and provides a meaningful message if the converted listing is not subsequently selected by source processing and the no source or source mismatch screen is redisplayed.
After a listing has been processed and placed on the Scratchpad file, it remains there until deleted or overwritten. Security checks depend on the EXTERNAL_SECURITY_data set_CHECK setting in the viewing server.
The MFDDLIST DD statement (which your site installer optionally included in the viewing server JCL at installation) contains a reference to PDS data sets that you can select as a source for unprocessed IBM compiler listings.
If you use the cursor point-and-shoot and press Enter at the DISPLAY field on the Convert Program Compiler Listing screen, the Matching Listing Data Set Names screen will include the MFDDLIST data sets in the data set list. If you use the cursor point-and-shoot and press Enter at the SEARCH field on the Convert Program Compiler Listing screen, the MFDDLIST data sets will be searched, as well as your previously specified data sets.
As you enter compiler listing data set names to be processed and used, the data set names are saved in a small (five entries) FIFO table in your user profile. As new entries are added to the table, older entries are pushed down, and if the table is full, the oldest entry is discarded. This table is included on the Matching Listing Data Set Names and Known Compiler Listing screens that you can access from the Convert Program Compiler Listing screen. If you use the cursor point-and-shoot and press Enter at the SEARCH field, these data sets will be included in the list to be searched for the listing member name. If you use the cursor point-and-shoot and press Enter at the DISPLAY field, the list of searchable data sets (including these) will be shown.
Utilities Screen
The Source Support Utilities Menu lets you create a processed listing that can be used for source support in an abend report that you want to analyze. This screen is available only from ISPF from the Source Mismatch Selection screen or the No Source Selected screen by using the cursor point-and-shoot feature to position the cursor at the Utilities field.
Source Support Utilities Menu
OPTION ===>
Program............ AADBTMP1 Program Language... COB z/OS
Compiled Date...... 05AUG2019 Language Release... V6R1
Compiled Time...... 09:29:16
Load Library....... D2.TECH.SAMPLES.DB211.LOAD
Select one of the following:
1 - To execute a site defined procedure to compile and process.
2 - To execute a site defined procedure to postprocess.
3 - To execute the CSS Utilities to create JCL for processing.
Enter the number of the desired option in the Option field.
- 1 — To run the preprocessor. It executes the site-defined procedure (CXOTFPRE.) to compile a program and process it through the appropriate CSS language processor.
- 2 — To run the postprocessor. It executes the site-defined procedure (CXOTFPST) to process the program that has already been compiled and for which the listing has been saved.
- 3 — To access the BMC AMI CSS Utilities CreateJCL Menu to create the JCL for processing.
BMC AMI CSS Utilities Screen
OPTION ===>
Preprocessor
1 Convert existing compile JCL to use LP
2 Create compile JCL to use LP
Postprocessor
3 Create JCL to use LP
LP Learn about language Processor
SE General Settings
DD Learn about DDIO files
SD Learn about BMC AMI Common Shared Directory and Database files
Enter END command to terminate
From this menu, you can perform many source processing-related tasks. See BMC AMI Common Shared Services User/Reference space for detailed information on how to use the BMC AMI Common Shared Services utilities. This space is available on the BMC Support.
No Source Selected Screen
If no source listing is available for the current program error in the selected batch entry, the No Source Selected screen is displayed, as shown in the following figure. From this screen you can either convert an existing compiler listing into a BMC source listing, or you can create a BMC source listing by compiling the program with the BMC AMI Common Shared Services utilities, to which you have direct access if you’re accessing the Abend-AID Viewer from TSO/ISPF.
No Source Selected Screen
Use the cursor point-and-shoot feature and press Enter at one of the following fields:
- CONVERT field displays the Convert Program Compiler Listing screen as described in Convert Program Compiler Listing Screen.
- UTILITIES field displays the Site Customized Utilities menu only if you’re accessing the Abend-AID Viewer from ISPF, as describe in Utilities Screen.
- ADD DDIO field adds another DDIO file to Abend-AID. You may add a personal DDIO file or another site DDIO file to Abend-AID. Abend-AID will then consider this added DDIO when looking for a matching source listing.
When you select this option, the Source Directory screen is presented, which allows you to see the currently available DDIO files and allows you to manage the list by adding, removing, or temporarily excluding or reinstating DDIO files into the list for Abend-AID to use.
Once source has been added using ADD DDIO, Pressing the PF3 key from the resulting screen takes you back to the Report Menu. Doing so ensures the intervening screens for No Source Available, Source Directory, and ADD data set are not redisplayed.
- NO SOURCE field displays the Diagnostic Summary without any source information.
- LISTALL field displays more listings that may be suitable for this program.
- For COBOL and PL/I, the Source Program Directory displays all listings for the language of the selected program name, including listings for different releases of the compiler.
- For Assembler, the Source Program Directory displays all Assembler listings, including listings for different program names. This is particularly useful for those assembler applications where the selected CSECT name does not match the name used for the listing.
- ADD ESS field displays the Add Data Set for ESS screen which lets you add a different Program object library (PDSE) to support Embedded Source Support (ESS) if the original library or member is no longer available.
If at a later time you want to override your selection regarding source processing for this program, enter the SOURCE RESET primary command on any Abend-AID screen displaying information about this program. The program returns to its previous mismatched condition, and Abend-AID displays the Source Mismatch Selection screen, from which you can make a different selection.
Add Data Set for ESS Listing Screen
Access the Add Data Set For ESS Listing screen by using the cursor point-and-shoot feature and pressing Enter at the ADD ESS field on the No Source Selected screen above. This screen lets you add a different Program Object Library (PDSE) to enable Embedded Source Support (ESS) if the original library or member is no longer available.
Add Data Set For ESS Listing Screen
Use the cursor point-and-shoot feature and press Enter on either of the following fields:
- SEARCH field displays the Matching Data Set Name screen.
- DISPLAY field displays the Known Program Object PDSEs screen.
Alternatively, type the library name in the Program Object Data Set Name field, and press Enter. The selected report is displayed with the merged source.
Matching Data Set Names Screen
Access the Matching Data Set Names screen by using the cursor point-and-shoot feature and pressing Enter at the SEARCH field on the Add Data Set For ESS Listing screen above. This screen displays the names of partitioned data sets extended that are known to the viewing server that contain the requested program object. Do the following:
- Type S next to the desired data set name, and press Enter.The Add Data Set For ESS Listing screen is displayed again.
- Press Enter at the COMMAND line on the Add Data Set For ESS Listing screen.The selected report is displayed with the merged source.
Matching Data Set Names Screen
Known Program Object PDSEs Screen
Access the Known Program Object PDSEs screen by pressing Enter on the DISPLAY field on the Add Data Set For ESS Listing screen. This screen displays the names of the program object data sets that are known to the viewing server. The five most recent user-specified program object data sets are listed.
Known Program Object PDSEs Screen
Do the following:
- Type S next to the desired data set name, and press Enter.The Add Data Set For ESS Listing screen is displayed again.
- Press Enter at the COMMAND line on the Add Data Set For ESS Listing screen.The selected report is displayed with the merged source.