Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
5642 dpurdie 1
/* Bom Updated Product Location */ 
2
select * from (
3
    WITH newbom AS ( 
4
        SELECT bec.PROD_ID,
5
                   CASE WHEN pkg.PKG_ID = 11151 THEN nn.NODE_NAME ||'_'|| os.OS_NAME || '_'  || 'NOTES_' || bec.PROD_ID ELSE  nn.NODE_NAME ||'_'|| os.OS_NAME || '_'  || pv.PKG_ID ||  NVL( pv.V_EXT, '|.NULL|' ) END as PK,  
6
                   nt.NODE_ICON,
7
                   nn.NODE_ID,
8
                   nn.NODE_NAME,
9
                   os.OS_ID,
10
                   os.OS_NAME,
11
                   pkg.PKG_ID,
12
                   pkg.PKG_NAME,
13
                   pv.PKG_VERSION,
14
                   REPLACE(bec.base_env_comments,CHR(13)||CHR(10), '-') as COMMENTS
15
              FROM BASE_ENV_CONTENTS bec,
16
                   OPERATING_SYSTEMS os,
17
                   OS_BASE_ENV obe,
18
                   NETWORK_NODES nn,
19
                   NODE_TYPES nt,
20
                   BOM_CONTENTS bc,
21
                   PACKAGE_VERSIONS pv,
22
                   PACKAGES pkg
23
             WHERE obe.OS_ID = os.OS_ID
24
               AND bec.BASE_ENV_ID = obe.BASE_ENV_ID 	   
25
               AND os.NODE_ID = nn.NODE_ID
26
               AND bc.NODE_ID = nn.NODE_ID
27
               AND bec.PROD_ID = pv.PV_ID
28
               AND pv.IS_PATCH IS NULL
29
               AND nn.NODE_TYPE_ID = nt.NODE_TYPE_ID
30
               AND pv.PKG_ID = pkg.PKG_ID
31
               AND bc.BOM_ID = :BOM_ID	
32
           ),
33
    oldbom as (
34
       SELECT bec.PROD_ID,
35
               CASE WHEN pkg.PKG_ID = 11151 THEN nn.NODE_NAME ||'_'|| os.OS_NAME || '_'  || 'NOTES_' || bec.PROD_ID ELSE  nn.NODE_NAME ||'_'|| os.OS_NAME || '_'  || pv.PKG_ID ||  NVL( pv.V_EXT, '|.NULL|' ) END as PK,  
36
               nt.NODE_ICON,
37
               nn.NODE_ID,
38
               nn.NODE_NAME,
39
               os.OS_ID,
40
               os.OS_NAME,
41
               pkg.PKG_ID,
42
               pkg.PKG_NAME,
43
               pv.PKG_VERSION,
44
               REPLACE(bec.base_env_comments,CHR(13)||CHR(10), '-') as COMMENTS
45
          FROM BASE_ENV_CONTENTS bec,
46
               OPERATING_SYSTEMS os,
47
               OS_BASE_ENV obe,
48
               NETWORK_NODES nn,
49
               NODE_TYPES nt,
50
               BOM_CONTENTS bc,
51
               PACKAGE_VERSIONS pv,
52
               PACKAGES pkg
53
         WHERE obe.OS_ID = os.OS_ID
54
           AND bec.BASE_ENV_ID = obe.BASE_ENV_ID 	   
55
           AND os.NODE_ID = nn.NODE_ID
56
           AND bc.NODE_ID = nn.NODE_ID
57
           AND bec.PROD_ID = pv.PV_ID
58
           AND pv.IS_PATCH IS NULL
59
           AND nn.NODE_TYPE_ID = nt.NODE_TYPE_ID
60
           AND pv.PKG_ID = pkg.PKG_ID
61
           AND bc.BOM_ID = :COMPARE_BOM_ID	
62
       ),
63
    newNodes as (
64
      SELECT node_id from bom_contents where bom_id = :BOM_ID
65
    ),
66
    newOS as (
67
      SELECT os_id from operating_systems os, bom_contents bc where bc.bom_id = :BOM_ID and bc.node_id = os.node_id
68
    )
69
    SELECT newbom.*, oldbom.PROD_ID AS OPROD_ID , oldbom.comments as OCOMMENTS,  newNodes.node_id as nodeExists, newOS.os_id as osExists
70
        from newbom 
71
        full outer join oldbom on newbom.PK = oldbom.PK
72
        left outer join newNodes on newbom.node_id = newNodes.node_id
73
        left outer join newOS on newbom.os_id = newOS.os_id
74
    ) where 
75
      PROD_ID = :PROD_ID
76
      AND ( PROD_ID != OPROD_ID or COMMENTS != OCOMMENTS)
77
      ORDER BY UPPER(NODE_NAME), UPPER(OS_NAME)
78
 
79
 
80