Control Block Format
- TCQE
- SQCB
- Composite NETMAP record (The node usage (US) record is not a part of the composite NETMAP record.)
- A fullword that contains 1 or 2 indicating whether this is a Stage 1 or Stage 2 exit
- UICB (User Interface Control Block)
- Address of 25 fullword work area (Authorized Stage 1 Submit exit only.)
If the Process submission is to be rejected, the Unauthorized Stage 1 Submit exit and the Stage 2 Submit exit must set a positive non-zero value in Register 15 and the return code field (TQRTNCD) of the TCQE. A message ID in the TQMSGID field in the TCQE should also be set. The same is true of the Authorized Submit exit except that the RC must be >= 8 to reject the submission.
The only modifiable field in the UICB are UIERRM1 and UIERRM1 for which you can return your own message text to Connect:Direct, the exit must put up to 64 bytes of text into UIERRM1. If desired, up to 64 more bytes can be put into UIERRM2. If nothing is returned in UIERRM1, then both UIERRM1 and UIERRM2 will be ignored.
The following figure illustrates the layout of the TCQE. In the Process contained in the Statement Control Block, DMxxxxxx represents the macro name for the statement (COPY, RUN JOB, RUN TASK, SUBMIT, etc.).
TCQ Header | macro= DMTCQE DSECT= TCQE |
Command Statement Header Section | macro= DGA$TQSH DSECT= TCQSH |
Statement Control Block | macro= DMxxxxxx |
Displacement values found in the TCQE and pointers in the TCQSH to the next or previous TCQSH are from the top of the TCQE and may need to be multiplied by 16 (if the Process is larger than 64K). Displacement values found in the statement control blocks are from the top of the TCQSH associated with that statement control block.
The following figure illustrates the layout of the composite NETMAP record.
COMPOSITE NETMAP RECORD $$NN - displacement to ADJACENT NODE Record $$AA - displacement to ALT.COMM Record $$BA - displacement to BATCH.APPLI Record $$CA - displacement to CICS.APPLID $$DN - displacement to LDNS Record $$NA - displacement to APPLIDS Record $$ND - displacement to LUPOOL Record $$NT - displacement to TCP.API Record $$TA - displacement to TSO.APPLIDS Record $$N6 - displacement to IPv6 Record $$NU - displacement to UDT Record (obsolete) $$CM - displacement to COMMENT 13 Record |
macro= DGA$NETE DSECT= $$REC |
ADJACENT NODE Record | macro= DGA$NETD DSECT= NNODEREC |
ALT.COMM Record | macro= DGA$NETL DSECT= ALTADDRH |
LDNS Record | macro= DGA$NET$ DSECT= DNREC |
APPLIDS Record | macro= DGA$NETA DSECT= NAAPLREC |
LUPOOL Record | macro= DGA$NET@ DSECT= NDLUPREC |
TCP.API Record | macro= DGA$NETT DSECT= NTAPIREC |
IPv6 Record | macro= DGA$NET6 DSECT= N6TCPREC |
Displacement values found in the composite network map record are from the top of the composite network map.
Example of Created Control Block
This sample section shows how a Process is submitted and the control block that is created when the Submit exit is invoked. The following figure shows the submitted Process.
|
The following figure illustrates the resulting layout of the Process control block after submitting the Process named TEST01.