Premium packagesIBM Bob Premium Package for Z

Using tools and tool groups

Learn about the tools and tool groups available in IBM Bob Premium Package for Z.

Tools

Tools are low-level, function-specific building blocks that power scanning, analysis, transformation, validation, refactoring, and documentation workflows. These tools interact directly with program source code, analysis databases, and transformation artifacts to provide precise, repeatable results.

The following tables list the tools included in IBM® Bob Premium Package for Z.

Source code scanning and control-flow analysis

ToolDescription
scan_programScans a COBOL or PL/I program to generate a metadata database containing variable usage, statement references, and program structure. It must be called before get_variables. Returns the database path needed for subsequent variable analysis.
get_control_flowCalculates control flow graphs using metadata in the database.
get_paragraphsQueries paragraph information from the metadata database.
execute_sql_queryExecutes AI-generated SQL queries on the metadata database.

Data dictionary management

ToolDescription
get_variablesReturns the list of variables used in the program scanned using scan_program.
edit_data_dictionaryOpens the data dictionary file (DD.json) in the editor for user review and modification. It allows users to add business descriptions for variables before generating explanations.
sync_data_dictionarySynchronizes your local data dictionary with entries from the central copy stored on the Z Understand server.

Code explanation and expansion

ToolDescription
persona_profileDescribes the user's preferred type of explanation for program explanations (architect, developer, or business).

Refactoring and service extraction

ToolDescription
refactorInteractive tool to perform Z Understand refactoring operations and guide service extraction.
submit_refactor_findingsFinds locations in a program that are candidates for service code extraction.

Project-wide asset discovery via GraphQL

ToolDescription
sign_in_to_z_understandSigns in to Z Understand and returns information about the connected analysis project.
get_project_programsRetrieves all programs in a project (returns progId required by other tools).
get_project_variablesRetrieves all variables defined in a specific program (requires progId).
get_project_tablesRetrieves all tables defined in a project.
get_project_statement_typesRetrieves all statement types available in a project.
get_project_paragraphFinds the paragraph that contains a specific statement line in a program.
get_project_variable_usage_paragraphsFinds all paragraphs in a program where a specific variable is used.
get_project_resource_usageRetrieves usage information for resources (tables, variables, includes, screens, dataset).
get_project_inventoryRetrieves overall information about how many artifacts are included in the project for each type (COBOL program, PL/I program, SQL tables, IMS tables).
get_project_unused_paragraphs (3.0.20+)Retrieves all unused (dead or unreachable) paragraphs across one or more programs. For example, when you enter the prompt "tell me unused paragraphs for X program" in Bob chat, the response displays all unused paragraphs associated with the specified program. When you enter "tell me unused paragraphs for programs names containing 'EDIX'", the response displays all unused paragraphs from every program whose name contains "EDIX".
get_project_unused_programs (3.0.20+)Retrieves all unused (dead or unreachable) programs within a project. For example, when you enter the prompt "tell me the unused programs within the project" in Bob chat, the response displays all unused programs for the selected project based on the available database records.
execute_project_sql_query (3.1.0+)Runs raw SQL SELECT queries against the full project metadata database (programs, paragraphs, variables, files, cursors, SQL tables, copybooks, transactions, JCL jobs, CA7 scheduling data).

Z Open Editor and ZCodeScan tools

ToolDescription
zOpenEditor-architect
zopeneditor-cobol-get-program-control-flowRetrieves parsed control flow data from the COBOL Language Server to analyze program structure and execution paths.
zopeneditor-cobol-get-data-flowTraces data flow for a specific COBOL data item and returns a graph representation of how the item is modified in the program.
zopeneditor-pli-get-program-control-flowRetrieves parsed control flow data from the PL/I Language Server to analyze program structure and execution paths.
zopeneditor-get-embedded-languagesDetects embedded languages in a COBOL or PL/I file.
zOpenEditor-code
zcodescan-check-current-programRuns an IBM ZCodeScan on the COBOL or PL/I program file currently open in the editor. The scan parses the program and returns linter-style issues about the quality of the program.
zcodescan-check-list-of-local-programsRuns an IBM ZCodeScan on COBOL or PL/I files in your local workspace. The files are identified by a list of glob search patterns that define all the programs to be scanned in the editor workspace.
zopeneditor-cobol-format-fileFormats a COBOL file using the COBOL Language Server and a Z Code Format file.
zopeneditor-cobol-format-multiple-filesFormats multiple COBOL files using the COBOL Language Server and a Z Code Format file.
zopeneditor-cobol-renumber-fileRenumbers a COBOL file using the COBOL Language Server to add sequence numbers to every line in the file.
zopeneditor-cobol-renumber-multiple-filesRenumbers multiple COBOL files in the workspace using the COBOL Language Server.
zopeneditor-cobol-unnumber-fileRemoves sequence numbers from every line in a COBOL file using the COBOL Language Server.
zopeneditor-cobol-unnumber-multiple-filesRemoves sequence numbers from every line in multiple COBOL files in the workspace using the COBOL Language Server.

Code optimization tools (3.1.0+)

ToolDescription
submit_optimize_findingsParses a recommendations report and submits each recommendation as a Bob Finding on the relevant COBOL file.

Tool groups

Tool groups categorize capabilities into logical domains to improve discoverability, access control, and usability across the platform. Each group represents a set of related operations, such as code analysis and integrations, enabling users and systems to efficiently organize and invoke functionality based on intent.

CategoryTool groupDescriptionID
CoreCoreBase tool set required for primary operations.core
CoreHintProvides contextual suggestions, guidance, or inline hints to assist users.toolHint
Data & APIScanUsed for scanning codebases, resources, or environments.scan
Data & APIData DictionaryEnables interaction with metadata, schema definitions, and structured data descriptions.dataDictionary
Data & APIGraphQLHandles GraphQL query generation, execution, and schema operations.graphQl
Code IntelligenceAnalysisPerforms static/dynamic analysis for insights into code quality, dependencies, and issues.analysis
Code IntelligenceExplainGenerates explanations of code logic, functions, and workflows.explain
Code ModificationRefactorSupports restructuring code without changing functionality.refactor
IntegrationszOpenEditor ArchitectArchitecture-focused tooling for zOpenEditor workflows.zOpenEditor-architect
IntegrationszOpenEditor CodeCode-level tooling within zOpenEditor.zOpenEditor-code
IntegrationszOpenDebug Code (3.1.0+)Code-level tooling within zOpenDebug.zOpenDebug-code
How is this topic?