The CICS® business
logic interface can be called in two modes:
- Offset mode
- In offset mode, there is a single storage area (Storage area 1 in Figure 1) which contains DFHWBBLI's COMMAREA
and the CICS application
program's area. Field wbbl_indata_offset in DFHWBBLI's
COMMAREA contains the offset of the application program's COMMAREA from the start of the storage area. The maximum size of the storage area
is 32k bytes.
In offset mode, your converter program must not change the
values of DECODE_DATA_PTR or ENCODE_DATA_PTR.
- Pointer mode
- In pointer mode, there are two independent storage areas: One (Storage
area 1 in Figure 1) contains DFHWBBLI's COMMAREA and the other (Storage area 2) contains the CICS application program's area. Field wbbl_indata_ptr in
DFHWBBLI's COMMAREA contains the address of the application program's
COMMAREA.
In pointer mode, your converter program can change
the values of DECODE_DATA_PTR or ENCODE_DATA_PTR.
The two modes are illustrated in
Figure 1.
Figure 1. Offset mode and pointer mode in the CICS business
logic interface
When you call the CICS business logic interface, you must specify the
mode:
- Set wbbl_mode to "O" to indicate offset mode
- Set wbbl_mode to "P" to indicate pointer mode
In your converter program, you can test
decode_volatile or
encode_volatile to
determine the mode:
- 0 indicates offset mode
- 1 indicates pointer mode
All requests from any of the following sources use offset mode
when calling the CICS business logic interface:
- Web clients using the IBM HTTP Server.
- Java™ applications
using the local gateway function.
- DCE RPC clients.
- Web clients using the CICS Transaction Gateway.