This guide gives the approach to the problem where missing objects have been reported on CAST Engineering Dashboard.
- Check if you are not facing an issue of added and deleted object, for this refer to CAST Engineering Dashboard - Object - Incorrect Object Status - Same object seen as added deleted. If it's not the case then go to the next step
- Valid if the object is part of CED, check this by searching the fullname of the object from the search box of CED:
- If the object is part of CED, your object may be missing from a specific view, contact CAST Technical Support and provide the Relevant input and the name of the view from where you are expecting to get the object, else if the object is not part of CED then go to the next step.
Check if the object is part of the central schema for the snapshot from where you expect that the object is not missing:
FROM <central_schema_name>.dss_objects dss
JOIN <central_schema_name>.dss_object_info info
ON dss.object_id = info.object_id
JOIN <central_schema_name>.dss_snapshots snap
ON snap.snapshot_id = info.snapshot_id
WHERE dss.object_full_name = <full name of the missing object>
AND snap.snapshot_name <snapshot name from where you see that the object is missing>
Query result sample:
408;"support.PARTICIPATING_JEE.BUSINESS_TYPE.DESCRIPTION";8; "Computed on 201709011538"
If the object is not part of the central schema then this explains why it's missing from CED, go to the next step for further investigation, else contact CAST Technical Support and provide the Relevant input
- Check if the object is part of your module(s). In CAST-MS, in the Modules tab, select the module where the objects are supposed dto be and click Module content overview. You can also query the local base and mngt base by following the page SQL Queries - CAST Knowledge Base - Queries on Module - Module content and properties
If the object is not part of your module, it explains why it is missing is CED. Visit the page CMS Application - Modules - Incorrect module content - Missing objects
Check whether the object is an non-internal object, in fact it's possible to externalize an object after building the module(s), this can be done by using Tools after module generation, this tool runs immediately after the Modules have been configured and runs during snapshot generation. In order to check if the object is a non-internal one refer to SQL Queries - CAST Knowledge Base - Queries on objects - How to check if objects are internal or external or generated from the application. In order to check if the object was externalized manually then edit the tool after module generation if any:
If the object is not internal and this is due to the tool after module generation then it's expected to not get the object in CED, else If the object is not internal and this is not due to the tool after module generation then this is not expected, in this case the object should not be part of the module in the first place, refer to CMS Application - Modules - Incorrect module content - Missing objects for further investigation. Else if the object is internal then go to the next step:
In the previous step, we have talked about the case when the object is not internal, now we will examine the case when the parent or one of the Grand parent of the object is not internal. First we define the parent/child relationship between 2 objects:
2 objects has the parent/child relationship if there is a belong link between the 2 objects, for more information refer to ENL - Belongs To Links
In order to get all the parents id's of the object:
- Use Enlighten, by using ENL - Technical Browser:
- Put the parent and the Grand parents of the object in the graphical view
- Get the id's of the object by using the following Shortcut Key: CTRL + SHIFT + D then scroll the mouse
- Query the knowledge base:
Get the object id:
WHERE fullname = <object full name>
Get the parent of the object:
FROM keypar kp
WHERE kp.idkey = <Object_id>
- Apply query of point (ii) on every parent id retrieved from point (ii) till reaching the root parent
After getting all the id's, check if one of the ids is not internal by following the page SQL Queries - CAST Knowledge Base - Queries on objects - How to check if objects are internal or external or generated from the application, if one of the parent is not internal then this explains why the object is not part of CED.
To know about the root cause of this behavior ? We can differentiate 2 cases:
- Same as point (5), apply point (5) on the parent object in order to check this.
- During analysis step the object parent was called by another object, but the object parent do not exist in the source code. Depending on the technology (this is the case of ABAP and Mainframe) the analyzer can create an object if it's called even if it do not exists, and since the object is not part of the application the analyzer flag it as external object. In order to check this apply the query of the following page on the parent object id SQL Queries - CAST Knowledge Base - Queries on objects - How to check if the object have a unknown type, if the the parent object have an unknown type then our supposition can be confirmed, refer to CMS Snapshot Analysis - Run Analyzer for more information about the subject.
- If the above steps do not resolve your issue then contact CAST Technical Support and provide the Relevant input
- Internal to the support - Reproduce issue by following the page - CMS Snapshot Analysis - Compute Snapshot - Information - How to compute snapshot by skipping analysis