- This page provides the steps to deal with the problem of dashboard showing multiple source code paths for a single violating object. This issue is visible on the Investigation - Quality Model Drilldown, when the violation details are checked.
- When this issue is experienced, the user is able to see multiple source paths for a single violating object on the dashboard. Because of this, user is not able to validate which path contains the source code file.
- Below is a screenshot showing the above mentioned problem:
Release | Yes/No |
---|---|
8.3.x |
RDBMS | Yes/No |
---|---|
CSS |
Step by Step scenario
- Run analysis+snapshot for an application.
- After snapshot is completed, open the dashboard and login.
- Go to Investigation - Quality Model Drilldown and check for violating object for a Quality Rule displaying multiple object paths.
Action Plan
To troubleshoot this issue, you need the following Relevant input
Perform the below actions:
- Check if the violating object has multiple object paths in the Knowledge base
- Refer to the Special Cases
If the issue that you are facing is not handled or referenced in this page, please contact CAST Technical Support with the Relevant input.
Relevant input
- CAST Support Tool (CST) - alias Sherlock export with the following options CAST Bases Checker, Export Logs, Export Configuration files, Export Computer Environment, Export CAST Bases with Management Base, Knowledge Base, Central base, Measurement Base Export source code
- Complete screenshot of the dashboard with URL and footer showing your problem showing the multiple object paths for a particular object.
Check if the violating object has multiple object paths in the Knowledge base
- If there are multiple object paths displayed on the dashboard for a single violating object, then follow the below steps. The objective to perform the below steps is to check whether the knowledge base also contains multiple object paths for the same object. If it contains multiple object paths, then it means that the issue is caused because of database inconsistency/corruption in the data.
- Open the dashboard and navigate to the Investigation - Quality Model Drilldown.
- Check for the object which is under violation and shows multiple (more than 1) object paths. Copy the name of the object from the "violating object" details section.
- The name of the object will be like this (for example): "PG03IA".
Run the below query on the Knowledge base to get the object ID of the object:
select * from dss_objects where object_name like '%<name of the object from dashboard>%' -- PG03IA in this scenario (for example).
The above query will provide the following results:
Query Result420596;545;"PG03IA";"";"[S:\SOURCES\CAST-SOURCES.txt].PG03IA";2109428782
- 420596 is the OBJECT_ID of this object.
Now run the below query on the Knowledge base.
select dsp.PANEL, dcs.SOURCE_PATH, dcs.SOURCE_ERROR, dsp.LINE_START, dsp.LINE_END, dsp.COL_START, dsp.COL_END, o.FullName, k.ObjTyp from DSS_SOURCE_POSITIONS dsp join DSS_CODE_SOURCES dcs on dcs.SOURCE_ID = dsp.SOURCE_ID join Keys k on k.IdKey=dsp.OBJECT_ID join ObjFulNam o on o.IdObj =k.IdKey where dsp.OBJECT_ID =<OBJECT_ID> order by dsp.PANEL -- replace OBJECT_ID with 420596 in this scenario.
The above query will provide the following result:
Query Result2;"S:\SOURCES\CAST-SOURCES.txt\PG03IA";"0";5;25;7;73;"[S:\SOURCES\CAST-SOURCES.txt].PG03IA";545
2;"S:\SOURCES\CAST-SOURCES.txt\PG03IA";"0";5;21;7;73;"[S:\SOURCES\CAST-SOURCES.txt].PG03IA";545
2;"S:\SOURCES\CAST-SOURCES.txt\PG03IA";"0";5;7;7;73;"[S:\SOURCES\CAST-SOURCES.txt].PG03IA";545
2;"S:\SOURCES\CAST-SOURCES.txt\PG03IA";"0";1;105;7;73;"[S:\SOURCES\CAST-SOURCES.txt].PG03IA";545The result of the query above proves that there are multiple object paths present in the knowledge base for a single violating object.
- Now, validate if the object paths stored in the KB are physically present and valid or not. To do this, manually open every path physically on the analysis machine and see if the source file is present on the path or not.
- If they are not present on the paths, then there is some inconsistency in the results stored inside the KB.
When this happens, please contact CAST Technical Support providing the relevant inputs and also the results that were gathered while following the above troubleshooting steps.
Special Cases
#1. In case of COBOL Application
When an analysis+snapshot is performed on a COBOL/Mainframe application and results are observed on the dashboard, it is expected to get multiple object paths for a single object violation.
Reason - COBOL/Mainframe source code files also use copybooks (.cpy files) and the analyzer analyzes all the .COB and .CPY files. A COBOL program can be implemented in several source files: one for the program itself and various others for the copybooks it references (for instance, for data description). So, if there is a violation flagged for a COBOL object then the copybooks that are associated with this object's source file also come up in the object path on the dashboard.
If the above queries are ran on the KB, they will return the results with multiple source paths including the copybook file path as well.
So this is an expected behaviour of the product for COBOL/Mainframe application.
Zendesk Ticket #4800, #4808