Skip to main content

Problem:

I want to produce a compiler listing that contains all the copybooks so I don't have to go searching for them individually. How can I do this in Mainframe Express?

Resolution:

To make a complete file of source code so you don't have to go searching for

copybooks, just compile a program to produce a listing file and pass these two

Additional Directives:

   RAWLIST  COPYLISTCOMMENT(7)

They will make the compiler produce a Cobol formatted output listing file with

Cobol COPY statements included inline and commented out. This also works for

Panvalet INCLUDE's and EXEC SQL INCLUDE's and Librarian -INC's.

               **********

Update: July2008  

The directives listed above would not work with Cobol COPY SUPPRESS

statements. Those lines were still not included in the resultant listing file.

After Mainframe Express 3.0 websync ALL10M30 and in the base code for Mainframe Express 3.1, we have changed this. RAWLIST currently passes COPYLISTCOMMENT(7)

if a host dialect is selected for the compile. In order to have Cobol COPY SUPPRESS statements included in the listing file, one would pass a new directive COPYLIST(ALL).

So if one uses a host dialect in Mainframe Express and requests a Listing file

to be created, the directives that will give us a complete set of source are:

   RAWLIST

      [with a host dialect this forces COPYLISTCOMMENT(7) ]

   COPYLIST(ALL)

The MFE30 websync Readme had these comments:

  A new option has been added to the COPYLIST directive. Specifying

  COPYLIST(ALL) causes all copyfile contents to appear in the listing,

  including those that have the SUPPRESS clause on the COPY statement

  in the source.

which implies that without RAWLIST, the compiler listing will still have the

COPY SUPPRESS statements included. The advantage of RAWLIST is that

the listing file can be copied/renamed to a .CBL and then compiled with all

source intact without having to edit out all those titles and page ejects.

This can be very handy when wanting to create a copy of your current source or

when gathering documentation to report a problem to Support.

               **********

If you want this in Net Express, then once it includes the COPYLIST directive,

you should use:

   RAWLIST  COPYLISTCOMMENT(7)  COPYLIST(ALL)

The COPYLISTCOMMENT(7) directive still needs to be passed for Net Express

because the default is COPYLISTCOMMENT(1) since the default dialect for it

is DIALECT(MF) and it allows SOURCEFORMAT(FREE) and a comment is in column 1.

Old KB# 6693

#EnterpriseDeveloper
#MFDS