IBM 3.1 Server User Manual


 
4
5
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 more-flexible
and a more-structured method 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.
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 much-simpler
mechanism than that employed with a
COMMAREA. Also, in COMMAREAs,
application data conversion is
controlled by the system programmer.
With channels, application-data
conversion is controlled by the
application programmer using simple
API commands, minimizing the need
to involve the system programmer.
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.
64-bit addressing toleration
Although CICS Transaction Server,
Version 3.1 does not support
the running of 64-bit applications,
it now supports 64-bit code running
as task-related user exits (TRUEs) in a
CICS address space. Extensions are
provided to CICS Transaction Server
abend-capture mechanisms to allow
the contents of full 64-bit, general-
purpose registers to be reported.
Restrictions on the amount of data that can be exchanged have been removed by using channels
and containers.
Program B
EXEC CICS ADDRESS
Program B
EXEC CICS GET
CONTAINER(structure-
name)INTO(structure)
EXEC CICS PUT
CONTAINER(structure-name)
Existing application with COMMAREA
Program A
EXEC CICS PUT CONTAINER(structure name)
CHANNEL(channel-name)
FROM(structure)
EXEC CICS LINK PROGRAM(‘PROGRAMB’)
CHANNEL(channel-name)
EXEC CICS GET CONTAINER(structure-name)
INTO(structure)
Program A
EXEC CICS LINK PROGRAM(‘PROGRAMB’)
Changed application using