The administration routines may also contain commands to retrieve information
about one of the exit program’s work areas (the EXEC CICS EXTRACT EXIT
command), and to resolve any inconsistency between CICS and a non-CICS
resource manager after a system failure (the EXEC CICS RESYNC command). For
programming information about the EXEC CICS ENABLE PROGRAM, DISABLE
PROGRAM, EXTRACT EXIT, and RESYNC ENTRYNAME commands, refer to the
CICS System Programming Reference manual.
The remainder of this section discusses each of these parts of the adapter in turn.
The stub program
The purpose of the stub program is to shield your application programmers from the
mechanics of non-CICS resource managers. It is written in assembler language.
After assembly, the stub is link-edited to each application program that wants to use
it. See Figure 5.
statname
is a label that can be referenced externally. It should conform to the
requirements of an assembler-language ENTRY statement, and typically
resolves a V-type address constant, or the target of a high-level language
CALL. A single stub may contain several such labels.
ename
is the entry name (specified on the EXEC CICS ENABLE command) of the
task-related user exit program that you want to handle resource manager
requests.
You can define high-level language commands for your programmers to use when
they want to access a non-CICS resource. If you do this, you must use a translator
to convert a locally-defined high-level language command into a conventional CALL
to the required entry point of the stub program. Alternatively, the application
program can issue a CALL naming the stub entry point, as shown in Figure 5. For
example, to read a record from a non-CICS resource, an application program can
use the COBOL statement:
CALL ’XYZ’ USING PARM1 PARM2...
XYZ is an entry point (the statname) in your stub program. The stub converts the
command into a macro call (DFHRMCAL) to the task-related user exit program,
specified in the TO= operand. Return from the task-related user exit program is to
the calling application program, not to the stub program.
Application program
.
CALL statname
.
.
Stub
ENTRY statname Task-related
. user exit
.
statname DFHRMCAL TO=ename ename
END
Figure 5. The stub concept
Chapter 2. Task-related user exit programs 269