Purpose

This page helps to troubleshoot issues where the Violation displayed on ED is wrong violation or there is an object for which you are expecting a quality rule to be violating but it is not.

Observed in CAST AIP


Release
Yes/No
8.3.x(tick) 


Observed on RDBMS
RDBMS
Yes/No
CSS(tick) 
Action Plan
  1. As a temporary workaround, you can always exclude the violation from the dashboard results while an investigation of the false violations is done by support.
  2. Select the section you are interested in.
  3. Check if the violation is present in the Central Database by executing the below query on the central database - SQL Queries - CAST Central Base - Queries on Objects - How to check if an object is violated by a quality rule

    1. If the query returns false -

      1. In case of no violation follow the page CAST Engineering Dashboard - Violations - False violation or no violation

      2. In case of false violation report your problem to CAST Technical Support and provide the below Relevant input

    2. If the query returns true -

      1. in case of no violation , this is a display issue on AED report your problem to CAST Technical Support and provide the below Relevant input

      2. In case of false violation follow the page CAST Engineering Dashboard - Violations - False violation or no violation

  4. If the problem you are facing does not match any case listed in this page, report your problem to CAST Technical Support and provide the below Relevant input:

For CAST Technical Support Only - Engineering Dashboard - ED - Information - How to reproduce ED issues

Relevant input 

To confirm the violation/no violation 

  1. A screenshot of ED showing the Quality Rule and the faulty (or missing) object's full name. The url should be visible.
    For Example - For Quality rules like Avoid indirect String concatenation inside loops, locate the line of code where the String concatenation is happening by looking at the functional calls -

    Though the object in violation is CreateContext. The user may feel that this is a false positive since there is no string concatenation happening inside the object.
    But the string concatenation is happening in the method getUserPropertyName that is indirectly called by CreateContext. 
  2. For the Quality Rules with customized Parameters and in case the false/no violation is reported in another Frame than Investigation - Quality Model Drilldown & Investigation - Application Drilldown screenshot(s) of all parameters from CAST Management Studio, a screenshot


  3. Explanation on why the object should/should not be seen as a violation with screenshots in Enlighten:
    1. A screenshot showing the object's links. To do this,
      1. Drag the object on a view
      2. Right click and choose Add Linked objects


    2. A screenshot showing the object source code, highlighting evidence of the violation/no violation.

 To find out the root cause of the issue

 

  1. CAST Support Tool (CST) - alias Sherlock export with options CAST Databases, CAST Logs , CAST DB Checker, CAST Configuration Files.

  2. The source code of faulty (or missing) object and other utilitarian files. See below

    Technology

    Utilitarian files

    C++

    The include files used in the environment profiles is also necessary

    J2EE

    XML and Jar files used in the environment profiles
    Jar files referenced in the include paths

    COBOL

    In addition to COBOL files, its associated copy book is also necessary

    .NET

    .sln or the .csproj

    Please note For ABAP technology, if the faulty object is part of a Class Pool or a Function Pool, we need the code source of the Class Pool/ Function Pool which is usually split in many source file starting with same part. For example, the following list of files are the code source of the Class Pool  ZCL_IM__FETCH_STORAGE_CAT:
    ZCL_IM__FETCH_STORAGE_CAT=====CM001.abap
    ZCL_IM__FETCH_STORAGE_CAT=====CM002.abap
    ZCL_IM__FETCH_STORAGE_CAT=====CM003.abap
    ZCL_IM__FETCH_STORAGE_CAT=====CM004.abap
    ZCL_IM__FETCH_STORAGE_CAT=====CM005.abap
    ZCL_IM__FETCH_STORAGE_CAT=====CM006.abap
    ZCL_IM__FETCH_STORAGE_CAT=====CM007.abap
    Also, note that if objects other than the faulty object are involved in the violation, you will also need to get the source code of these objects. For instance, for diagnostics based on client/server links, you will need the participating base.

Notes/comments

Related Pages