Managing multiple analysis projects

Scan and manage multiple analysis projects by using the Z Understand container.

Before you begin

The Z Understand container must be already installed and configured on the system. For more information, see Installing and Configuring.

About this task

Here is a list of all currently supported multiple project actions:

Procedure

  1. Navigate to the Z Understand container folder in the Terminal by running the following command:
    cd /opt/bobz-understand
  2. Run the cli-bulk.sh script without any parameters.
    Usage:
           ./cli-bulk.sh -c <csv_file> <ini_file> [-p <parallel_jobs>]
           ./cli-bulk.sh -d <csv_file|project_names...> [-p <parallel_jobs>]
           ./cli-bulk.sh -u <csv_file> [--projects <project1,project2,...>] [--skip <lib1,lib2,...>]
           ./cli-bulk.sh -b <csv_file|project_names...> [-p <parallel_jobs>]  -c <csv_file> <ini_file>  : Create projects from CSV using template INI file
                                   Files should be in config/projects/ folder
                                   Skips already existing projects automatically
      -d <csv_file|names...>    : Delete projects from CSV file or list of project names
                                   Example: -d bulk.csv or -d Project1,Project2,Project3
      -u <csv_file>             : Scan and retrieve zOS library members
                                   CSV format: Project Name,zOS Connection,Library,Library Type,Filter
                                   Tracks scanned libraries to avoid re-downloading
                                   --projects <names> : Only process specified projects (comma-separated)
                                   --skip <libs> : Mark libraries as already scanned (comma-separated)
                                   Note: -p flag not supported for -u
      -b <csv_file|names...>    : Build projects from CSV file or list of project names
                                   Example: -b bulk.csv or -b Project1,Project2,Project3
      -p <number>               : Optional - Run up to <number> operations in parallel
                                   Default: sequential execution

Create multiple projects (-c flag)

About this task

Create multiple projects from a CSV file using a INI configuration template file.
./cli-bulk.sh -c <csv_file> <ini_file> [-p <parallel_jobs>]

Features:

  • Define projects in CSV format with columns: Project Name, Languages (Cobol/PL1/Assembler), Database Name.
  • Uses a INI template file that gets customized for each project.
  • Automatically the existed projects are skipped.
  • Validates all entries before processing (project names, languages, database names).
  • Detects project names and database names that are duplicated.
  • Supports parallel execution for faster processing.
  • Provides detailed logs and reports on each project's success or failure.
  1. Navigate to the Z Understand container folder in the Terminal by running the following command:
    cd /opt/bobz-understand
  2. You must set up 2 files before running the command:
    • config/projects/projects.csv - This file lists all the projects that are required to create. Here is the sample:
      Project Name,Languages,Database Name
      #Project Name shoul contain only letters, numbers and underscore. Should not contain ~ % ^ & * ( ) - = + | \ [ ] { } : ; ' , < . > / ? ! space. Has to be unique within the file.
      #Languages should be comma separated list of values. Each language should be one of the following: Assembler, PL1, Cobol.
      #Database Name should be filled in only for projects using Db2 as the project repository. It should contain only letters and numbers. Maximum 8 characters long. Has to be unique within the file.
      Project1,"Cobol",PROJ1
      Project2,"PL1,Assembler",PROJ2
      Project3,"Cobol,PL1,Assembler",PROJ3
      Project4,"Assembler",PROJ4
      Project5,"Cobol,Assembler",PROJ5
    • An INI configuration template file which is also located in the config/projects folder, defines all the other project properties and they are common for all the projects that are created in a single batch.
  3. Run the project creation command to create up to 3 projects simultaneously.
    ./cli-bulk.sh -c projects.csv new_proj_sql.ini -p 3

    The command creates a config/projects/<PROJECT_NAME>_generated.ini file for each project from the projects.csv. This output is saved in this projects/<PROJECT_NAME>_creation.log location.

  4. Run the list of project commands to view the newly created projects: ./cli.sh --ls.

Delete multiple projects (-d flag)

About this task

Delete multiple projects from a CSV file or comma-separated list.
./cli-bulk.sh -u <csv_file> [--projects <project1,project2,...>] [--skip <lib1,lib2,...>]

Features:

  • Accept projects from CSV file or directly from a command-line.
  • Support the name of the projects that are comma-separated or space-separated.
  • Parallel execution is supported for faster deletion.
  • Individual log files for each deletion operation.
  • Provides detailed summary of successful or failed deletions.
  1. Navigate to the Z Understand container folder in the Terminal by running the following command:
    cd /opt/bobz-understand
  2. To delete up to 5 projects simultaneously that are available in config/projects/projects.csv file, run the following command:
    ./cli-bulk.sh -d projects.csv -p 5
  3. To delete up to 5 projects simultaneously by using a name, run the following command:
    ./cli-bulk.sh -d Project1,Project2,Project3 -p 5
    

Retrieve z/OS Libraries for multiple projects (-u flag)

About this task

Scan and download mainframe library members from multiple z/OS connections for multiple projects.
./cli-bulk.sh -u <csv_file> [--projects <project1,project2,...>] [--skip <lib1,lib2,...>]
Features:
  • CSV format: Project Name, zOS Connection, Library, Library Type, Filter.
  • Supports 20+ library types (Cobol, PL1, Assembler, JCL, BMS, etc.).
  • Use intelligent library tracking to avoid downloading libraries that have already been scanned.
  • Organizes libraries by project and connection to enable efficient batch processing.
  • Automatically updates project .dat files with correct library paths.
  • Provides an optional skip list to identify libraries that have been already scanned.
  • Validates all the existed projects before processing.
  • Prevents library scans that can duplicated within a single run.
  1. Navigate to the Z Understand container folder in the Terminal by running the following command:
    cd /opt/bobz-understand
  2. You must populate the config/projects/zos.csv file before running the command:
    Project Name, zOS Connection Name, Library, and Library Type
    1. zOS Connection Name is the name of the z/OS connection defined in the Understand Admin Dashboard.
    2. Library indicates the PDS name on your mainframe server.
    3. Library Type is the type of sources in the PDS. It can contain a single value: zOS Cobol, Cobol Include, JCL, CTRL, JCL Include, SYS1.PROCLIB, Assembler, PL1, PL1 Include, and so on. All possible values are described in the zos-mapping.ini file located in the same folder.
      Project1,prod,DEMO.CBL,zOS Cobol
    4. Following is the commented line that is ignored
      Project1,prod,DEMO.CBL1,zOS Cobol
      Project1,prod,DEMO.CBL.INC,Cobol Include
      Project1,prod,DEMO.JCL,JCL
      Project1,prod,DEMO.JCL.CTRL,CTRL
      Project1,prod,DEMO.JCL.INCLUDE,JCL Include
      Project1,prod,DEMO.JCL.PROC,SYS1.PROCLIB
      #Empty lines are ignored
      
      Project2,prod,DEMO.ASM,Assembler
      Project2,prod,DEMO.PL1,PL1
      Project2,prod,DEMO.PL1.INC,PL1 Include
    5. Once you have the zos.csv file populated with the required information, run the following command:
      ./cli-bulk.sh -u zos.csv
    6. You can add the following arguments to the command:
      1. To only scan and retrieve members for a list of projects by adding:
        --projects project1,project2
      2. To skip a library and don't download it by adding:
        --skip MY.LIB,MY.OTHER.LIB

Build multiple projects (-b flag)

About this task

You can build multiple projects from a CSV file or comma-separated list.
./cli-bulk.sh -b <csv_file|project_names...> [-p <parallel_jobs>]

./cli-bulk.sh -b Project1,Project2,Project3 [-p 5]
Features:
  • Accept projects from CSV file or directly from a command-line.
  • Support the name of the projects that are comma-separated or space-separated.
  • Parallel execution is supported for faster builds.
  • Individual log files for each build operation.
  • Provides detailed summary of successful or failed builds.
  1. Navigate to the Z Understand container folder in the Terminal by running the following command:
    cd /opt/bobz-understand
  2. To build up to 5 projects simultaneously that are available in config/projects/projects.csv file, run the following command:
    ./cli-bulk.sh -b projects.csv -p 5
  3. To build up to 5 projects simultaneously by using a name, run the following command:
    ./cli-bulk.sh -b Project1,Project2,Project3 -p 5