Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
64 jtweddle 1
/* Bom Compare - Base Configuration */
2
SELECT DISTINCT  
3
       pv.PV_ID AS PROD_ID,
4
	   pkg.PKG_NAME,
5
	   pv.PKG_VERSION,
6
	   qry.CHANGE_TYPE,
7
	   pd.IS_REJECTED,
8
	   ( CASE 
9
	     WHEN qry.CHANGE_TYPE = 'A' THEN
10
	   		'LIMG_ADDED'
11
		 WHEN qry.CHANGE_TYPE = 'U' THEN
12
			'LIMG_UPDATED'
13
		 ELSE
14
		 	'LIMG_REMOVED'
15
		 END ) AS DIFF_ICON			 
16
  FROM (
17
 
18
  		/* ADDED PATCHES ONLY - BASE CONFIGURATIONS*/
19
		SELECT 'A' AS CHANGE_TYPE, newbom.PROD_ID, newbom.PK 
20
		  FROM (
21
		  		SELECT bec.PROD_ID,
22
					   nn.NODE_NAME ||'_'|| os.OS_NAME AS PK
23
				  FROM BASE_ENV_CONTENTS bec,
24
				  	   OPERATING_SYSTEMS os,
25
					   OS_BASE_ENV obe,
26
					   NETWORK_NODES nn,
27
					   BOM_CONTENTS bc,
28
					   PACKAGE_VERSIONS pv
29
				 WHERE obe.OS_ID = os.OS_ID
30
				   AND obe.BASE_ENV_ID = bec.BASE_ENV_ID
31
				   AND os.NODE_ID = nn.NODE_ID
32
				   AND bc.NODE_ID = nn.NODE_ID
33
				   AND bec.PROD_ID = pv.PV_ID
34
				   AND NOT pv.IS_PATCH IS NULL
35
				   AND bc.BOM_ID = :BOM_ID	
36
		  	   ) newbom,
37
			   (
38
			   	SELECT bec.PROD_ID,
39
					   nn.NODE_NAME ||'_'|| os.OS_NAME AS PK
40
				  FROM BASE_ENV_CONTENTS bec,
41
				  	   OPERATING_SYSTEMS os,
42
					   OS_BASE_ENV obe,
43
					   NETWORK_NODES nn,
44
					   BOM_CONTENTS bc,
45
					   PACKAGE_VERSIONS pv
46
				 WHERE obe.OS_ID = os.OS_ID
47
				   AND bec.BASE_ENV_ID = obe.BASE_ENV_ID	   
48
				   AND os.NODE_ID = nn.NODE_ID
49
				   AND bc.NODE_ID = nn.NODE_ID
50
				   AND bec.PROD_ID = pv.PV_ID
51
				   AND NOT pv.IS_PATCH IS NULL
52
				   AND bc.BOM_ID = :COMPARE_BOM_ID	
53
			   ) oldbom
54
		 WHERE newbom.PK = oldbom.PK (+) 
55
		   AND newbom.PROD_ID = oldbom.PROD_ID (+)
56
		   AND oldbom.PK IS NULL
57
 
58
		UNION 
59
 
60
		/* ADDED PRODUCTS ONLY - BASE CONFIGURATIONS */
61
		SELECT DECODE( oldbom.PROD_ID,
62
					   NULL, 'A', 'U' ) AS CHANGE_TYPE, 
63
			   newbom.PROD_ID, newbom.PK
64
		  FROM (
65
		  		SELECT bec.PROD_ID,
66
					   nn.NODE_NAME ||'_'|| os.OS_NAME AS PK,
67
					   pv.PKG_ID,
68
					   NVL( pv.V_EXT, '|LINK_A_NULL|' ) AS V_EXT
69
				  FROM BASE_ENV_CONTENTS bec,
70
				  	   OPERATING_SYSTEMS os,
71
					   OS_BASE_ENV obe,
72
					   NETWORK_NODES nn,
73
					   BOM_CONTENTS bc,
74
					   PACKAGE_VERSIONS pv
75
				 WHERE obe.OS_ID = os.OS_ID
76
				   AND bec.BASE_ENV_ID = obe.BASE_ENV_ID 	   
77
				   AND os.NODE_ID = nn.NODE_ID
78
				   AND bc.NODE_ID = nn.NODE_ID
79
				   AND bec.PROD_ID = pv.PV_ID
80
				   AND pv.IS_PATCH IS NULL
81
				   AND bc.BOM_ID = :BOM_ID	
82
		  	   ) newbom,
83
			   (
84
			   	SELECT bec.PROD_ID,
85
					   nn.NODE_NAME ||'_'|| os.OS_NAME AS PK,
86
					   pv.PKG_ID,
87
					   NVL( pv.V_EXT, '|LINK_A_NULL|' ) AS V_EXT
88
				  FROM BASE_ENV_CONTENTS bec,
89
				  	   OPERATING_SYSTEMS os,
90
					   OS_BASE_ENV obe,
91
					   NETWORK_NODES nn,
92
					   BOM_CONTENTS bc,
93
					   PACKAGE_VERSIONS pv
94
				 WHERE obe.OS_ID = os.OS_ID
95
				   AND bec.BASE_ENV_ID = obe.BASE_ENV_ID
96
				   AND os.NODE_ID = nn.NODE_ID
97
				   AND bc.NODE_ID = nn.NODE_ID
98
				   AND bec.PROD_ID = pv.PV_ID
99
				   AND pv.IS_PATCH IS NULL
100
				   AND bc.BOM_ID = :COMPARE_BOM_ID	
101
			   ) oldbom
102
		 WHERE newbom.PK = oldbom.PK (+) 
103
		   --AND newbom.PROD_ID = oldbom.PROD_ID (+)
104
		   AND newbom.PKG_ID  = oldbom.PKG_ID (+)
105
		   AND newbom.V_EXT  = oldbom.V_EXT (+) 
106
		   AND ( oldbom.PROD_ID != newbom.PROD_ID  OR oldbom.PROD_ID IS NULL )
107
		   AND newbom.PROD_ID NOT IN 
108
		   (
109
		   	   SELECT bec.PROD_ID
110
			   FROM BASE_ENV_CONTENTS bec,
111
				  	OPERATING_SYSTEMS os,
112
					OS_BASE_ENV obe,
113
					NETWORK_NODES nn,
114
					BOM_CONTENTS bc,
115
					PACKAGE_VERSIONS pv
116
			  WHERE obe.OS_ID = os.OS_ID
117
			    AND bec.BASE_ENV_ID = obe.BASE_ENV_ID
118
				AND os.NODE_ID = nn.NODE_ID
119
				AND bc.NODE_ID = nn.NODE_ID
120
				AND bec.PROD_ID = pv.PV_ID
121
				AND pv.IS_PATCH IS NULL
122
				AND bc.BOM_ID = :COMPARE_BOM_ID	
123
		  )	   
124
 
125
		UNION
126
 
127
		/* REMOVED PRODUCTS ONLY - BASE CONFIGURATIONS*/    
128
		SELECT 'R' AS CHANGE_TYPE, oldbom.PROD_ID, oldbom.PK
129
		  FROM (
130
		  		SELECT bec.PROD_ID,
131
					   nn.NODE_NAME ||'_'|| os.OS_NAME AS PK,
132
					   pv.PKG_ID,
133
					   NVL( pv.V_EXT, '|LINK_A_NULL|' ) AS V_EXT
134
				  FROM BASE_ENV_CONTENTS bec,
135
				  	   OPERATING_SYSTEMS os,
136
					   OS_BASE_ENV obe,
137
					   NETWORK_NODES nn,
138
					   BOM_CONTENTS bc,
139
					   PACKAGE_VERSIONS pv
140
				 WHERE obe.OS_ID = os.OS_ID
141
				   AND bec.BASE_ENV_ID = obe.BASE_ENV_ID
142
				   AND os.NODE_ID = nn.NODE_ID
143
				   AND bc.NODE_ID = nn.NODE_ID
144
				   AND bec.PROD_ID = pv.PV_ID
145
				   AND pv.IS_PATCH IS NULL
146
				   AND bc.BOM_ID = :BOM_ID	
147
		  	   ) newbom,
148
			   (
149
			   	SELECT bec.PROD_ID,
150
					   nn.NODE_NAME ||'_'|| os.OS_NAME AS PK,
151
					   pv.PKG_ID,
152
					   NVL( pv.V_EXT, '|LINK_A_NULL|' ) AS V_EXT
153
				  FROM BASE_ENV_CONTENTS bec,
154
				  	   OPERATING_SYSTEMS os,
155
					   OS_BASE_ENV obe,
156
					   NETWORK_NODES nn,
157
					   BOM_CONTENTS bc,
158
					   PACKAGE_VERSIONS pv
159
				 WHERE obe.OS_ID = os.OS_ID
160
				   AND bec.BASE_ENV_ID = obe.BASE_ENV_ID
161
				   AND os.NODE_ID = nn.NODE_ID
162
				   AND bc.NODE_ID = nn.NODE_ID
163
				   AND bec.PROD_ID = pv.PV_ID
164
				   AND pv.IS_PATCH IS NULL
165
				   AND bc.BOM_ID = :COMPARE_BOM_ID	
166
			   ) oldbom
167
		 WHERE newbom.PK (+) = oldbom.PK  
168
		   --AND newbom.PROD_ID (+) = oldbom.PROD_ID
169
		   AND newbom.PKG_ID (+) = oldbom.PKG_ID
170
		   AND newbom.V_EXT (+) = oldbom.V_EXT   
171
		   AND newbom.PK IS NULL  
172
 
173
		UNION   
174
 
175
		/* REMOVED PATCHES - BASE CONFIGURATIONS */    
176
		SELECT 'R' AS CHANGE_TYPE, oldbom.PROD_ID, oldbom.PK
177
		  FROM (
178
		  		SELECT bec.PROD_ID,
179
					   nn.NODE_NAME ||'_'|| os.OS_NAME AS PK
180
				  FROM BASE_ENV_CONTENTS bec,
181
				  	   OPERATING_SYSTEMS os,
182
					   OS_BASE_ENV obe,
183
					   NETWORK_NODES nn,
184
					   BOM_CONTENTS bc,
185
					   PACKAGE_VERSIONS pv
186
				 WHERE obe.OS_ID = os.OS_ID
187
				   AND bec.BASE_ENV_ID = obe.BASE_ENV_ID
188
				   AND os.NODE_ID = nn.NODE_ID
189
				   AND bc.NODE_ID = nn.NODE_ID
190
				   AND bec.PROD_ID = pv.PV_ID
191
				   AND NOT pv.IS_PATCH IS NULL
192
				   AND bc.BOM_ID = :BOM_ID	
193
		  	   ) newbom,
194
			   (
195
			   	SELECT bec.PROD_ID,
196
					   nn.NODE_NAME ||'_'|| os.OS_NAME AS PK
197
				  FROM BASE_ENV_CONTENTS bec,
198
				  	   OPERATING_SYSTEMS os,
199
					   OS_BASE_ENV obe,
200
					   NETWORK_NODES nn,
201
					   BOM_CONTENTS bc,
202
					   PACKAGE_VERSIONS pv
203
				 WHERE obe.OS_ID = os.OS_ID
204
				   AND bec.BASE_ENV_ID = obe.BASE_ENV_ID
205
				   AND os.NODE_ID = nn.NODE_ID
206
				   AND bc.NODE_ID = nn.NODE_ID
207
				   AND bec.PROD_ID = pv.PV_ID
208
				   AND NOT pv.IS_PATCH IS NULL
209
				   AND bc.BOM_ID = :COMPARE_BOM_ID	
210
			   ) oldbom
211
		 WHERE newbom.PK (+) = oldbom.PK  
212
		   AND newbom.PROD_ID (+) = oldbom.PROD_ID  
213
		   AND newbom.PK IS NULL  		   
214
 
215
       ) qry,
216
	   PACKAGE_VERSIONS pv,
217
	   PACKAGES pkg,
218
	   PRODUCT_DETAILS pd  
219
 WHERE qry.PROD_ID = pv.PV_ID
220
   AND pv.PKG_ID = pkg.PKG_ID
221
   AND pd.PROD_ID (+) = qry.PROD_ID
222
 ORDER BY UPPER(pkg.PKG_NAME)