Enhanced interprogram data transfer If you want to exchange more than 32KB of data between programs, CICS Transaction Server now includes a new application programming interface (API), which introduces containers and channels. Containers are named blocks of data for passing information between programs. Any number of containers can be passed between programs.
Containers are grouped together in named channels. Channels can be used as a standard mechanism for exchanging data between programs. A channel can be passed on EXEC CICS LINK, START, XCTL and RETURN commands. Data can be exchanged between systems by either using multiregion option (MRO) or intersystem communication (ISC). Channels provide a
Channels can be used by applications written in any of the programming languages supported by CICS Transaction Server, Version 3.1. Options on the container API commands are provided for data conversion, giving you a
Language Environment MAIN support for assembler
CICS Transaction Server now includes support to enable coding of completely Language Environment technology-
enabled application programs in assembler. A new translator option, LEASM, is provided, which causes Language Environment function to be used to set up the program’s envi- ronment. This option eases integration of these applications into Language Environment, so that Language Environment services can run more easily, and improves debugger support.
the running of
passing data between program components. Variation in the size and number of containers can conveniently be accommodated to allow easier evolution of the interfaces between programs. The size of a container is one accommodation, limited only by the amount of storage available. There is no limit to the number of containers that can be added to a channel. This mechanism also removes the need for programs to know the exact size of the data returned. When containers go out of scope, they can be automatically destroyed, relieving you of storage- management concerns.
Existing application with COMMAREA
Program A
EXEC CICS LINK PROGRAM(‘PROGRAMB’)
Changed application using
Program A
EXEC CICS PUT CONTAINER(structure name)
FROM(structure)
EXEC CICS LINK PROGRAM(‘PROGRAMB’)
EXEC CICS GET
Program B
EXEC CICS ADDRESS
Program B EXEC CICS GET CONTAINER(structure- name)INTO(structure)
EXEC CICS PUT
Restrictions on the amount of data that can be exchanged have been removed by using channels and containers.
4