Purpose (problem description)

This guide gives the approach to troubleshoot missing or wrong / incorrect links between two  PLSQL objects.

Links detected and saved by analyzer

SQL - Analysis results

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)

Action plan

  1. If the link is missing between a Procedure/Function and a Table:

    1. If they are from different extractions (different DatabaseExtraction.uaxdirectory files ), then this is expected behavior. Note that having a table synonym in the same extraction as the function is not enough. The workaround is to have the same extraction to analyse function and table in the same job.

    2. If the table is being used in Dynamic query, inside the procedure.

      CREATE OR REPLACE PROCEDURE        ACCOUNT_SEARCH(p_inst_id IN CHAR, p_custodian_id IN CHAR,
             p_custodian_acct_nbr IN CHAR, p_cursor OUT SYS_REFCURSOR) IS
      QRY VARCHAR2(1000) := 'SELECT INST_ID, CUSTODIAN_ID, CUSTODIAN_ACCT_NBR, CLOSE_DATE FROM  ACCT ';

      For example: In the source code, we can see and expect a link from ACCOUNT_SEARCH Proc and ACCT table:

      If so, then then the link will not be formed as the Analyzer does not support dynamic queries. This is a normal behavior. This is a dynamic query hence the analyzer does not handle this kind of query and no link is formed.
      Solution : Use the Reference Finder to create the link between the two objects.

  2. If the link is missing from the cursor or to the cursor. Cursors are not stored in the Analysis Service database (Knowledge Base) and not seen in the Enlighten, so there would be no cursor objects on enlighten and no link. However links from objects containing the cursor and the table should be created.

  3. If the above cases are not relevant, contact CAST Technical Support. with Relevant Input

Notes/comments

 

Related Pages