The parmForm property of the callLink element of the linkage options part specifies the format of call parameters. The parmForm property affects the generation of the calling program. For COBOL programs in a CICS® environment, this property also affects the generation of the called program.
For the CHANNEL parameter format, containers are passed in a channel. A channel is a set of containers that function like parameters for passing data between CICS programs. No COMMAREA is passed in the CHANNEL parameter format.
When an EGL generated program passes a channel to a called program, the channel has the same name as the called program. However, when an EGL called program receives a channel, the program uses a CICS API call to retrieve the name of the channel that was passed.
The containers are named EGL-PARM-1 through EGL-PARM-n, where the maximum value of n is 30.
For example, if you pass three parameters of type INT, Record (33,000 bytes), and EGL STRING, the channel will include three containers, as shown in the following table:
| Container name | Value in container |
|---|---|
| EGL-PARM-1 | 4 bytes representing the INT |
| EGL-PARM-2 | 33,000 bytes representing the record |
| EGL-PARM-3 | 4 bytes representing the pointer to the STRING (the called program must be EGL) |
Each argument value is moved to the buffer adjoining the previous value without regard for boundary alignment.
COMMDATA is the default value if the type property is remoteCall or ejbCall.
COMMPTR is the default value if the value of the type property is localCall.