Skip to main content

Have IBM got channels/containers right ?

No replies
zCICS
Offline
Joined: 2011-07-10

zCICS is free.

This is a big post...sorry...it should generate healthy discussion.

Commands are stripped down to the minimum.
 
Scope Part 1
Scope is so badly defined, quotes like "when a channel goes out-of-scope it is deleted" are untrue.
 
While a channel may not be passed up the linkage-stack chain it won't be deleted until the linkage-stack entry is deleted by a RETURN (abend etc.).
It's not explicit in the App.Prog.Guide or in the Redbook (G24-7227). 
It does seem logical.
 
eg.
tran ABCD invokes PROGA
PROGA issues LINK 'PROGB' CHANNEL('ONE')
PROGB issues LINK 'PROGC' CHANNEL('TWO')
 
When PROGC runs, CHANNEL('ONE') is out-of-scope, (see diagrams in App.Prog.Guide). I presume that when PROGB regains control it still has access to CHANNEL('ONE') and any of its current containers, ie. it hasn't been deleted.   
 
Scope Part 2
An extension of my example above...
 
tran ABCD invokes PROGA
PROGA issues LINK 'PROGB' CHANNEL('ONE')
PROGB issues LINK 'PROGC' CHANNEL('TWO')
PROGC issues LINK 'PROGD' CHANNEL('ONE')
 
Now what happens in PROGD ?
a) Reinstate the scope of the original CHANNEL('ONE') and use it
b) Create a new empty CHANNEL('ONE') (name+link-level would be unique)
c) Cause an error condition (can't find one)
I prefer a).
 
COMMAREAs and CHANNELs
A discussion...
Although the Manuals clearly state that these are mutually exclusive, there isn't a serious technical reason is there ?
 
It looks like IBM wants to steer folks away from COMMAREAs instead of providing a useful transition mechanism.
 
I totally agree with IBM in that the best conversion technique involves the restructure of any COMMAREA into sensible and individual containers.
 
The real world doesn't operate like that. While the CHANNEL/CONTAINER concept is sound and useful, it doesn't have enough business incentive.
 
I have memories of Macro to Command-Level conversion and it took a lot of years for that to kick in for much the same reasons...incentive and ease.
 
If I had the choice of COMMAREA and/or CHANNEL, I could prepare an individual program for transition instead of more than one program. LINK and XCTL structures can get very, very complex even without DPL and all that jazz.
 
zCICS is still free.