This section defines a number of factors that you should
consider when coding FBEs. Unless stated otherwise, they apply to FBEs in any
supported language.
Mixing exit languages
You can code multiple exits on the same DIM in different
LE/370 languages.
Exits that include SQL
There are a number of additional factors to consider when
you code an exit that includes SQL statements.
Calling other CICS VT routines
CICS® VT establishes
an LE/370 enclave for high-level language exits. Internal VT services
support calls to routines outside the enclave, such as SQL or calls
to the conversion routine VIDCONV.
Processing errors in an FBE
There are two parameters in the CICS VT FBE parameter list that you use to perform
error processing.
Unsuccessful completion and return control to application
Your application may handle certain error conditions returned
in VSAM. You can simulate this in an FBE by setting EXRET = P. This
will result in return code = 08 being passed to your application program.
Terminating an LE/370 enclave
High-level language (HLL) exits run in an LE/370 enclave
which CICS VT establishes with
CEEPIPI. This places certain restrictions on the semantics of how
your exit ends.
Passing data between exits
CICS VT provides
a 16k work area for passing data between exits. The address of the
work area is in EXWRKA. In an IRD, the address is in IRDWRKA. Use
this as a scratch pad area.
Performance implications of FBEs
In general, FBEs that manipulate bits and bytes in storage
do not add any significant overhead.
IOAREA building in CICS VT
CICS
VT optimizes IO area building by grouping fields together and processing them as
a single field.
FBE for a key or AIX field
Each SQL call that is issued by a CICS VT DDM has a predicate. The predicate columns
are the DB2® primary key columns
for regular call or the alternate index columns if you are using an
alternate index path. Your FBE may have to take this into consideration.