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.
#EnterpriseDeveloper
#MFDS