Formatting side files with the HFZLANGP utility

The HFZLANGP utility can create a readable listing from a LANGX side file, from a SYSDEBUG side file, or from the DWARF debugging information in a program object. This utility can be useful if your installation conserves DASD space by keeping side files rather than compiler listings. The output from the utility resembles the original compiler listing.

The HFZLANGP utility formats the following input:
  • A LANGX side file.
  • For Enterprise PL/I, a SYSDEBUG side file that is generated by using the PL/I TEST(SEPARATE) compiler option.
  • For Enterprise COBOL versions earlier than version 5, a SYSDEBUG side file that is generated by using the COBOL TEST(SEPARATE) option.
  • For Enterprise COBOL version 5 or later, a program object containing DWARF debugging information generated by using the TEST(SOURCE) or NOTEST(SOURCE) option.
  • For Enterprise COBOL version 6, a SYSDEBUG side file that is generated by using the COBOL TEST(SEPARATE SOURCE) or NOTEST(SEPARATE SOURCE) option.

Invoking HFZLANGP as a line command

You can invoke the HFZLANGP utility as an ISPF option 3.4 (Data Set List Utility) line command against:
  • A sequential LANGX side file
  • A COBOL or PL/I SYSDEBUG side file data set
  • A member of a partitioned data set
For Enterprise COBOL version 5, you can invoke HFZLANGP against a program object member of a PDSE load library.

If a sequential COBOL or PL/I SYSDEBUG side file data set is used, or if the member of a partitioned COBOL or PL/I SYSDEBUG side file data set does not match any PROGRAM-ID named program contained within it, then the HFZLANGP utility prompts you to specify a program name.

When a COBOL version 5 program object contains more than one compile unit, the HFZLANGP utility prompts you to select the desired program.

All LANGX side files in a sequential data set or a partitioned data set member are displayed, regardless of whether they match the member name.

The output is written to a temporary data set and displayed using ISPF EDIT.

Invoking the HFZLANGP utility through the ISPF interface

You can invoke the HFZLANGP utility from the Z Abend Investigator ISPF interface. Use the Services action-bar pull-down menu and select the "HFZLANGP Side File Formatting Utility" option. At the prompt, specify the data set to be formatted. The output is presented in an ISPF display, but you can copy it to a data set using the COPY command.

Invoking the HFZLANGP utility as a batch job

You can invoke the HFZLANGP utility as a batch job, similar to the following example:

//PRTLANGX JOB ...
//STEP1    EXEC PGM=HFZLANGP,PARM='parms'
//SYSPRINT DD   SYSOUT=*Copy

The formatted listing is written to the SYSPRINT DD. Normal listing file attributes, such as variable-blocked record format and logical record length of 137, are generally appropriate.

HFZLANGP parameters

The PARM string passed to HFZLANGP contains:
Figure 1. Syntax

1  PARM= ' data_set_name? -PROG:program_name '
data_set_name
The name of a sequential LANGX side file or COBOL or PL/I SYSDEBUG side file data set, or if the data set is partitioned (as is the case for COBOL version 5 program objects), the data set name with member name included in parentheses. For example:

MY.SYSDEBUG.SEQ.DS

MY.IPVLANGX.PDS.DS(MYPROG)
program_name
The name of a PROGRAM-ID named program contained within a COBOL or PL/I SYSDEBUG side file or COBOL Version 5 program object. This name must be specified if the COBOL or PL/I SYSDEBUG side file data set is sequential, or if the member name of a partitioned data set does not match the name of any program contained within it.