Version 7.4.4
 —  Utilities  —

JCL/JCS Requirements and Examples

This section describes the job control information required to run ADAINV with BS2000, OS/390 or z/OS, VM/ESA or z/VM, and VSE/ESA systems and shows examples of each of the job streams.

This document covers the following topics:


Collation with User Exit

If a collation user exit is to be used during ADAINV execution, the ADARUN CDXnn parameter must be specified for the utility run.

Used in conjunction with the universal encoding support (UES), the format of the collation descriptor user exit parameter is

graphics/util_adarun_cdxnn.png

where

nn is the number of the collation descriptor exit, a two-digit decimal integer in the range 01-08 inclusive.
exit-name is the name of the user routine that gets control at the collation descriptor exit; the name can be up to 8 characters long.

Only one program may be specified for each collation descriptor exit. Up to 8 collation descriptor exits may be specified (in any order). See the Adabas DBA Reference documentation for more information.

Top of page

BS2000

Dataset Link Name Storage More Information
Associator DDASSORn disk  
Intermediate storage DDTEMPR1 disk  
Sort area DDSORTR1 disk  
Sort area DDSORTR2 disk When using large files, the Sort area should be split across two volumes (see Note).
Recovery log (RLOG) DDRLOGR1 disk Required when using the recovery log option
ADARUN parameters SYSDTA/ DDCARD   Operations
ADAINV parameters SYSDTA/ DDKARTE    
ADARUN messages SYSOUT/ DDPRINT   Messages and Codes
ADAINV messages SYSLST/ DDDRUCK   Messages and Codes

Note:
Performance can be improved when sorting large files if the sort dataset is split across two volumes. If two datasets are specified, they must both be on the same device type (SORTDEV parameter), and each must be exactly half the size specified with the SORTSIZE parameter.

ADAINV JCL Examples (BS2000)

Couple Files

In SDF Format:

/.ADAINV LOGON
 /MODIFY-TEST-OPTIONS DUMP=YES
 /REMARK *
 /REMARK * A D A I N V COUPLE FIELD (REFLECTIVE)
 /REMARK *
 /ASS-SYSLST L.INV.COUP
 /ASS-SYSDTA *SYSCMD
 /SET-FILE-LINK DDLIB,ADAvrs.MOD
 /SET-FILE-LINK DDASSOR1,ADAyyyyy.ASSO,SHARE-UPD=YES
 /SET-FILE-LINK DDTEMPR1,ADAyyyyy.TEMP
 /SET-FILE-LINK DDSORTR1,ADAyyyyy.SORT
 /START-PROGRAM *M(ADA.MOD,ADARUN),PR-MO=ANY
 ADARUN PROG=ADAINV,DB=yyyyy,IDTNAME=ADABAS5B
 ADAINV COUPLE FILE=1,3,DESCRIPTOR= AA,AA 
 ADAINV TEMPSIZE=100,SORTSIZE=50
 /LOGOFF SYS-OUTPUT=DEL

In ISP Format:

/.ADAINV LOGON
 /OPTION MSG=FH,DUMP=YES
 /REMARK *
 /REMARK * A D A I N V COUPLE FIELD (REFLECTIVE)
 /REMARK *
 /SYSFILE SYSLST=L.INV.COUP
 /FILE ADA.MOD,LINK=DDLIB
 /FILE ADAyyyyy.ASSOR ,LINK=DDASSOR1,SHARUPD=YES
 /FILE ADAyyyyy.TEMP ,LINK=DDTEMPR1
 /FILE ADAyyyyy.SORT ,LINK=DDSORTR1
 /EXEC (ADARUN,ADA.MOD)
 ADARUN PROG=ADAINV,DB=yyyyy,IDTNAME=ADABAS5B
 ADAINV COUPLE FILE=1,3,DESCRIPTOR= AA,AA 
 ADAINV TEMPSIZE=100,SORTSIZE=50
 /LOGOFF NOSPOOL

Invert File

In SDF Format:

/.ADAINV LOGON
 /MODIFY-TEST-OPTIONS DUMP=YES
 /REMARK *
 /REMARK * A D A I N V INVERT FIELD (REFLECTIVE)
 /REMARK *
 /ASS-SYSLST L.INV.INVE
 /ASS-SYSDTA *SYSCMD
 /SET-FILE-LINK DDLIB,ADAvrs.MOD
 /SET-FILE-LINK DDASSOR1,ADAyyyyy.ASSO,SHARE-UPD=YES
 /SET-FILE-LINK DDTEMPR1,ADAyyyyy.TEMP
 /SET-FILE-LINK DDSORTR1,ADAyyyyy.SORT
 /START-PROGRAM *M(ADA.MOD,ADARUN),PR-MO=ANY
 ADARUN PROG=ADAINV,DB=yyyyy,IDTNAME=ADABAS5B
 ADAINV INVERT FILE=1
 ADAINV TEMPSIZE=100,SORTSIZE=50
 ADAINV FIELD= AC 
 ADAINV SUPDE= S1,UQ=AA(1,3),AD(2,4) 
 /LOGOFF SYS-OUTPUT=DEL

In ISP Format:

/.ADAINV LOGON
 /OPTION MSG=FH,DUMP=YES
 /REMARK *
 /REMARK * A D A I N V INVERT FIELD (REFLECTIVE)
 /REMARK *
 /SYSFILE SYSLST=L.INV.INVE
 /FILE ADA.MOD,LINK=DDLIB
 /FILE ADAyyyyy.ASSOR ,LINK=DDASSOR1,SHARUPD=YES
 /FILE ADAyyyyy.TEMP ,LINK=DDTEMPR1
 /FILE ADAyyyyy.SORT ,LINK=DDSORTR1
 /EXEC (ADARUN,ADA.MOD)
 ADARUN PROG=ADAINV,DB=yyyyy,IDTNAME=ADABAS5B
 ADAINV INVERT FILE=1
 ADAINV TEMPSIZE=100,SORTSIZE=50
 ADAINV FIELD= AC 
 ADAINV SUPDE= S1,UQ=AA(1,3),AD(2,4) 
 /LOGOFF NOSPOOL

Top of page

OS/390 or z/OS

Dataset DD Name Storage More Information
Associator DDASSORn disk  
Intermediate storage DDTEMPR1 disk  
Sort area DDSORTR1 disk  
Sort area DDSORTR2 disk When using large files, the Sort area should be split across two volumes (see Note).
Recovery log (RLOG) DDRLOGR1 disk Required when using the recovery log option
ADARUN parameters DDCARD reader Operations
ADAINV parameters DDKARTE reader  
ADARUN messages DDPRINT printer Messages and Codes
ADAINV messages DDDRUCK printer Messages and Codes

Note:
Performance can be improved when sorting large files if the sort dataset is split across two volumes, but this is difficult to accomplish under OS. Two sort datasets may be specified instead. They must both be on the same device type (SORTDEV parameter), and each must be exactly half the size specified with the SORTSIZE parameter.

*

ADAINV JCL Example (OS/390 or z/OS)

Couple Files

Refer to ADAINVCO in the MVSJOBS dataset for this example.

//ADAINVCO  JOB
//*
//*    ADAINV:  COUPLE FILES
//*
//INV       EXEC PGM=ADARUN
//STEPLIB   DD   DISP=SHR,DSN=ADABAS.Vvrs.LOAD      <=== ADABAS LOAD
//*
//DDASSOR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.ASSOR1 <===== ASSO
//DDDATAR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.DATAR1 <===== DATA

//DDWORKR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.WORKR1 <===== WORK
//DDTEMPR1  DD   DISP=OLD,DSN=EXAMPLE.DByyyyy.TEMPR1 <===== TEMP
//DDSORTR1  DD   DISP=OLD,DSN=EXAMPLE.DByyyyy.SORTR1 <===== SORT
//DDDRUCK   DD   SYSOUT=X
//DDPRINT   DD   SYSOUT=X
//SYSUDUMP  DD   SYSOUT=X
//DDCARD    DD   *
ADARUN PROG=ADAINV,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
//DDKARTE   DD   *
ADAINV COUPLE FILE=2,3,DESCRIPTOR='BB,BB'
ADAINV        TEMPSIZE=100,SORTSIZE=100
/*

Invert File

Refer to ADAINV in the MVSJOBS dataset for this example.

//ADAINVDE  JOB
//*
//*     ADAINV:  INVERT A FIELD TO A DE
//*
//INV       EXEC PGM=ADARUN
//STEPLIB   DD   DISP=SHR,DSN=ADABAS.Vvrs.LOAD      <=== ADABAS LOAD
//*
//DDASSOR1  DD   DISP=SHR,DSN=EXAMPLE.DByyyyy.ASSOR1 <===== ASSO
//DDTEMPR1  DD   DISP=OLD,DSN=EXAMPLE.DByyyyy.TEMPR1 <===== TEMP
//DDSORTR1  DD   DISP=OLD,DSN=EXAMPLE.DByyyyy.SORTR1 <===== SORT
//DDDRUCK   DD   SYSOUT=X
//DDPRINT   DD   SYSOUT=X
//SYSUDUMP  DD   SYSOUT=X
//DDCARD    DD   *
ADARUN PROG=ADAINV,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
//DDKARTE   DD   *
ADAINV INVERT FILE=1
ADAINV FIELD='AC'
ADAINV SUPDE='S1,UQ=AA(1,3),AD(2,4)'
ADAINV TEMPSIZE=100,SORTSIZE=100
/*

Top of page

VM/ESA or z/VM

Dataset DD Name Storage More Information
Associator DDASSORn disk  
Intermediate storage DDTEMPR1 disk  
Sort area DDSORTR1 disk  
Sort area DDSORTR2 disk When using large files, the Sort area should be split across two volumes.*
Recovery log (RLOG) DDRLOGR1 disk Required when using the recovery log option
ADARUN parameters DDCARD disk/ terminal/ reader Operations
ADAINV parameters DDKARTE disk/ terminal/ reader  
ADARUN messages DDPRINT disk/ terminal/ printer Messages and Codes
ADAINV messages DDDRUCK disk/ terminal/ printer Messages and Codes

* Performance can be improved when sorting large files if the sort dataset is split across two volumes, but this is difficult to accomplish under CMS. Two sort datasets may be specified instead. They must both be on the same device type (SORTDEV parameter), and each must be exactly half the size specified with the SORTSIZE parameter.

ADAINV JCL Examples (VM/ESA or z/VM)

Couple Files

DATADEF DDASSOR1,DSN=ADABASVv.ASSO,VOL=ASSOV1
DATADEF DDTEMPR1,DSN=ADABASVv.TEMP,VOL=TEMPV1
DATADEF DDSORTR1,DSN=ADABASVv.SORT,VOL=SORTV1
DATADEF DDPRINT,DSN=ADAINV.DDPRINT,MODE=A
DATADEF DUMP,DUMMY
DATADEF DDDRUCK,DSN=ADAINV.DDDRUCK,MODE=A
DATADEF DDCARD,DSN=RUNINV.CONTROL,MODE=A
DATADEF DDKARTE,DSN=ADAINV.CONTROL,MODE=A
ADARUN  

Contents of RUNINV CONTROL A1:

ADARUN PROG=ADAINV,DEVICE=dddd,DB=yyyyy     

Contents of ADAINV CONTROL A1:

ADAINV COUPLE FILE=1,3,DESCRIPTOR='AA,AA'
ADAINV        TEMPSIZE=100,SORTSIZE=50
*

Invert File

DATADEF DDASSOR1,DSN=ADABASVv.ASSO,VOL=ASSOV1
DATADEF DDTEMPR1,DSN=ADABASVv.TEMP,VOL=TEMPV1
DATADEF DDSORTR1,DSN=ADABASVv.SORT,VOL=SORTV1
DATADEF DDPRINT,DSN=ADAINV.DDPRINT,MODE=A
DATADEF DUMP,DUMMY                                                     
        
DATADEF DDDRUCK,DSN=ADAINV.DDDRUCK,MODE=A
DATADEF DDCARD,DSN=RUNINV.CONTROL,MODE=A
DATADEF DDKARTE,DSN=ADAINV.CONTROL,MODE=A
ADARUN  

Contents of RUNINV CONTROL A1:

ADARUN PROG=ADAINV,DEVICE=dddd,DB=yyyyy   

Contents of ADAINV CONTROL A1:

ADAINV INVERT FILE=1
ADAINV        TEMPSIZE=100,SORTSIZE=50
*
ADAINV        FIELD='AC'
ADAINV        SUPDE='S1,UQ=AA(1,3),AD(2,4)'

Top of page

VSE/ESA

File File Name Storage Logical Unit More Information
Associator ASSORn disk *  
Intermediate storage TEMPR1 disk *  
Sort area SORTR1 disk *  
Recovery log (RLOG) RLOGR1 disk * Required with recovery log (RLOG) option
ADARUN parameters -
CARD
CARD
reader
tape
disk
SYSRDR
SYS000
*
 
ADAINV parameters - reader SYSIPT  
ADARUN messages - printer SYSLST Messages and Codes
ADAINV messages - printer SYS009 Messages and Codes

* Any programmer logical unit can be used.

ADAINV JCS Examples (VSE/ESA)

See Procedures for VSE/ESA Examples for a description of the VSE/ESA procedures (PROCs).

Couple Files

Refer to member ADAINVCO.X for this example.

* $$ JOB JNM=ADAINVCO,CLASS=A,DISP=D
* $$ LST CLASS=A,DISP=D
// JOB ADAINVCO
*       COUPLE FILES
// EXEC PROC=ADAVvLIB
// EXEC PROC=ADAVvFIL
// EXEC ADARUN,SIZE=ADARUN
ADARUN PROG=ADAINV,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
ADAINV COUPLE FILE=2,3,DESCRIPTOR='BB,BB'
ADAINV        TEMPSIZE=100,SORTSIZE=100
/*
/&
* $$ EOJ

Invert File

Refer to member ADAINV.X for this example.

* $$ JOB JNM=ADAINV,CLASS=A,DISP=D
* $$ LST CLASS=A,DISP=D
// JOB ADAINV
*       INVERT A FIELD TO A DESCRIPTOR
// EXEC PROC=ADAVvLIB
// EXEC PROC=ADAVvFIL
// EXEC ADARUN,SIZE=ADARUN
ADARUN PROG=ADAINV,MODE=MULTI,SVC=xxx,DEVICE=dddd,DBID=yyyyy
/*
ADAINV INVERT FILE=1
ADAINV FIELD='AC'
ADAINV SUPDE='S1,UQ=AA(1,3),AD(2,4)'
ADAINV TEMPSIZE=100,SORTSIZE=100
/*
/&
* $$ EOJ

Top of page