ADSO XREF Utility User's Guide
Copyright © 1985-2017 Laderman Associates


Dialog Cross Reference

    Overview
    Input Statement Types
    Input Syntax Conventions
    Dictionary Definition Statement
    Print Statements
    Variable Name Statements
    Options Statements
    Selection Statements
    Input Example
    OS Execution JCL
    DOS Execution JCL

Overview

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.

Input Statement Types

Four types of input statements may be specified.

Input Syntax Conventions

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.

Dictionary Definition Statement

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

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

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

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.

Selection Statements

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.

Input Example

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.

OS Execution JCL


//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
/*
//

DOS Execution JCL


* $$ 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