SQL Queries - CAST Central Base - Queries on applications - How to get the list of Technologies variation between snapshots
Purpose of Query
This query list the technologies of the application and mention if they are present in the 2 snapshots or not.
Applicable CAST Version
| Release | Yes/No |
|---|---|
| 8.3.x | ✅ |
| 8.2.x | ✅ |
| 8.1.x | ✅ |
| 8.0.x | ✅ |
Applicable RDBMS
| RDBMS | Yes/No |
|---|---|
| Oracle Server | ✅ |
| Microsoft SQL Server | ❓ |
| CSS2 | ✅ |
Query for CSS
SELECT CASE
WHEN curr_snapshot.technology IS NULL THEN prev_snapshot.technology
ELSE curr_snapshot.technology
end AS "Technology",
CASE
WHEN prev_snapshot.version IS NOT NULL THEN 'Yes'
ELSE 'No'
end AS "Previous Version",
CASE
WHEN curr_snapshot.version IS NOT NULL THEN 'Yes'
ELSE 'No'
end AS "Current Version"
FROM (SELECT DISTINCT PT1.snapshot_name AS Version,
QV02.context_name AS Technology
FROM csv_portf_tree PT1,
dss_links ML1,
csv_quantity_val QV02
WHERE PT1.snapshot_id = (SELECT Max(snapshot_id)
FROM (SELECT snapshot_id
FROM dss_snapshots
WHERE snapshot_name =
<NAEM_OF_SNAPSHOT_N>
ORDER BY snapshot_id DESC
LIMIT 2) snapshots)
AND PT1.module_id = ML1.previous_object_id
AND ML1.link_type_id = 2
AND QV02.context_id = ML1.next_object_id
AND QV02.snapshot_id = PT1.snapshot_id
AND QV02.measure_id = 10151
ORDER BY QV02.context_name) AS curr_snapshot
full OUTER JOIN (SELECT DISTINCT PT1.snapshot_name AS Version,
QV02.context_name AS Technology
FROM csv_portf_tree PT1,
dss_links ML1,
csv_quantity_val QV02
WHERE PT1.snapshot_id =
(SELECT Min(snapshot_id)
FROM (SELECT snapshot_id
FROM dss_snapshots
WHERE snapshot_name =
<NAME_OF_SNAPSHOT_N+1>
ORDER BY snapshot_id DESC
LIMIT 2) snapshots)
AND PT1.module_id = ML1.previous_object_id
AND ML1.link_type_id = 2
AND QV02.context_id = ML1.next_object_id
AND QV02.snapshot_id = PT1.snapshot_id
AND QV02.measure_id = 10151
ORDER BY QV02.context_name) AS prev_snapshot
ON curr_snapshot.technology = prev_snapshot.technology;
Query result example
“JEE”;“No”;“Yes”
“PL/SQL”;“No”;“Yes”
Query result interpretation
The query provides you with the technology list and mentions if the technology is present in the 2 snapshots or not.
Query for Oracle
SELECT
CASE
WHEN curr_snapshot.technology IS NULL
THEN prev_snapshot.technology
ELSE curr_snapshot.technology
END AS "Technology",
CASE
WHEN prev_snapshot.version IS NOT NULL
THEN 'Yes'
ELSE 'No'
END AS "Previous Version",
CASE
WHEN curr_snapshot.version IS NOT NULL
THEN 'Yes'
ELSE 'No'
END AS "Current Version"
FROM (SELECT DISTINCT PT1.snapshot_name AS Version,
QV02.context_name AS Technology
FROM csv_portf_tree PT1,
dss_links ML1 ,
csv_quantity_val QV02
WHERE PT1.snapshot_id =
(SELECT MAX(snapshot_id)
FROM dss_snapshots
WHERE snapshot_name =' NAME_OF_SNAPSHOT_N'
)
AND PT1.module_id = ML1.previous_object_id
AND ML1.link_type_id = 2
AND QV02.context_id = ML1.next_object_id
AND QV02.snapshot_id = PT1.snapshot_id
AND QV02.measure_id = 10151
ORDER BY QV02.context_name
)
CURR_SNAPSHOT
FULL OUTER JOIN
(SELECT DISTINCT PT1.snapshot_name AS Version,
QV02.context_name AS Technology
FROM csv_portf_tree PT1,
dss_links ML1 ,
csv_quantity_val QV02
WHERE PT1.snapshot_id =
(SELECT MIN(snapshot_id)
FROM dss_snapshots
WHERE snapshot_name ='NAME_OF_SNAPSHOT_N+1'
)
AND PT1.module_id = ML1.previous_object_id
AND ML1.link_type_id = 2
AND QV02.context_id = ML1.next_object_id
AND QV02.snapshot_id = PT1.snapshot_id
AND QV02.measure_id = 10151
ORDER BY QV02.context_name
)
PREV_SNAPSHOT
ON curr_snapshot.technology = prev_snapshot.technology;
Query result example
| CICS | Yes | No |
| Cobol | Yes | Yes |
| JCL | Yes | No |
Query result interpretation
The query provides you with the technology list and mentions if the technology is present in the 2 snapshots or not.
Query for SQL server
Enter the SQL query
Query result example
Query result interpretation
Notes/comments
Related Pages