Offset mode and pointer mode

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
This figure illustrates the two modes — offset mode and pointer mode — which can be used to call the . Both modes are described in the text.
When you call the CICS business logic interface, you must specify the mode: In your converter program, you can test decode_volatile or encode_volatile to determine the 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.