The job in Figure 37 shows you an example of the job control statements you can use to invoke DFHCSDUP as a batch program.
//CSDJOB JOB accounting info,name,MSGLEVEL=1
//STEP1 EXEC PGM=DFHCSDUP,REGION=0M, 1
// PARM='CSD(READWRITE),PAGESIZE(60),NOCOMPAT'
//STEPLIB DD DSN=CICSTS31.CICS.SDFHLOAD,DISP=SHR
//*******************************************************************
//* If you are running DFHCSDUP with the MIGRATE command,
//* and your CICS load tables are not in CICSTS31.CICS.SDFHLOAD,
//* concatenate your own private library here:
//*******************************************************************
// DD DSN=CICSTS31.CICS.userlib.tables,DISP=SHR
//DFHCSD DD UNIT=SYSDA,DISP=SHR,DSN=CICSTS31.CICS.DFHCSD
//SECNDCSD DD UNIT=SYSDA,DISP=SHR,DSN=CICSTS31.CICS.SECNDCSD 2
//indd DD UNIT=SYSDA,DISP=SHR,DSN=extract.input.dataset 3
//outdd DD UNIT=SYSDA,DISP=SHR,DSN=extract.output.dataset 4
5
//* or 4
//outdd DD SYSOUT=A 4
5
//SYSPRINT DD SYSOUT=A
//SYSIN DD *
·
·
·
DFHCSDUP commands 6
/*
//
Notes:
1 The EXEC statement should specify a suitable REGION size and a PARM parameter:
2 You need a DD statement for a secondary CSD if you specify the FROMCSD parameter on an APPEND, COPY, or SERVICE command. The ddname for this DD statement is the name you specify on the FROMCSD parameter. The secondary CSD must be a different data set from the primary; you must not define primary and secondary DD statements that reference the same data set.
3 If you specify the EXTRACT command, you may need to:
The input file specified by CRFINPT is needed by the user programs DFH$CRFx (where x=A for Assembler or x=P for PL/I) and DFH0CRFC (for COBOL) to supply the list of resource types or attributes for which you want a cross reference listing. You can specify (in uppercase) any resource type known to CEDA, one resource type per line (starting in column 1). For example, your CRFINPT file may contain the following resource types (one per line) to be cross referenced:
For programming information about the use of the CRFINPT file by the programs DFH$CRFx or DFH0CRFC (for COBOL), see the CICS Customization Guide.
4 If you specify the EXTRACT command, you need to include the DD statements for any data sets that receive output from your extract program. The ddname is whatever ddname you define in the user program. The CICS-supplied sample programs need DD statements for the following ddnames:
program name | ddname | example DD statement |
---|---|---|
DFH$CRFx or DFH0CRFC (COBOL) |
CRFOUT | //CRFOUT DD SYSOUT=A |
DFH$FORx or DFH0FORC (COBOL ) |
FOROUT | //FOROUT DD SYSOUT=output.dataset |
DFH0CBDC |
CBDOUT SYSABOUT |
//CBDOUT DD SYSOUT=A //SYSABOUT DD SYSOUT=A |
5 The output data sets in these examples are opened and closed for each EXTRACT command specified in SYSIN. If you are writing the output to a sequential disk data set, specify DISP=MOD to ensure that data is not overwritten by successive EXTRACT commands. Alternatively, provided you do not specify SYSOUT on the DD statement, you can change the OPEN statement in the program (for example, in the COBOL versions, to OPEN EXTEND). For programming information about the CICS-supplied user programs, see the CICS Customization Guide.
6 Syntax
You can code commands and keywords using abbreviations and mixed case, as given in the syntax box in the description of each command. If you enter an ambiguous command or keyword, the DFHCSDUP program issues a message indicating the ambiguity.
You can specify keyword values longer than one line, if you use the continuation character (an asterisk) at the end of a line (in column 72). Subsequent lines start in column 1. For example, you can use this facility to specify XTPNAME values of up to 128 hexadecimal characters.
You can use a data set or a partitioned data set member for your commands, rather than coding them in the input stream.