The Dialog Cross Reference produces up to 8 separate reports detailing the use of various entity types within an ADS dialog. Each report line lists the entity name & version, referencing process name & version, process text sequence, and the active verb. For entities referenced within maps (such as elements, tables, and messages), the reports list the map data field name in lieu of the process name. If record and/or process source is optionally listed, the reports also reference the page/line number of the source listing.
Any of the reports may be suppressed by using OPTIONS statements, as detailed below.
Four types of input statements may be specified.
If DICTNAME is specified, it must be first in the input stream (as the BIND RUN UNIT is executed after reading the first record). Selection statements should follow all other types of input statements. At least one Selection statement is required. Other than that, any combination of input statements, in any order, is permitted. All input begins in position 1 of the input record. Parameters are separated by commas; any specifications following the first blank are ignored. There are no continuations; use multiple input statements if necessary.
A Dictionary Definition statement is required only if you are executing against a secondary dictionary (i.e. one which requires DBNAME table translation).
DICTNAME=dictname [,NODE=nodename]
dictname specifies the DBNAME of the IDD. It is used as part of the BIND RUN UNIT
in the extract program.
nodename specifies the node for DDS sites.
Print statements may be used to alter characteristics of the AXU reports. The specification input to any extract program (LADAXU05, LADAXU10, LADAXU10, LADAXU15, LADAXU20, or LADAXU25) will be reflected in the subsequent report(s). Currently, the only type is LPP.
LPP=lines-per-page-n
lines-per-page-n is a value from 1 to 98 which represents the number of lines to be
printed on each page of each report. The default of 58 lends itself nicely to the standard
print density of 6 lines per inch.
Variable Name statements define the names of data fields used in process code to hold a dictionary message ID (for a DISPLAY MSG CODE command), a message prefix, or a dialog name (for an inter-dialog control command). When the AXU is parsing process code, it will save any values moved to these fields and process them in the appropriate manner. A maximum of 3 of each type of statement may be specified.
MSGFIELD=data-name
any 6 position numeric (literal or constant) or 8 position quoted literal (including
prefix) which is MOVEd to data-name will be treated as a dictionary message ID. Note that
CA applications standardly issue messages in this manner.
MPRFIELD=data-name
any literal which is MOVEd to data-name will be used as the prefix for all 6
position dictionary message IDs captured due to a MSGFIELD specification. This prefix
will be used until the end of the process in which it appears or until it is superceded.
If MPRFIELD is not specified, the dialog default message prefix will be used.
IDCFIELD=data-name
any literal which is MOVEd to data-name will be treated as an called dialog. The
Called Dialog Report will display MOVE as its verb.
Options statements may be used to suppress the generation of specified report(s). If no options are specified, all reports will be generated.
Multiple Options statements may be specified in one input record. Simply separate each option with a comma. See the input example in this chapter for a better understanding.
The options table is updated in the order in which the options are input. If you specify the same option twice, the second one will overlay the first one.
OPTIONS= SOURCE=ALL <--
SOURCE=MODULES
SOURCE=RECORDS
SOURCE=NONE
ALL specifies to list all record layouts and module source. Additionally, all
cross reference reports will refer to the page/line where the source appears.
MODULES specifies to list all module source, but no record layouts. Records which
are not referenced in process code will not be listed in the Record Cross Reference.
Elements which are not map fields and are not referenced in process code will not
be listed in the Element Cross Reference.
RECORDS specifies to list all record layouts, but no module source. Modules, other
than included modules, will not be listed in the Module Cross Reference.
NONE specifies to list no module source, and no record layouts. Records, elements,
and modules which are not referenced in process code (or maps) will not be listed
in the appropriate cross reference reports.
OPTIONS= DIALOGS=BYP
MODULES=BYP
RECORDS=BYP
ELEMENTS=BYP
SETAREA=BYP
MESSAGES=BYP
SUBROUTINES=BYP
TABLES=BYP
DIALOGS specifies to bypass generation of the Called Dialog Cross Reference.
MODULES specifies to bypass generation of the Module Cross Reference.
RECORDS specifies to bypass generation of the Record Cross Reference.
ELEMENTS specifies to bypass generation of the Element Cross Reference.
SETAREA specifies to bypass generation of the Set/Area Cross Reference.
MESSAGES specifies to bypass generation of the Message Cross Reference.
SUBROUTINES specifies to bypass generation of the Subroutine Cross Reference.
TABLES specifies to bypass generation of the Table Cross Reference.
The only selection statement is:
DIALOG=name [,VERSION=version-n] The specified DIALOG will be cross-referenced. If VERSION is omitted, it defaults to 1.
While the Dialog Cross Reference allows for multiple dialogs to be cross referenced in a single report, all source code will be listed and then each cross reference will be listed. For this reason, it is probably best to limit each execution to a single dialog if you intend to list process and/or record source.
DICTNAME=PROD OPTIONS=SOURCE=MODULES,ELEMENTS=BYP MSGFIELD=HOLD-MSG DIALOG=MODACCT,VERSION=2
In this example, we are cross referencing dialog MODACCT (version 2) which resides in a secondary dictionary (PROD). We wish to list all process source code, but no record layouts. The current project requires no changes to data elements, so we are not generating the Element Cross Reference (solely to save some paper). The Message Cross Reference should include all dictionary message IDs which are placed in the data field HOLD-MSG, as we pass this field to a separate program which issues all messages.
//jobname JOB site parameters //step1 EXEC PGM=LADAXU15 //STEPLIB DD DSN=loadlib,DISP=SHR // DD DSN=idmsload,DISP=SHR //ddldml DD DSN=ddldml,DISP=SHR //sysjrnl DD DUMMY //EXTRACT DD DSN=extract,DISP=(,PASS),UNIT=unit, // SPACE=(CYl,(5,5),RLSE),DCB=(RECFM=FB,LRECL=200,BLKSIZE=blksz) //SYSLST DD SYSOUT=sysout class //CARDIN DD * input statements here /* //step2 EXEC standard site sort include standard site SORT JCL //SORTIN DD DSN=extract,DISP=(OLD,DELETE) //SORTOUT DD DSN=sorted,DISP=(,PASS),UNIT=unit, // SPACE=(CYL,(5,5),RLSE),DCB=(RECFM=FB,LRECL=200,BLKSIZE=blksz) //SYSIN DD * SORT FIELDS=(79,39,A,126,3,A,1,35,A,40,39,A,157,12,A132,5,A),FORMAT=BI /* //step3 EXEC PGM=LADAXU16 //STEPLIB DD DSN=loadlib,DISP=SHR //EXTRACT DD DSN=sorted,DISP=(OLD,DELETE) //SYSLST DD SYSOUT=sysout class /* //
* $$ JOB JNM=jobname,site parameters
// JOB site parameters
* step 1 - LADAXU15, Place LIBDEFS here
// UPSI 0
// ASSGN SYS005,SYSLST
// ASSGN SYS006,SYSRDR
// ASSGN SYS030,DISK,VOL=volume,SHR
// DLBL EXTRACT,'extract',0
// EXTENT SYS030,volume,,,space allow 5 or 10 cylinders
JCL for the DDLDML area of the IDD
IGNORE for sysjrnl
// EXEC LADAXU15,SIZE=640K
/*
* step 2 - SORT 'extract'
Execute your standard site SORT using 'extract' as SORTIN and SORTOUT
SORT FIELDS=(79,39,BI,A,126,3,BI,A,1,35,BI,A,40,39,BI,A,157,12,BI,A,132,5,BI,A), X
WORK=1
RECORD TYPE=F,LENGTH=(200)
INPFIL BLKSIZE=3000
OUTFIL BLKSIZE=3000
END
/*
* step 3 - LADAXU16, Place LIBDEFS here
// ASSGN SYS005,SYSLST
// ASSGN SYS030,DISK,VOL=volume,SHR
// DLBL EXTRACT,'extract',0
// EXTENT SYS030,volume,,,space
// EXEC LADAXU16,SIZE=640K
/*
/&
* $$ EOJ