Browsing CICS Containers Is a Tokenized Three-Command Protocol
Rocket Enterprise Developer 12.0 on UNIX fully supports CICS channel-container enumeration through STARTBROWSE, GETNEXT, and ENDBROWSE linked by a browse token, while BTS-scoped operands have a narrower Validated status. [1] [2] [3]
Read the full briefing
Browsing CICS Containers Is a Tokenized Three-Command Protocol
Scope: Rocket Enterprise Developer 12.0 for Eclipse on UNIX, using the CICS API support tables in the enterprisedevelopereclux_ug_120 bundle.
A channel can contain multiple named containers, but application code does not always know those names in advance. Rocket documents a supported browse family that lets migrated CICS code enumerate them without hard-coding each container name. The key insight is that this is not a single “list” call: it is a stateful three-command pattern tied together by a browse token.
The sequence begins with STARTBROWSE CONTAINER. Rocket marks the function as supported and gives Full support to both CHANNEL(data-value) and BROWSETOKEN(data-area). In other words, the channel identifies the collection to browse, while a data area carries the token for the browse operation. See STARTBROWSE CONTAINER.
The middle step is GETNEXT CONTAINER. Its support table marks both BROWSETOKEN(data-area) and CONTAINER(data-area) as Full. The practical shape of the loop is therefore:
EXEC CICS STARTBROWSE CONTAINER
CHANNEL(channel-name)
BROWSETOKEN(browse-token)
END-EXEC
EXEC CICS GETNEXT CONTAINER
BROWSETOKEN(browse-token)
CONTAINER(container-name)
END-EXEC
EXEC CICS ENDBROWSE CONTAINER
BROWSETOKEN(browse-token)
END-EXECThe manual page for GETNEXT CONTAINER is especially revealing: the only documented operands are the token and the container-name data area. That keeps enumeration separate from retrieving a container’s payload; once a name is discovered, payload access remains a separate operation.
Cleanup is explicit. ENDBROWSE CONTAINER is supported, and its sole documented operand—BROWSETOKEN(data-area)—has Full support. That makes the token the lifecycle handle from start through termination, rather than incidental metadata. See ENDBROWSE CONTAINER.
There is an important scope nuance in the support matrix. On STARTBROWSE CONTAINER, the normal channel path is fully supported, but ACTIVITYID, PROCESS, and PROCESSTYPE are labeled Validated, not Full. Code using business-transaction-services scoping should therefore not be treated as equivalent to ordinary channel browsing merely because the syntax is accepted.
Takeaway: For ordinary channels, Rocket documents full support for a disciplined start–get-next–end browse lifecycle; preserve and reuse the browse token, and treat BTS-scoped operands as a separate compatibility concern.