The XDCADATA utility filters ADATA files to remove excess ADATA. When properly set up, size reductions up to 90% or more could be achieved.
Two changes have been made, one to make it easier to identify DSECT maps to be excluded, the other to increase the size reduction even more!
Until now, XDCADATA achieved file reductions mainly by requiring you to add SYMDEL/SYMNODEL/SYMUNDEL DSECT statements to your program's source code: All ADATA occurring between SYMDEL and SYMUNDEL/SYMNODEL pairs were removed from the file. (See HELP MAPS ADATA EXCESSADATA for details.) That's no longer necessary.
Now there is an additional way to select dsects for removal. XDCADATA now accepts a //XDCXCLUD DD that points to a sequential file that contains a list of dsect names to be excluded. This can be used either in place of or in addition to SYMDEL exclusions. See HELP MAPS ADATA EXCESSADATA XDCADATA for details.
We provide a starter exclusion list. Its name is ZEXCLUDE. It can be found in <hlq>.XDCZ22.XDCSAMP. (Ask your Sysprog what "<hlq>" is set to at your shop.)
ZEXCLUDE contains a lengthy list of dsects created by IBM mapping macros. It was built from our XDCMAPS assemblies. (See HELP MAPS XDCMAPS.)
You will probably want to concatenate your own, in house list to ours (ZEXCLUDE) when you run XDCADATA. The syntax rules are very simple:
- Use ddname //XDCXCLUD.
- The file must be FB-80.
- The listed names must occur in columns 1-72. (Columns 73-80 are ignored.)
- Each name will be the name of a csect, dsect or rsect whose ADATA you wish to be excluded.
- You can provide as many names per record as will fit in columns 1-72.
- Separate the names with blanks.
- If you wish to add comments, anything after an asterisk or semi-colon will be ignored.
- When you concatenate, the first file should have DCB=BLKSIZE=<whatever is the largest blksize in the concatenation>.
- You can use an exclusion list in combination with SYMDEL/SYMNODEL/SYMUNDEL exclusions (but you don't have to).
Now by default, XDCADATA will compress the ADATA before writing it out to the //XDCADATA output file. The compression used is an LZW compression. It typically achieves a further 75% file size reduction.
The compression can be suppressed by adding //XDCNCOMP DD DUMMY to XDCADATA's jobstep JCL. (You will probably want to add this if you have other consumers of the ADATA.)
To use compressed ADATA in z/XDC, just set your library up with SET MAPLIBS commands like you would setup any other ADATA library. (See HELP MAPS ADATA MAPLIBS for details.) You do not have to do anything special. XDC will automatically recognize when an ADATA file is and is not compressed.
This support was written by Peter Morrison, here at ColeSoft.
It was published by PEM-2309B.
When you try this out, please let us know what you think.