Table of Contents Previous Next PDF


Channel/Container Support in Inbound DPL

Channel/Container Support in Inbound 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 is 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:
 
Fadd32() or Fchg32()
Fget32() or Ffind32()
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:
 
PROGRAM of LINK
TRANSID of LINK
CHANNEL of LINK or container commands
CONTAINER of container commands
FROM of PUT container
INTO or SET of GET container
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.
UBBCONFIG
Set the parameter "-N" in GWSNAX CLOPT list, which indicates GWSNAX does not align data during data conversion.
This option is only used for COBOL program in ARTDPL. Usually this kind of program is migrated from mainframe CICS via workbench. Unlike standard ATMI COBOL application, this program does not use View32 generated copybook (which has alignment), instead, it uses copybooks (which has no alignment) migrated from mainframe CICS.
Alternatively, for ARTDPL, "-N" can be omitted as well if non-aligned view file is used instead of common aligned view file. For example, on Linux, non-aligned view file can be generated as following:
CC=$(CC) CFLAGS="-fpack-struct=1" viewc32 -v myview.v
If extra null terminator has been added for every string type field in View32 definition, you need to set the parameter "-t 1" in GWSNAX CLOPT list; otherwise, -t parameter will be omitted (or set as "-t 4").
DMCONFIG
Both INBUFTYPE and OUTBUFTYPE must be set as FML32 for services which use channel / container data type, but no subtype is needed to specify.
Environment Variable
The environment variable, CHANNEL_COMPRESS_LEVEL, 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

Copyright © 1994, 2017, Oracle and/or its affiliates. All rights reserved.