Purpose (problem description)
This guide gives the approach to troubleshoot missing or wrong / incorrect links between two C and CPP objects.
Links detected and saved by analyzer
Observed in CAST AIP
Release | Yes/No |
---|---|
8.3.x | |
8.2.x | |
8.1.x | |
8.0.x | |
7.3.x |
Observed on RDBMS
RDBMS | Yes/No |
---|---|
Oracle Server | |
Microsoft SQL Server | |
CSS3 | |
CSS2 |
Action Plan
- Check if the issue is about include links between C++ source files.
In C++ there is a directive ( "#pragma once") which informs the compiler that '.h' file must be included only one time in the C++ source code.
For example, if C++ source file (a.h) contains this directive and this file is included by two other source files (b.cpp and c.cpp), then the C++ analyzer will take into account only the first include directive that it encounter (eg in b.cpp).
So a link will be created between the two files (a.h and b.cpp), and all other #include directives will be ignored and no more include link will be created to the file a.h (c.cpp ---> a.h).- To investigate about this get the preprocessed file.
- Check if the issue is about links which are missing between procedure and table.
Issue may be encountered if there is any bad character (some thing like [] which when opened in notepad++ will be seen as SUB ) in the procedure of any file, so in parser, it does not recognize this character and it stops parsing. So Proc is not analyzed.- Get the PreprocessedFile.cpp, to check this.
- Open PreprocessedFile.cpp in notepad++ and search for the bad char SUB.
- Open the concerned file and remove the bad char from that file If there are any bad char.
- Reanalyze the job.
- If the above cases are not relevant, contact CAST Technical Support. with Relevant Input
Notes/comments
Related Pages