COBOL Resource Configuration
Source System Properties
This configuration can be setup by creating a new connection on Admin UI / Connections tab or editing an existing connection in Admin UI / Connections / Programming Languages / COBOL / specific connection. New connection can also be created via Manta Orchestration API.
Property name | Description | Example |
---|---|---|
cobol.dictionary.id | Enter the name of a resource representing this COBOL script system (known as the dictionary ID) | cobol |
cobol.script.encoding | Encoding of manually provided COBOL files of this COBOL script system instance. See Encodings for applicable values. | UTF-8 |
jcl.script.encoding | Encoding of manually provided JCL files of this COBOL script system instance. See Encodings for applicable values. | UTF-8 |
cobol.script.format | COBOL source code formatting used in COBOL scripts in this COBOL script system (see below for details) | FIXED |
jcl.script.enabled | Enables analysis of JCL scripts; the value true enables analysis of JCL scripts along with COBOL script analysis and the value false disables it | true |
cobol.script.processScriptsWithoutJCL | Enables processing of COBOL scripts that are not executed by any JCL job or procedure; if a jcl.script.enabled property is set to false, this setting has no effect |
true |
jcl.sas.dictionary.id (available as of R42.6) | The name of a SAS connection that processes the SAS programs that are referenced by an EXEC statement. If JCL does not reference any SAS program, leave the field empty. | mySAS |
Common Properties
This configuration is common for all COBOL source systems and for all COBOL scenarios, and is configure in Admin UI / Configuration / CLI / COBOL / COBOL Common. It can be overridden on individual connection level.
Property name |
Description |
Example |
---|---|---|
cobol.input.dir |
Directory with manually provided COBOL/JCL scripts and copybooks (for the analysis phase); this directory represents a base directory for input files, particularly COBOL script system instances |
${manta.dir.input}/cobol/${cobol.dictionary.id} |
cobol.script.input |
Directory with manually provided COBOL scripts and copybooks (for the analysis phase); with this property, it is possible to use a different directory for COBOL files and JCL files |
${cobol.input.dir}/ |
cobol.script.replace |
Path to the CSV file with the replacements to be applied to the provided COBOL input files, COBOL copybook files, and JCL input files; see Placeholder Replacement in Input Scripts for details about the replacement file format |
${cobol.input.dir}/replace.csv |
cobol.script.replace.regex |
Flag specifying whether replacements for input files in the provided CSV file specified in the Replacements Configuration File property should be interpreted as regular expressions (true) or simple text (false) |
false |
jcl.script.input |
Directory with manually provided JCL scripts and JCL includes (for the analysis phase); with this property, it is possible to use a different directory for COBOL files and JCL files |
${cobol.input.dir}/ |
cobol.script.temp |
Directory for storing temporary files from COBOL analyses; this directory will store pre-processed COBOL scripts |
${manta.dir.temp}/cobol/${cobol.dictionary.id} |
cobol.script.copybookDir |
Directory containing COBOL copybooks |
${cobol.input.dir}/Copybookfolder |
cobol.connections.file |
File containing connection definitions in prm format |
${cobol.input.dir}/connectionsConfiguration.prm |
cobol.call.targets.file |
CSV file (in the format
|
${manta.dir.scenario}/conf/cobolCallProgramNames.csv |
cobol.script.normalize.sqlVariables |
Flag that enables preprocessing of SQL code for EXEC SQL statements to normalize the usage of “-“ in DB2 SQL, which interferes with SQL parsing if “-“ is used for something other than host variables such as in a cursor name. |
false true |
filepath.lowercase |
Whether paths to files should be lowercase (false for case sensitive file systems, true otherwise) |
true |
cobol.analyze.showAdditionalDataItems |
Toggle to control visibility of additional nodes from the COBOL DATA Division in the data lineage. When enabled, it provides more granular insights into the data structures used in each COBOL program. |
false |
Integrating JCL scripts and SAS programs
As of R42.6, you can create lineage for JCL scripts that execute SAS programs. The lineage shows how the source data in JCL scripts impacts the SAS program and vice versa.
You can configure dataflow only between defined datasets in JCL and SAS infiles and SAS libraries.
For example, in the following snippet, a JCL script executes a SAS program called SASPROGRAM
:
//STEP010 EXEC SAS
//SYSIN DD DISP=SHR,DSN=DWH.SAS.SYSIN.CNTL(SASPROGRAM)
The program SASPROGRAM
then is connected to a file SASPROGRAM.sas
that is scanned by a SAS connection.
To correctly configure the connection between JCL and SAS, you must provide the name of the SAS connection where
the SAS program is referenced. Use the following property:
jcl.sas.dictionary.id
The value of this property is the name of the SAS connection. You can find this name in the dictionaryId
property in SAS.