JCL/JCS Requirements and Examples

This section describes the job control information required to run ADAINV with BS2000, z/OS, and z/VSE 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.

BS2000

File 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 data set is split across two volumes. If two data sets 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 SET-LOGON-PARAMETERS
 /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
 /EXIT-JOB MODE=NORMAL,SYS-OUT=NONE

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

z/OS

Data Set 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 data set is split across two volumes, but this is difficult to accomplish under OS. Two sort data sets 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 (z/OS)

Couple Files

Refer to ADAINVCO in the JOBS data set for this example.

//ADAINVCO  JOB
//*
//*    ADAINV:  COUPLE FILES
//*
//INV       EXEC PGM=ADARUN
//STEPLIB   DD   DISP=SHR,DSN=ADABAS.ADAvrs.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 JOBS data set for this example.

//ADAINVDE  JOB
//*
//*     ADAINV:  INVERT A FIELD TO A DE
//*
//INV       EXEC PGM=ADARUN
//STEPLIB   DD   DISP=SHR,DSN=ADABAS.ADAvrs.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
/*

z/VSE

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 (z/VSE)

See Library and File Procedures for z/VSE Examples for a description of the z/VSE 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