Previous Topic: Program RequirementsNext Topic: Sample COBOL User Exit


COBOL User Exit Control Block

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:

  • Internal error id
  • Return code
  • Component code
  • Error code

 

 

 

 

 

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