Page tree
Skip to end of metadata
Go to start of metadata

This page presents the different messages that are produced by the Mainframe Analyzer during application source code analysis. Messages are documented with their identifier (referenced in the analysis log files), a description, and a possible remediation. The following information will help you to validate your analysis.

Note regarding unresolved objects

An unresolved object generally means that there is a missing component, directly or not. It is important to distinguish objects which have associated source files from the other objects which do not have a source file. You can ask the application team about the first one, but not about the second one.

For instance, a program, a copybook, a screen map, a JCL job or a JCL procedure all have an associated source file. If they are involved in a message which indicates they are unresolved, then you can immediately assume they are missing. On the contrary, data structures, paragraphs, and DD Name do not have a source file. Instead they are defined in a program or in a copybook.

Why the analyzer cannot found a component? Because it has not been delivered or because the analyzer does not have any information about its location (source file directories or working folders). In the first case you must ask the application team to deliver it. You will find the complete list of missing components at the end of the analysis log. In the second case you must modify the parameters of the analysis unit.

You can also see missing components using the CAST Enlighten tool. The unknown objects are classified in "Unknown" folders and you can easily find them with the Object Browser.

There are technical/system/utility programs which are called by application programs and JCL jobs. The Mainframe Analyzer can produce "Unresolved objects" messages about them. Their name usually begins with the "DFH", "DSN", "IKJ", "DFS" or "IEB" prefixes. The "DFH" programs are dedicated to CICS, the "DSN" and "IKJ" programs are usually dedicated to DB2 and the "DFS" programs are dedicated to IMS. The JCL job can also invoke utilities such as the IEB family, IEF family or IDCAMS, FILE-AID… Do not ask the application team to deliver them because they do not have the corresponding source files. If they are used to run another program in a JCL job then you should change the analysis parameters. Otherwise, you can ignore the messages.

Mainframe.01

IdentifierMainframe.01
MessageA potential recursive copybook '<COPYBOOK_NAME>' inclusion has been found.
SeverityWarning
ExplanationThe COBOL analyzer detected a potential recursive copybook inclusion (COPY directive) in the source code. Meaning that a copybook A refers to a copybook B that refers to copybook A. 
User ActionCheck if the copybooks involved in the recursive reference are the expected source files. If not, then replace them by the proper files or remove the file that creates the recursive reference. 

Mainframe.02

IdentifierMainframe.02
MessageCannot resolve Copybook <COPYBOOK_NAME>.
SeverityWarning
ExplanationA copybook is referenced (COPY directive) in the source code but cannot be found by the analyzer. This can occurs when source files have not been delivered or when the source files are not accessible by the analyzer. 
User Action

Select the object <COPYBOOK_NAME> in the list of objects in the Unknown\Copybooks folder of the technical browser in CAST Enlighten to see where it is referenced. If this is an application specific copybook, then it is recommended to ask the application team for it. This could affect reference resolution and any diagnostic rules you might want around data components.

You will find the complete list of missing source elements at the end of the analysis log.

Mainframe.03

IdentifierMainframe.03
MessageAmbiguous resolution of <OBJECT_TYPE> '<OBJECT_NAME>'.
SeverityWarning
Explanation

The analyzer found a source file or an object with a name containing characters like '[', ']', '(', or ')'. These characters are removed leading to duplicate names. This message can be also generated when the analysis option "Platform: IBM z/OS" is set to true and the source code comes from another platform that allows using long names. In that case, names are truncated to 8 characters leading to duplicated names.
Having duplicate names prevents to resolve references.

User ActionCheck the source files and the analysis options. 

Mainframe.04

IdentifierMainframe.04
MessageThe picture <PICTURE> may not be analysed properly.
SeverityWarning
ExplanationThe COBOL analyzer is not able to parse a variable picture correctly. This can affect quality rules related to data handling.
User ActionCheck the source code containing the variable declaration. If the picture is correct, then please contact the CAST support

Mainframe.05

IdentifierMainframe.05
MessageCannot resolve included file '<INCLUDE_NAME>'.
SeverityWarning
ExplanationA copybook is referenced (INCLUDE directive) in the source code but cannot be found by the analyzer. This can occurs when source files have not been delivered or when the source files are not accessible by the analyzer. 
User Action

Select the object <INCLUDE_NAME> in the list of objects in the Unknown\Copybooks folder of the technical browser in CAST Enlighten to see where it is referenced. If this is an application specific copybook, then it is recommended to ask the application team for it. This could affect reference resolution and any quality rules you might want around data components.

You will find the complete list of missing source elements at the end of the analysis log.

Mainframe.06

IdentifierMainframe.06
MessageUnclosed string is found.
SeverityWarning
ExplanationAn alphanumeric literal has been found in the source code but the COBOL analyzer is not able to the end of the string. 
User Action

Open the source file. Check if it contains COBOL code.
If yes, then verify if the Starting Column analysis parameter is set properly. It is possible to have copybooks that do not have the same Starting column than calling programs. In this case, adapt the copybook to the expected format.
If no, then remove file from the analyzed folder and exclude it from source selection. Generally, this means that source code from other technology than Cobol has been delivered in the folder. If you select source code via directories, then the analyzer is going to take into account all files belonging to this directory.

Mainframe.07

IdentifierMainframe.07
MessageThe file '<FILE_NAME>' contains invalid '0' characters replaced by '#'.
SeverityInformation
ExplanationA binary character has been find in the source code and replaced by a text character. 
User ActionNo action to perform. The binary character has been replaced automatically by an ASCII character. 

Mainframe.08

IdentifierMainframe.08
MessageThe advanced user configuration file is not found at specified location. As a consequence, JCL files could not be analyzed. Please check the analysis options:
SeverityError
ExplanationThe "AdvancedJCL.xml" file has not been found in the folder specified in the analysis settings. This prevents the analyzer to parse JCL source files.
User ActionReview the Mainframe technology "Platform settings" to specify the correct location of the AdvancedJCL.xml file and restart the analysis. 

Mainframe.09

IdentifierMainframe.09
MessageCannot resolve <OBJECT_TYPE> '<OBJECT_NAME>'. 
SeverityWarning
ExplanationThe analyzer encountered a reference to a source code element (ex: a COBOL program, a JCL procedure, a CICS map, …) but cannot find this one in the analysis folder. 
User Action

Select the object <OBJECT_NAME> in the list of objects in the Unknown\<OBJECT_TYPE> folder of the technical browser in CAST Enlighten to see where it is referenced. If this is an application specific element, then it is recommended to ask the application team for it. It can affect any quality rules.

If the object is a program, it can be called through its PROGRAM-ID name (this is the most frequent case) which is different from its source file name. In this case you must search for it by using a GREP tool.

If the message is about a reference to a DD name, then check if there is a JCL step calling the program and defining a DD card with the same DD name. If there is no such JCL element and if there is a supported batch part, then ask the application team for it. Note that the resolution of this type of links is not supported in case the program for which the message has been emitted is a subprogram and you can ignore that message. If the program is a main batch program and there is a JCL step that calls it, then please contact the CAST Support.

You will find the complete list of missing source elements at the end of the analysis log.

Mainframe.10

IdentifierMainframe.10
MessagePotential comment is found.
SeverityWarning
ExplanationThe analyzer detected a potential comment line in the COBOL source code. This can be the consequence of an improper indicator area column and the '*' character has not been found at the expected location. 
User ActionCheck the source code and the "Column of the Indicator area" analysis option. You can also check if the corresponding line of code comes from a copybook. In that case, change the indentation of the copybook lines to match the indicator area specified in the analysis option. 

Mainframe.11

IdentifierMainframe.11
MessageReference not found for DSN clause in DD card.
SeverityWarning
ExplanationThe JCL analyzer found a DD card referring to another DD card (its name contains a prefix corresponding to another step in the same job or in an external procedure) but is not able to find that DD card. 
User Action

Check if the JCL code containing the referred DD card has been delivered and is part of the analysis scope. It could be the case for JCL external procedures. 

Mainframe.12

IdentifierMainframe.12
MessageAnalyzing <FILE_TYPE> <OBJECT_NAME> (<FILE_NO>/<FILE_NB>.
SeverityInformation
ExplanationThe Mainframe Analyzer started to analyze the file. It also displays the file number <FILE_NO> compare to the total number of files <FILE_NB> of type <FILE_TYPE> to be analyzed.
User ActionNothing to do.

Mainframe.13

IdentifierMainframe.13
MessageInvalid option value : <ANALYSIS_OPTION>.
SeverityError
ExplanationAn analysis option has not been set correctly. This prevents to perform the analysis.  
User ActionReview the analysis settings and restart the analysis. 

Mainframe.14

IdentifierMainframe.14
MessagePotential mismatch between the program and the PSB '<PSB_NAME>'. The PCB number <NUMBER> has not been found.
SeverityWarning
ExplanationThe number of PCBs in PSB and in COBOL program are different. This can lead to wrong links between COBOL code and IMS PCB. 
User ActionCheck the PCB list in the PSB and the parameters specified in the PROCEDURE division and the ENTRY DLITCBL or in the LINKAGE SECTION in the COBOL program. Both must have the same number of PCBs in the same order.

Mainframe.15

IdentifierMainframe.15
MessageCannot analyse <LANGUAGE_ELEMENT> for the moment.
SeverityInformation
ExplanationThe COBOL analyzer does not support Object Oriented version of the COBOL programming language and no objects will be created from source code
User Action

Remove corresponding source files from the source files folder.
Note that the list of supported COBOL version is available in the documentation.

Mainframe.16

IdentifierMainframe.16
MessageA potential recursive INCLUDE '<INCLUDE_NAME>' inclusion has been found.
SeverityWarning
ExplanationThe COBOL analyzer detected a potential recursive copybook inclusion (INCLUDE directive) in the source code. Meaning that a copybook A refers to a copybook B that refers to copybook A. 
User ActionCheck if the copybooks involved in the recursive reference are the expected source files. If not, then replace them by the proper files or remove the file that creates the recursive reference. 

Mainframe.17

IdentifierMainframe.17
MessageAmbiguous resolution for copybook '<INCLUDE_NAME>' in the folders.
SeverityWarning
ExplanationThe COBOL analyzer detected more than two copybooks with the same name when expanding. The first copybook will be selected.
User Action

Check why there are multiple copybooks with the same name in the project and verify if the selected copybook is correct in the Cobol file.

  • No labels