User’s Guide

     Previous  Next    Open TOC in new window  Open Index in new window  View as PDF - New Window  Get Adobe Reader - New Window
Content starts here

Channel/Container Support in DPL

This section discusses the following topics:

 


Channel / Container Overview

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 Programming

ATMI server can only use FML32 APIs to manipulate channel / container according to following approximate mapping:

Table 7-1 CICS Container and FML32 APIs Mapping
CICS Container Commands
Mapping FML32 APIs
PUT
Fadd32() or Fchg32()
GET
Fget32() or Ffind32()
DELETE
Fdel32()
STARTBROWSE
GETNEXT
ENDBROWSE
A loop based on Foccur32()

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:

Table 7-2 CICS Command Options and FML32 Fields Mapping
CICS Command Options
Mapping FML32 Fields
PROGRAM of LINK
CX_PROGRAM
TRANSID of LINK
CX_TRANSID
CHANNEL of LINK or container commands
CX_CHANNEL_NAME
CONTAINER of container commands
CX_CONTAINER_NAME
FROM of PUT container
INTO or SET of GET container
CX_CONTAINER_DATA
FLENGTH of PUT or GET container
Length of CX_CONTAINER_DATA

 


Configurations

VIEW32 Definitions

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.

DMCONFIG

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.

Environment Variable

CHANNEL_COMPRESS_LEVEL

The environment variable is used to improve network transmission performance between 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

Besides the five FML32 fields mentioned in the above ATMI Server Programming section, 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

 


See Also


  Back to Top       Previous  Next