SQL Queries - CAST Knowledge Base - Queries on Module - Module content and properties
*Purpose
This query will list objects constituting the modules based on the properties - SQL Queries - CAST Knowledge Base - Queries on objects - How to check if objects are internal or external or generated from the application
If the property of the object returned by the query is external then this is due to a tool after module generation, otherwise the object would not be part of the module scope in the first place.
Applicable CAST Version
| Release | Yes/No |
|---|---|
| 8.3.x | ✅ |
Applicable RDBMS
| RDBMS | Yes/No |
|---|---|
| Oracle Server | ✅ |
| Microsoft SQL Server | ❓ |
| CSS | ✅ |
Query for CSS, Oracle, SQL Server
For CAST 8.3.36 and below:
SELECT DISTINCT coa.object_id,
k.KeyNam,
CASE coa.properties
WHEN 0 THEN 'Internal'
WHEN 1 THEN 'External'
WHEN 2 THEN 'Generated'
ELSE 'UNKNOWN'
END
FROM Keys k
JOIN SETROOT sr ON sr.IDSET = k.IdKey
JOIN CTT_OBJECT_APPLICATIONS coa ON coa.APPLICATION_ID = sr.IDROOT
WHERE k.KeyNam NOT LIKE '___% union content___'
AND k.KeyNam NOT LIKE '% IFPUG objects'
AND k.KeyNam NOT LIKE '___% full content___'
AND k.ObjTyp = 20000
order by 2, 3;
For CAST 8.3.37 and above:
SELECT DISTINCT coa.object_id,
k.KeyNam,
CASE
WHEN coa.properties & 0 THEN 'Internal'
WHEN coa.properties & 1 THEN 'External'
WHEN coa.properties & 2 THEN 'Generated'
ELSE 'UNKNOWN'
END
FROM Keys k
JOIN SETROOT sr ON sr.IDSET = k.IdKey
JOIN CTT_OBJECT_APPLICATIONS coa ON coa.APPLICATION_ID = sr.IDROOT
WHERE k.KeyNam NOT LIKE '___% union content___'
AND k.KeyNam NOT LIKE '% IFPUG objects'
AND k.KeyNam NOT LIKE '___% full content___'
AND k.ObjTyp = 20000
order by 2, 3;
Query result example
7250;“My module”;“External”
7253;“My module”;“Generated”
7255;“My module”;“External”
Query result interpretation
The query return the object id, the module name and the object property