COBOL Control FlowCOBOL Control Flow is an extension for Visual Studio Code that provides graphical visualization of program flow for programs written in COBOL. The extension is designed to help COBOL developers to quickly comprehend and debug COBOL programs with which they might not be familiar. COBOL Control Flow displays paragraphs of a COBOL program as graphical nodes in an interactive graph. The edges of the graph are drawn based on the 'PERFORM' COBOL execution statements. You can interact with the graph to navigate to the relevant parts of the COBOL code, or you can navigate from the COBOL code to the relevant nodes in the graph. COBOL Control Flow is part of Code4z, an all-round VS Code extension package that offers a modern experience for mainframe application developers, including tools for language support, data editing, testing, and source code management. For an interactive overview of Code4z, see the Code4z Developer Cockpit. COBOL Control Flow requires COBOL Language Support to run. We also recommend installing Zowe Explorer to unlock all features of the extension. All three extensions are included in the Code4z extension pack. Prerequisites
Getting StartedSupported IDEs
CompatibilityThe COBOL Control Flow extension only supports IBM Enterprise COBOL. Other versions of COBOL are not supported. Integration with COBOL Language Support and Zowe ExplorerWe recommend that you download and install Zowe Explorer and configure COBOL Language Support to enhance the functionality of COBOL Control Flow. Advantages of integrating COBOL Control Flow with these two extensions include:
Both the COBOL Language Support and Zowe Explorer extensions can be installed using the Code4z extension pack. Using COBOL Control FlowGenerate a COBOL Control GraphTo use the COBOL Control Flow interactive graph, generate it in the VS Code interface.
Follow these steps:
Navigate Through the Code Using the COBOL Control GraphOnce the COBOL Control Flow graph is generated you can navigate through the COBOL code by clicking on the individual nodes in the graph. You can also click anywhere in the COBOL code to navigate to the relevant node in the graph. If you change the code, use the Reset graph button in the toolbar to update the graph. To return to the program root in the graph and in the code, use the Focus on Program Root button in the toolbar. Display TooltipsHover over a node in the COBOL Control Flow graph to display the first several lines of the corresponding paragraph. Export OptionsThe CCF graph can be exported to PNG, JSON or DOT string formats. To download a PNG of the graph, use the Download PNG button in the toolbar. To export the graph as a JSON or DOT string file, press F1 to open the command palette and run the command COBOL Control Flow: Export CCF Graph to JSON or COBOL Control Flow: Export CCF Graph to DOT Language. The resulting code opens in the VS Code editor window. Copybook SupportCOBOL Control Flow displays paragraphs in copybooks on the interactive graph as long as they are stored in a folder in your workspace. You can configure COBOL Language Support to restrict local copybook support to certain folders or processor groups, enable support for IDMS copybooks, and retrieve copybooks from mainframe data sets and USS files. For remote copybook retrieval, the Zowe Explorer extension is also required. For instructions on how to configure COBOL Language Support, see the Copybook Support section of the COBOL Language Support documentation. Further Reading
Known IssuesThe COBOL USE statement is not supported by COBOL Control Flow. A COBOL program containing this statement generates an incorrect graph. If you encounter any other statements which are not processed correctly by COBOL Control Flow, please raise an issue on the COBOL Control Flow GitHub repository. Technical Assistance and Support for COBOL Control FlowThe COBOL Control Flow extension is made available to customers on the Visual Studio Code Marketplace in accordance with the terms and conditions contained in the provided End-User License Agreement (EULA). If you are on active support for Brightside, you get technical assistance and support in accordance with the terms, guidelines, details, and parameters that are located within the Broadcom Working with Support guide. This support generally includes:
Note: To receive technical assistance and support, you must remain compliant with “Working with Support”, be current on all applicable licensing and maintenance requirements, and maintain an environment in which all computer hardware, operating systems, and third party software associated with the affected Broadcom software are on the releases and version levels from the manufacturer that Broadcom designates as compatible with the software. Changes you elect to make to your operating environment could detrimentally affect the performance of Broadcom software and Broadcom shall not be responsible for these effects or any resulting degradation in performance of the Broadcom software. Severity 1 cases must be opened via telephone and elevations of lower severity incidents to Severity 1 status must be requested via telephone. Privacy NoticeThe extensions for Visual Studio Code developed by Broadcom Inc., including its corporate affiliates and subsidiaries, ("Broadcom") are provided free of charge, but in order to better understand and meet its users’ needs, Broadcom may collect, use, analyze and retain anonymous users’ metadata and interaction data, (collectively, “Usage Data”) and aggregate such Usage Data with similar Usage Data of other Broadcom customers. Please find more detailed information in License and Service Terms & Repository. This data collection uses built-in Microsoft VS Code Telemetry, which can be disabled, at your sole discretion, if you do not want to send Usage Data. The current release of COBOL Control Flow collects anonymous data for the following events:
Each such event is logged with the following information:
|