z/OS BDT Installation
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


BDTUX03—Unrecognized BDT Network Initialization Statements

z/OS BDT Installation
SC14-7582-00

Type

Customization (optional).

General Description

This exit routine allows an installation to identify and process statements not recognized by BDTINCD. The following statements are identified and processed by BDTINCD and describe the BDT network:
  • SNABUF
  • SYSID
  • BDTNODE
  • ENDINIT

All BDT network initialization statements follow the ENDRBAM statement.

This exit routine runs only during a cold or warm start when the BDT initialization stream is processed. The exit routine can recognize user-defined initialization statements, any keywords associated with those statements (a keyword is followed by an equal sign), and any values associated with the keyword. For example, you could code the following:
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

BDTXCALL linkage is used to establish the interface to the BDTUX03 user exit routine. Registers 2-14 are saved by BDT ASAVE processing.
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

Because BDTXCALL linkage is used to establish the interface to the BDTUX03 user exit routine, registers 2-14 of BDTINCD are saved in BDTGRSV. You must store registers 12, 13, and 14 in an area you provide (either an area obtained by GETMAIN or one within your user exit routine) and those registers must be restored on return to BDTGRSV by register 14.
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

Mapping Macros
  • 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)
Executable Macros
  • 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.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014