CMS Snapshot Analysis - Run Analyzer - Missing objects
Step by Step scenario
- Open Imaging and Validate objects creation
Perform the below actions:
- Validate if the object is EXPECTED or NOT EXPECTED for the relevant technology, according to expected objects created by CAST AIP analysers as described in CMS Snapshot Analysis - Run Analyzer - Information - How to validate expected objects and links in CAST AIP documentation
- If you have confirmed that the object should not be created, this is an expected product behaviour.
- If the object should be created or if you cannot confirm the expectation, proceed to next step
- Open Enlighten and search for the object as described in Enlighten - Information - How to identify and open an object in Enlighten Graphical View. Verify that the object is not created.
- Validate object expectation from the source code. Open the source code file from where you expect the object. For certain technologies (like Mainframe) an Unknown Program object is created when the source code contains a call to a program that is unresolved (not present in the source code). In this case the source code file that should be checked is the one from where the call is declared.
- If you find an exact reference to the object name and if the object has been declared according to the reserved keywords of the used technology then the Object is EXPECTED
- If you do not find an exact reference to the object name then the object is NOT EXPECTED except in some special cases where object names are created as a combination of references in the source code. This is the case for some instances of AngularJS Extension objects or Jquery Extension objects.
- See if the code has duplicated objects or files in the analysis that could be contributing to this behavior. Some analyzers, such as the forms analyzer, can have potential issues with duplicated reports in the analysis and removing the duplicates resolves the issues.
- Duplicated objects could potentially be identified in GUID duplicate messages in the logs
- Validate analysis configuration
- Validate the analysis configuration according to the official documentation for each technology. Resources can be found in CMS - Technology editors, Review Technology and Dependency settings or in the dedicated analysis configuration pages in the case of extensions (Extending CAST AIP) like for example PHP 2.0 - Analysis Configuration or RPG 2.0
- Confirm that the source path for the source code file that contains the missing object is referenced in one of the Analysis Units.
- For automatically created analysis units the Delivery Manager Tool (DMT) is responsible for the creation of the Analysis Units. So a missing folder/file is an indication that there may be a problem in the delivery or that the DMT is not capable of discovering the structure of the application due to a bug or limitation. In this case this should be re-evaluated as a DMT issue.
- For manually created analysis units as described in CMS - Analysis Unit editor manually add all the needed source code paths
- Confirm the source code file extensions in regards to the specific technology. You can manually add file extensions that are not included by default, but there can be limitations, so you will have to consult the official documentation.
- If you are having a problem with custom file extensions, you can create a 'Tool before analysis' External Program job which points to a batch file which would rename the files to a default extension. For the documentation on the 'Tools before analysis' jobs, please see this page: CMS - Content Enrichment tab
- An example for sql technology would be to have something like this in the batch file to rename non-standard sql files to *.sql :
- ren *.SQLPRC *.sql
ren *.SQLTABL *.sql
ren *.SQLUDF *.sql
ren *.SQLVIEW *.sql
- Check if source code files that belong to one Analysis Units are also defined in the includes / class path of other Analysis Units. If yes, then these analysis units must be in dependency with the Analysis Unit where the missing objects belong to:
- For automatically created analysis units the Delivery Manager Tool (DMT) is responsible for the creation of the dependencies. So a missing dependency is an indication that there may be a problem in the delivery or that the DMT is not capable of discovering the structure of the application due to a bug or limitation. In this case this should be re-evaluated as a DMT issue.
- For manually created analysis units, the dependency must be added manually
Locate the analysis log file and verify that the file containing the object was parsed by the analyzer. Analysis logs contain information messages like the following:
2016-07-18 10:05:49.663 Information MODULMSG ; Job execution File processed : 'C:\CASTMS\LargeStorage\LISA\e6ac7a1d0298426aaca271ad588d3c61/Scr13739\shell_SHELL_13739\1683223987_SHELL\update_iadmp_dma_dump.sh' C:\CASTMS\LargeStorage\LISA\e6ac7a1d0298426aaca271ad588d3c61/Scr13739\shell_SHELL_13739\1683223987_SHELL\update_iadmp_dma_dump.sh
Information about the analysis logs can be found in CMS Snapshot Analysis - Information - Error Free Logs - CAST AIP 83
If there is no parsing message, this means that the source code file was not taken into account during analysis. In this case, proceed to next step.
- If there is a parsing message, then you should check for any raised analysis warnings as described in CMS Snapshot Analysis - Run Analyzer - Warnings. Some of these warnings may explain the absence if the specific object.
- For a Power Builder analysis, make sure that you are running with a user that has proper permissions for running Power Builder on the machine. This will depend on your configuration and setup of Power Builder on your machine.
- Check the Missing object issues by technology
- If you do not find the information you are looking for or solution for your problem, in this page, contact CAST Technical Support, with the Relevant input in order to reproduce the issue
- Sherlock export with the following options: Export Logs, Export Configuration files, Export CAST Bases (Management Base and Knowledge Base), source code