Mainframe Technology options
The Mainframe Technology editor contains various tabs. Each is explained below.
- The options in this Technology editor are the default options that will be used to populate the same fields in Applications and Analysis Units. If you need to define specific options for a specific Application or Analysis Unit, then please use the Application editor (Analysis tab) or the Analysis Unit editor.
- If you make a change to a specific option at Application or Analysis Unit level, and then subsequently change the same option via this editor, this setting will NOT be mirrored back to the Application or Analysis Unit - this is because specific settings at Application and Analysis Unit level have precedence if they have been changed from the default setting available in this editor.
- The Mainframe Reference Guide contains miscellaneous technical information about the Mainframe analysis process.
Default Source Options/File Extensions - only visible at Technology and Application level.
This section governs how the source files are handled:
|Cobol File Extensions||This section displays a list of the file extensions that are included in the current file filter for your Cobol source code. Only files that match these file extensions will be taken into account during the analysis.|
By default the *.cob, *.cbl, *.pco, *.sqb, *.cpy, *.cop, and *.cpb file extensions will be displayed.
|JCL File Extensions||This section displays a list of the file extensions that are included in the current file filter for your JCL source code. Only files that match these file extensions will be taken into account during the analysis.|
By default the *.jcl, *.prc, *.mbr and *.inc file extensions will be displayed.
|IMS File Extensions||This section displays a list of the file extensions that are included in the current file filter for your IMS source code. Only files that match these file extensions will be taken into account during the analysis.|
By default the *.dbd, *.psb, *.tra and *.mfs file extensions will be displayed.
|CICS File Extensions||This section displays a list of the file extensions that are included in the current file filter for your CICS source code. Only files that match these file extensions will be taken into account during the analysis.|
By default the *.csd, *.cics and *.bms file extensions will be displayed.
This section is specifically targeted at Cobol:
|Platform: IBM z/OS||This option specifies that the code runs on the Mainframe environment and thus the analyzer will handle the code accordingly. Selecting this option means that:|
If you want to analyze code that runs on a different platform, do NOT select this option.
|Column of Indicator Area||This option provides the means to specify the column used for special characters such as comment flags ('*'), debug flags ('D'), and line continuation flags ('-'), etc.|
In standard format, the indicator area is located at column 7 (seven).
|Source Code in Free-Form Format||If this option is checked, then it will be considered that the Cobol source code is not 80-columns formatted. If this option is not checked, then it will be considered that the Cobol code respects the standard format.|
|Use Source File Name for Programs||When selected the CAST Management Studio will assume that the Cobol program's name will be the name of the file without its extension, whether selected for analysis or not. When a program is searched for, this search will thus be based on the file name.|
When unselected (default position) the CAST Management Studio will assume that the Cobol program's name will be the program-id listed in the file. This can sometimes be different from the file name without its extension. When a program is searched for, this search will thus be based on the program-id.
In all cases, the program name must always be unique in a project.
|Tabular Length||By default the tabulation length is set to 8; enter a new value if you require.|
When the tabulation length is set incorrectly, analysis results may be erroneous.
|Source code can be placed beyond column 72||By default this option is unselected, however, when selected, the analyzer will assume that all information included beyond column 72 is code and process it when the analysis is run.|
When unselected, information placed beyond column 72 is ignored.
|Exclude copybook files|
This option is set to true (active) by default. When active, all copybooks will be excluded from the analysis scope - instead they will be used to expand COBOL programs during the analysis. As a result, there will be less copybook files in the analysis results - those that are present will only be those directly referenced in the Application.
|Working Folders - only visible at Application and Analysis Unit level|
This option allows you to choose list of folders that will be searched in order to resolve Copybook links, Cobol program links, catalogued procedure links and include file links. Any Copybooks identified will not be analyzed, but will instead be included in the code of any programs that call them.
Note that it is also possible to define persistent Working Folders via a custom Environment Profile. See the Environment Profile Manager. Note, however, the Working Folders defined at Application and Analysis Unit level will be taken into account BEFORE the Working Folders defined in a custom Environment Profile.
|Column for indicator area||This option provides the means to specify the column used for comment flags ('*'). In standard format, the indicator area is located at column 1 (one).|
Custom Environment Profiles - only visible at Application and Analysis Unit level
This option enables you to select Mainframe based Environment Profiles that you have created yourself.
Environment Profiles are a set of predefined configuration settings that can be included in an analysis. An Environment Profile can be particularly useful where you have several applications that rely on the same specific settings. By creating an Environment Profile that defines these settings, you then simply include the Environment Profile in the analysis. When the analysis is run, the settings in the Environment Profile are taken into account.
For Mainframe technologies, you can define:
- Working Folders
Add a custom Environment Profile
To add a custom Environment Profile:
- click the button
- You will be prompted to choose between adding an existing custom Environment Profile (Add option) or creating a new custom Environment Profile (New option):
A dialog box will be displayed listing all existing custom Environment Profiles that have been created:
Select the Environment Profile you require and click OK. The profile will then appear in the list.
|Manage Environment Profiles|
The Environment Profile Manager will be displayed, enabling you to create your custom Environment Profile:
See Using the Environment Profile Manager for more information about how to create new custom Environment Profiles.
Remove a custom Environment Profile
To remove a profile that you do not want to include in analysis:
- Select the item that you want to remove from the list by left-clicking with the mouse.
- Click the Remove button to clear the selected item(s). The Delete key and the right-click short cut menu can also be used
You can remove multiple items by selecting the items in the list and then clicking the Remove button.
The Production tab is only visible at Technology and Application level.
Data to generate
|Save Sections and Paragraphs||Selecting this option will force the analyzer to take into account paragraphs and sections in the selected source code and save them in the Analysis Service.|
If you are working with a particularly large project, deactivating this option can improve performance during the analysis process.
Use the drop down list to specify the option you require:
|Save data found in copy books||If selected, this option will force the analyzer to save data structures (to the CAST Analysis Service) found in copy books.|
Process Settings - Inference Engine
|Use Inference Engine||Use this option to activate the Inference Engine during the analysis. Run time type information will be computed in order to simulate program behaviour during execution of the analyzer and thus identify additional links that would not otherwise be "discovered" using standard analysis techniques. This technology detects a reference to an object wherever its name is mentioned, regardless of the context in which this reference occurs.|
Please note that when a dynamic call is being analyzed and if the Inference Engine is not able to resolve the variable used to define the target, then the analyzer will create an object (of the expected type) called "<UnresolvedName>". In CAST Enlighten, these objects are displayed in the "Unknown" folders. The link that was initially expected will also be created between the calling object and the target.
|Dynamic Call Resolution and Paragraph Call Graph - String Concatenation||When the Inference Engine is active, this value limits the number of strings that will be found during the search of each object value.|
Note that limiting the number of strings can lead to incomplete results, however, performance is improved.
|Dynamic Call Resolution and Paragraph Call Graph - Procedure Call Depth||When the Inference Engine is active, this value limits the number of intermediate values that the Inference Engine must resolve in order to obtain the value of the object that is being searched for.|
Note that limiting the number of intermediate values can lead to incomplete results, however, performance is improved. The lowest value you can enter is 1.
|Paragraph Cyclic Call Detection - String Concatenation||These values specifically target the Quality Rule Avoid cyclic calls with PERFORM statements.|
String Concatenation and Procedure Call Depth are as described above, Local Procedure Complexity is for limiting searches of large methods that have a high Cyclomatic Complexity level.
|Paragraph Cyclic Call Detection - Procedure Call Depth|
|Paragraph Cyclic Call Detection - Local Procedure Complexity|
|Open In Loop Detection - String Concatenation||These values specifically target the Quality Rule Avoid OPEN/CLOSE inside loops.|
String Concatenation and Procedure Call Depth are as described above.
|Open In Loop Detection - Procedure Call Depth|
|Uninitialized Variable Detection - Procedure Call Depth||These values specifically target the Quality Rule "Variables defined in Working-Storage section must be initialized before to be read".|
Procedure Call Depth is as described above, Local Procedure Complexity is for limiting searches of large methods that have a high Cyclomatic Complexity level.
|Uninitialized Variable Detection - Local Procedure Complexity|
Process Settings - Execution
|Number of instances|
This option allows you to limit the number of objects held in memory before they are committed to disk during the save process of an analysis.
Please contact CAST Support before modifying this option.
Platform Settings tab
|Use custom configuration > Advanced User Configuration||Use this option to define a configuration file that indicates to the Mainframe Analyzer any specific links that need to be created or any special utilities called by the JCL cards.|
You can find out more about this in JCL Advanced Configuration via XML file.
Please see the Dependencies tab for more information about this.
Reference Pattern tab
Please see the Reference Pattern tab for more information about this.