![]() ![]() ![]() ![]() ![]() ![]() ![]() |
This section discusses the following topics:
The channel and container model introduces a new approach that provides an easy and flexible mechanism for exchange of large volumes of structured parameter data between CICS programs.
Containers are named blocks of data designed for passing information between programs. Programs can pass any number of containers between each other. Containers grouped together in sets are called channels. A channel is analogous to a parameter list.
ART CICS uses FML32
buffer type to carry channel data, and CARRAY
to carry container data. Channel and container decode, encode, and data alignment are added to TMA GWSNAX
. GWSNAX
can be integrated with ART CICS to communicate between ART CICS and mainframe CICS, as well as between local Tuxedo and CICS programs.
ATMI server can only use FML32 APIs to manipulate channel / container according to following approximate mapping:
Meanwhile, five FML32 field macros should be included in ATMI server code; all of them belong to a given FML32 definition:
#define CX_PROGRAM ((FLDID32)231327331)
#define CX_TRANSID ((FLDID32)231327333)
#define CX_CHANNEL_NAME ((FLDID32)231329593)
#define CX_CONTAINER_NAME ((FLDID32)231329594)
#define CX_CONTAINER_DATA ((FLDID32)231329595)
These fields are used to map relevant CICS command options:
TMA SNA uses View32 definitions generated from copybook of containers for data conversion. Usually, every kind of container must correspond to a View32 definition of the same name but differs in the following aspects.
For example, TMA SNA container name "CONT-1
" corresponds to View32 name "cont_1
".
Note: | In mainframe CICS, the action scope of container name is the current task; however, since it is represented by a VIEW32 in Oracle Tuxedo, the action scope expands to VIEW32. Consequently, Oracle Tuxedo cannot support different containers with the same name. |
Both INBUFTYPE
and OUTBUFTYPE
must be set as FML32 for services which use channel / container data type, but no VIEW32 subtype is needed to specify because it will be automatically set as the container name.
CHANNEL_COMPRESS_LEVEL
GWSNAX
and CRM when channel/container contains large amounts of data.
When it is set, GWSNAX
or CRM compresses channel / container data before sending it to network. The value is an integer in the range of 0 to 9. Lower compression levels result in faster execution, but less compression. Higher levels result in greater compression, but slower execution.
For example:
CHANNEL_COMPRESS_LEVEL=6
CHANNEL_WITHOUT_ART_FLDS
GWSNAX
provides the following three fields only for ART CICS integration. #define CXMW_MESSAGE ((FLDID32)231327692)
#define CX_USERID ((FLDID32)231327345)
#define CX_USERNAME ((FLDID32)231327376)
When this environment variable is set, the above three fields, which are useless in other scenarios, will not be added in FML32 buffer sent to queue.
For example:
CHANNEL_WITHOUT_ART_FLDS=y
![]() ![]() ![]() |