Converter programs and the CICS business logic interface
You can have many converter programs in a CICS® system to support the operation of the CICS business logic interface.
The place of converters in the
CICS
business logic interface is illustrated
in
Figure 1
and
Figure 1.
Each converter must provide two functions:
-
Decode
is used before the
CICS
application program is called. It
can:
- Use the data from the incoming request to build the COMMAREA in the format expected by the application program.
- Supply the lengths of the input and output data in the application program's COMMAREA.
- Perform administrative tasks related to the request.
-
Encode
is used after the
CICS
application program has been called.
It can:
- Use the data from the application program to build the response.
- Perform administrative tasks related to the response.
Notes:
- If DECODE_DATA_PTR or ENCODE_DATA_PTR has been altered to address another storage location, it is the converter program's responsibility to freemain the original storage.
- It is the responsibility of the caller of the CICS business logic interface to free the buffer addressed by ENCODE_DATA_PTR (that is, the address returned in field WBBL_OUTDATA_PTR minus 4).
- If the converter abends, CICS will attempt to free the storage addressed by DECODE_DATA_PTR and ENCODE_DATA_PTR. Therefore, you should ensure that these pointers never contain the address of storage that has already been freed.