Skip to content

IBM/dbb-git-migration-modeler

Repository files navigation

The Migration-Modeler utility

Description

This asset provides a guided approach to plan and migrate source codebase from MVS datasets to z/OS Unix System Services (USS) folders, and helps to identify and document the boundaries of mainframe applications.

An important capability is to understand the usage and dependencies on include files and programs across applications. The Migration-Modeler utility performs an assessment to understand how these include files and programs are used by the analyzed applications, if they are shared across applications or dedicated with a private or a public scope. Depending on the result of this analysis, the utility suggests the appropriate owning application into which the include files are moved, and documents the source-level and object-level dependencies.

It is also able to automatically create part of the configuration of the dbb-zAppBuild build framework, by generating property files for the application's artifacts based on provided configuration mappings.

Storyboard

This asset takes the user through 3 major phases:

The Framing phase

For this first phase, the utility is offering a framework to define which applications exist in today's SCM system, their owners and which artifacts (COBOL, JCL, PROCs) belong to these applications. The schema to define this information is captured in the Applications Mapping file (YAML format). Another configuration file used as input, known as the Repository Paths Mapping file allows users to define how artifacts are mapped to a repository structure.

The produced files (called Application Descriptors) of this first phase are used to communicate with the application owners, to gain their agreement about the content of the applications they own. It can serve as a control point in the planning and the execution of the migration process.

The outcome of this phase is a formalized documentation of today's knowledge about the existing applications with the perspectives of ownership, technical composition, and build framework configuration.

The other files generated by this phase are DBB Migration Mapping files, which are also used during this phase to copy the files from datasets to z/OS Unix System Services folders, that could represent Git repositories. This step uses the DBB Migration utility to perform the copy to USS folders, also ensuring the correctness of the mapping and the absence of non-roundtripable and non-printable characters, that could affect the migration.

The Assessment phase

The copy that occured the phase before is probably not the final migration of the members, but it facilitates the analyzis of artifacts' usage, especially those that nobody claims and that are perceived as shared. This helps in specific situations where ownership of include files and programs is undefined and unclear, potentially because some or all of these include files and programs used to be accessible by all applications in a previous configuration. For programs, the usage assessment is performed with statically linked submodules.

After migrating the code, the source code of all applications will be scanned, before the classification process is performed:

  • During this process, the utility will place the unassigned Include Files into an application's folder structure if this applications was determined as the owner (in the case that a single application was identified as using the artifact). The Application Descriptor files are updated accordingly.
  • For include files and programs that already are claimed by an application, the same classification process is performed to document the usage of these files. For Include Files, their scope is changed to private if only programs from this application are referencing this given include file, otherwise public if multiple applications are refering to this include file.
    For Programs, their scope is changed to internal submodule if only programs from this application are statically linking this given program, otherwise service submodule if multiple applications are statically linking this program. Again, the application descriptor will be updated accordingly.

This analysis has to occur on the entire codebase of all applications to ensure correct recommendations and results.

The output files of this process are crucial to gain the final approval from the application teams about the scope of applications. After this stage, the DBB Migration mapping files are also updated accordingly, to reflect the new locations of the moved files.

The Property Generation phase

This stage is optional and allows to statically migrate build configuration from the legacy system to the new build framework and generate build configurations. We encourage customers to use the dynamic scanners in Dependency Based Build to determine the runtime flags for each build file. The outputs of this stage becomes relevant when the final migration is taking place.

The purpose of this stage is to generate properties and property files that are used by the dbb-zAppBuild framework, based on the information gathered in a specific input file, the Types file, defined later in this documentation.

This phase will generate the necessary properties and files required to leverage the Language configuration mapping feature available in dbb-zAppBuild. Each composite type will be created (if not already existing) and will combine properties to represent a unique Language Configuration. At the application level, file-level overrides are also generated and inserted in the application's application-conf folder.

Outcomes and benefits

  • Documentation about which files are owned by which application.
  • Classification of include files and statically linked programs.
  • Insights about non-roundtripable / non-printable characters.
  • Relevant information to plan the migration of all applications.
  • Ready-to-use configuration files based on the originating SCM's knowledge base

Terminology and description of configuration files

Input configuration files

The following list details the content of these configuration files:

  1. Applications Mapping file (YAML format): this file describes the content of each application.
    It can be created manually or can be fueled with information coming from external databases or provided by an SCM tool.
    For each application, naming conventions can be used to filter elements that belong to that application. Each naming convention defines a pattern that is used to analyze the list of files in a list of provided libraries.
    If the pattern matches, the member is assigned to the owning application. If no pattern of any application is matching the member name, it is assigned to a common application called UNASSIGNED.
  2. Repository Paths Mapping file (YAML format): This file describes the folder structure on z/OS Unix System Services (USS) that will contain the files to are moved from the datasets.
    It is created manually, from the provided template.
    Each Repository Path entry described in this file documents the type of artifacts in this folder, their file extension, their encoding, and criteria to meet for classification.
    The mvsMapping attribute of the Repository Path entry defines the criteria of origin: it either is the last-level qualifier of the dataset in which the member is located, or the type (see the next configuration file for details) that is defined for these artifacts.
  3. Types file (CSV format): this optional file is a listing of the known members of all datasets and their associated type of the legacy SCM.
    Lines of this file are composed of the artifact's names, followed by a list of comma-separated types. A combination of types can be specified, which will then turn into a composite type definition in dbb-zAppBuild.
    This information should be extracted from the legacy SCM tool using its provided utilities. For a given member described in this file, its type can be used as a criteria to define the appropriate target Repository Path when analyzing the provided datasets. Types mapping are meant to be used only for programs, not for Includes Files.
  4. Types Configurations file (YAML format): this file defines the build configurations with their dbb-zAppBuild build properties and values. This information is typically extracted from the legacy SCM tool and mapped to the equivalent build property in dbb-zAppBuild. It is recommended to use ad-hoc automation, when applicable, to facilitate the creation of this file.
    Each Type Configuration defines properties that are used by the dbb-zAppBuild framework. Types can be combined depending on definitions found in the Types file, to generate composite types combining different properties.

Output files

When running this utility, two main types of files will be created for each application that are discovered:

  • An Application Descriptor file (YAML format): this file is built during the analysis of the datasets members provided as input. It contains the list of artifacts that belong to this application, with properties that are updated when the usage of Include Files and Programs is performed.
    • The Framing phase stores the files in a shared configuration folder (named work-configs by default).
    • The Assessment phase produces an updated Application Descriptor file, which is stored within the application's folder. This allows to compare the Application Descriptor files between the Framing phase and the Assessment phase.
  • A DBB Migration Mapping file (Text format): this file contains instructions on how the DBB Migration utility should operate when running a migration. This structure of mapping file and how to invoke the DBB Migration utility with a mapping file is described in the official DBB documentation.

For the Property Generation phase, the following output files are created:

  • Language Configuration files, containing properties defined for types configurations (as defined in the Types Configurations file). These Language Configuration files are stored in a custom dbb-zAppBuild instance which is copied from an original dbb-zAppbuild folder. The location of these files is the build-conf/language-conf folder in the custom dbb-zAppBuild instance.
  • For each analyzed application, an application-conf folder is copied from the original dbb-zAppBuild instance, in which two files are customized:

Configuring the Migration-Modeler utility

Configuring the scripts

The scripts used by the utility must be configured in order to run properly. Each script calls a setup script, the 0-environment.sh script, which exports environment variables.

To configure the Migration-Modeler, the variables defined in the 0-environment.sh script should be tailored to meet with your installation. The DBB_MODELER_HOME variable should be customized in priority, to point to location where the Migration-Modeler utility is installed.

Tailoring the input files

Three configuration files need to be reviewed and adapted to your installation and your needs, before being able to use the Modeler :

  • The Applications Mapping file file contains the list of existing applications including the naming convention patterns to define the elements that belong to each application.
    For a given member analyzed by the utility, if its name doesn't match any of the naming convention, it will be associated to the UNASSIGNED application.
    If no naming convention is applied for a given application, or if all the members of a given dataset belong to the same application, a naming convention whose value is ........ should be defined.

  • The Repository Paths Mapping file file is required and may be tailored to meet with your requirements, in terms of folder layout. However, it is recommended to use the definitions provided in the template, and keep consistent definitions for all applications being migrated.
    The values provided in the sample file should meet most of the implementations, but these values can be customized if necessary.
    The file controls how dataset members should be dispatched to target subfolders on USS, depending on the low-level qualifiers of the dataset which hold them or their associated types (if any, as described in the Types file).
    For each repository path, the artifactsType property is used during the Assessment phase, to filter out for each type of artifacts to perform the assessment. Only artifacts of types Program or Include File will be included in the analysis. It is recommended to keep the current settings defined in the provided Repository Paths Mapping file for the artifactsType property.

  • The Types file lists their dataset members and their associated type (like a language definition), as described in the legacy SCM tool. This CSV file is optional, and should be built with an SCM-provided utility or from an SCM-provided report.
    During the Framing phase, the type information can be used as a criteria to dispatch files. If no type is assigned to a given artifact, this information will not be used to dispatch the file and this element will be of type UNKNOWN in the Application Descriptor file.
    The type assigned to each artifact is used in the Property Generation phase to create Language Configuration in dbb-zAppBuild's configuration.

  • The Types Configurations file defines the differents types, grouping together related properties. This file is only used during the Property Generation phase. Each type configuration contains properties used by the dbb-zAppBuild framework.

Required input libraries of codebase

The utility is operating on a set of provided PDS libraries that contain a copy of the recent codebase of the legacy SCM repository. These datasets should be extracted from the legacy SCM system, using a SCM-provided utility or mechanism.

In the sample walkthrough below, all COBOL programs files of all applications are stored in a library called COBOL. COBOL Include files are stored in the COPYBOOK library.

Working with the Migration-Modeler utility

The Migration-Modeler utility is a set of shell scripts that are wrapping groovy scripts. The scripts are using DBB APIs and groovy APIs to scan the datasets members, classify them into applications and generate output configuration files.

A 4-step process

The utility is made of 3 scripts which are meant to be run in the following sequence:

  1. Extract Applications script (1-extractApplication.sh): this script scans the content of the provided datasets and assesses each member based on the provided input files. For each member found, it searches in the Applications Mapping YAML file if a naming convention, after being applied as a filter, matches the member name:

    • If it's a match, the member is assigned to the application that owns the matching naming convention.
    • If no pattern is found matching, the member is assigned to the UNASSIGNED application.
    • Outputs: After the execution of this script, a work-configs directory is created with 2 files for each application found.
      • An initial Application Descriptor file.
      • DBB Migration mapping file depending on the definitions in the Repository Paths mapping file.
  2. Run Migrations script (2-runMigrations.sh): this script executes the DBB Migration utility for each application with the generated DBB Migration Mapping files created by the Extract Applications script. It will copy all the files assigned to the given applications subfolders. Unassigned members are migrated into an UNASSIGNED application. The outcome of this script are subfolders created in the work-applications folder for each application. A side outcome of this step is the documentation about non-roundtripable and non-printable characters for each application.

  3. Classification script (3-classify.sh): this script facilitates the scanning of the source code and the classification process. It calls two groovy scripts (scanApplications.groovy and assessUsage.groovy) to respectively scans the content of each files of the applications using the DBB scanner, and assess how Include Files and Programs are used by all the applications.

    • For the scanning phase, the script iterates through the list of identified applications, and uses the DBB scanner to understand the dependencies for each artifacts. This information is stored in a local, temporary DBB metadatastore on the USS filesystem, that holds the dependencies information.

    • The second phase of the process uses this metadata information to understand how Include Files and Programs are used across all applications and classify the Include Files in three categories (Private, Public or Shared) and Programs in three categories ("main", "internal submodule", "service submodule"). Depending on the results of this assessment, Include Files may be moved from one application to another, Programs are not subject to move.

    • Outputs

      • The initial Application Descriptor file for each application is stored in the application's subfolder located in the work-applications folder (if not already present) and is updated to reflect the findings of this step. As it contains additional details, we refer to is as the final Application Descriptor.
      • The DBB Migration mapping file is also updated accordingly, if files were moved from an owning application to another.
  4. Property Generation script: this script generates build properties for dbb-zAppBuild. The script uses the type of each artifact to generate (or reuse if already existing) Language Configurations defined in dbb-zAppBuild, as configured in the Types Configurations file.
    The outcome is property files defined for each application's application-conf folder and Language Configuration files defined in a custom dbb-zAppBuild folder.

Running the utility

To facilitate the execution and provide a sample canvas, a Helper script is provided to showcase how the scripts should be invoked. This Helper script requires to be customized to meet with your installation (environment variables and datasets to analyze).

Extracting members from datasets into applications

The Extract Applications script (1-extractApplication.sh) requires to pass as input a comma-separated list of datasets to analyze.

Additionally, the path to the configurations files can be specified. Only the Repository Paths Mapping file is required, but other files should be leveraged to have a granular control on the migration process.

Output example Execution of the command: `./1-extractApplications.sh -d DBEHM.MIG.COBOL,DBEHM.MIG.COPY --applicationMapping $DBB_MODELER_HOME/applicationMappings.yaml --repositoryPathsMapping $DBB_MODELER_HOME/repositoryPathsMapping.yaml --types $DBB_MODELER_HOME/types.txt -o $DBB_MODELER_APPCONFIGS`
** Extraction process started.
** Script configuration:
   typesFilePath -> /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/types.txt
   datasetsList -> DBEHM.MIG.COBOL,DBEHM.MIG.COPY
   applicationsMappingFilePath -> /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/applicationMappings.yaml
   repositoryPathsMappingFilePath -> /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/repositoryPathsMapping.yaml
   outputDirectory -> /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-configs
** Reading the Repository Layout Mapping definition.
** Reading the Application Mapping definition.
** Reading the Type Mapping definition.
** Iterating through the provided datasets.
*** Found DBEHM.MIG.COBOL
**** 'DBEHM.MIG.COBOL(ABNDPROC)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(ACCLOAD)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(ACCOFFL)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(ACCTCTRL)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(BANKDATA)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(BNKMENU)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(BNK1CAC)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(BNK1CCA)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(BNK1CCS)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(BNK1CRA)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(BNK1DAC)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(BNK1DCS)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(BNK1TFN)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(BNK1UAC)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(CONSENT)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(CONSTTST)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(CRDTAGY1)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(CRDTAGY2)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(CRDTAGY3)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(CRDTAGY4)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(CRDTAGY5)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(CREACC)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(CRECUST)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(CUSTCTRL)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(DBCRFUN)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(DELACC)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(DELCUS)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(DPAYAPI)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(DPAYTST)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(EBUD0RUN)' - Mapped Application: RetirementCalculator
**** 'DBEHM.MIG.COBOL(EBUD01)' - Mapped Application: RetirementCalculator
**** 'DBEHM.MIG.COBOL(EBUD02)' - Mapped Application: RetirementCalculator
**** 'DBEHM.MIG.COBOL(EBUD03)' - Mapped Application: RetirementCalculator
**** 'DBEHM.MIG.COBOL(FLEMSMAI)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(FLEMSSUB)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(GETCOMPY)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(GETSCODE)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(INQACC)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(INQACCCU)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(INQCUST)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(LGACDB01)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGACDB02)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGACUS01)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGACVS01)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGAPDB01)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGAPOL01)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGAPVS01)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGASTAT1)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGDPDB01)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGDPOL01)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGDPVS01)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGICDB01)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGICUS01)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGICVS01)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGIPDB01)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGIPOL01)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGIPVS01)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGSETUP)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGSTSQ)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGTESTC1)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGTESTP1)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGTESTP2)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGTESTP3)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGTESTP4)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGUCDB01)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGUCUS01)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGUCVS01)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGUPDB01)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGUPOL01)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGUPVS01)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(LGWEBST5)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(OLDACDB1)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(OLDACDB2)' - Mapped Application: GenApp
**** 'DBEHM.MIG.COBOL(PROLOAD)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(PROOFFL)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(UPDACC)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(UPDCUST)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(XFRFUN)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COBOL(ZUNITCIC)' - Mapped Application: CBSA
*** Found DBEHM.MIG.COPY
**** 'DBEHM.MIG.COPY(ABNDINFO)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(ACCDB2)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(ACCOUNT)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(ACCTCTRL)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(BNK1ACC)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(BNK1CAM)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(BNK1CCM)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(BNK1CDM)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(BNK1DAM)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(BNK1DCM)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(BNK1MAI)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(BNK1TFM)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(BNK1UAM)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(CONSENT)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(CONSTAPI)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(CONSTDB2)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(CONTDB2)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(CREACC)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(CRECUST)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(CUSTCTRL)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(CUSTOMER)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(DATASTR)' - Mapped Application: UNASSIGNED
**** 'DBEHM.MIG.COPY(DELACC)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(DELCUS)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(GETCOMPY)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(GETSCODE)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(INQACC)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(INQACCCU)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(INQCUST)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(LGCMAREA)' - Mapped Application: UNASSIGNED
**** 'DBEHM.MIG.COPY(LGCMARED)' - Mapped Application: UNASSIGNED
**** 'DBEHM.MIG.COPY(LGPOLICY)' - Mapped Application: UNASSIGNED
**** 'DBEHM.MIG.COPY(LINPUT)' - Mapped Application: RetirementCalculator
**** 'DBEHM.MIG.COPY(PAYDBCR)' - Mapped Application: UNASSIGNED
**** 'DBEHM.MIG.COPY(PROCDB2)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(PROCTRAN)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(SORTCODE)' - Mapped Application: UNASSIGNED
**** 'DBEHM.MIG.COPY(UPDACC)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(UPDCUST)' - Mapped Application: CBSA
**** 'DBEHM.MIG.COPY(XFRFUN)' - Mapped Application: CBSA
** Generating Applications Configurations files.
** Generating Configuration files for application UNASSIGNED.
        Created DBB Migration Utility mapping file /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-configs/UNASSIGNED.mapping
        Created Application Description file /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-configs/UNASSIGNED.yaml
** Generating Configuration files for application CBSA.
        Created DBB Migration Utility mapping file /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-configs/CBSA.mapping
        Created Application Description file /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-configs/CBSA.yaml
** Generating Configuration files for application GenApp.
        Created DBB Migration Utility mapping file /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-configs/GenApp.mapping
        Created Application Description file /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-configs/GenApp.yaml
** Generating Configuration files for application RetirementCalculator.
        Created DBB Migration Utility mapping file /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-configs/RetirementCalculator.mapping
        Created Application Description file /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-configs/RetirementCalculator.yaml
** Build finished

Migrating the members from MVS datasets to USS folders

The Run Migrations script (2-runMigrations.sh) doesn't require any parameter. It will search for all the DBB Migration mapping files located in the work-configs directory, and will process them in sequence.

Output example Execution of the command: `./2-runMigrations.sh`
***** Running the DBB Migration Utility for application CBSA using file CBSA.mapping *****
Generated mappings will be saved in /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-configs/CBSA.migration-output.txt
Messages will be saved in /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-configs/CBSA.migration-log.txt
Non-printable scan level is info
Local GIT repository: /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-applications/CBSA
Migrate data sets using mapping file /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-configs/CBSA.mapping
Copying [DBEHM.MIG.COPY, CUSTCTRL] to CBSA/src/copy/custctrl.cpy using IBM-1047
Copying [DBEHM.MIG.COPY, ACCTCTRL] to CBSA/src/copy/acctctrl.cpy using IBM-1047
Copying [DBEHM.MIG.COBOL, DELACC] to CBSA/src/cobol/delacc.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, BNK1CAC] to CBSA/src/cobol/bnk1cac.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, GETCOMPY] to CBSA/src/cobol/getcompy.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, XFRFUN] to CBSA/src/cobol/xfrfun.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, CREACC] to CBSA/src/cobol/creacc.cbl using IBM-1047
Copying [DBEHM.MIG.COPY, BNK1CCM] to CBSA/src/copy/bnk1ccm.cpy using IBM-1047
Copying [DBEHM.MIG.COBOL, UPDCUST] to CBSA/src/cobol/updcust.cbl using IBM-1047
Copying [DBEHM.MIG.COPY, ABNDINFO] to CBSA/src/copy/abndinfo.cpy using IBM-1047
Copying [DBEHM.MIG.COPY, BNK1CAM] to CBSA/src/copy/bnk1cam.cpy using IBM-1047
Copying [DBEHM.MIG.COBOL, UPDACC] to CBSA/src/cobol/updacc.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, BNK1UAC] to CBSA/src/cobol/bnk1uac.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, CRDTAGY3] to CBSA/src/cobol/crdtagy3.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, BNK1CCS] to CBSA/src/cobol/bnk1ccs.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, CRDTAGY4] to CBSA/src/cobol/crdtagy4.cbl using IBM-1047
Copying [DBEHM.MIG.COPY, CONSTDB2] to CBSA/src/copy/constdb2.cpy using IBM-1047
Copying [DBEHM.MIG.COPY, BNK1ACC] to CBSA/src/copy/bnk1acc.cpy using IBM-1047
Copying [DBEHM.MIG.COBOL, INQACCCU] to CBSA/src/cobol/inqacccu.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, CONSENT] to CBSA/src/cobol/consent.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, PROLOAD] to CBSA/src/cobol/proload.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, ACCLOAD] to CBSA/src/cobol/accload.cbl using IBM-1047
Copying [DBEHM.MIG.COPY, UPDACC] to CBSA/src/copy/updacc.cpy using IBM-1047
Copying [DBEHM.MIG.COPY, BNK1TFM] to CBSA/src/copy/bnk1tfm.cpy using IBM-1047
Copying [DBEHM.MIG.COPY, INQACCCU] to CBSA/src/copy/inqacccu.cpy using IBM-1047
Copying [DBEHM.MIG.COPY, ACCOUNT] to CBSA/src/copy/account.cpy using IBM-1047
Copying [DBEHM.MIG.COPY, CRECUST] to CBSA/src/copy/crecust.cpy using IBM-1047
Copying [DBEHM.MIG.COPY, PROCTRAN] to CBSA/src/copy/proctran.cpy using IBM-1047
Copying [DBEHM.MIG.COPY, DELCUS] to CBSA/src/copy/delcus.cpy using IBM-1047
Copying [DBEHM.MIG.COBOL, BNK1CRA] to CBSA/src/cobol/bnk1cra.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, DPAYAPI] to CBSA/src/cobol/dpayapi.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, CRDTAGY5] to CBSA/src/cobol/crdtagy5.cbl using IBM-1047
Copying [DBEHM.MIG.COPY, GETCOMPY] to CBSA/src/copy/getcompy.cpy using IBM-1047
Copying [DBEHM.MIG.COBOL, INQCUST] to CBSA/src/cobol/inqcust.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, CRECUST] to CBSA/src/cobol/crecust.cbl using IBM-1047
Copying [DBEHM.MIG.COPY, BNK1MAI] to CBSA/src/copy/bnk1mai.cpy using IBM-1047
Copying [DBEHM.MIG.COBOL, BNK1CCA] to CBSA/src/cobol/bnk1cca.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, DELCUS] to CBSA/src/cobol/delcus.cbl using IBM-1047
Copying [DBEHM.MIG.COPY, CONSENT] to CBSA/src/copy/consent.cpy using IBM-1047
Copying [DBEHM.MIG.COBOL, INQACC] to CBSA/src/cobol/inqacc.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, BNKMENU] to CBSA/src/cobol/bnkmenu.cbl using IBM-1047
Copying [DBEHM.MIG.COPY, CREACC] to CBSA/src/copy/creacc.cpy using IBM-1047
Copying [DBEHM.MIG.COBOL, DBCRFUN] to CBSA/src/cobol/dbcrfun.cbl using IBM-1047
Copying [DBEHM.MIG.COPY, BNK1CDM] to CBSA/src/copy/bnk1cdm.cpy using IBM-1047
Copying [DBEHM.MIG.COPY, ACCDB2] to CBSA/src/copy/accdb2.cpy using IBM-1047
Copying [DBEHM.MIG.COBOL, PROOFFL] to CBSA/src/cobol/prooffl.cbl using IBM-1047
Copying [DBEHM.MIG.COPY, GETSCODE] to CBSA/src/copy/getscode.cpy using IBM-1047
Copying [DBEHM.MIG.COBOL, ACCTCTRL] to CBSA/src/cobol/acctctrl.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, ACCOFFL] to CBSA/src/cobol/accoffl.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, BNK1TFN] to CBSA/src/cobol/bnk1tfn.cbl using IBM-1047
Copying [DBEHM.MIG.COPY, UPDCUST] to CBSA/src/copy/updcust.cpy using IBM-1047
Copying [DBEHM.MIG.COBOL, CRDTAGY1] to CBSA/src/cobol/crdtagy1.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, CUSTCTRL] to CBSA/src/cobol/custctrl.cbl using IBM-1047
Copying [DBEHM.MIG.COPY, BNK1UAM] to CBSA/src/copy/bnk1uam.cpy using IBM-1047
Copying [DBEHM.MIG.COPY, INQCUST] to CBSA/src/copy/inqcust.cpy using IBM-1047
Copying [DBEHM.MIG.COBOL, DPAYTST] to CBSA/src/cobol/dpaytst.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, ZUNITCIC] to CBSA/src/cobol/zunitcic.cbl using IBM-1047
Copying [DBEHM.MIG.COPY, CONSTAPI] to CBSA/src/copy/constapi.cpy using IBM-1047
Copying [DBEHM.MIG.COPY, DELACC] to CBSA/src/copy/delacc.cpy using IBM-1047
Copying [DBEHM.MIG.COBOL, BNK1DAC] to CBSA/src/cobol/bnk1dac.cbl using IBM-1047
Copying [DBEHM.MIG.COPY, PROCDB2] to CBSA/src/copy/procdb2.cpy using IBM-1047
Copying [DBEHM.MIG.COBOL, BANKDATA] to CBSA/src/cobol/bankdata.cbl using IBM-1047
Copying [DBEHM.MIG.COPY, BNK1DCM] to CBSA/src/copy/bnk1dcm.cpy using IBM-1047
Copying [DBEHM.MIG.COPY, BNK1DAM] to CBSA/src/copy/bnk1dam.cpy using IBM-1047
Copying [DBEHM.MIG.COPY, CONTDB2] to CBSA/src/copy/contdb2.cpy using IBM-1047
Copying [DBEHM.MIG.COBOL, GETSCODE] to CBSA/src/cobol/getscode.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, BNK1DCS] to CBSA/src/cobol/bnk1dcs.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, CRDTAGY2] to CBSA/src/cobol/crdtagy2.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, CONSTTST] to CBSA/src/cobol/consttst.cbl using IBM-1047
Copying [DBEHM.MIG.COPY, INQACC] to CBSA/src/copy/inqacc.cpy using IBM-1047
Copying [DBEHM.MIG.COPY, CUSTOMER] to CBSA/src/copy/customer.cpy using IBM-1047
Copying [DBEHM.MIG.COPY, XFRFUN] to CBSA/src/copy/xfrfun.cpy using IBM-1047
** Build finished
***** Running the DBB Migration Utility for application GenApp using file GenApp.mapping *****
Generated mappings will be saved in /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-configs/GenApp.migration-output.txt
Messages will be saved in /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-configs/GenApp.migration-log.txt
Non-printable scan level is info
Local GIT repository: /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-applications/GenApp
Migrate data sets using mapping file /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-configs/GenApp.mapping
Copying [DBEHM.MIG.COBOL, LGAPOL01] to GenApp/src/cobol/lgapol01.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGTESTC1] to GenApp/src/cobol/lgtestc1.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGACDB01] to GenApp/src/cobol/lgacdb01.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGAPVS01] to GenApp/src/cobol/lgapvs01.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGDPVS01] to GenApp/src/cobol/lgdpvs01.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGTESTP3] to GenApp/src/cobol/lgtestp3.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGUCUS01] to GenApp/src/cobol/lgucus01.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, OLDACDB1] to GenApp/src/cobol/oldacdb1.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGASTAT1] to GenApp/src/cobol/lgastat1.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGICDB01] to GenApp/src/cobol/lgicdb01.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGUPVS01] to GenApp/src/cobol/lgupvs01.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGDPDB01] to GenApp/src/cobol/lgdpdb01.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGUCVS01] to GenApp/src/cobol/lgucvs01.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGIPDB01] to GenApp/src/cobol/lgipdb01.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGTESTP2] to GenApp/src/cobol/lgtestp2.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, FLEMSSUB] to GenApp/src/cobol/flemssub.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGUPOL01] to GenApp/src/cobol/lgupol01.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGSTSQ] to GenApp/src/cobol/lgstsq.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGACUS01] to GenApp/src/cobol/lgacus01.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGSETUP] to GenApp/src/cobol/lgsetup.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGACVS01] to GenApp/src/cobol/lgacvs01.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGACDB02] to GenApp/src/cobol/lgacdb02.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGTESTP4] to GenApp/src/cobol/lgtestp4.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGICVS01] to GenApp/src/cobol/lgicvs01.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGWEBST5] to GenApp/src/cobol/lgwebst5.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, OLDACDB2] to GenApp/src/cobol/oldacdb2.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGAPDB01] to GenApp/src/cobol/lgapdb01.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGDPOL01] to GenApp/src/cobol/lgdpol01.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGIPVS01] to GenApp/src/cobol/lgipvs01.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGUCDB01] to GenApp/src/cobol/lgucdb01.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGTESTP1] to GenApp/src/cobol/lgtestp1.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGIPOL01] to GenApp/src/cobol/lgipol01.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGICUS01] to GenApp/src/cobol/lgicus01.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, LGUPDB01] to GenApp/src/cobol/lgupdb01.cbl using IBM-1047
** Build finished
***** Running the DBB Migration Utility for application RetirementCalculator using file RetirementCalculator.mapping *****
Generated mappings will be saved in /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-configs/RetirementCalculator.migration-output.txt
Messages will be saved in /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-configs/RetirementCalculator.migration-log.txt
Non-printable scan level is info
Local GIT repository: /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-applications/RetirementCalculator
Migrate data sets using mapping file /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-configs/RetirementCalculator.mapping
Copying [DBEHM.MIG.COPY, LINPUT] to RetirementCalculator/src/copy/linput.cpy using IBM-1047
Copying [DBEHM.MIG.COBOL, EBUD03] to RetirementCalculator/src/cobol/ebud03.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, EBUD02] to RetirementCalculator/src/cobol/ebud02.cbl using IBM-1047
Copying [DBEHM.MIG.COBOL, EBUD01] to RetirementCalculator/src/cobol/ebud01.cbl using IBM-1047
** Build finished
***** Running the DBB Migration Utility for application UNASSIGNED using file UNASSIGNED.mapping *****
Generated mappings will be saved in /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-configs/UNASSIGNED.migration-output.txt
Messages will be saved in /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-configs/UNASSIGNED.migration-log.txt
Non-printable scan level is info
Local GIT repository: /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-applications/UNASSIGNED
Migrate data sets using mapping file /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-configs/UNASSIGNED.mapping
Copying [DBEHM.MIG.COPY, SORTCODE] to UNASSIGNED/src/copy/sortcode.cpy using IBM-1047
Copying [DBEHM.MIG.COPY, LGCMARED] to UNASSIGNED/src/copy/lgcmared.cpy using IBM-1047
Copying [DBEHM.MIG.COPY, LGCMAREA] to UNASSIGNED/src/copy/lgcmarea.cpy using IBM-1047
Copying [DBEHM.MIG.COPY, LGPOLICY] to UNASSIGNED/src/copy/lgpolicy.cpy using IBM-1047
Copying [DBEHM.MIG.COPY, PAYDBCR] to UNASSIGNED/src/copy/paydbcr.cpy using IBM-1047
** Build finished

Assessing the usage of Include Files

The Classification script (3-classify.sh) doesn't require any parameter.

It will search for all DBB Migration mapping files located in the work-configs folder and will process application definitions found in this folder. This script works in 2 phases: the first phase is a scan of all the files found in the application subfoler, and the second phase is an analysis of how the different Include Files and Programs are used by all the known applications.

Output example Execution of the command: `./3-classify.sh`
*******************************************************************
Scan application directory /u/mdalbin/Migration-Modeler/work-applications/CBSA
*******************************************************************
** Scanning the files.
         Scanning file CBSA/CBSA/src/cobol/zunitcic.cbl
         Scanning file CBSA/CBSA/src/cobol/getscode.cbl
         Scanning file CBSA/CBSA/src/cobol/acctctrl.cbl
         Scanning file CBSA/CBSA/src/copy/procdb2.cpy
         Scanning file CBSA/CBSA/src/cobol/bnk1cca.cbl
         Scanning file CBSA/CBSA/src/copy/contdb2.cpy
         Scanning file CBSA/CBSA/src/cobol/bnk1cac.cbl
         Scanning file CBSA/CBSA/src/cobol/updcust.cbl
         Scanning file CBSA/CBSA/src/copy/abndinfo.cpy
         Scanning file CBSA/CBSA/src/copy/bnk1dcm.cpy
         Scanning file CBSA/CBSA/src/cobol/xfrfun.cbl
         Scanning file CBSA/CBSA/src/copy/consent.cpy
         Scanning file CBSA/CBSA/src/cobol/bnk1ccs.cbl
         Scanning file CBSA/CBSA/src/copy/custctrl.cpy
         Scanning file CBSA/CBSA/src/copy/xfrfun.cpy
         Scanning file CBSA/CBSA/src/cobol/inqcust.cbl
         Scanning file CBSA/CBSA/src/cobol/crdtagy1.cbl
         Scanning file CBSA/CBSA/src/copy/constdb2.cpy
         Scanning file CBSA/CBSA/src/cobol/bankdata.cbl
         Scanning file CBSA/CBSA/src/cobol/crecust.cbl
         Scanning file CBSA/CBSA/src/copy/getcompy.cpy
         Scanning file CBSA/CBSA/src/cobol/consent.cbl
         Scanning file CBSA/CBSA/src/copy/delacc.cpy
         Scanning file CBSA/CBSA/src/cobol/crdtagy2.cbl
         Scanning file CBSA/CBSA/src/cobol/delacc.cbl
         Scanning file CBSA/CBSA/src/cobol/dpayapi.cbl
         Scanning file CBSA/CBSA/src/copy/inqacccu.cpy
         Scanning file CBSA/CBSA/src/cobol/bnk1tfn.cbl
         Scanning file CBSA/CBSA/src/copy/constapi.cpy
         Scanning file CBSA/CBSA/src/cobol/proload.cbl
         Scanning file CBSA/CBSA/src/cobol/inqacccu.cbl
         Scanning file CBSA/CBSA/src/copy/bnk1cam.cpy
         Scanning file CBSA/CBSA/src/copy/bnk1cdm.cpy
         Scanning file CBSA/CBSA/src/cobol/dpaytst.cbl
         Scanning file CBSA/CBSA/src/cobol/consttst.cbl
         Scanning file CBSA/CBSA/src/cobol/bnk1cra.cbl
         Scanning file CBSA/CBSA/src/cobol/prooffl.cbl
         Scanning file CBSA/CBSA/src/cobol/crdtagy3.cbl
         Scanning file CBSA/CBSA/src/cobol/updacc.cbl
         Scanning file CBSA/CBSA/src/cobol/delcus.cbl
         Scanning file CBSA/CBSA/src/copy/acctctrl.cpy
         Scanning file CBSA/CBSA/src/cobol/accoffl.cbl
         Scanning file CBSA/CBSA/src/copy/updacc.cpy
         Scanning file CBSA/CBSA/src/copy/delcus.cpy
         Scanning file CBSA/.gitattributes
         Scanning file CBSA/CBSA/src/copy/proctran.cpy
         Scanning file CBSA/CBSA/src/copy/updcust.cpy
         Scanning file CBSA/CBSA/src/cobol/crdtagy4.cbl
         Scanning file CBSA/CBSA/src/copy/getscode.cpy
         Scanning file CBSA/CBSA/src/cobol/creacc.cbl
         Scanning file CBSA/CBSA/src/cobol/crdtagy5.cbl
         Scanning file CBSA/CBSA/src/cobol/accload.cbl
         Scanning file CBSA/CBSA/src/copy/account.cpy
         Scanning file CBSA/CBSA/src/copy/bnk1ccm.cpy
         Scanning file CBSA/CBSA/src/copy/bnk1dam.cpy
         Scanning file CBSA/CBSA/src/cobol/getcompy.cbl
         Scanning file CBSA/CBSA/src/cobol/custctrl.cbl
         Scanning file CBSA/CBSA/src/copy/accdb2.cpy
         Scanning file CBSA/CBSA/src/copy/inqacc.cpy
         Scanning file CBSA/CBSA/src/copy/bnk1mai.cpy
         Scanning file CBSA/CBSA/src/cobol/inqacc.cbl
         Scanning file CBSA/CBSA/src/cobol/bnk1dcs.cbl
         Scanning file CBSA/CBSA/src/cobol/bnk1dac.cbl
         Scanning file CBSA/CBSA/src/cobol/bnk1uac.cbl
         Scanning file CBSA/CBSA/src/copy/customer.cpy
         Scanning file CBSA/CBSA/src/copy/crecust.cpy
         Scanning file CBSA/CBSA/src/copy/creacc.cpy
         Scanning file CBSA/CBSA/src/cobol/bnkmenu.cbl
         Scanning file CBSA/CBSA/src/cobol/dbcrfun.cbl
         Scanning file CBSA/CBSA/src/copy/bnk1acc.cpy
         Scanning file CBSA/CBSA/src/copy/bnk1uam.cpy
         Scanning file CBSA/CBSA/src/copy/inqcust.cpy
         Scanning file CBSA/CBSA/src/cobol/abndproc.cbl
         Scanning file CBSA/CBSA/src/copy/bnk1tfm.cpy
** Storing results in the 'CBSA' DBB Collection.
** Build finished
*******************************************************************
Scan application directory /u/mdalbin/Migration-Modeler/work-applications/GenApp
*******************************************************************
** Scanning the files.
         Scanning file GenApp/GenApp/src/cobol/lgtestp2.cbl
         Scanning file GenApp/GenApp/src/cobol/lgicus01.cbl
         Scanning file GenApp/GenApp/src/cobol/lgucus01.cbl
         Scanning file GenApp/GenApp/src/cobol/lgucvs01.cbl
         Scanning file GenApp/GenApp/src/cobol/lgapdb01.cbl
         Scanning file GenApp/GenApp/src/cobol/lgdpdb01.cbl
         Scanning file GenApp/GenApp/src/cobol/lgicvs01.cbl
         Scanning file GenApp/GenApp/src/cobol/lgsetup.cbl
         Scanning file GenApp/GenApp/src/cobol/oldacdb2.cbl
         Scanning file GenApp/GenApp/src/cobol/lgacdb01.cbl
         Scanning file GenApp/GenApp/src/cobol/lgipdb01.cbl
         Scanning file GenApp/GenApp/src/cobol/lgupvs01.cbl
         Scanning file GenApp/GenApp/src/cobol/lgtestp1.cbl
         Scanning file GenApp/GenApp/src/cobol/lgtestc1.cbl
         Scanning file GenApp/.gitattributes
         Scanning file GenApp/GenApp/src/cobol/lgdpol01.cbl
         Scanning file GenApp/GenApp/src/cobol/lgapol01.cbl
         Scanning file GenApp/GenApp/src/cobol/oldacdb1.cbl
         Scanning file GenApp/GenApp/src/cobol/flemssub.cbl
         Scanning file GenApp/GenApp/src/cobol/lgucdb01.cbl
         Scanning file GenApp/GenApp/src/cobol/lgacdb02.cbl
         Scanning file GenApp/GenApp/src/cobol/lgipol01.cbl
         Scanning file GenApp/GenApp/src/cobol/lgapvs01.cbl
         Scanning file GenApp/GenApp/src/cobol/lgicdb01.cbl
         Scanning file GenApp/GenApp/src/cobol/lgtestp4.cbl
         Scanning file GenApp/GenApp/src/cobol/lgdpvs01.cbl
         Scanning file GenApp/GenApp/src/cobol/flemsmai.cbl
         Scanning file GenApp/GenApp/src/cobol/lgupol01.cbl
         Scanning file GenApp/GenApp/src/cobol/lgacvs01.cbl
         Scanning file GenApp/GenApp/src/cobol/lgipvs01.cbl
         Scanning file GenApp/GenApp/src/cobol/lgastat1.cbl
         Scanning file GenApp/GenApp/src/cobol/lgacus01.cbl
         Scanning file GenApp/GenApp/src/cobol/lgupdb01.cbl
         Scanning file GenApp/GenApp/src/cobol/lgtestp3.cbl
         Scanning file GenApp/GenApp/src/cobol/lgstsq.cbl
         Scanning file GenApp/GenApp/src/cobol/lgwebst5.cbl
** Storing results in the 'GenApp' DBB Collection.
** Build finished
*******************************************************************
Scan application directory /u/mdalbin/Migration-Modeler/work-applications/RetirementCalculator
*******************************************************************
** Scanning the files.
         Scanning file RetirementCalculator/.gitattributes
         Scanning file RetirementCalculator/RetirementCalculator/src/cobol/ebud02.cbl
         Scanning file RetirementCalculator/RetirementCalculator/src/cobol/ebud01.cbl
         Scanning file RetirementCalculator/RetirementCalculator/src/cobol/ebud03.cbl
         Scanning file RetirementCalculator/RetirementCalculator/src/cobol/ebud0run.cbl
         Scanning file RetirementCalculator/RetirementCalculator/src/copy/linput.cpy
** Storing results in the 'RetirementCalculator' DBB Collection.
** Build finished
*******************************************************************
Scan application directory /u/mdalbin/Migration-Modeler/work-applications/UNASSIGNED
*******************************************************************
** Scanning the files.
         Scanning file UNASSIGNED/UNASSIGNED/src/copy/lgcmarea.cpy
         Scanning file UNASSIGNED/UNASSIGNED/src/copy/datastr.cpy
         Scanning file UNASSIGNED/.gitattributes
         Scanning file UNASSIGNED/UNASSIGNED/src/copy/sortcode.cpy
         Scanning file UNASSIGNED/UNASSIGNED/src/copy/lgcmared.cpy
         Scanning file UNASSIGNED/UNASSIGNED/src/copy/paydbcr.cpy
         Scanning file UNASSIGNED/UNASSIGNED/src/copy/lgpolicy.cpy
** Storing results in the 'UNASSIGNED' DBB Collection.
** Build finished
*******************************************************************
Assess Include files & Programs usage for CBSA
*******************************************************************
** Script configuration:
   workspace -> /u/mdalbin/Migration-Modeler/work-applications
   application -> CBSA
   configurationsDirectory -> /u/mdalbin/Migration-Modeler/work-configs
   updatedApplicationConfiguration -> true
   applicationDir -> /u/mdalbin/Migration-Modeler/work-applications/CBSA
** Getting the list of files of 'Include File' type.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/bnk1ccm.cpy'.
        Files depending on 'CBSA/src/copy/bnk1ccm.cpy' :
        'CBSA/CBSA/src/cobol/bnk1ccs.cbl' in 'CBSA' application context
        ==> 'bnk1ccm' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'bnk1ccm' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/bnk1dam.cpy'.
        Files depending on 'CBSA/src/copy/bnk1dam.cpy' :
        'CBSA/CBSA/src/cobol/bnk1dac.cbl' in 'CBSA' application context
        ==> 'bnk1dam' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'bnk1dam' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/bnk1cam.cpy'.
        Files depending on 'CBSA/src/copy/bnk1cam.cpy' :
        'CBSA/CBSA/src/cobol/bnk1cac.cbl' in 'CBSA' application context
        ==> 'bnk1cam' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'bnk1cam' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/creacc.cpy'.
        Files depending on 'CBSA/src/copy/creacc.cpy' :
        'CBSA/CBSA/src/cobol/bnk1cac.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/creacc.cbl' in 'CBSA' application context
        ==> 'creacc' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'creacc' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/bnk1dcm.cpy'.
        Files depending on 'CBSA/src/copy/bnk1dcm.cpy' :
        'CBSA/CBSA/src/cobol/bnk1dcs.cbl' in 'CBSA' application context
        ==> 'bnk1dcm' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'bnk1dcm' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/procdb2.cpy'.
        Files depending on 'CBSA/src/copy/procdb2.cpy' :
        'CBSA/CBSA/src/cobol/delacc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/delcus.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/crecust.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/xfrfun.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/dbcrfun.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/creacc.cbl' in 'CBSA' application context
        ==> 'procdb2' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'procdb2' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/constdb2.cpy'.
        Files depending on 'CBSA/src/copy/constdb2.cpy' :
        'CBSA/CBSA/src/cobol/consent.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/dpayapi.cbl' in 'CBSA' application context
        ==> 'constdb2' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'constdb2' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/abndinfo.cpy'.
        Files depending on 'CBSA/src/copy/abndinfo.cpy' :
        'CBSA/CBSA/src/cobol/updcust.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/delcus.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bnk1cca.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/crdtagy3.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/acctctrl.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/inqacc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/xfrfun.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/crdtagy2.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/creacc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bnk1dcs.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/delacc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bnk1tfn.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bnkmenu.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bnk1ccs.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/crdtagy1.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/inqcust.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/inqacccu.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bnk1dac.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/dbcrfun.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bnk1cra.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/crdtagy5.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/crecust.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/abndproc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/custctrl.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bnk1uac.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bnk1cac.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/updacc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/crdtagy4.cbl' in 'CBSA' application context
        ==> 'abndinfo' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'abndinfo' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/bnk1tfm.cpy'.
        Files depending on 'CBSA/src/copy/bnk1tfm.cpy' :
        'CBSA/CBSA/src/cobol/bnk1tfn.cbl' in 'CBSA' application context
        ==> 'bnk1tfm' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'bnk1tfm' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/bnk1acc.cpy'.
        Files depending on 'CBSA/src/copy/bnk1acc.cpy' :
        'CBSA/CBSA/src/cobol/bnk1cca.cbl' in 'CBSA' application context
        ==> 'bnk1acc' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'bnk1acc' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/proctran.cpy'.
        Files depending on 'CBSA/src/copy/proctran.cpy' :
        'CBSA/CBSA/src/cobol/delacc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/delcus.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/crecust.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/xfrfun.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/dbcrfun.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/creacc.cbl' in 'CBSA' application context
        ==> 'proctran' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'proctran' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/acctctrl.cpy'.
        Files depending on 'CBSA/src/copy/acctctrl.cpy' :
        'CBSA/CBSA/src/cobol/delacc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/acctctrl.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bankdata.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/creacc.cbl' in 'CBSA' application context
        ==> 'acctctrl' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'acctctrl' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/custctrl.cpy'.
        Files depending on 'CBSA/src/copy/custctrl.cpy' :
        'CBSA/CBSA/src/cobol/custctrl.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bankdata.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/crecust.cbl' in 'CBSA' application context
        ==> 'custctrl' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'custctrl' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/xfrfun.cpy'.
        Files depending on 'CBSA/src/copy/xfrfun.cpy' :
        'CBSA/CBSA/src/cobol/bnk1tfn.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/dpayapi.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/xfrfun.cbl' in 'CBSA' application context
        ==> 'xfrfun' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'xfrfun' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/crecust.cpy'.
        Files depending on 'CBSA/src/copy/crecust.cpy' :
        'CBSA/CBSA/src/cobol/bnk1ccs.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/crecust.cbl' in 'CBSA' application context
        ==> 'crecust' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'crecust' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/inqacccu.cpy'.
        Files depending on 'CBSA/src/copy/inqacccu.cpy' :
        'CBSA/CBSA/src/cobol/delcus.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bnk1cca.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/inqacccu.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/creacc.cbl' in 'CBSA' application context
        ==> 'inqacccu' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'inqacccu' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/bnk1cdm.cpy'.
        Files depending on 'CBSA/src/copy/bnk1cdm.cpy' :
        'CBSA/CBSA/src/cobol/bnk1cra.cbl' in 'CBSA' application context
        ==> 'bnk1cdm' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'bnk1cdm' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/getscode.cpy'.
        Files depending on 'CBSA/src/copy/getscode.cpy' :
        'CBSA/CBSA/src/cobol/getscode.cbl' in 'CBSA' application context
        ==> 'getscode' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'getscode' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/consent.cpy'.
        Files depending on 'CBSA/src/copy/consent.cpy' :
        'CBSA/CBSA/src/cobol/dpaytst.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/consent.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/dpayapi.cbl' in 'CBSA' application context
        ==> 'consent' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'consent' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/bnk1mai.cpy'.
        Files depending on 'CBSA/src/copy/bnk1mai.cpy' :
        'CBSA/CBSA/src/cobol/bnkmenu.cbl' in 'CBSA' application context
        ==> 'bnk1mai' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'bnk1mai' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/constapi.cpy'.
        Files depending on 'CBSA/src/copy/constapi.cpy' :
        'CBSA/CBSA/src/cobol/dpaytst.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/consttst.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/consent.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/dpayapi.cbl' in 'CBSA' application context
        ==> 'constapi' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'constapi' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/delacc.cpy'.
        Files depending on 'CBSA/src/copy/delacc.cpy' :
        'CBSA/CBSA/src/cobol/delacc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/delcus.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bnk1dac.cbl' in 'CBSA' application context
        ==> 'delacc' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'delacc' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/delcus.cpy'.
        Files depending on 'CBSA/src/copy/delcus.cpy' :
        'CBSA/CBSA/src/cobol/delcus.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bnk1dcs.cbl' in 'CBSA' application context
        ==> 'delcus' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'delcus' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/getcompy.cpy'.
        Files depending on 'CBSA/src/copy/getcompy.cpy' :
        'CBSA/CBSA/src/cobol/getcompy.cbl' in 'CBSA' application context
        ==> 'getcompy' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'getcompy' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/accdb2.cpy'.
        Files depending on 'CBSA/src/copy/accdb2.cpy' :
        'CBSA/CBSA/src/cobol/dpaytst.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/delacc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/consent.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bankdata.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/dpayapi.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/inqacccu.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/inqacc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/xfrfun.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/dbcrfun.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/updacc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/creacc.cbl' in 'CBSA' application context
        ==> 'accdb2' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'accdb2' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/contdb2.cpy'.
        Files depending on 'CBSA/src/copy/contdb2.cpy' :
        'CBSA/CBSA/src/cobol/bankdata.cbl' in 'CBSA' application context
        ==> 'contdb2' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'contdb2' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/inqcust.cpy'.
        Files depending on 'CBSA/src/copy/inqcust.cpy' :
        'CBSA/CBSA/src/cobol/delcus.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/inqcust.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/inqacccu.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/creacc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bnk1dcs.cbl' in 'CBSA' application context
        ==> 'inqcust' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'inqcust' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/updacc.cpy'.
        Files depending on 'CBSA/src/copy/updacc.cpy' :
        'CBSA/CBSA/src/cobol/bnk1uac.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/updacc.cbl' in 'CBSA' application context
        ==> 'updacc' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'updacc' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/inqacc.cpy'.
        Files depending on 'CBSA/src/copy/inqacc.cpy' :
        'CBSA/CBSA/src/cobol/bnk1uac.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/inqacc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bnk1dac.cbl' in 'CBSA' application context
        ==> 'inqacc' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'inqacc' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/updcust.cpy'.
        Files depending on 'CBSA/src/copy/updcust.cpy' :
        'CBSA/CBSA/src/cobol/updcust.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bnk1dcs.cbl' in 'CBSA' application context
        ==> 'updcust' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'updcust' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/bnk1uam.cpy'.
        Files depending on 'CBSA/src/copy/bnk1uam.cpy' :
        'CBSA/CBSA/src/cobol/bnk1uac.cbl' in 'CBSA' application context
        ==> 'bnk1uam' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'bnk1uam' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/account.cpy'.
        Files depending on 'CBSA/src/copy/account.cpy' :
        'CBSA/CBSA/src/cobol/dpaytst.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/delacc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/consent.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/delcus.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/inqacccu.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/inqacc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/xfrfun.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/dbcrfun.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/updacc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/creacc.cbl' in 'CBSA' application context
        ==> 'account' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'account' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/copy/customer.cpy'.
        Files depending on 'CBSA/src/copy/customer.cpy' :
        'CBSA/CBSA/src/cobol/updcust.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/delcus.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/inqcust.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bankdata.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/crecust.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/inqacccu.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/creacc.cbl' in 'CBSA' application context
        ==> 'customer' is owned by the 'CBSA' application
        ==> Updating usage of Include File 'customer' to 'private' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Getting the list of files of 'Program' type.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/bnk1cac.cbl'.
        The Program 'bnk1cac' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/proload.cbl'.
        The Program 'proload' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/zunitcic.cbl'.
        The Program 'zunitcic' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/bnk1dac.cbl'.
        The Program 'bnk1dac' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/dpayapi.cbl'.
        The Program 'dpayapi' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/dpaytst.cbl'.
        The Program 'dpaytst' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/accoffl.cbl'.
        The Program 'accoffl' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/crdtagy5.cbl'.
        The Program 'crdtagy5' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/creacc.cbl'.
        Files depending on 'CBSA/src/cobol/creacc.cbl' :
        'CBSA/CBSA/src/cobol/bnk1cac.cbl' in 'CBSA' application context
        ==> 'creacc' is called from the 'CBSA' application
        ==> Updating usage of Program 'creacc' to 'internal submodule' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/crdtagy4.cbl'.
        The Program 'crdtagy4' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/bnkmenu.cbl'.
        The Program 'bnkmenu' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/bankdata.cbl'.
        The Program 'bankdata' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/prooffl.cbl'.
        The Program 'prooffl' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/bnk1tfn.cbl'.
        The Program 'bnk1tfn' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/bnk1cca.cbl'.
        The Program 'bnk1cca' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/dbcrfun.cbl'.
        Files depending on 'CBSA/src/cobol/dbcrfun.cbl' :
        'CBSA/CBSA/src/cobol/bnk1cra.cbl' in 'CBSA' application context
        ==> 'dbcrfun' is called from the 'CBSA' application
        ==> Updating usage of Program 'dbcrfun' to 'internal submodule' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/acctctrl.cbl'.
        The Program 'acctctrl' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/custctrl.cbl'.
        The Program 'custctrl' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/xfrfun.cbl'.
        Files depending on 'CBSA/src/cobol/xfrfun.cbl' :
        'CBSA/CBSA/src/cobol/bnk1tfn.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/dpayapi.cbl' in 'CBSA' application context
        ==> 'xfrfun' is called from the 'CBSA' application
        ==> Updating usage of Program 'xfrfun' to 'internal submodule' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/crecust.cbl'.
        Files depending on 'CBSA/src/cobol/crecust.cbl' :
        'CBSA/CBSA/src/cobol/bnk1ccs.cbl' in 'CBSA' application context
        ==> 'crecust' is called from the 'CBSA' application
        ==> Updating usage of Program 'crecust' to 'internal submodule' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/inqacccu.cbl'.
        Files depending on 'CBSA/src/cobol/inqacccu.cbl' :
        'CBSA/CBSA/src/cobol/delcus.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bnk1cac.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/creacc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bnk1dcs.cbl' in 'CBSA' application context
        ==> 'inqacccu' is called from the 'CBSA' application
        ==> Updating usage of Program 'inqacccu' to 'internal submodule' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/getscode.cbl'.
        The Program 'getscode' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/consent.cbl'.
        The Program 'consent' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/crdtagy3.cbl'.
        The Program 'crdtagy3' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/delacc.cbl'.
        Files depending on 'CBSA/src/cobol/delacc.cbl' :
        'CBSA/CBSA/src/cobol/delcus.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bnk1dac.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bnk1dcs.cbl' in 'CBSA' application context
        ==> 'delacc' is called from the 'CBSA' application
        ==> Updating usage of Program 'delacc' to 'internal submodule' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/delcus.cbl'.
        Files depending on 'CBSA/src/cobol/delcus.cbl' :
        'CBSA/CBSA/src/cobol/bnk1dcs.cbl' in 'CBSA' application context
        ==> 'delcus' is called from the 'CBSA' application
        ==> Updating usage of Program 'delcus' to 'internal submodule' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/bnk1dcs.cbl'.
        The Program 'bnk1dcs' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/crdtagy2.cbl'.
        The Program 'crdtagy2' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/abndproc.cbl'.
        The Program 'abndproc' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/bnk1ccs.cbl'.
        The Program 'bnk1ccs' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/crdtagy1.cbl'.
        The Program 'crdtagy1' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/bnk1cra.cbl'.
        The Program 'bnk1cra' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/getcompy.cbl'.
        The Program 'getcompy' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/accload.cbl'.
        The Program 'accload' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/inqcust.cbl'.
        Files depending on 'CBSA/src/cobol/inqcust.cbl' :
        'CBSA/CBSA/src/cobol/delcus.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/inqacccu.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bnk1cac.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/creacc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bnk1dcs.cbl' in 'CBSA' application context
        ==> 'inqcust' is called from the 'CBSA' application
        ==> Updating usage of Program 'inqcust' to 'internal submodule' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/bnk1uac.cbl'.
        The Program 'bnk1uac' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/updacc.cbl'.
        Files depending on 'CBSA/src/cobol/updacc.cbl' :
        'CBSA/CBSA/src/cobol/bnk1uac.cbl' in 'CBSA' application context
        ==> 'updacc' is called from the 'CBSA' application
        ==> Updating usage of Program 'updacc' to 'internal submodule' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/consttst.cbl'.
        The Program 'consttst' is not called by any other program.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/inqacc.cbl'.
        Files depending on 'CBSA/src/cobol/inqacc.cbl' :
        'CBSA/CBSA/src/cobol/bnk1uac.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bnk1dac.cbl' in 'CBSA' application context
        ==> 'inqacc' is called from the 'CBSA' application
        ==> Updating usage of Program 'inqacc' to 'internal submodule' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'CBSA/CBSA/src/cobol/updcust.cbl'.
        Files depending on 'CBSA/src/cobol/updcust.cbl' :
        'CBSA/CBSA/src/cobol/bnk1dcs.cbl' in 'CBSA' application context
        ==> 'updcust' is called from the 'CBSA' application
        ==> Updating usage of Program 'updcust' to 'internal submodule' in '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Build finished
*******************************************************************
Assess Include files & Programs usage for GenApp
*******************************************************************
** Script configuration:
   workspace -> /u/mdalbin/Migration-Modeler/work-applications
   application -> GenApp
   configurationsDirectory -> /u/mdalbin/Migration-Modeler/work-configs
   updatedApplicationConfiguration -> true
   applicationDir -> /u/mdalbin/Migration-Modeler/work-applications/GenApp
** Getting the list of files of 'Include File' type.
*** No source found with 'Include File' type.
** Getting the list of files of 'Program' type.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgicus01.cbl'.
        Files depending on 'GenApp/src/cobol/lgicus01.cbl' :
        'GenApp/GenApp/src/cobol/lgtestc1.cbl' in 'GenApp' application context
        ==> 'lgicus01' is called from the 'GenApp' application
        ==> Updating usage of Program 'lgicus01' to 'internal submodule' in '/u/mdalbin/Migration-Modeler/work-applications/GenApp/GenApp.yaml'.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgdpol01.cbl'.
        Files depending on 'GenApp/src/cobol/lgdpol01.cbl' :
        'GenApp/GenApp/src/cobol/lgtestp2.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgtestp4.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgtestp1.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgtestp3.cbl' in 'GenApp' application context
        ==> 'lgdpol01' is called from the 'GenApp' application
        ==> Updating usage of Program 'lgdpol01' to 'internal submodule' in '/u/mdalbin/Migration-Modeler/work-applications/GenApp/GenApp.yaml'.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgipdb01.cbl'.
        The Program 'lgipdb01' is not called by any other program.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgtestp3.cbl'.
        The Program 'lgtestp3' is not called by any other program.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgtestp4.cbl'.
        The Program 'lgtestp4' is not called by any other program.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgacvs01.cbl'.
        The Program 'lgacvs01' is not called by any other program.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgsetup.cbl'.
        The Program 'lgsetup' is not called by any other program.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgapol01.cbl'.
        Files depending on 'GenApp/src/cobol/lgapol01.cbl' :
        'GenApp/GenApp/src/cobol/lgtestp2.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgtestp4.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgtestp1.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgtestp3.cbl' in 'GenApp' application context
        ==> 'lgapol01' is called from the 'GenApp' application
        ==> Updating usage of Program 'lgapol01' to 'internal submodule' in '/u/mdalbin/Migration-Modeler/work-applications/GenApp/GenApp.yaml'.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgipvs01.cbl'.
        The Program 'lgipvs01' is not called by any other program.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgupol01.cbl'.
        Files depending on 'GenApp/src/cobol/lgupol01.cbl' :
        'GenApp/GenApp/src/cobol/lgtestp2.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgtestp1.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgtestp3.cbl' in 'GenApp' application context
        ==> 'lgupol01' is called from the 'GenApp' application
        ==> Updating usage of Program 'lgupol01' to 'internal submodule' in '/u/mdalbin/Migration-Modeler/work-applications/GenApp/GenApp.yaml'.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgacdb01.cbl'.
        The Program 'lgacdb01' is not called by any other program.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgacdb02.cbl'.
        The Program 'lgacdb02' is not called by any other program.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgstsq.cbl'.
        Files depending on 'GenApp/src/cobol/lgstsq.cbl' :
        'GenApp/GenApp/src/cobol/lgapol01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgupvs01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgdpvs01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgdpdb01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgtestp1.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgucus01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/oldacdb1.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgupol01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/oldacdb2.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgucdb01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgtestp4.cbl' in 'GenApp' application context
        'CBSA/CBSA/src/cobol/zunitcic.cbl' in 'CBSA' application context
        'GenApp/GenApp/src/cobol/lgicus01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgipdb01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgapdb01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgtestc1.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgacus01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgdpol01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgacvs01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgipol01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgapvs01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgacdb02.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgupdb01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgtestp2.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgacdb01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgucvs01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgicdb01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgtestp3.cbl' in 'GenApp' application context
        ==> 'lgstsq' is called by multiple applications - [CBSA, GenApp]
        ==> Updating usage of Program 'lgstsq' to 'service submodule' in Application Descriptor '/u/mdalbin/Migration-Modeler/work-applications/GenApp/GenApp.yaml'.
Adding dependency to application CBSA
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgtestp1.cbl'.
        The Program 'lgtestp1' is not called by any other program.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgtestp2.cbl'.
        The Program 'lgtestp2' is not called by any other program.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/flemsmai.cbl'.
        The Program 'flemsmai' is not called by any other program.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgdpdb01.cbl'.
        The Program 'lgdpdb01' is not called by any other program.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgucus01.cbl'.
        Files depending on 'GenApp/src/cobol/lgucus01.cbl' :
        'GenApp/GenApp/src/cobol/lgtestc1.cbl' in 'GenApp' application context
        ==> 'lgucus01' is called from the 'GenApp' application
        ==> Updating usage of Program 'lgucus01' to 'internal submodule' in '/u/mdalbin/Migration-Modeler/work-applications/GenApp/GenApp.yaml'.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgapvs01.cbl'.
        The Program 'lgapvs01' is not called by any other program.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgucdb01.cbl'.
        The Program 'lgucdb01' is not called by any other program.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgdpvs01.cbl'.
        The Program 'lgdpvs01' is not called by any other program.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgtestc1.cbl'.
        The Program 'lgtestc1' is not called by any other program.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgastat1.cbl'.
        The Program 'lgastat1' is not called by any other program.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/oldacdb2.cbl'.
        The Program 'oldacdb2' is not called by any other program.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/oldacdb1.cbl'.
        The Program 'oldacdb1' is not called by any other program.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgapdb01.cbl'.
        The Program 'lgapdb01' is not called by any other program.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgicvs01.cbl'.
        The Program 'lgicvs01' is not called by any other program.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgipol01.cbl'.
        Files depending on 'GenApp/src/cobol/lgipol01.cbl' :
        'GenApp/GenApp/src/cobol/lgtestp2.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgtestp4.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgtestp1.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgtestp3.cbl' in 'GenApp' application context
        ==> 'lgipol01' is called from the 'GenApp' application
        ==> Updating usage of Program 'lgipol01' to 'internal submodule' in '/u/mdalbin/Migration-Modeler/work-applications/GenApp/GenApp.yaml'.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgacus01.cbl'.
        Files depending on 'GenApp/src/cobol/lgacus01.cbl' :
        'GenApp/GenApp/src/cobol/lgtestc1.cbl' in 'GenApp' application context
        ==> 'lgacus01' is called from the 'GenApp' application
        ==> Updating usage of Program 'lgacus01' to 'internal submodule' in '/u/mdalbin/Migration-Modeler/work-applications/GenApp/GenApp.yaml'.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/flemssub.cbl'.
        Files depending on 'GenApp/src/cobol/flemssub.cbl' :
        'GenApp/GenApp/src/cobol/flemsmai.cbl' in 'GenApp' application context
        ==> 'flemssub' is called from the 'GenApp' application
        ==> Updating usage of Program 'flemssub' to 'internal submodule' in '/u/mdalbin/Migration-Modeler/work-applications/GenApp/GenApp.yaml'.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgwebst5.cbl'.
        The Program 'lgwebst5' is not called by any other program.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgucvs01.cbl'.
        The Program 'lgucvs01' is not called by any other program.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgupdb01.cbl'.
        The Program 'lgupdb01' is not called by any other program.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgicdb01.cbl'.
        The Program 'lgicdb01' is not called by any other program.
** Analyzing impacted applications for file 'GenApp/GenApp/src/cobol/lgupvs01.cbl'.
        The Program 'lgupvs01' is not called by any other program.
** Build finished
*******************************************************************
Assess Include files & Programs usage for RetirementCalculator
*******************************************************************
** Script configuration:
   workspace -> /u/mdalbin/Migration-Modeler/work-applications
   application -> RetirementCalculator
   configurationsDirectory -> /u/mdalbin/Migration-Modeler/work-configs
   updatedApplicationConfiguration -> true
   applicationDir -> /u/mdalbin/Migration-Modeler/work-applications/RetirementCalculator
** Getting the list of files of 'Include File' type.
** Analyzing impacted applications for file 'RetirementCalculator/RetirementCalculator/src/copy/linput.cpy'.
        Files depending on 'RetirementCalculator/src/copy/linput.cpy' :
        'RetirementCalculator/RetirementCalculator/src/cobol/ebud01.cbl' in 'RetirementCalculator' application context
        'GenApp/GenApp/src/cobol/lgacdb01.cbl' in 'GenApp' application context
        'RetirementCalculator/RetirementCalculator/src/cobol/ebud0run.cbl' in 'RetirementCalculator' application context
        ==> 'linput' referenced by multiple applications - [GenApp, RetirementCalculator]
        ==> Updating usage of Include File 'linput' to 'public' in Application Descriptor '/u/mdalbin/Migration-Modeler/work-applications/RetirementCalculator/RetirementCalculator.yaml'.
Adding dependency to application GenApp
** Getting the list of files of 'Program' type.
** Analyzing impacted applications for file 'RetirementCalculator/RetirementCalculator/src/cobol/ebud01.cbl'.
        Files depending on 'RetirementCalculator/src/cobol/ebud01.cbl' :
        'CBSA/CBSA/src/cobol/abndproc.cbl' in 'CBSA' application context
        ==> 'ebud01' is called from the 'CBSA' application
Adding dependency to application CBSA
        ==> Updating usage of Program 'ebud01' to 'service submodule' in '/u/mdalbin/Migration-Modeler/work-applications/RetirementCalculator/RetirementCalculator.yaml'.
** Analyzing impacted applications for file 'RetirementCalculator/RetirementCalculator/src/cobol/ebud03.cbl'.
        The Program 'ebud03' is not called by any other program.
** Analyzing impacted applications for file 'RetirementCalculator/RetirementCalculator/src/cobol/ebud02.cbl'.
        Files depending on 'RetirementCalculator/src/cobol/ebud02.cbl' :
        'CBSA/CBSA/src/cobol/abndproc.cbl' in 'CBSA' application context
        ==> 'ebud02' is called from the 'CBSA' application
Adding dependency to application CBSA
        ==> Updating usage of Program 'ebud02' to 'service submodule' in '/u/mdalbin/Migration-Modeler/work-applications/RetirementCalculator/RetirementCalculator.yaml'.
** Analyzing impacted applications for file 'RetirementCalculator/RetirementCalculator/src/cobol/ebud0run.cbl'.
        The Program 'ebud0run' is not called by any other program.
** Build finished
*******************************************************************
Assess Include files & Programs usage for UNASSIGNED
*******************************************************************
** Script configuration:
   workspace -> /u/mdalbin/Migration-Modeler/work-applications
   application -> UNASSIGNED
   configurationsDirectory -> /u/mdalbin/Migration-Modeler/work-configs
   updatedApplicationConfiguration -> true
   applicationDir -> /u/mdalbin/Migration-Modeler/work-applications/UNASSIGNED
** Getting the list of files of 'Include File' type.
** Analyzing impacted applications for file 'UNASSIGNED/UNASSIGNED/src/copy/datastr.cpy'.
        Files depending on 'UNASSIGNED/src/copy/datastr.cpy' :
        'CBSA/CBSA/src/cobol/updcust.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/delcus.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/crdtagy3.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/crdtagy5.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bankdata.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/crecust.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/inqacc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/xfrfun.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/crdtagy2.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/creacc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/delacc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/crdtagy1.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/inqcust.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/inqacccu.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/dbcrfun.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/updacc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/crdtagy4.cbl' in 'CBSA' application context
        ==> 'datastr' is owned by the 'CBSA' application
        ==> Moving Include File 'datastr' with usage 'private' to Application 'CBSA' described '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'UNASSIGNED/UNASSIGNED/src/copy/lgpolicy.cpy'.
        Files depending on 'UNASSIGNED/src/copy/lgpolicy.cpy' :
        'GenApp/GenApp/src/cobol/lgapdb01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgacus01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgipol01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgacdb02.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/oldacdb1.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgupdb01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/oldacdb2.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgacdb01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgucdb01.cbl' in 'GenApp' application context
        'CBSA/CBSA/src/cobol/zunitcic.cbl' in 'CBSA' application context
        'GenApp/GenApp/src/cobol/lgicus01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgicdb01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgipdb01.cbl' in 'GenApp' application context
        ==> 'lgpolicy' referenced by multiple applications - [CBSA, GenApp]
        ==> Updating usage of Include File 'lgpolicy' to 'shared' in Application Descriptor '/u/mdalbin/Migration-Modeler/work-applications/UNASSIGNED/UNASSIGNED.yaml'.
Adding dependency to application CBSA
Adding dependency to application GenApp
** Analyzing impacted applications for file 'UNASSIGNED/UNASSIGNED/src/copy/lgcmared.cpy'.
        Files depending on 'UNASSIGNED/src/copy/lgcmared.cpy' :
        'CBSA/CBSA/src/cobol/zunitcic.cbl' in 'CBSA' application context
        ==> 'lgcmared' is owned by the 'CBSA' application
        ==> Moving Include File 'lgcmared' with usage 'private' to Application 'CBSA' described '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'UNASSIGNED/UNASSIGNED/src/copy/lgcmarea.cpy'.
        Files depending on 'UNASSIGNED/src/copy/lgcmarea.cpy' :
        'GenApp/GenApp/src/cobol/lgapol01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgupvs01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgdpvs01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgdpdb01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgtestp1.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgucus01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/oldacdb1.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgupol01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/oldacdb2.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgucdb01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgtestp4.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgicus01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgipdb01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgapdb01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgtestc1.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgacus01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgastat1.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgdpol01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgacvs01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgipol01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgapvs01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgupdb01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgtestp2.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgacdb01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgucvs01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgicdb01.cbl' in 'GenApp' application context
        'GenApp/GenApp/src/cobol/lgtestp3.cbl' in 'GenApp' application context
        ==> 'lgcmarea' is owned by the 'GenApp' application
        ==> Moving Include File 'lgcmarea' with usage 'private' to Application 'GenApp' described '/u/mdalbin/Migration-Modeler/work-applications/GenApp/GenApp.yaml'.
** Analyzing impacted applications for file 'UNASSIGNED/UNASSIGNED/src/copy/paydbcr.cpy'.
        Files depending on 'UNASSIGNED/src/copy/paydbcr.cpy' :
        'CBSA/CBSA/src/cobol/dbcrfun.cbl' in 'CBSA' application context
        ==> 'paydbcr' is owned by the 'CBSA' application
        ==> Moving Include File 'paydbcr' with usage 'private' to Application 'CBSA' described '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Analyzing impacted applications for file 'UNASSIGNED/UNASSIGNED/src/copy/sortcode.cpy'.
        Files depending on 'UNASSIGNED/src/copy/sortcode.cpy' :
        'CBSA/CBSA/src/cobol/updcust.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/delcus.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/crdtagy3.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/crdtagy5.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/acctctrl.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/bankdata.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/crecust.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/inqacc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/xfrfun.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/crdtagy2.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/creacc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/delacc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/getscode.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/custctrl.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/crdtagy1.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/inqcust.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/inqacccu.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/dbcrfun.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/updacc.cbl' in 'CBSA' application context
        'CBSA/CBSA/src/cobol/crdtagy4.cbl' in 'CBSA' application context
        ==> 'sortcode' is owned by the 'CBSA' application
        ==> Moving Include File 'sortcode' with usage 'private' to Application 'CBSA' described '/u/mdalbin/Migration-Modeler/work-applications/CBSA/CBSA.yaml'.
** Getting the list of files of 'Program' type.
*** No source found with 'Program' type.
** Build finished

Generating Property files

The Property Generation script requires two parameters:

  • The path to the Types Configurations file
  • The path to an original dbb-zAppBuild instance, that will be copied and customized during this phase

The script will search for all DBB Migration mapping files located in the work-configs folder and will process application definitions found in this folder. For each application found, it will search for the artifacts of type 'Program', and, for each of them, will check if a Language Configuration exists, based on the type information. If the Language Configuration doesn't exist, the script will create it (eventually combining multiple type configurations if necessary).

This script will also generate application's related configuration, stored in a custom application-conf folder. If configuration was changed, an INFO message is shown, explaining that a manual task must be performed to enable the use of the Language Configuration mapping for a given application.

Output example Execution of the command: `./4-generateProperties.sh`
*******************************************************************
Generate properties for application 'CBSA'
*******************************************************************
** Extraction process started.
** Script configuration:
   zAppBuildFolderPath -> /u/mdalbin/dbb-zappbuild
   typesConfigurationsFilePath -> /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/typesConfigurations.yaml
   workspace -> /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-applications
   application -> CBSA
** Reading the Types Configurations definitions from '/u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/typesConfigurations.yaml'.
** Getting the list of files of 'Program' type.
** Build finished
*******************************************************************
Generate properties for application 'GenApp'
*******************************************************************
** Extraction process started.
** Script configuration:
   zAppBuildFolderPath -> /u/mdalbin/dbb-zappbuild
   typesConfigurationsFilePath -> /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/typesConfigurations.yaml
   workspace -> /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-applications
   application -> GenApp
** Reading the Types Configurations definitions from '/u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/typesConfigurations.yaml'.
** Getting the list of files of 'Program' type.
        Generating new Language Configuration for type 'CBLCICSDB2'
        Generating new Language Configuration for type 'CBLDB2'
        Generating new Language Configuration for type 'PLICICS'
** INFO: Don't forget to enable the use of Language Configuration by uncommenting the 'loadLanguageConfigurationProperties' property in '/u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-applications/GenApp/GenApp/application-conf/file.properties'
** Build finished
*******************************************************************
Generate properties for application 'RetirementCalculator'
*******************************************************************
** Extraction process started.
** Script configuration:
   zAppBuildFolderPath -> /u/mdalbin/dbb-zappbuild
   typesConfigurationsFilePath -> /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/typesConfigurations.yaml
   workspace -> /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-applications
   application -> RetirementCalculator
** Reading the Types Configurations definitions from '/u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/typesConfigurations.yaml'.
** Getting the list of files of 'Program' type.
** Build finished
*******************************************************************
Generate properties for application 'UNASSIGNED'
*******************************************************************
** Extraction process started.
** Script configuration:
   zAppBuildFolderPath -> /u/mdalbin/dbb-zappbuild
   typesConfigurationsFilePath -> /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/typesConfigurations.yaml
   workspace -> /u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/work-applications
   application -> UNASSIGNED
** Reading the Types Configurations definitions from '/u/mdalbin/Migration-Modeler/dbb/Migration-Modeler/typesConfigurations.yaml'.
** Getting the list of files of 'Program' type.
*** No source found with 'Program' type.
** Build finished

Migrations scenarios

A group of datasets belongs to the same application

In this situation, a group of datasets contains artifacts that belong to the same application. These identified artifacts can be spread across multiples libraries but you are certain they are all owned by the same application.

To limit the scope of the extraction, this list of datasets to analyze must be passed to the Extract Applications script (1-extractApplication.sh). In this use case, a specific Applications mapping file should be passed to the Extract Applications script, with a universal filter being used as naming convention.

The following is an example of such Application Mappings file (named applicationMappings-CATMAN.yaml)

applications:
  - application: "Catalog Manager"
    description: "Catalog Manager"
    owner: "MDALBIN"
    namingConventions:
      - ........

To extract the files, a sample command like the following should be used:

./1-extractApplications.sh -d GITLAB.CATMAN.RELEASE.COBOL,GITLAB.CATMAN.RELEASE.COPY,GITLAB.CATMAN.RELEASE.ASM,GITLAB.CATMAN.RELEASE.BMS,GITLAB.CATMAN.RELEASE.LINK --applicationMapping $DBB_MODELER_HOME/applicationMappings-CATMAN.yaml --repositoryPathsMapping $DBB_MODELER_HOME/repositoryPathsMapping.yaml --types $DBB_MODELER_HOME/types.txt -oc $DBB_MODELER_APPCONFIGS -oa $DBB_MODELER_APPLICATIONS

The result of this command is an Application Descriptor file that documents all the artifacts contained in the list of the given datasets, and a DBB Migration mapping file to manages all the members found.

A group of datasets contains artifacts that belong to multiple applications

In this configuration, the list of datasets provided as input contain artifacts from different applications, but a naming convention can be leveraged to filter members. In the following example, the naming convention is based on the first 3 letters of the members' name. There is one exception, where we have a fully qualified member name (LINPUT) that is owned by the RetirementCalculator application:

applications:
  - application: "RetirementCalculator"
    description: "RetirementCalculator"
    owner: "MDALBIN"
    namingConventions:
      - EBU.....
      - LINPUT..
  - application: "GenApp"
    description: "GenApp"
    owner: "DBEHM"
    namingConventions:
      - LGA.....
      - LGD.....
      - LGI.....
      - LGT.....
      - LGU.....
      - LGS.....
      - LGW.....
      - OLD.....
      - FLE.....
  - application: "CBSA"
    description: "CBSA"
    owner: "MDALBIN"
    namingConventions:
      - ABN.....
      - ACC.....
      - BAN.....
      - BNK.....
      - CON.....
      - CRD.....
      - CRE.....
      - CUS.....
      - DBC.....
      - DEL.....
      - DPA.....
      - GET.....
      - INQ.....
      - PRO.....
      - UPD.....
      - XFR.....
      - ZUN.....

The result of this command is a set of Application Descriptor files and DBB Migratin mamming files for each discovered application. If a member doesn't match any naming convention, it is assigned to a special application called UNASSIGNED.

Working with the special UNASSIGNED application

A good strategy could be to store all the shared Include Files in this UNASSIGNED application. This can be done in several ways: as mentioned earlier, all artifacts for which no naming convention is matching will be assigned to this special application. Otherwise, if a library is known to contain only shared Include Files, a specific Application Mapping file could be used, as follows:

applications:
  - application: "UNASSIGNED"
    description: "Shared include files"
    owner: "Shared ownership"
    namingConventions:
      - ........

Combining use cases

There can be situations where scenarios must be combined. For instance, a given library contains artifacts from one application, while other libraries contain files from multiple applications.

In that case, the solution is to run the Extract Applications script (1-extractApplication.sh) multiple times with different input configuration files. The Helper script (Helper.sh) can be customized in this way to contain multiple extractions:

./1-extractApplications.sh -d DBEHM.MIG.COBOL,DBEHM.MIG.COPY --applicationMapping $DBB_MODELER_HOME/applicationMappings.yaml --repositoryPathsMapping $DBB_MODELER_HOME/repositoryPathsMapping.yaml --types $DBB_MODELER_HOME/types.txt -oc $DBB_MODELER_APPCONFIGS -oa $DBB_MODELER_APPLICATIONS
./1-extractApplications.sh -d GITLAB.CATMAN.RELEASE.COBOL,GITLAB.CATMAN.RELEASE.COPY,GITLAB.CATMAN.RELEASE.ASM,GITLAB.CATMAN.RELEASE.BMS,GITLAB.CATMAN.RELEASE.LINK --applicationMapping $DBB_MODELER_HOME/applicationMappings-CATMAN.yaml --repositoryPathsMapping $DBB_MODELER_HOME/repositoryPathsMapping.yaml --types $DBB_MODELER_HOME/types.txt -oc $DBB_MODELER_APPCONFIGS -oa $DBB_MODELER_APPLICATIONS

Generating properties

We encourage, as much as possible, to use simple scenarios, to avoid unnecessary complexity in the combination of types configurations. However, some configuration may require to use combination of types, depending on how properties are set in the originating SCM solution.

Common scenario

In a simple scenario, each artifact is assigned with one single type, that designates a known configuration in the legacy SCM tool.

For instance, the Types file could contain the following lines:

PGM001, COBBATCH
PGM002, COBCICSD
PMG003, PLIIMSDB

Where COBBATCH, COBCICSD and PLIIMSDB represent configurations with specific properties. These types should be defined in the Types Configurations file accordingly, for instance:

- typeConfiguration: "COBBATCH"
  cobol_compileParms: "LIB,SOURCE"
  cobol_linkedit: true
  isCICS: false
  isSQL: false
- typeConfiguration: "COBCICSD"
  cobol_compileParms: "LIB,SOURCE,CICS,SQL"
  cobol_linkedit: true
  isCICS: true
  isSQL: true
- typeConfiguration: "PLIIMSDB"
  pli_compileParms: "PP(INCLUDE('ID(++INCLUDE)')),SYSTEM(IMS)"
  pli_linkedit: true
  isCICS: false
  isSQL: false
  isDLI: true

With this configuration, the Property Generation script will generate Language Configurations for each of these types.

Advanced scenario

In more sophisticated scenarios, which depend on how properties are set in the legacy SCM tool, multiple types can be assigned to an artifact:

PGM001, COBOL, BATCH
PGM002, COBOL, CICSDB2
PMG003, PLI, IMSDB

Each type configuration would be defined separately in the Types Configurations file, for instance:

- typeConfiguration: "COBOL"
  cobol_compileParms: "LIB,SOURCE"
  cobol_linkedit: true
- typeConfiguration: "PLI"
  pli_compileParms: "PP(INCLUDE('ID(++INCLUDE)'))"
  pli_linkedit: true
- typeConfiguration: "BATCH"
  isCICS: false
- typeConfiguration: "CICSDB2"
  isCICS: true
  isSQL: true
- typeConfiguration: "IMSDB"
  pli_compileIMSParms: SYSTEM(IMS)  
  isCICS: false
  isSQL: false
  isDLI: true

In this configuration, the Property Generation script will generate composite Language Configurations files in dbb-zAppbuild's build-conf/language-conf folder. In this example, 3 files would be created:

  • BATCH-COBOL.properties which combines properties from the BATCH and the COBOL types
  • CICSDB2-COBOL.properties, which combines properties from the CICSDB2 and the COBOL types
  • IMSDB-PLI.properties, which combines properties from the IMSDB and PLI types

The name of composite types are based on the names of the originating types sorted alphabetically, to avoid duplication. The Language Configuration mapping file in each application's application-conf folder contains mappings between artifacts and their associated composite types, also sorted alphabetically.

About

The Migration-Modeler project, to help with scoping the applications boundaries and migrating z/OS applications to Git using DBB.

Resources

License

Stars

Watchers

Forks

Packages

No packages published