BDTUX03—Unrecognized BDT Network Initialization Statements
Type
Customization (optional).
General Description
- SNABUF
- SYSID
- BDTNODE
- ENDINIT
All BDT network initialization statements follow the ENDRBAM statement.
BDTGOOP,N=SYS01
where:
- BDTGOOP is the initialization statement
- N is the keyword
- SYS01 is the value associated with the keyword.
BDTINCD invokes BDTUX03 for three reasons. A reason code in register 0 informs the user exit routine of the purpose for which it is run.
Reason=0 BDTINCD encounters an unrecognized initialization statement
This invocation allows the user to identify and process initialization statements not recognized by BDT. BDTINCD calls the exit routine to examine the statement. If the exit routine does not recognize it, BDTINCD processes the statement as an error.
Reason=4 BDTINCD passes a keyword and its parameters
This invocation allows the user to recognize and process keywords on a user-defined initialization statement. BDTINCD calls BDTUX03 with reason=4 as long as there is a keyword on a user-defined initialization statement.
Reason=8 EOD condition on a user-defined statement
This invocation communicates the end-of-data condition on the user-defined initialization statement. There are no more keywords to process.
See Initialization Flow and User Exit Routines for further information on where this exit routine occurs during initialization processing.
Register Conventions at Entry
- Register 0
- Contains a reason code:
- Reason 0
- Unrecognized initialization statement
- Reason 4
- Keyword on the user-defined initialization statement
- Reason 8
- End-of-data condition
- Register 1
- Contains the address of a parameter list. The contents of the parameter
list depend upon the reason for which the exit routine runs.
- Reason 0
- Register 1 contains the address of a one-word parameter list:
- Word 1
- Address of the unrecognized initialization statement
- Reason 4
- Register 1 contains the address of a three-word parameter list:
- Word 1
- Address of the keyword on the user-defined statement
- Word 2
- Address of the keyword’s parameter value
- Word 3
- Address of a halfword field containing the length of the parameter
- Reason 8
- Parameters are not passed at the end of data.
- Register 11
- Contains the address of the initialization data CSECT, BDTINDT.
- Register 12
- Address of the BDT TVT.
- Register 13
- Points to the register save area set up by ASAVE processing.
- Register 14
- Contains the address of the return point in BDTGRSV.
- Register 15
- Contains the entry point address into the BDTUX03 user exit routine.
Register Conventions at Exit
- Register 14
- Contains the address of the return point in BDTGRSV.
- Register 15
- Used for delivering a return code value set by the BDTUX03 user exit
routine.
- RC 0
- Indicates that the BDTUX03 user exit routine recognizes the statement or keyword as user-defined. Processing continues.
- RC 4
- Indicates that the BDTUX03 user exit routine failed to recognize the statement as user-defined. BDTINCD issues an error message, then continues processing the rest of the initialization statements.
- RC 8
- Indicates that the BDTUX03 user exit routine failed to recognize the statement as user-defined, or a processing error occurred that is serious enough to prevent BDT from completing initialization. BDT initialization processing terminates.
Operation
BDTINCD invokes BDTUX03 for three different reasons. It runs with a reason code of 0 when BDTINCD encounters an unrecognized initialization statement. If the exit routine sets a return code of 0 to indicate that the statement is recognized, BDTINCD scans for keywords associated with the statement. When a keyword is found, BDTUX03 is given control with reason code=4. BDTUX03 runs with reason code=4 as long as keywords are found and the exit routine sets a return code of 0. When all keywords are processed, BDTUX03 runs with a reason code of 8. The exit routine is advised in this way of an end-of-data condition.
Recovery the Exit Routine Must Establish: You should provide ESTAE protection in your exit routine in the event of system failure. If there is no recovery in the routine, an ESTAE exit routine in BDTABMN provides clean-up in case of an abend.
Environment
Point Where Exit Routine Receives Control: This exit routine receives control during BDT cold or warm starts when the initialization files must be opened, read, and closed.
Address Space in Which Exit Routine Runs: BDT address space.
Task Block Under Which Exit Routine Runs: The exit routine runs under BDTINIT’s TCB.
PSW State: Supervisor.
Storage Protection Key: BDTKEY (key 8).
Data Areas
- BDTDINT to map the initialization data CSECT
- BDTDREG to map the registers (required by BDTXRTRN)
- BDTDTVT to map the TVT (required by BDTXRTRN)
- BDTDGSD to map the GSD ( required for coding an ESTAE)
- BDTXASRV to invoke abend services during abend recovery processing (required for coding an ESTAE)
What If BDTUX03 Is Not Used?
If the exit routine is not provided, BDT issues message BDT3243 (which displays the unrecognized statement), continues BDTINCD processing by reading subsequent initialization statements, and terminates at the end of initialization processing.