The user exit control block contains fields that can be used by the user exit. Some fields can be modified, some can not. The COBOL code describing the record layout follows:
01 USER-EXIT-CONTROL-BLOCK.
05 EXB-ID PIC X(4).
05 EXB-USER PIC S9(8) COMP.
05 EXB-ADDR-RWA PIC S9(8) COMP.
05 EXB-ADDR-STACK PIC S9(8) COMP.
05 EXB-ADDR-SSC PIC S9(8) COMP.
05 FILLER PIC S9(8) COMP.
05 EXB-ADDR-RPL PIC S9(8) COMP.
05 EXB-ADDR-ARGUMENT PIC S9(8) COMP.
05 EXB-ADDR-RECORD-BUFFER PIC S9(8) COMP.
05 EXB-MAX-KEY-LENGTH PIC S9(4) COMP.
05 EXB-REC-BUFFER-LENGTH PIC S9(4) COMP.
05 EXB-VSAM-REC-LENGTH PIC S9(4) COMP.
05 EXB-VSAM-KEY-LENGTH PIC S9(4) COMP.
05 EXB-VSAM-KEY-POSITION PIC S9(4) COMP.
05 EXB-FMT-NAME PIC X(8).
05 EXB-DD-NAME PIC X(8).
05 EXB-IDMS-REC-NAME PIC X(16).
05 EXB-IDMS-SET-NAME PIC X(16).
05 EXB-RESERVED PIC S9(2) COMP.
05 EXB-FEEDBACK PIC X(4).
05 EXB-RPL-REQUEST-TYPE PIC X(6).
88 GET-REQUEST VALUE 'GET'.
88 PUT-REQUEST VALUE 'PUT'.
88 POINT-REQUEST VALUE 'POINT'.
88 ENDREQ-REQUEST VALUE 'ENDREQ'.
88 ERASE-REQUEST VALUE 'ERASE'.
05 EXB-RPL-OPTION-1.
10 EXB-DIRECT PIC X.
88 DIRECT-REQUEST VALUE 'X'.
10 EXB-SEQUENTIAL PIC X.
88 SEQUENTIAL-REQUEST VALUE 'X'.
10 EXB-SKIP PIC X.
88 SKIP-REQUEST VALUE 'X'.
10 EXB-KEY-GT-EQ PIC X.
88 KEY-GT-EQ-REQUEST VALUE 'X'.
10 EXB-GENERIC PIC X.
88 GENERIC-REQUEST VALUE 'X'.
10 FILLER PIC X(3).
05 EXB-RPL-OPTION-2.
10 EXB-KEYED-ACCESS PIC X.
88 KEYED-ACCESS VALUE 'X'.
10 EXB-ADDRESS-ACCESS PIC X.
88 ADDRESS-ACCESS VALUE 'X'.
10 EXB-BACKWARD-ACCESS PIC X.
88 BACKWARD-ACCESS VALUE 'X'.
10 EXB-LAST-REC-ACCESS PIC X.
88 LAST-REC-ACCESS VALUE 'X'.
10 EXB-UPDATE-ACCESS PIC X.
88 UPDATE-ACCESS VALUE 'X'.
10 EXB-SET-POSITION PIC X.
88 SET-POSITION VALUE 'X'.
10 FILLER PIC X(2).
05 EXB-VSAM-FILE-TYPE.
10 EXB-KSDS PIC X.
88 KSDS VALUE 'X'.
10 EXB-PATH PIC X.
88 PATH VALUE 'X'.
10 EXB-RRDS PIC X.
88 RRDS VALUE 'X'.
10 EXB-ESDS PIC X.
88 ESDS VALUE 'X'.
10 EXB-BASE-CLUS-ESDS PIC X.
88 BASE-CLUS-ESDS VALUE 'X'.
10 EXB-SET-DEFINED PIC X.
88 SET-DEFINED VALUE 'X'.
10 EXB-NATIVE-VSAM PIC X.
88 NATIVE-VSAM VALUE 'X'.
10 FILLER PIC X.
05 EXB-EXIT-FLAGS.
10 EXB-EXIT-TYPE PIC X.
88 BEFORE-EXIT VALUE 'B'.
88 AFTER-EXIT VALUE 'A'.
10 EXB-SKIP-TO-AFTER PIC X.
88 SKIP-TO-AFTER VALUE 'X'.
10 EXB-RETURN-IMMED PIC X.
88 RETURN-IMMED VALUE 'X'.
10 EXB-EXIT-SET-REC-LENGTH PIC X.
88 EXIT-SET-REC-LENGTH VALUE 'X'.
10 EXB-EXIT-SET-ARGUMENT PIC X.
88 EXIT-SET-ARGUMENT VALUE 'X'.
10 EXB-EXIT-SET-FEEDBACK PIC X.
88 EXIT-SET-FEEDBACK VALUE 'X'.
10 FILLER PIC X(2).
05 FILLER PIC X(8).
05 FILLER PIC X(2).
05 EXB-SAVE-AREA PIC X(72).
05 FILLER PIC X(12).
Field Descriptions
The following table gives a detailed description of the fields in the exit control block.
Note: In the Type column, A means alphanumeric and N means numeric (COMP).
|
Offset |
Name |
Type |
Len |
Description |
|---|---|---|---|---|
|
0 |
EXB-ID |
A |
4 |
Contains the literal 'EXB'. |
|
4 |
EXB-USER |
N |
4 |
Can not be used by the COBOL exit. Reserved for the Assembler exit. |
|
8 |
EXB-ADDR-RWA |
N |
4 |
Can not be used by the COBOL exit. Reserved for the Assembler exit. |
|
12 |
EXB-ADDR-STACK |
N |
4 |
Can not be used by the COBOL exit. Reserved for the Assembler exit. |
|
16 |
EXB-ADDR-SSC |
N |
4 |
Can not be used by the COBOL exit. Reserved for the Assembler exit. |
|
20 |
FILLER |
N |
4 |
Can not be used by the COBOL exit. Reserved for the Assembler exit. |
|
24 |
EXB-ADDR-RPL |
N |
4 |
Can not be used by the COBOL exit. Reserved for the Assembler exit. |
|
28 |
EXB-ADDR- ARGUMENT |
N |
4 |
Can not be used by the COBOL exit. Reserved for the Assembler exit. |
|
32 |
EXB-ADDR-RECORD -BUFFER |
N |
4 |
Can not be used by the COBOL exit. Reserved for the Assembler exit. |
|
36 |
EXB-MAX-KEY- LENGTH |
N |
2 |
Maximum key length. |
|
38 |
EXB-REC-BUFFER- LENGTH |
N |
2 |
Current length of record in the record buffer. |
|
40 |
EXB-VSAM-REC- LENGTH |
N |
2 |
Contains the VSAM record length obtained from FMT. |
|
42 |
EXB-VSAM-KEY- LENGTH |
N |
2 |
Contains the VSAM key length obtained from FMT. |
|
44 |
EXB-VSAM-KEY- POSITION |
N |
2 |
Contains the VSAM key position obtained from FMT. |
|
46 |
EXB-FMT-NAME |
A |
8 |
FMT name. |
|
54 |
EXB-DD-NAME |
A |
8 |
DD name. |
|
62 |
EXB-IDMS-REC-NAME |
A |
16 |
CA IDMS/DB record name. |
|
78 |
EXB-IDMS-SET-NAME |
A |
16 |
CA IDMS/DB set name. |
|
94 |
EXB-RESERVED |
N |
2 |
Reserved field. |
|
96 |
EXB-FEEDBACK |
A |
4 |
Allows you to set a feedback code (return code) from the exit program. By placing a value here (such as subschema control status) and by moving an 'X' to EXIT-SET-FEEDBACK, CA IDMS VSAM Transparency will display an error message on the job log including the feedback code you set:
|
|
|
|
|
|
|
|
100 |
EXB-RPL-REQUEST |
A |
6 |
Identifies the type of VSAM call issued. Use this field in conjunction with EXB-EXIT-FLAGS to determine what type of processing will be required. Valid values are: |
|
100 |
GET-REQUEST |
A |
6 |
'GET ' |
|
100 |
PUT-REQUEST |
A |
6 |
'PUT ' |
|
100 |
POINT-REQUEST |
A |
6 |
'POINT ' |
|
100 |
ENDREQ-REQUEST |
A |
6 |
'ENDREQ' |
|
100 |
ERASE-REQUEST |
A |
6 |
'ERASE ' |
|
106 |
EXB-RPL-OPTION-1 |
A |
8 |
|
|
|
|
|
|
|
|
106 |
EXB-RPL-OPTION-1 |
A |
8 |
Further qualifies the request type: |
|
106 |
DIRECT-REQUEST |
A |
1 |
Direct request |
|
107 |
SEQUENTIAL- REQUEST |
A |
1 |
Sequential request |
|
108 |
SKIP-REQUEST |
A |
1 |
Skip request |
|
109 |
KEY-GT-EQ-REQUEST |
A |
1 |
Key gt/eq request |
|
110 |
GENERIC-REQUEST |
A |
1 |
Generic request |
|
111 |
FILLER |
A |
3 |
Filler |
|
|
|
|
|
|
|
114 |
EXB-RPL-OPTION-2 |
A |
8 |
Further qualifies the request type: |
|
114 |
KEYED-ACCESS |
A |
1 |
Keyed access |
|
115 |
ADDRESS-ACCESS |
A |
1 |
Address access |
|
116 |
BACKWARD-ACCESS |
A |
1 |
Backward access |
|
117 |
LAST-REC-ACCESS |
A |
1 |
Last record access |
|
118 |
UPDATE-ACCESS |
A |
1 |
Update access |
|
119 |
SET-POSITION |
A |
1 |
Set position |
|
120 |
FILLER |
A |
2 |
Filler |
|
|
|
|
|
|
|
122 |
EXB-VSAM-FILE-TYPE |
A |
8 |
Identifies the VSAM file type: |
|
122 |
KSDS |
A |
1 |
KSDS |
|
123 |
PATH |
A |
1 |
PATH |
|
124 |
RRDS |
A |
1 |
RRDS |
|
125 |
ESDS |
A |
1 |
ESDS |
|
126 |
BASE-CLUS-ESDS |
A |
1 |
Base cluster ESDS |
|
127 |
SET-DEFINED |
A |
1 |
Set defined |
|
128 |
NATIVE-VSAM |
A |
1 |
Native VSAM |
|
129 |
FILLER |
A |
1 |
Filler |
|
|
|
|
|
|
|
130 |
EXB-EXIT-FLAGS |
A |
8 |
Exit flags that control CA IDMS VSAM Transparency processing |
|
130 |
EXB-EXIT-TYPE |
A |
1 |
Indicates the exit type: |
|
130 |
BEFORE-EXIT |
A |
1 |
Before = 'B' |
|
130 |
AFTER-EXIT |
A |
1 |
After = 'A' |
|
The next 5 bytes describe exit processing. Put an X in the byte to turn the character switch on. The default is blank. |
||||
|
131 |
SKIP-TO-AFTER |
A |
1 |
Tells CA IDMS VSAM Transparency to invoke the after exit immediately after the before exit and bypass CA IDMS VSAM Transparency processing. |
|
132 |
RETURN-IMMED |
A |
1 |
Tells CA IDMS VSAM Transparency to return immediately to the user and bypass CA IDMS VSAM Transparency processing. |
|
133 |
EXIT-SET-REC-LENGTH |
A |
1 |
Tells CA IDMS VSAM Transparency that the exit modified the length of the record in the buffer. |
|
134 |
EXIT-SET-ARGUMENT |
A |
1 |
Tells CA IDMS VSAM Transparency that the exit set the argument. |
|
135 |
EXIT-SET-FEEDBACK |
A |
1 |
Tells CA IDMS VSAM Transparency that the exit set the feedback code. CA IDMS VSAM Transparency will display a message with this feedback code to the job log. |
|
|
|
|
|
|
|
136 |
FILLER |
A |
2 |
Filler |
|
138 |
FILLER |
A |
8 |
Filler |
|
146 |
FILLER |
A |
2 |
Filler |
|
148 |
EXP-SAVE-AREA |
A |
72 |
|
|
218 |
FILLER |
A |
12 |
Filler |
|
Copyright © 2014 CA.
All rights reserved.
|
|