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(tick)
8.2.x(tick)
8.1.x(tick)
8.0.x(tick)
Applicable RDBMS
RDBMS
Yes/No
Oracle Server(tick)
Microsoft SQL Server(question)
CSS2(tick)
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
CICSYesNo
CobolYesYes
JCLYesNo
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