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


Element Cross Reference

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

Overview

The Element Cross Reference produces two similar sets of reports. LADAXU21 cross references each specified element individually. LADAXU22 cross references all specified elements in a single report. Depending upon your requirements, you probably want to execute either LADAXU21 or LADAXU22, but not both.

As many as 7 separate reports are produced by each program, detailing the various entity types in an entire IDD which use a specified element (or grouping of elements) or any of its subordinate elements or owning group elements. Each report line lists the entity name & version, and referenced element synonym. For dialogs and maps, the report indicates if the element is actually referenced by the dialog or if it simply exists in a copied record.

Any of the reports may be suppressed by using OPTIONS statements, as detailed below.

Input Statement Types

Three 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.

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.

OPTIONS=     DIALOGS=BYP
             PROGRAMS=BYP
	     RECORDS=BYP
	     SCHEMAS=BYP
	     SUBSCHEMAS=BYP
	     MODULES=BYP
	     MAPS=BYP


    DIALOGS    specifies to bypass generation of the Affected Dialogs Report.
    PROGRAMS   specifies to bypass generation of the Affected Programs Report.
    RECORDS    specifies to bypass generation of the Affected Records Report.
    SCHEMAS    specifies to bypass generation of the Affected Schemas Report.
    SUBSCHEMAS specifies to bypass generation of the Affected Subschemas Report.
    MODULES    specifies to bypass generation of the Affected Processes Report.
    MAPS       specifies to bypass generation of the Affected Maps Report.

Selection Statements

Two types of selection statements are available.


ELEMENT=name [,VERSION=version-n]

   Specifies the element or element synonym to be selected. If an element (INQ-058) exists 
   with the specified name/version, it will be processed. If it does not exist, the AXU will 
   look for an element synonym (ELEMSYN-085). If VERSION is omitted, it defaults to 1.

RECORD=name [,VERSION=version-n]

   All elements in the specified record will be selected. If VERSION is omitted, it defaults 
   to 1.

Input Example


DICTNAME=TEST
ELEMENT=ACCOUNT-NO
ELEMENT=ACCOUNT-NBR

In this example, we have three different elements which represent an account number and wish 
to reduce that to just one. What a mess! In any event, we need to find all references to two 
we wish to eliminate.

OS Execution JCL


//jobname 	JOB 	site parameters
//step1 	EXEC 	PGM=LADAXU20
//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,PASS)
//SORTOUT 	DD 	DSN=sorted,DISP=(,PASS),UNIT=unit,
// 	SPACE=(CYL,(5,5),RLSE),DCB=(RECFM=FB,LRECL=200,BLKSIZE=blksz)
//SYSIN 	DD 	* 
SORT FIELDS=(40,39,A,126,3,A,1,39,A,132,32,A,166,6,A),FORMAT=BI
/* 
//step3 	EXEC 	PGM=LADAXU21
//STEPLIB 	DD 	DSN=loadlib,DISP=SHR
//EXTRACT 	DD 	DSN=sorted,DISP=(OLD,DELETE)
//SYSLST 	DD 	SYSOUT=sysout class
/*
//step4 	EXEC  	standard site sort
include standard site SORT JCL
//SORTIN 	DD 	DSN=extract,DISP=(OLD,DELETE)
//SORTOUT 	DD 	DSN=sort2,DISP=(,PASS),UNIT=unit,
// 	SPACE=(CYL,(5,5),RLSE),DCB=(RECFM=FB,LRECL=200,BLKSIZE=blksz)
//SYSIN 	DD 	* 
SORT FIELDS=(126,3,A,1,39,A,132,32,A,166,6,A,),FORMAT=BI
/* 
//step5 	EXEC 	PGM=LADAXU22
//STEPLIB 	DD 	DSN=loadlib,DISP=SHR
//EXTRACT 	DD 	DSN=sort2,DISP=(OLD,DELETE)
//SYSLST 	DD 	SYSOUT=sysout class
/*
//

DOS Execution JCL


* $$ JOB JNM=jobname,site parameters
// JOB  site parameters
* step 1 - LADAXU20, 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 LADAXU20,SIZE=640K
/*
* step 2 - SORT 'extract'
Execute your standard site SORT using 'extract' as SORTIN and SORTOUT
 SORT FIELDS=(40,39,BI,A,126,3,BI,A,1,39,BI,A,132,32,BI,A,166,6,BI,A,),WORK=1
 RECORD TYPE=F,LENGTH=(200)
 INPFIL BLKSIZE=3000
 OUTFIL BLKSIZE=3000
 END
/*
* step 3 - LADAXU21, Place LIBDEFS here
// ASSGN SYS005,SYSLST
// ASSGN SYS030,DISK,VOL=volume,SHR
// DLBL EXTRACT,'extract',0
// EXTENT SYS030,volume,,,space
// EXEC LADAXU21,SIZE=640K
/*
* step 4 - SORT 'extract'
Execute your standard site SORT using 'extract' as SORTIN and SORTOUT
 SORT FIELDS=(126,3,BI,A,1,39,BI,A,132,32,BI,A,166,6,BI,A),WORK=1
 RECORD TYPE=F,LENGTH=(200)
 INPFIL BLKSIZE=3000
 OUTFIL BLKSIZE=3000
 END
/*
* step 5 - LADAXU22, Place LIBDEFS here
// ASSGN SYS005,SYSLST
// ASSGN SYS030,DISK,VOL=volume,SHR
// DLBL EXTRACT,'extract',0
// EXTENT SYS030,volume,,,space
// EXEC LADAXU22,SIZE=640K
/*
/&
* $$ EOJ