Before an operator can start BDT you must provide a start procedure.
The start procedure identifies the BDT program that is to run first
and the data sets that BDT is to use. Invoking the start procedure
creates a BDT address space.
You must store the start procedure as a member of SYS1.PROCLIB
or as a member of a data set that is concatenated to SYS1.PROCLIB.
You may give the member any name you wish. There is no naming restriction
like there is for the TQI start procedure.
Information about invoking the start procedure that you write is
in z/OS BDT Commands. A discussion of cold, warm, and hot starting
is included in that book. Note that starting BDT for the first time
after it is installed requires a cold start.
IBM provides a sample BDT start procedure in SYS1.SBDTSAMP
(member name BDT$V2SP). It is shown in Figure 1.
A description of each statement that appears in the example follows
the figure.
Figure 1. The BDT Start Procedure in
SYS1.SBDTSAMP Member BDT$V2SP//BDTA1 PROC
//BDT EXEC PGM=BDTINTK,REGION=5000K,TIME=1440
//STEPLIB DD DISP=SHR,DSN=SYS1.SBDTLIB
//BDSPOOL DD DISP=OLD,DSN=BDT1.BDTSPOOL
//CRSPOOL DD DISP=OLD,DSN=BDT1.BDTSPOOL
//DATAFILE DD DISP=SHR,DSN=BDT1.TQIDATA
//BITMAPS DD DISP=SHR,DSN=BDT1.TQIBITS
//BDTM001 DD DISP=SHR,DSN=BDT1.MSG0001
//BDTOUT DD SYSOUT=A
//SYSABEND DD SYSOUT=A
//BDTABEND DD SYSOUT=A
//BDTIN DD DISP=SHR,DSN=BDT.INISH.DECKS(BDT$FTF)
- //BDTA1 PROC
- This statement is required. However, the procedure name can be
a name other than BDTA1.
- //BDT EXEC
- This statement is required. You must code PGM=BDTINTK. REGION
and TIME are optional.
- //STEPLIB DD
- specifies that BDTINTK is in SYS1.SBDTLIB.
- //BDSPOOL DD
- //CRSPOOL DD
- These
two statements define the BDT work queue data set and are required
to be in the start procedure. You may not use the DYNALLOC initialization
statement instead of these DD statements to allocate the data set.
The ddnames must be BDSPOOL and CRSPOOL and the dispositions must
be OLD. The data set name you use must be the same one you specified
when you allocated the data set in Step 2. Allocate a Data Set for the BDT Work Queue.
- //BDTM001 DD
- Each
message data set used by your BDT subsystem requires a DD statement
in the start procedure or a DYNALLOC statement in the initialization
stream. Valid ddnames are BDTMx, where x is
any 1 to 4 alphanumeric characters. A suggestion is to start with
the name BDTM001 and proceed sequentially: BDTM001, BDTM002, BDTM003,
and so forth. The data set names you use must be the same ones you
specified when you allocated the data sets in Step 7. Allocate Message Data Sets. The
disposition of the data sets must be SHR.
- //BITMAPS DD
- This
statement is optional. It is required if any processors in a complex
will run TQI. It identifies the TQI bit-map data set. The ddname
must be BITMAPS. The data set name must be the same one you specified
when you allocated the data set in Step 6. Allocate the TQI Bit-Map Data Set.
The disposition of the data set must be SHR.
- //DATAFILE DD
- This
statement is optional. It is required if any processors in a complex
will run TQI. It identifies the TQI checkpoint data set. The ddname
must be DATAFILE. The data set name must be the same one you specified
when you allocated the data set in Step 5. Allocate the TQI Checkpoint Data Set.
The disposition of the data set must be SHR.
- //BDTOUT DD
- This
statement identifies the data set to which BDT will write initialization
statements and initialization messages. It is required to be in the
start procedure. You may not use the DYNALLOC initialization statement
instead of BDTOUT to allocate the data set.
- //SYSABEND DD
- This
statement is optional. If you want a formatted MVS storage dump in
the event BDT abnormally terminates, include this statement or a SYSUDUMP
DD statement. To get an unformatted dump, include a SYSMDUMP DD statement.
To determine where the dump is to be sent, use the DUMP parameter
of the OPTIONS initialization statement.
- //BDTABEND DD
- This
statement is optional. It defines the data set to which BDT is to
write the formatted dump.
- //BDTIN DD
- This
statement identifies the data set that contains the BDT initialization
stream. This statement is required to be in the start procedure.
You may not use the DYNALLOC initialization statement instead of BDTIN
to allocate the data set.
By means of the data set name you specify
on the BDTIN DD statement, the operator can be given flexibility in
choosing which initialization stream to use. When starting BDT, the
operator can reply to message BDT3037 in any of the following ways:
- If the BDTIN DD statement specifies a sequential data set, the
operator can reply N (for normal) to use the initialization stream
in that data set.
- If the BDTIN DD statement specifies a partitioned data set without
a member name, the operator can reply M=member to use the initialization
stream in that member, or M=xx to use the initialization stream
in member BDTINxx, where xx is any one or two alphanumeric
characters.
- If the BDTIN DD statement specifies a partitioned data set with
a member name, the operator can reply N to use the initialization
stream in that member, M=member to use the initialization stream
in member, or M=xx to use the initialization stream
in member BDTINxx, where xx is any one or two alphanumeric
characters.
If you have a system GMJD library (allocated in Step 3. Allocate a System GMJD Library (File-to-File Customers Only)) you must include a DD statement
for it in the start procedure or a DYNALLOC statement for it in the
initialization stream. The ddname must be GMJDLIB.