Purpose (problem description)

This page handles the issue of wrong object creation after analyzing an application. For information on objects created by the CAST AIP analyzers, refer to the relevant pages for each technology in the official documentation:

Observed in CAST AIP
Release
Yes/No
8.3.x(tick)
8.2.x(tick)
8.1.x(tick)
8.0.x(tick)
7.3.x(tick)
Observed on RDBMS
RDBMS
Yes/No
Oracle Server(tick)
Microsoft SQL Server(tick)
CSS3(tick)
CSS2(tick)
Step by Step scenario
  1. Analyze a project
  2. Open Enlighten
  3. Validate the created objects in Enlighten Graphical view
Action Plan

Proceed with the below steps

  1. Open Enlighten and identify the wrong object as described in Enlighten - Information - How to identify and open an object in Enlighten Graphical View
  2. Validate if object is EXPECTED or NOT EXPECTED, according the the expected objects created by the CAST AIP analyzers as described in CMS Snapshot Analysis - Run Analyzer - Information - How to validate expected objects and links in CAST AIP documentation
    1. If you have confirmed that the object should be created, this is an expected product behavior.
    2. If the object should not be created or if you cannot confirm the expectation, proceed to next step
  3. Validate object expectation from the source code. You can locate the object source code :
    • Either from ENL - Launching the Code Viewer
    • Either from the project source file that you can retrieve from object properties
    • 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 where the call is declared. You can retrieve this file by opening the linked object to the Unknown Program and looking at the source code of the link
    1. If you find an exact reference to the object name, then validate the object type in regard to the syntax and reserved keywords of the used technology
      1. The object is EXPECTED when it corresponds to the expected object type
      2. The object is NOT EXPECTED when it does not correspond to the expected object type
    2. 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.
  4. Check if wrong objects are a result of the existence of ghost projects or ghost objects.
    1. Run the queries and remediation that can be found in SQL Queries - CAST Knowledge Base - Queries on objects - Identify and clean up all the ghost objects and ghost projects in your knowledge base.
    2. Check if wrong objects refer to source code that is not present in the current version. These objects are ghost objects that are not detected by the queries in previous step, because they are still attached to projects which themselves are attached to existing analysis units. These projects should be detected and removed. Check in your deployment folder if the object's source code file exists (you can retrieve it from ENL - Viewing properties)
      1. If it exists proceed to next step
      2. If it does not exist then locate and delete the project from where the objects belongs:
        1. Run the following query in local database

          select o.idobj, o.FullName from  ObjFulNam  o 
          where o.FullName = ‘%<Object_source_code_fullpath>%’

          Above query may return several rows, you can use the idobj for anyone of them

        2. Use any of the above retrieved idobj and run query:

          select idpro  from ObjPro op where op.IdObj = <idobj>
        3. Take a backup of the local database
        4. Delete project by running query, using the retrieved idpro

          select PROJECT_DELETE(<idpro>)
        5. Rerun analysis/snapshot
  5. Check if wrong objects are the result of the previous snapshot and in the new delivery the source code has been removed via DMT. But the analysis unit is still there and new snapshot has been taken and we could still see the objects in KB from last delivered source code. This issue has been seen in UA analyzer but it can come for another analyzer as well.

    1. Run the query in the cdt_objects table to identify the wrong objects coming from the source code path inside the deploy folder.

    2. Keep an empty file in the root of that path if it is SQL file keep empty SQL file etc.

    3. Run the analysis

    4. The objects will be removed from the KB and hence no more objects are seen on the dashboard post snapshot.
      This issue is under investigation and has to be fixed in a future version, we will update the doc once this issue is fixed.

  6. Check if your case matches one of the known cases with solution, described in:
  7.  If you do not find the information you are looking for or solution for your problem, on this page, contact CAST Technical Support, with the Relevant input

Relevant input

  • Sherlock export with the following options: Export Cast Database(Management and Local databases), Export Logs, Export Configuration files, Source code
Notes/comments


Related Pages