Mainframe Technology options


The Mainframe Technology editor contains various tabs. Each is explained below.

Notes

  • 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.
Analysis tab

Default Source Options/File Extensions - only visible at Technology and Application level.

This section governs how the source files are handled:

Cobol File ExtensionsThis 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 ExtensionsThis 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 ExtensionsThis 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 ExtensionsThis 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.

Cobol

This section is specifically targeted at Cobol:

Platform: IBM z/OSThis option specifies that the code runs on the Mainframe environment and thus the analyzer will handle the code accordingly. Selecting this option means that:
  • only the first 8 characters of the Cobol program will be used for names resolution
  • SQL-DSN syntax will be used when connected to a UDB participating server

If you want to analyze code that runs on a different platform, do NOT select this option.

Column of Indicator AreaThis 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 FormatIf 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 ProgramsWhen 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 LengthBy 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 72By 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.

  • the copybook files will in fact still be analyzed and therefore will have relevant entries in the analysis log showing that they have been analyzed.
  • the copybook files will not be saved to the Analysis schema, except any that are directly referenced by the application source code which will be saved to the Analysis schema.
  • the Unanalyzed Code Report extension (enabled by default in AIP Console) will list the copybook files as not analyzed
  • this option does not prevent you from using the Working Folders option (see below).
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.

Add a new Working Folder - choose the folder using the standard Windows Browse for folder dialog box. When added the folder will be listed in the table:

A tick mark in the Recursive column indicates that all folders contained within the selected folder will be searched recursively. You can toggle this as required. By default, all new Working folders are set to False.

Edit an existing Working Folder - he standard Windows Browse for folder dialog box will be displayed enabling you to amend the folder.
Re-order the list of Working Folders. This is important because the order in which the items appear in the list, is the order in which the analyzer will handle them.
Delete an existing Working Folder.
Only visible at Analysis Unit level

Use this button to reset the list to the entries defined by the CAST Delivery Manager Tool.

IMS

Column for indicator areaThis 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):
Add

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:

  1. Select the item that you want to remove from the list by left-clicking with the mouse.
  2. 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.

Production tab

The Production tab is only visible at Technology and Application level.

Data to generate

Save Sections and ParagraphsSelecting 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.

Data Structures

Use the drop down list to specify the option you require:

Do not save dataSelecting this option will cause variable data structure (such as: data objects from their definition in the data division and literal objects from their usage in data initialization and manipulations) to be ignored during the analysis.
Save data onlySelecting this option will cause variable data structure (such as: data objects from their definition in the data division and literal objects from their usage in data initialization and manipulations) to be saved to the CAST Analysis Service.

No corresponding links will be created in the CAST Analysis Service. To create links involving these objects, please select either of the Save data and links... options below.

Selecting this option will negatively affect performance during the analysis process - i.e. the analysis will take longer to complete. The larger the analysis (i.e. in terms of volume of source code), the longer the analysis will take.

Save data and links to other dataSelecting this option will cause variable data structure (such as: data objects from their definition in the data division and literal objects from their usage in data initialization and manipulations) to be saved to the CAST Analysis Service.

In addition, links from data/literals to data will be created.

Selecting this option will negatively affect performance during the analysis process - i.e. the analysis will take longer to complete. The larger the analysis (i.e. in terms of volume of source code), the longer the analysis will take.

Save data and links to sections and paragraphsSelecting this option will cause variable data structure (such as: data objects from their definition in the data division and literal objects from their usage in data initialization and manipulations) to be saved to the CAST Analysis Service.

In addition, data access links from procedure division objects to data/literals will be created.

Selecting this option will negatively affect performance during the analysis process - i.e. the analysis will take longer to complete. The larger the analysis (i.e. in terms of volume of source code), the longer the analysis will take.

Save data found in copy booksIf 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 EngineUse 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 ConcatenationWhen 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 DepthWhen 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 ConcatenationThese 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 ConcatenationThese 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 DepthThese 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 ConfigurationUse 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.

Dependencies tab

Please see the Dependencies tab for more information about this.

Reference Pattern tab

Please see the Reference Pattern tab for more information about this.

See Also

Mainframe Reference Guide


CAST Website