Using the Zowe Explorer extension for CICS

Andrew
Zowe
Published in
8 min readAug 9, 2021

{Incubation} The Open Mainframe Project’s Zowe Explorer squad recently started working on a new extension for use by CICS developers. This is now available for download and can be used to show CICS regions and their programs to allow attributes to be viewed as well as actions like NewCopy, PhaseIn, Disable, and Enable. This blog shows how to obtain, install, configure, and operate the Zowe Explorer extension for CICS.

Obtaining the Zowe Explorer for CICS

There are two ways to add the extension to your VS Code environment.

On-line install using the VS Code Marketplace

If you haven’t already installed VS Code on your PC, visit the download site and select your operating system.

Select the Extensions button in the left hand margin bar in VS Code and type “Zowe” to see all of the published extensions available in the VS Code Marketplace. Choose Zowe Explorer for IBM CICS from the list and select the Install Button. If you don’t already have the base Zowe Explorer plugin installed this will occur at the same time.

Off-line install using a .vsix file

If you are unable to reach the VS Code marketplace, or prefer to install using a file visit the repository https://github.com/zowe/vscode-extension-for-cics that holds the open source code for the extension itself, together with .vsix files for each release at https://github.com/zowe/vscode-extension-for-cics/releases.

Select the Latest button which opens a page that includes the file Zowe.cics-extensions-for-zowe.V.m.r.vsix (where V.m.r is the release number, for example 1.1.1 is the current latest release, but as new and updated content is created these numbers will be incremented).

Download the .vsix file to your PC. You can either install directly from your downloaded file, or host it internally within your organization for distribution to your developers to control enterprise rollout of software.

To install from the .vsix file, navigate to the Extensions tile in VS Code, select the … menu and select the downloaded file from the menu item “Install from VSIX…”.

The Zowe Explorer pane in VS Code has three views Data Sets, Unix System Services (USS) and Jobs. The CICS extension adds a fourth view CICS.

Creating a connection to a CICS region

If, before you installed the Zowe Explorer for CICS extension, you already have the Zowe CLI plugin for CICS then its default profile will be show in the CICS tree. If not then the message box “No default CICS profile found” will be shown. Use the + button in the title bar of the CICS tree to open the Create Profile editor.

The Zowe Explorer for CICS will connect to a CICS Region that has been configured to accept CICS Management Client Interface (CMCI) REST requests. For a stand-alone region (that is not part of a CICS Plex) this is known as SMSS protocol.

CMCI is the same protocol used by the IBM CICS Explorer Eclipse tool based around the Eclipse desktop platform, so if you already have the IBM Explorer for CICS (aka CICS Explorer) then the connection details for host, port, protocol, user, password are the same ones you can use in the Zowe Explorer for CICS.

When you create a profile with the “Create New CICS Session …” editor a Zowe CLI profile is created. The Zowe CLI command zowe profies list cics can be used to view all defined CICS profiles. As well as using the editor to create CICS profiles you can also use the CLI itself, for example zowe profiles create cics 3b --host winmvs3b.hursley.ibm.com --port 10887 --user twydell --password ******** --region-name IY3BNCAF --ru false --protocol http will create the same connection as shown above. This can then be chosen from the + button. CICS profiles are loaded on startup so you may need to close and re-open VS Code if you add or edit connections with the CLI during a VS Code session.

Determing the CMCI port of an SMSS region

To lookup the value of the port. for an SMSS region open the MSGUSR JES spool file and look for the text TCPIPSERVICE *______* has been opened on port. The empty space could be a variation of what we have below (DFH$WUTC); we have seen systems with just ‘WUTC’, or something else entirely, as this value is specific to your system.

If CMCI hasn’t been enabled for the CICS region see, https://www.ibm.com/docs/en/cics-ts/5.3?topic=suace-setting-up-cmci-in-stand-alone-cics-region.

Determining the CMCI port of a CICSPlex

A CICSPlex is a grouping of regions, and the CMCI connection provides API access to all of the regions managed by the plex.

To determine the CMCI port for a CICS Plex open the JES spool file EYULOG for the CICS region in the plex that is the web user interface server. Not all regions in a plex will have an EYULOG spool file, so if you find one that has then you have the WUI server which provides the CMCI endpoint. In the spool file locate the text CMCIPORT(xxxxx) for the port to use, and the TCPIPHOSTNAME for the host name to use for the Zowe Explorer for CICS Add Session editor. If there is the line TCPIPSSL(YES) then the connection is https, otherwise if the line isn’t in the EYULOG then the connection is http.

Multiple CICS connections

The CICS tree view on startup will connect to the default Zowe CICS CLI profile. To view more regions in different profiles, the + button lists all of the additional Zowe profiles that can be selected to view their regions. Each profile contains either a CICS Region name, a CICS Plex name, or both, therefore multiple profiles would be required to view multiple regions or plexes at the same host simultaneously.

View and filter programs

Expand the CICS region for a profile to see a list of its programs. The list excludes programs that are system level, such as those starting with CEE* or DFH*. This is to allow you as a developer to see more easily the programs in your applications. To filter the list, use the magnifying glass icon next to the region and enter a search string. Trailing wildcards are supported.

Program actions

The pop-up menu against a program has the actions Disable , New Copy , Phase In and Show Attributes . If the program is already disabled this is shown in the tree item label, and the first menu action is toggled to Enable .
The Show Attributes menu action opens a viewer of the program’s attributes which allows filtering by attribute name. The menu actions New Copy and Phase In will cause the CICS region to load a fresh copy of the program from its load module, either immediately or else when the program is no longer being used by any active transactions.

Region Attributes

The pop-up menu for a CICS region allows you to Show Attributes and bring up an attribute viewer. This lets you filter by attribute, for example job as a filter string shows the JobName and JES JobID of the CICS region. Filtering by task lets you see the number of current tasks, the total that has been run by the region, as well other task related attributes.

What’s next

The Zowe Explorer CICS plugin is a new addition to the Zowe portfolio, and one where we’d love to hear user’s feedback on what is missing, what are the next stories that should be tackled, and how they find its usability. The project is open source so all of the issues are tracked in https://github.com/zowe/vscode-extension-for-cics/issues which is the same repository that holds the source code for the extension. Future items under consideration include

  • Adding more resource types such as Local Transactions, Local Files, URI Maps, Pipelines and extending the use case to cover CICS web programs.
  • Adding definition views to allow listing CSD content, as well as allowing definitions to be installed
  • Improving developer scenarios for working in a CICSPlex, such as NewCopy across all regions in the plex, showing attributes for a resource across a plex, identifying which regions have been configured as TOR, AOR, FOR.
  • Adding support for CICS bundles to support programming scenarios covering Java and Node development.
  • Including the editor in mainframe education courses such as https://github.com/openmainframeproject/cobol-programming-course and Master the Mainframe.

The most important thing is that the community gives this extension a go, and lets us know what they like, what they don’t like, and what they would like to see in the future. This will not only aid in prioritizing the list above, but will also allow it to grow, creating a CICS tool that ticks all the boxes for the people actually using it. This feedback can be given via the repository issues list mentioned above and is welcome from anybody, whether you’ve been working with CICS for 50 years or if you’re working on your first CICS development project!

Finding out more

If you enjoyed this blog, check out more at the Zowe blogs site. Or, ask a question and join the conversation on the Open Mainframe Project Slack Channel #Zowe-dev, #Zowe-user or #Zowe-onboarding. If this is your first time using the OMP slack channel register here.

--

--