Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
13 rsolanki 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
4
'|                                                   |
5
'|				         DIFF					     |
6
'|                                                   |
7
'=====================================================
8
%>
9
<%
10
Option explicit
11
' Good idea to set when using redirect
12
Response.Expires = 0	' always load the page, dont store
13
%>
14
 
15
<%
16
'To enable the script timeout to 5 mins
17
Server.ScriptTimeout=600
18
%>
19
<!--#include file="common/config.asp"-->
20
<!--#include file="common/globals.asp"-->
21
<!--#include file="common/formating.asp"-->
22
<!--#include file="common/common_subs.asp"-->
23
<!--#include file="common/common_dbedit.asp"-->
24
<!--#include file="common/_form_window_common.asp"-->
25
<!--#include file="common/_rtree_common.asp"-->
26
<%
27
' Set rfile parameter. This is a return page after Login
28
'Call objPMod.StoreParameter ( "rfile", "rtree.asp" )
29
'objPMod.PersistInQryString("proj_id")
30
'------------ ACCESS CONTROL ------------------
31
%>
32
 
33
<!--#include file="_access_control_general.asp"-->
34
<%
35
'------------ Variable Definition -------------
36
Dim rsQry
37
Dim objRelCollectorA
38
Dim objRelCollectorB
39
Dim parRtagA
40
Dim parRtagB
41
Dim parSBOMA
42
Dim parSBOMB
43
Dim dDiffFilter
44
Dim colorA, colorB, ChangeTypeIcon
45
Dim btnMerge, btnRemove
46
Dim rowId
47
Dim email
48
Dim FSO
49
Dim NewTextFile
17 rsolanki 50
Dim pkgA, pkgB, pkgname, delimiter, rsQryA, rsQryB, rsQryCommentsA, rsQryCommentsB, sqlstrA, counterA, sqlstrB, sqlstrC, counterB
23 rsolanki 51
Dim SSsql, retVal, rsCQ, DEVIiss, TDSEiss, VT5DMiss, VTSUPiss		
13 rsolanki 52
Dim a, b, c, d, pkgversion, errormsg, source_change
23 rsolanki 53
Dim VersionList
13 rsolanki 54
 
55
 
56
'------------ Constants Declaration -----------
57
Const LIMG_UPDATED = "<img src='images/i_updated.gif' width='11' height='11' border='0' hspace='5' align='absmiddle' title='Updated'>"
58
Const LIMG_ADDED = "<img src='images/i_added.gif' width='11' height='11' border='0' hspace='5' align='absmiddle' title='Added'>"
59
Const LIMG_REMOVED = "<img src='images/i_removed.gif' width='11' height='11' border='0' hspace='5' align='absmiddle' title='Removed'>"
60
Const LIMG_FILTER_ON = "<img src='images/i_data_table.gif' border='0' align='absmiddle' hspace='0' title='Filter in use.'>"
61
Const LIMG_FILTER_OFF = "<img src='images/i_data_table_off.gif' border='0' align='absmiddle' hspace='0' title='Filter not in use.'>"
62
Const LIMG_DROP_DOWN_ARROW = "<img src='images/i_drop_down_arrow.gif' width='5' height='15' hspace='1' border='0' align='absmiddle'>"
63
Const LCOLOR_NOT_CHANGED = "#F5F5F5"
64
Const LCOLOR_CHANGED = "#d2f7c9"
65
Const LCOLOR_BLANK = "#FFFFFF"
66
Const LIMG_MERGE = "<img src='images/bt_move_all_right.gif' title='Click to merge.' border='0'>"
67
Const LIMG_MERGE_WARN = "<img src='images/bt_move_warn_right.gif' title='Right hand side version is newer.' border='0'>"
68
Const LIMG_REMOVE = "<img src='images/bt_remove.gif' title='Remove this version from release.' border='0'>"
69
Const LIMG_UNDO = "<img src='images/bt_undo.gif' title='Undo merge/remove.' border='0'>"
70
'------------ Variable Init -------------------
71
Set rsCQ = Server.CreateObject("ADODB.Recordset")
72
parRtagA = Request("rtagA")
73
parRtagB = Request("rtagB")
74
parSBOMA = Request("sbomA")
75
parSBOMB = Request("sbomB")
76
Set objRelCollectorA = CreateObject("Scripting.Dictionary")
77
Set objRelCollectorB = CreateObject("Scripting.Dictionary")
78
Set dDiffFilter = CreateObject("Scripting.Dictionary")
79
 
80
'----------------------------------------------
81
If Request("btn") = "Mail Me Report" Then
82
	email = true
83
End If
84
%>
85
<%
86
'--------------------------------------------------------------------------------------------------------------------------
87
Sub GetDiffFilterValues ( outDepFilter )
88
	Dim FilterVal, aFilterValues
89
 
90
	If Request.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER) <> "" Then	
91
		aFilterValues = Split( Replace( Request.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER), " ", ""), ",") 
92
 
93
		For Each FilterVal In aFilterValues
94
			outDepFilter.Item (CStr( FilterVal )) = ""
95
		Next
96
 
97
	End If
98
 
99
End Sub
100
'--------------------------------------------------------------------------------------------------------------------------
15 rsolanki 101
Sub Javascript()
102
	NewTextFile.WriteLine("<script language=""JavaScript"" type=""text/javascript"">")
103
	NewTextFile.WriteLine("function MM_findObj(n, d) { //v4.0")
104
	NewTextFile.WriteLine("  var p,i,x;")
105
	NewTextFile.WriteLine("  if(!d) d=document; ")
106
	NewTextFile.WriteLine("  if((p=n.indexOf(""?""))>0&&parent.frames.length) {")
107
	NewTextFile.WriteLine("  	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);")				
108
	NewTextFile.WriteLine("  }")	
109
	NewTextFile.WriteLine("  if(!(x=d[n])&&d.all) x=d.all[n]; ")	
110
	NewTextFile.WriteLine("  for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];")	
111
	NewTextFile.WriteLine("  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);")	
112
	NewTextFile.WriteLine("  if(!x && document.getElementById) x=document.getElementById(n); ")
113
	NewTextFile.WriteLine("  return x;")			
114
	NewTextFile.WriteLine("}")
115
	NewTextFile.WriteLine("function DisplaySPAN(show, x) {")
116
	NewTextFile.WriteLine("	if (show) {")
117
	NewTextFile.WriteLine("		MM_findObj(""spanHideDetails"" + x).style.display = ""block"";")					
118
	NewTextFile.WriteLine("		MM_findObj(""spanPkgInfo"" + x).style.display = ""block"";")	
119
	NewTextFile.WriteLine("		MM_findObj(""spanShowDetails"" + x).style.display = ""none"";")	
120
	NewTextFile.WriteLine("	} else {")	
121
	NewTextFile.WriteLine("		MM_findObj(""spanHideDetails"" + x).style.display = ""none"";")	
122
	NewTextFile.WriteLine("		MM_findObj(""spanPkgInfo"" + x).style.display = ""none"";")	
123
	NewTextFile.WriteLine("		MM_findObj(""spanShowDetails"" + x).style.display = ""block"";")	
124
	NewTextFile.WriteLine("	}")
125
	NewTextFile.WriteLine("}")			
126
	NewTextFile.WriteLine("</script>")				
127
End Sub
128
'--------------------------------------------------------------------------------------------------------------------------
13 rsolanki 129
Sub GetFixedIssues(pv_id)
130
	Set sqlstrA = OraDatabase.DbCreateDynaset("SELECT iss_db, iss_id, iss_state, notes FROM CQ_ISSUES WHERE pv_id="& pv_id &"  AND iss_state = "& enumISSUES_STATE_FIXED, cint(0))						 
131
 
132
		If sqlstrA.RecordCount <> 0 Then
133
			NewTextFile.WriteLine()
134
			NewTextFile.WriteLine("<blockquote><blockquote>Fixed Issues:</blockquote></blockquote>")
19 rsolanki 135
			NewTextFile.WriteLine("<blockquote><blockquote><blockquote><table width='100%' border='1' cellspacing='0' cellpadding='1'>")
136
			NewTextFile.WriteLine("<tr>")
23 rsolanki 137
			NewTextFile.WriteLine("<td background='#CAC5B8' nowrap class='form_field'><font size='1' face='tahoma,sans-serif'><b>Issue&nbsp;Id&nbsp;</b></font></td>")
138
			NewTextFile.WriteLine("<td background='#CAC5B8' nowrap class='form_field'><font size='1' face='tahoma,sans-serif'><b>Summary</b></font></td>")
139
			NewTextFile.WriteLine("<td background='#CAC5B8' nowrap class='form_field'><font size='1' face='tahoma,sans-serif'><b></I>Issue&nbsp;Type&nbsp;</b></font></td>")
140
			NewTextFile.WriteLine("<td background='#CAC5B8' nowrap class='form_field'><font size='1' face='tahoma,sans-serif'><b></P>Priority</b></font></td>")
141
			NewTextFile.WriteLine("<td background='#CAC5B8' nowrap class='form_field'><font size='1' face='tahoma,sans-serif'><b>Status</b></font></td>")
19 rsolanki 142
			NewTextFile.WriteLine("</tr>")
143
 
13 rsolanki 144
 
17 rsolanki 145
 
23 rsolanki 146
		While ((NOT sqlstrA.BOF) AND (NOT sqlstrA.EOF))
13 rsolanki 147
			DEVIiss = "-1"
148
			TDSEiss = "-1"
149
			VT5DMiss = "-1"
23 rsolanki 150
			VTSUPiss = "-1"
13 rsolanki 151
 
152
			If CInt(sqlstrA("iss_db")) = CInt(enumCLEARQUEST_DEVI_ID) Then
153
				DEVIiss = DEVIiss &","& sqlstrA("iss_id")
154
			ElseIf CInt(sqlstrA("iss_db")) = CInt(enumCLEARQUEST_TDSE_ID) Then
155
				TDSEiss = TDSEiss &","& sqlstrA("iss_id")
156
			ElseIf CInt(sqlstrA("iss_db")) = CInt(enumCLEARQUEST_VT5DM_ID) Then
23 rsolanki 157
				VT5DMiss = VT5DMiss &","& sqlstrA("iss_id")		
158
			ElseIf CInt(sqlstrC("iss_db")) = CInt(enumCLEARQUEST_VTSUP_ID) Then
159
				VTSUPiss = VTSUPiss &","& sqlstrC("iss_id")												
13 rsolanki 160
			End If
161
 
162
			SSsql = ReadFile( QUERIES_PATH & "\cq_issues.sql" )
163
			SSsql = Replace( SSsql, "/*enumCLEARQUEST_DEVI_ID*/", enumCLEARQUEST_DEVI_ID)
164
			SSsql = Replace( SSsql, "/*enumCLEARQUEST_TDSE_ID*/", enumCLEARQUEST_TDSE_ID)
165
			SSsql = Replace( SSsql, "/*enumCLEARQUEST_VT5DM_ID*/", enumCLEARQUEST_VT5DM_ID)
23 rsolanki 166
			SSsql = Replace( SSsql, "/*enumCLEARQUEST_VTSUP_ID*/", enumCLEARQUEST_VTSUP_ID)					
13 rsolanki 167
			SSsql = Replace( SSsql, "/*DEVIiss*/", DEVIiss)
168
			SSsql = Replace( SSsql, "/*TDSEiss*/", TDSEiss)
169
			SSsql = Replace( SSsql, "/*VT5DMiss*/", VT5DMiss)	
23 rsolanki 170
			SSsql = Replace( SSsql, "/*VTSUPiss*/", VTSUPiss)	
13 rsolanki 171
			retVal = Get_CQ_Issues ( SSsql, rsCQ )					
172
 
19 rsolanki 173
			NewTextFile.WriteLine("<tr>")
23 rsolanki 174
			NewTextFile.WriteLine("<td nowrap background='#CAC5B8' nowrap class='form_item'><font size='1' color="&chr(34)&"red"&chr(34)&" face='tahoma,sans-serif'><b>"&rsCQ("iss_num")&"</b></font></td>")
175
			NewTextFile.WriteLine("				   <td nowrap background='#CAC5B8' class='form_item'><font size='1' color="&chr(34)&"red"&chr(34)&" face='tahoma,sans-serif'><b>"&NewLine_To_BR ( To_HTML ( rsCQ("summary") ) )&"</b></font></td>")
176
			NewTextFile.WriteLine("				  <td nowrap background='#CAC5B8' class='form_item'><font size='1' color="&chr(34)&"red"&chr(34)&" face='tahoma,sans-serif'><b>"&rsCQ("issue_type")&"</b></font></td>")
177
			NewTextFile.WriteLine("<td nowrap background='#CAC5B8' class='form_item'><font size='1' color="&chr(34)&"red"&chr(34)&" face='tahoma,sans-serif'><b>"&rsCQ("priority")&"</b></font></td>")
178
			NewTextFile.WriteLine("<td nowrap background='#CAC5B8' class='form_item'><font size='1' color="&chr(34)&"red"&chr(34)&" face='tahoma,sans-serif'><b>"&rsCQ("Status")&"</b></font></td>")
19 rsolanki 179
			NewTextFile.WriteLine("                     </tr>")
13 rsolanki 180
 
19 rsolanki 181
			'If rsCQ("iss_num") <> "" Then
182
  			'	NewTextFile.Write("<blockquote><blockquote><blockquote>"&rsCQ("iss_num")&": ")
183
	    	'End If
17 rsolanki 184
 
19 rsolanki 185
	     	'If rsCQ("summary") <> "" Then
186
			'	NewTextFile.Write(rsCQ("summary")&" ")						
187
			'End If
17 rsolanki 188
 
19 rsolanki 189
			'If rsCQ("summary") <> "" Then
190
			'	NewTextFile.WriteLine("(Priority: "& rsCQ("priority") &")</blockquote></blockquote></blockquote>")						
191
			'End If
17 rsolanki 192
 
19 rsolanki 193
 
13 rsolanki 194
 
195
			sqlstrA.MoveNext
23 rsolanki 196
		Wend
19 rsolanki 197
			NewTextFile.WriteLine( "                        </table></blockquote></blockquote></blockquote> 		")
13 rsolanki 198
			sqlstrA.Close()		
199
 
17 rsolanki 200
		End If
201
 
13 rsolanki 202
 
203
End Sub
204
'--------------------------------------------------------------------------------------------------------------------------
17 rsolanki 205
Sub GetDependencyFixedIssues(pv_id)
206
	Set sqlstrC = OraDatabase.DbCreateDynaset("SELECT iss_db, iss_id, iss_state, notes FROM CQ_ISSUES WHERE pv_id="& pv_id &"  AND iss_state = "& enumISSUES_STATE_FIXED, cint(0))						 
207
 
208
		If sqlstrC.RecordCount <> 0 Then
209
			NewTextFile.WriteLine()
23 rsolanki 210
			NewTextFile.WriteLine("<blockquote><blockquote>Fixed Issues:</blockquote></blockquote>")
211
			NewTextFile.WriteLine("<blockquote><blockquote><blockquote><table width='100%' border='1' cellspacing='0' cellpadding='1'>")
212
			NewTextFile.WriteLine("<tr>")
213
			NewTextFile.WriteLine("<td background='#CAC5B8' nowrap class='form_field'><font size='1' face='tahoma,sans-serif'><b>Issue&nbsp;Id&nbsp;</b></font></td>")
214
			NewTextFile.WriteLine("<td background='#CAC5B8' nowrap class='form_field'><font size='1' face='tahoma,sans-serif'><b>Summary</b></font></td>")
215
			NewTextFile.WriteLine("<td background='#CAC5B8' nowrap class='form_field'><font size='1' face='tahoma,sans-serif'><b></I>Issue&nbsp;Type&nbsp;</b></font></td>")
216
			NewTextFile.WriteLine("<td background='#CAC5B8' nowrap class='form_field'><font size='1' face='tahoma,sans-serif'><b></P>Priority</b></font></td>")
217
			NewTextFile.WriteLine("<td background='#CAC5B8' nowrap class='form_field'><font size='1' face='tahoma,sans-serif'><b>Status</b></font></td>")
218
			NewTextFile.WriteLine("</tr>")		
219
			'NewTextFile.WriteLine()
17 rsolanki 220
			'NewTextFile.WriteLine("<blockquote><blockquote>Fixed Issues:</blockquote></blockquote>")
221
 
222
 
23 rsolanki 223
		While ((NOT sqlstrC.BOF) AND (NOT sqlstrC.EOF))
17 rsolanki 224
			DEVIiss = "-1"
225
			TDSEiss = "-1"
226
			VT5DMiss = "-1"
23 rsolanki 227
			VTSUPiss = "-1"
17 rsolanki 228
 
229
			If CInt(sqlstrC("iss_db")) = CInt(enumCLEARQUEST_DEVI_ID) Then
230
				DEVIiss = DEVIiss &","& sqlstrC("iss_id")
231
			ElseIf CInt(sqlstrC("iss_db")) = CInt(enumCLEARQUEST_TDSE_ID) Then
232
				TDSEiss = TDSEiss &","& sqlstrC("iss_id")
233
			ElseIf CInt(sqlstrC("iss_db")) = CInt(enumCLEARQUEST_VT5DM_ID) Then
23 rsolanki 234
				VT5DMiss = VT5DMiss &","& sqlstrC("iss_id")		
235
			ElseIf CInt(sqlstrC("iss_db")) = CInt(enumCLEARQUEST_VTSUP_ID) Then
236
				VTSUPiss = VTSUPiss &","& sqlstrC("iss_id")												
17 rsolanki 237
			End If
238
 
239
			SSsql = ReadFile( QUERIES_PATH & "\cq_issues.sql" )
240
			SSsql = Replace( SSsql, "/*enumCLEARQUEST_DEVI_ID*/", enumCLEARQUEST_DEVI_ID)
241
			SSsql = Replace( SSsql, "/*enumCLEARQUEST_TDSE_ID*/", enumCLEARQUEST_TDSE_ID)
242
			SSsql = Replace( SSsql, "/*enumCLEARQUEST_VT5DM_ID*/", enumCLEARQUEST_VT5DM_ID)
23 rsolanki 243
			SSsql = Replace( SSsql, "/*enumCLEARQUEST_VTSUP_ID*/", enumCLEARQUEST_VTSUP_ID)			
17 rsolanki 244
			SSsql = Replace( SSsql, "/*DEVIiss*/", DEVIiss)
245
			SSsql = Replace( SSsql, "/*TDSEiss*/", TDSEiss)
246
			SSsql = Replace( SSsql, "/*VT5DMiss*/", VT5DMiss)	
23 rsolanki 247
			SSsql = Replace( SSsql, "/*VTSUPiss*/", VTSUPiss)			
17 rsolanki 248
			retVal = Get_CQ_Issues ( SSsql, rsCQ )					
249
 
23 rsolanki 250
			NewTextFile.WriteLine("<tr>")
251
			NewTextFile.WriteLine("<td nowrap background='#CAC5B8' nowrap class='form_item'><font size='1' color="&chr(34)&"red"&chr(34)&" face='tahoma,sans-serif'><b>"&rsCQ("iss_num")&"</b></font></td>")
252
			NewTextFile.WriteLine("				   <td nowrap background='#CAC5B8' class='form_item'><font size='1' color="&chr(34)&"red"&chr(34)&" face='tahoma,sans-serif'><b>"&NewLine_To_BR ( To_HTML ( rsCQ("summary") ) )&"</b></font></td>")
253
			NewTextFile.WriteLine("				  <td nowrap background='#CAC5B8' class='form_item'><font size='1' color="&chr(34)&"red"&chr(34)&" face='tahoma,sans-serif'><b>"&rsCQ("issue_type")&"</b></font></td>")
254
			NewTextFile.WriteLine("<td nowrap background='#CAC5B8' class='form_item'><font size='1' color="&chr(34)&"red"&chr(34)&" face='tahoma,sans-serif'><b>"&rsCQ("priority")&"</b></font></td>")
255
			NewTextFile.WriteLine("<td nowrap background='#CAC5B8' class='form_item'><font size='1' color="&chr(34)&"red"&chr(34)&" face='tahoma,sans-serif'><b>"&rsCQ("Status")&"</b></font></td>")
256
			NewTextFile.WriteLine("                     </tr>")
17 rsolanki 257
 
258
 
259
 
260
			sqlstrC.MoveNext
23 rsolanki 261
		Wend
262
			NewTextFile.WriteLine( "                        </table></blockquote></blockquote></blockquote> 		")		
17 rsolanki 263
			sqlstrC.Close()		
264
 
265
		End If			
266
 
267
 
268
End Sub
269
'--------------------------------------------------------------------------------------------------------------------------
270
 
15 rsolanki 271
Sub LastPvIdA(a)
272
	Dim qryA
273
	Set qryA = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&a , cint(0))
274
 
275
	If a <> qryA("last_pv_id") Then	
276
		a = qryA("last_pv_id")
277
	Else 
278
		errormsg = true
279
	End If
280
 
281
	qryA.Close()
282
End Sub
283
'--------------------------------------------------------------------------------------------------------------------------
284
Sub LastPvIdB(b)
285
	Dim qryB
286
	Set qryB = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&b , cint(0))
287
 
288
	If b <> qryB("last_pv_id") Then
289
		b = qryB("last_pv_id")
290
	Else
291
		errormsg = true	
292
	End If
293
 
294
	qryB.Close()
295
 
296
End Sub
297
'--------------------------------------------------------------------------------------------------------------------------
298
Sub PreviousVersions(a, b, versionA, versionB)
299
	NewTextFile.WriteLine()
300
 
301
 
302
	NewTextFile.WriteLine("<b>Versions Between: "&versionA&" and "&versionB&"</b>")
303
 
304
	If a < b Then
305
		While a < b  
306
			Call LastPvIdB(b)
307
			If a < b Then
23 rsolanki 308
				VersionList = VersionList + ","& b &""
15 rsolanki 309
				Call Comments(b)
310
				Call GetFixedIssues(b)
311
			End If			
312
		Wend
313
	End If	
314
 
315
	If b < a Then
316
		While b < a  
317
			Call LastPvIdA(a)
318
			If b < a Then
23 rsolanki 319
				VersionList = VersionList + ","& a &""
15 rsolanki 320
				Call Comments(a)
321
				Call GetFixedIssues(a)
322
			End If			
323
		Wend	
324
	End If
325
 
326
 
327
End Sub
328
'--------------------------------------------------------------------------------------------------------------------------
329
Sub GetDependencies(pv_id_a, pv_id_b, versionA, versionB)
17 rsolanki 330
	On Error Resume Next
23 rsolanki 331
 
332
	Set sqlstrA = OraDatabase.DbCreateDynaset("select distinct dpv_id from package_dependencies where pv_id IN ("& pv_id_b &") and dpv_id NOT IN (SELECT dpv_id from package_dependencies where pv_id ="& pv_id_a &" ) order by dpv_id desc", cint(0))	
333
 
13 rsolanki 334
		If sqlstrA.RecordCount <> 0 Then
335
			NewTextFile.WriteLine()
15 rsolanki 336
			NewTextFile.WriteLine("<b>Dependencies Changed Between "&versionA&" and "&versionB&":</b>")
23 rsolanki 337
 
338
		While ((NOT sqlstrA.BOF) AND (NOT sqlstrA.EOF))
13 rsolanki 339
			Call dependencyComments(sqlstrA("dpv_id"))
17 rsolanki 340
			Call GetDependencyFixedIssues(sqlstrA("dpv_id"))
23 rsolanki 341
			sqlstrA.MoveNext
342
		Wend
343
			sqlstrA.Close()
17 rsolanki 344
 
23 rsolanki 345
		End If
13 rsolanki 346
 
347
End Sub
348
'--------------------------------------------------------------------------------------------------------------------------
349
Sub dependencyComments(pv_id)
350
	Set sqlstrB = OraDatabase.DbCreateDynaset("SELECT * FROM PACKAGE_VERSIONS pv, PACKAGES pkg WHERE pkg.pkg_id = pv.pkg_id AND PV_ID ="&pv_id, cint(0))	
23 rsolanki 351
			NewTextFile.WriteLine("<blockquote><blockquote>Comments:</blockquote></blockquote>")
352
			NewTextFile.Write("<blockquote><blockquote><blockquote><font color="&chr(34)&"blue"&chr(34)&">"& sqlstrB("pkg_name") &" "& sqlstrB("pkg_version") &"</font>---->"& TextToHTML(sqlstrB("comments")) &"</blockquote></blockquote></blockquote>")	
17 rsolanki 353
 
354
	sqlstrB.Close()
355
	Set sqlstrB = nothing		
13 rsolanki 356
 
357
 
358
End Sub
359
'--------------------------------------------------------------------------------------------------------------------------
360
Sub LastPvIdA(a)
361
	Dim qryA
362
	Set qryA = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&a , cint(0))
363
 
364
	If a <> qryA("last_pv_id") Then	
365
		a = qryA("last_pv_id")
366
	Else 
367
		errormsg = true
368
	End If
369
 
370
	qryA.Close()
371
End Sub
372
'--------------------------------------------------------------------------------------------------------------------------
373
Sub LastPvIdB(b)
374
	Dim qryB
375
	Set qryB = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&b , cint(0))
376
 
377
	If b <> qryB("last_pv_id") Then
378
		b = qryB("last_pv_id")
379
	Else
380
		errormsg = true	
381
	End If
382
 
383
	qryB.Close()
384
 
385
End Sub
386
'--------------------------------------------------------------------------------------------------------------------------
387
Sub pkg_Version(pv)
388
	Dim qry	
389
	Set qry = OraDatabase.DbCreateDynaset("SELECT PKG_VERSION FROM PACKAGE_VERSIONS WHERE PV_ID="&pv , cint(0))	
390
	pkgversion = qry("pkg_version")
391
	qry.Close()
392
End Sub
393
'--------------------------------------------------------------------------------------------------------------------------
394
Sub LastPvIdAa(a)
395
	Dim qryA
396
	Set qryA = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&a , cint(0))
397
	c = qryA("last_pv_id")
398
	qryA.Close()
399
End Sub
400
'--------------------------------------------------------------------------------------------------------------------------
401
Sub LastPvIdBb(b)
402
	Dim qryB
403
	Set qryB = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&b , cint(0))
404
	d = qryB("last_pv_id")	
405
	qryB.Close()
406
End Sub
407
'--------------------------------------------------------------------------------------------------------------------------
408
Sub Comments(Pv_Id)
409
	Dim comments
410
	Set comments = OraDatabase.DbCreateDynaset("SELECT COMMENTS, PKG_VERSION FROM PACKAGE_VERSIONS WHERE PV_ID="&Pv_id , cint(0))
411
	If comments("comments") <> "Rippled Build." Then
412
		NewTextFile.WriteLine("<blockquote><blockquote><font color="&chr(34)&"blue"&chr(34)&">Version: "& comments("pkg_version")&"</font></blockquote></blockquote>")
413
		If comments("comments") <> "" Then
414
			NewTextFile.WriteLine("<blockquote><blockquote>Comments: </blockquote></blockquote>")
415
			NewTextFile.WriteLine("<blockquote><blockquote><blockquote>"& TextToHTML(comments("comments")) &"</blockquote></blockquote></blockquote>")
416
			source_change = true
417
		End If	
418
	End If
419
 
420
End Sub
421
'--------------------------------------------------------------------------------------------------------------------------
422
Sub Release(pvId)
423
	Dim release
424
	Set release = OraDatabase.DbCreateDynaset("SELECT INSERT_STAMP FROM RELEASE_CONTENT WHERE PV_ID="&pvId , cint(0))
425
 
426
	If release("insert_stamp") <> "" Then
427
		NewTextFile.Write(release("insert_stamp"))
428
	Else
429
		NewTextFile.Write("Version Not Used.")
430
	End If			
431
 
432
End Sub
433
'--------------------------------------------------------------------------------------------------------------------------
434
Sub Header() 
435
	NewTextFile.WriteLine("<html>")
436
End Sub
437
'--------------------------------------------------------------------------------------------------------------------------
438
Sub Footer()
439
	NewTextFile.WriteLine("</html>")
440
End Sub
441
'--------------------------------------------------------------------------------------------------------------------------
442
Function GetIsDiffFilterInUseIcon()
443
	GetIsDiffFilterInUseIcon = LIMG_FILTER_OFF & LIMG_DROP_DOWN_ARROW
444
 
445
	If dDiffFilter.Count > 0 Then
446
		GetIsDiffFilterInUseIcon = LIMG_FILTER_ON & LIMG_DROP_DOWN_ARROW
447
	End If
448
 
449
End Function
450
'--------------------------------------------------------------------------------------------------------------------------
451
Function GetIsDiffFilterChecked( nFilterId )
452
 
453
	If dDiffFilter.Exists ( CStr(nFilterId)  ) Then
454
		GetIsDiffFilterChecked = "checked"
455
	End If
456
 
457
End Function
458
'---------------------------------------------------------------------------------------------------------------------------
459
Function  Get_CQ_Issues ( SSsql, OOrsCQ )
460
 
461
	If OOrsCQ.State = 1 Then 
462
		OOrsCQ.Close
463
	End If
464
 
465
	On Error Resume Next
466
	OOrsCQ.ActiveConnection = CQ_conn
467
	OOrsCQ.Source = SSsql
468
	OOrsCQ.CursorType = 0
469
	OOrsCQ.CursorLocation = 2
470
	OOrsCQ.LockType = 3
471
	OOrsCQ.Open()
472
	Get_CQ_Issues = Err.Number
473
 
474
End Function
475
'--------------------------------------------------------------------------------------------------------------------------
476
Public Function TextToHTML ( sString )
477
	Dim mString
478
 
479
	If (sString = "") OR IsNull(sString) Then Exit Function
480
 
481
	mString = Server.HTMLEncode( sString )
482
	mString = Replace(mString, VBNewLine, "<br>")
483
 
484
	TextToHTML = mString
485
End Function
486
 
487
'--------------------------------------------------------------------------------------------------------------------------
488
Sub GetFormDetails ( nSourceSBOM, ByRef outobjDetails )
489
	Dim rsQry, query
490
 
491
	' Exit if nSourceRtagId is empty
492
	If nSourceSBOM = "" Then Exit Sub 
493
 
494
	OraDatabase.Parameters.Add "SBOM", 	nSourceSBOM,		ORAPARM_INPUT, ORATYPE_NUMBER 
495
 
496
	query = _
497
	" SELECT pr.PROJ_NAME ||' &gt; '|| br.BRANCH_NAME ||' &gt; '|| b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE  AS LOCATION, "&_
15 rsolanki 498
	"        pr.PROJ_ID, b.BOM_ID, br.BRANCH_ID, b.IS_READONLY"&_
13 rsolanki 499
	"  FROM BRANCHES br,"&_
500
	"  		BOMS b,"&_	
501
	"  	    DM_PROJECTS pr"&_
502
	" WHERE br.PROJ_ID = pr.PROJ_ID"&_
503
	" 	AND b.BRANCH_ID = br.BRANCH_ID"&_	
504
	"   AND b.BOM_ID = :SBOM"
505
 
506
	Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT )
507
 
508
	OraDatabase.Parameters.Remove "SBOM"
509
 
510
	If rsQry.RecordCount > 0 Then
511
		outobjDetails.Item ("location") = rsQry("location")
15 rsolanki 512
		outobjDetails.Item ("official") = rsQry("IS_READONLY")
13 rsolanki 513
		outobjDetails.Item ("proj_id") = rsQry("proj_id")
514
		outobjDetails.Item ("branch_id") = rsQry("branch_id")
515
		outobjDetails.Item ("bom_id") = rsQry("bom_id")		
516
	Else
517
		Err.Raise 8, "Sub GetFormDetails in "& SCRIPT_NAME, "Empty record set returned. nSourceSBOM="& nSourceSBOM
518
	End If
519
 
15 rsolanki 520
	If outobjDetails.Item ("location") = "" Then
521
		outobjDetails.Item ("location") = "N"
522
	End If
523
 
13 rsolanki 524
	rsQry.Close
525
	Set rsQry = Nothing
526
 
527
End Sub
528
'--------------------------------------------------------------------------------------------------------------------------
529
Sub GetDiffStateIcon( nDiffState, outIcon )
530
 
531
	Select Case nDiffState
532
		Case "U"
533
			outIcon  = LIMG_UPDATED		
534
		Case "UW"
535
			outIcon  = LIMG_UPDATED			
536
		Case "A"
537
			outIcon = LIMG_ADDED			
538
		Case "R"
539
			outIcon = LIMG_REMOVED			
540
		Case Else
541
			outIcon = ""			
542
	End Select
543
 
544
End Sub
545
'--------------------------------------------------------------------------------------------------------------------------
546
Sub MergePackages ()
547
	Dim aFullList, aAddPkgList, aRemovePkgList, dAddPkgList, dRemovePkgList, PvId
548
	Dim OraParameter
549
 
550
	Set dAddPkgList = CreateObject("Scripting.Dictionary")
551
	Set dRemovePkgList = CreateObject("Scripting.Dictionary")
552
 
553
	'--- Get Add Packages ---
554
	' Get full list of "addpkg" parameter
555
	aFullList = Split ( Replace( Request("addpkg"), " ", "" ), "," )
556
 
557
	' Clean empty parameters
558
	For Each PvId In aFullList
559
		If PvId <> "" Then
560
			dAddPkgList.Add CStr( PvId ), Empty
561
		End If
562
	Next
563
 
564
	aFullList = NULL
565
	aAddPkgList = dAddPkgList.Keys
566
 
567
	'--- Get Remove Packages ---
568
	' Get full list of "removepkg" parameter
569
	aFullList = Split ( Replace( Request("removepkg"), " ", "" ), "," )
570
 
571
	' Clean empty parameters
572
	For Each PvId In aFullList
573
		If PvId <> "" Then
574
			dRemovePkgList.Add CStr( PvId ), Empty
575
		End If
576
	Next
577
 
578
	aFullList = NULL
579
	aRemovePkgList = dRemovePkgList.Keys
580
 
581
	'-- Add package List to release --
582
	OraDatabase.Parameters.Add "PV_ID", 			NULL, 				ORAPARM_INPUT, ORATYPE_NUMBER 
583
	OraDatabase.Parameters.Add "VIEW_ID", 			NULL, 				ORAPARM_BOTH, ORATYPE_NUMBER 
584
	OraDatabase.Parameters.Add "RTAG_A", 			Request("rtagA"), 	ORAPARM_INPUT, ORATYPE_NUMBER 
585
	OraDatabase.Parameters.Add "RTAG_B", 			Request("rtagB"), 	ORAPARM_INPUT, ORATYPE_NUMBER 
586
	OraDatabase.Parameters.Add "PROJB", 			objRelCollectorB.Item("proj_id"), 	ORAPARM_INPUT, ORATYPE_NUMBER 
587
	OraDatabase.Parameters.Add "COMMENTS", 			"Merging from "& objRelCollectorA.Item("location") &" to "& objRelCollectorB.Item("location"), 	ORAPARM_INPUT, ORATYPE_VARCHAR2
588
	OraDatabase.Parameters.Add "USER_ID", 			objAccessControl.UserId, 				ORAPARM_INPUT, ORATYPE_NUMBER 
589
 
590
 
591
	Set OraParameter = OraDatabase.Parameters
592
 
593
 
594
	On Error Resume Next
595
 
596
 
597
	' Begin Database entry
598
	objEH.TryORA ( OraSession )
599
 
600
	OraSession.BeginTrans
601
 
602
	'-- Add Packages --
603
	For Each PvId In aAddPkgList
604
		OraParameter("PV_ID").Value = PvId
605
		OraDatabase.ExecuteSQL _
606
		"BEGIN  "&_
607
		"  :VIEW_ID := PK_RELEASE.GET_PACKAGE_VIEW ( :PV_ID, :RTAG_A ); "&_
608
		"  PK_RELEASE.ADD_PACKAGE ( :PV_ID, :VIEW_ID, :RTAG_B, :USER_ID );  "&_
609
		"END;"
610
	Next
611
 
612
	'-- Remove Packages --
613
	For Each PvId In aRemovePkgList		
614
		OraParameter("PV_ID").Value = PvId
615
		OraDatabase.ExecuteSQL _
616
		"BEGIN  "&_
617
		"  PK_RELEASE.REMOVE_PACKAGE ( :PV_ID, :RTAG_B, :USER_ID );  "&_
618
		"END;"
619
	Next
620
 
621
	'-- Log Project Merge Action
622
	OraDatabase.ExecuteSQL _
623
	"BEGIN  LOG_PROJECT_ACTION ( :PROJB, 'merge_release', :USER_ID, :COMMENTS );  END;"
624
 
625
	'-- Force package state recalculate 
626
	OraDatabase.ExecuteSQL _
627
	"BEGIN  "&_
628
	"  TOUCH_RELEASE ( :RTAG_B );  "&_
629
	"END;"
630
 
631
	OraSession.CommitTrans
632
 
633
	objEH.CatchORA ( OraSession )
634
 
635
	Set OraParameter = Nothing
636
	OraDatabase.Parameters.Remove "PV_ID"
637
	OraDatabase.Parameters.Remove "VIEW_ID"
638
	OraDatabase.Parameters.Remove "RTAG_A"
639
	OraDatabase.Parameters.Remove "RTAG_B"
640
	OraDatabase.Parameters.Remove "USER_ID"
641
	OraDatabase.Parameters.Remove "PROJB"
642
	OraDatabase.Parameters.Remove "COMMENTS"
643
	'Response.write "<br>"& sAddPkgList &"-"& dAddPkgList.Count &"-"& UBound( aFullList )
644
End Sub
645
'--------------------------------------------------------------------------------------------------------------------------
646
%>
647
<%
648
'------------ RUN BEFORE PAGE RENDER ----------
649
If Request("btn") = "Exit" Then
19 rsolanki 650
	Call OpenInWindow ( "reports.asp" )
13 rsolanki 651
End If
652
 
653
' Get release details
654
 
655
Call GetFormDetails ( parSBOMA, objRelCollectorA )
656
Call GetFormDetails ( parSBOMB, objRelCollectorB )
657
 
658
If (Request("btn") = "Merge")  AND (objAccessControl.IsActive("MergeRelease")) Then
659
	If objRelCollectorB.Item("official") <> "Y" Then
660
		Call MergePackages ()
661
	End If
662
End If
663
 
15 rsolanki 664
If Request("btn") = "Swap Compare" Then
665
	Call OpenInWindow ( SCRIPT_NAME &"?sbomA="& parSBOMB &"&sbomB="& parSBOMA )
666
End If
13 rsolanki 667
 
668
If Request("btn") = "Hide" Then
669
	' Store filter in cookie
670
	Response.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER) = Request("difilter")
671
End If
672
 
673
 
674
Call GetDiffFilterValues ( dDiffFilter )
675
'----------------------------------------------
676
%>
677
<html>
678
<head>
679
<title>Deployment Manager SBOM Differences</title>
680
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
681
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
682
<link rel="stylesheet" href="images/release_manager_style.css" type="text/css">
683
<link rel="stylesheet" href="images/navigation.css" type="text/css">
684
<script language="JavaScript" src="images/common.js"></script>
685
<script language="JavaScript" src="scripts/remote_scripting.js"></script>
686
<script language="JavaScript" type="text/javascript">
687
<!--
688
 
689
function RequestReleaseCombo( paramString, rowId ){
690
	var requestURL = 'RequestReleaseCombo.asp';
691
 
692
	// Set ajax divname
693
	ajaxdivname = rowId;
694
 
695
	//Append the name to search for to the requestURL
696
	var url = requestURL + paramString;
697
 
698
	//Progress
699
	//alert(MM_findObj( rowId ));
700
 
701
	//MM_findObj( rowId ).options[0] = new Option('Loading...','');
702
	//MM_findObj( rowId ).selectedIndex = 0;
703
	rowId.options[0] = new Option('Loading...','');
704
	rowId.selectedIndex = 0;
705
 
706
 
707
	//Create the xmlHttp object to use in the request
708
	//stateChangeHandler will fire when the state has changed, i.e. data is received back
709
	// This is non-blocking (asynchronous)
710
	xmlHttp = GetXmlHttpObject(stateComboChangeHandler);
711
 
712
	//Send the xmlHttp get to the specified url
713
	xmlHttp_Get(xmlHttp, url);
714
 
715
 
716
}
717
 
718
function RequestSBOMCombo( paramString, rowId ){
719
	var requestURL = 'RequestSBOMCombo.asp';
720
 
721
	// Set ajax divname
722
	ajaxdivname = rowId;
723
 
724
	//Append the name to search for to the requestURL
725
	var url = requestURL + paramString;
726
 
727
	//Progress
728
	//alert(MM_findObj( rowId ));
729
 
730
	//MM_findObj( rowId ).options[0] = new Option('Loading...','');
731
	//MM_findObj( rowId ).selectedIndex = 0;
732
	rowId.options[0] = new Option('Loading...','');
733
	rowId.selectedIndex = 0;
734
 
735
 
736
	//Create the xmlHttp object to use in the request
737
	//stateChangeHandler will fire when the state has changed, i.e. data is received back
738
	// This is non-blocking (asynchronous)
739
	xmlHttp = GetXmlHttpObject(stateComboChangeHandler);
740
 
741
	//Send the xmlHttp get to the specified url
742
	xmlHttp_Get(xmlHttp, url);
743
 
744
 
745
}
746
 
747
 
748
function MergePackage ( pkga, pkgb, rowId )
749
{
750
 
751
	// Set merge hidden field with new value
752
	MM_findObj( 'ADDPKG_' + rowId ).value = pkga;
753
 
754
	var divA = MM_findObj( 'PVA' + rowId );
755
	var divB = MM_findObj( 'PVB' + rowId );
756
 
757
	// Set text equal
758
	divB.innerHTML = divA.innerHTML;
759
 
760
	// Set highlight to blank
761
	divA.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
762
	divB.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
763
 
764
    // Set Change state icon to blank
765
	MM_findObj( 'IMGSTATE' + rowId ).style.display = 'none';
766
 
767
	// Remove Merge Button
768
	MM_findObj( 'IMGMERGE' + rowId ).style.display = 'none';
769
	MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'none';
770
 
771
	// Show undo button
772
	MM_findObj( 'IMGUNDO' + rowId ).style.display = 'block';
773
 
774
 
775
}
776
 
777
 
778
function RemovePackage ( pkga, pkgb, rowId )
779
{
780
 
781
	// Set remove hidden field with new value
782
	MM_findObj( 'REMOVEPKG_' + rowId ).value = pkgb;
783
 
784
	var divA = MM_findObj( 'PVA' + rowId );
785
	var divB = MM_findObj( 'PVB' + rowId );
786
 
787
	// Set text equal
788
	divB.style.textDecoration = 'line-through';
789
 
790
	// Set highlight to blank
791
	if (MM_findObj( 'CHANGETYPE_' + rowId ).value != "A")
792
	{
793
		divA.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
794
	}
795
	divB.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
796
 
797
    // Set Change state icon to blank
798
	MM_findObj( 'IMGSTATE' + rowId ).style.display = 'none';
799
 
800
	// Remove Merge Button
801
	MM_findObj( 'IMGMERGE' + rowId ).style.display = 'none';
802
	MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'none';
803
 
804
	// Show undo button
805
	MM_findObj( 'IMGUNDO' + rowId ).style.display = 'block';
806
 
807
 
808
}
809
 
810
 
811
 
812
function UndoPackage ( rowId )
813
{
814
 
815
	// Set merge/remove hidden field with new value
816
	MM_findObj( 'ADDPKG_' + rowId ).value = '';
817
	MM_findObj( 'REMOVEPKG_' + rowId ).value = '';
818
 
819
	var divA = MM_findObj( 'PVA' + rowId );
820
	var divB = MM_findObj( 'PVB' + rowId );
821
 
822
	// Set text equal
823
	divB.innerHTML = MM_findObj( 'UNDOPKG_' + rowId ).value;
824
	divB.style.textDecoration = 'none';
825
 
826
 
827
	// Set highlight to blank
828
	divA.style.backgroundColor = MM_findObj( 'UNDOCOLORA_' + rowId ).value;
829
	divB.style.backgroundColor = MM_findObj( 'UNDOCOLORB_' + rowId ).value;
830
 
831
 
832
    // Set Change state icon to blank
833
	MM_findObj( 'IMGSTATE' + rowId ).style.display = 'block';
834
 
835
 
836
	// Remove Merge Button
837
	var cht = MM_findObj( 'CHANGETYPE_' + rowId );
838
 
839
	if (cht.value == "R")
840
	{
841
		MM_findObj( 'IMGMERGE' + rowId ).style.display = 'block';
842
	} 
843
	else if ( (cht.value == "A") || (cht.value == "") ) 
844
	{
845
		MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'block';
846
	} 
847
	else 
848
	{
849
		MM_findObj( 'IMGMERGE' + rowId ).style.display = 'block';
850
		MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'block';
851
	}
852
 
853
	// Show undo button
854
	MM_findObj( 'IMGUNDO' + rowId ).style.display = 'none';
855
 
856
}
857
 
858
 
859
function MergeAll()
860
{
861
	var elem
862
 
863
	if (document.all)
864
	{
865
		// Run this for IE
866
		elem = document.all;
867
	} else {
868
		// Run this for other browsers
869
		elem = document.getElementsByTagName('div');
870
	}
871
 
872
	for (i in elem)
873
	{
874
		if (elem[i].id)
875
		{	
876
			if (elem[i].id.indexOf('SHORT_') == 0) elem[i].style.display = 'none';
877
			if (elem[i].id.indexOf('LONG_') == 0) elem[i].style.display = 'block';
878
		}
879
	}
880
 
881
}
882
 
883
//-->
884
</script>
885
 
886
</head>
887
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
888
<form name="FormName" method="post" action="<%=SCRIPT_NAME%>">
889
<!-- HEADER -->
890
<!--#include file="_header.asp"-->
891
<!-- BODY ---->
892
<table width="100%" border="0" cellspacing="0" cellpadding="0">
893
  <tr> 
894
    <td width="1%" background="images/bg_lite_blue.gif" valign="top">
895
 
896
 
897
	<!-- SELECT SBOM A ---------------------------------------------->
898
 
899
	<br>
900
      <table width="100%"  border="0" cellspacing="10" cellpadding="0">
901
 
902
		<tr>
903
          <td align="left" class="body_col"><img src="images/i_rtag_open_mode.gif" border="0" align="absmiddle" width="15" height="13">&nbsp;Select SBOM A<hr size="1px" color="Olive" noshade></td>
904
        </tr>
905
        <tr>
906
          <td align="left">
907
		  <select name="projA" class="form_item" onChange="RequestReleaseCombo( '?proj_id='+ this.value, FormName.rtagA );">
908
              <option value="">-- Select Project --</option>
909
			  <%
910
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorA.Item("proj_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
911
 
912
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProjectsCombo.sql"), cint(0))
913
 
914
			  OraDatabase.Parameters.Remove "PROJ_ID"
915
 
916
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
917
                <option value="<%=rsQry("proj_id")%>" <%=rsQry("selected")%>><%=rsQry("proj_name")%></option>
918
              <%rsQry.MoveNext
919
			  WEnd
920
 
921
			  rsQry.Close
922
			  Set rsQry = Nothing
923
			%>
924
          </select></td>
925
        </tr>
926
        <tr>
927
          <td align="left">
928
 
929
		  <select name="rtagA" id="rtagA" class="form_item" onChange="RequestSBOMCombo( '?branch_id='+ this.value, FormName.sbomA );">
930
              <option value="">-- Select SBOM --</option>			  
931
			  <%
932
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorA.Item("proj_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
933
			  OraDatabase.Parameters.Add "BRANCH_ID", 	objRelCollectorA.Item("branch_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
934
 
935
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ReleasesCombo.sql"), cint(0))
936
 
937
			  OraDatabase.Parameters.Remove "PROJ_ID"
938
			  OraDatabase.Parameters.Remove "BRANCH_ID"
939
 
940
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
941
                <option value="<%=rsQry("branch_id")%>" <%=rsQry("selected")%>><%=rsQry("branch_name")%></option>
942
              <%rsQry.MoveNext
943
			  WEnd
944
 
945
			  rsQry.Close
946
			  Set rsQry = Nothing
947
			  %>
948
		  </select></td>
949
        </tr>
950
        <tr>
951
          <td align="left">
952
 
953
 
954
		  <select name="sbomA" id="sbomA" class="form_item">
955
            <%
956
			  OraDatabase.Parameters.Add "BOM_ID", 	objRelCollectorA.Item("bom_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
957
			  OraDatabase.Parameters.Add "BRANCH_ID", 	objRelCollectorA.Item("branch_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
958
 
959
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("SBOMCombo.sql"), cint(0))
960
 
961
			  OraDatabase.Parameters.Remove "BOM_ID"
962
			  OraDatabase.Parameters.Remove "BRANCH_ID"
963
 
964
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
965
            <option value="<%=rsQry("bom_id")%>" <%=rsQry("selected")%>><%=rsQry("version")%></option>
966
            <%rsQry.MoveNext
967
			  WEnd
968
 
969
			  rsQry.Close
970
			  Set rsQry = Nothing
971
			  %>
972
          </select>
973
 
974
		  </td>
975
        </tr>
976
		<%If (parRtagA <> "") Then%>  
977
		<tr>
978
          <td align="left"><a href="Bom_Home.asp?bom_id=<%=parSBOMA%>" class="body_txt_drk">Go To SBOM A &raquo;</a></td>
979
        </tr>
980
		<%End If%>
981
    </table>
982
 
983
    <!-- SELECT SBOM A END ---------------------------------------------->	</td>
984
    <td width="1%" valign="top" background="images/bg_lght_gray.gif">&nbsp;</td>
985
    <td rowspan="2" valign="top" width="100%" background="images/bg_lght_gray.gif" align="center"> 
986
      <!-- DIFF -------------------------------------------------------->
987
      <br>
988
 
989
 
990
 
991
 
992
      <table width="100%" border="0" cellspacing="10" cellpadding="0">
993
        <tr>
994
          <td>
995
 
996
 
997
 
998
            <table width="100%" border="0" cellspacing="0" cellpadding="0">
999
			  <tr> 
1000
                <td width="1%"></td>
19 rsolanki 1001
                <td width="100%" align="left" class="form_ttl">DIFF SBOM</td>
13 rsolanki 1002
                <td width="1%"></td>
1003
              </tr>
1004
              <tr> 
1005
                <td align="left" valign="top" background="images/lbox_bg_blue.gif"><img src="images/lbox_tl_cnr_b.gif" width="13" height="13"></td>
1006
                <td background="images/lbox_bg_blue.gif" align="left" class="wform_ttl">&nbsp; 
1007
                </td>
1008
                <td align="right" valign="top" background="images/lbox_bg_blue.gif"><img src="images/lbox_tr_cnr_b.gif" width="13" height="13"></td>
1009
              </tr>
1010
              <tr> 
1011
                <td width="1%" bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10" height="100"></td>
1012
                <td bgcolor="#FFFFFF" valign="top" class="form_item">
1013
 
1014
 
1015
 
1016
				<table width="100%"  border="0" cellspacing="0" cellpadding="5">
1017
                  <tr>
1018
                    <td width="100%" bgcolor="#DAD7C8">
1019
					<input type="submit" name="btn" value="Compare" class="form_btn_comp" style="margin-right:5px;">
15 rsolanki 1020
					<input type="submit" name="btn" value="Swap Compare" class="form_btn_comp">
13 rsolanki 1021
					<span class="body_txt">
1022
					<input name="btn" type="submit" class="form_btn" value="Mail Me Report">
1023
					</span>					</td>
1024
                    <td width="1" align="right" bgcolor="#DAD7C8" nowrap>
1025
					<table width="100%"  border="0" cellspacing="0" cellpadding="0">
1026
                      <tr>
1027
 
1028
                        <td><input type="submit" name="btn" value="Exit" class="form_btn_comp"></td>
1029
                      </tr>
1030
                    </table></td>
1031
                  </tr>
1032
				  <tr>
1033
                    <td>
1034
					<%If (parRtagA <> "") AND (parRtagB <> "")Then%> 
1035
					<!-- DIFF FILTER +++++++++++++++++++++++++++++++++++++++++++ -->   
1036
					<fieldset style="width:150px;">
1037
					<legend><a href="javascript:;" class="body_scol" onClick="ToggleDisplay('divDiffFilter');" ><%=GetIsDiffFilterInUseIcon() %>&nbsp;Filter&nbsp;Results...</a></legend>			            	  
1038
					<div name="divDiffFilter" id="divDiffFilter" class="body_txt" style="display:none;">
1039
					<br>
1040
					<table width="100%"  border="0" cellspacing="1" cellpadding="3">
1041
					    <tr>
1042
					      <td width="1" background="images/bg_action_norm.gif"><input name="difilter" type="checkbox" value="<%=enumDB_DIFF_UPDATED%>" <%=GetIsDiffFilterChecked(enumDB_DIFF_UPDATED)%>></td>
1043
					      <td width="50" nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_UPDATED%>Updated</td>
1044
					    </tr>
1045
					    <tr>
1046
					      <td background="images/bg_action_norm.gif"><input type="checkbox" name="difilter" value="<%=enumDB_DIFF_NEW%>" <%=GetIsDiffFilterChecked(enumDB_DIFF_NEW)%>></td>
1047
					      <td nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_ADDED%>Added</td>
1048
					    </tr>
1049
					    <tr>
1050
					      <td background="images/bg_action_norm.gif"><input type="checkbox" name="difilter" value="<%=enumDB_DIFF_REMOVED%>" <%=GetIsDiffFilterChecked(enumDB_DIFF_REMOVED)%>></td>
1051
					      <td nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_REMOVED%>Removed</td>
1052
					    </tr>
1053
					    <tr>
1054
 
1055
					    <tr>
1056
					      <td background="images/bg_action_norm.gif">&nbsp;</td>
1057
					      <td background="images/bg_action_norm.gif"><input name="btn" type="submit" class="form_btn" value="Hide"></td>
1058
					    </tr>
1059
					  </table>
1060
					</div>
1061
					</fieldset>
1062
					<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
1063
					<%End If%>
1064
					</td>
1065
                    <td></td>
1066
                  </tr>
1067
                </table>
1068
 
1069
				<%
1070
				' Successfull Merge
1071
				If (Request("btn") = "Merge") Then
1072
					Call Messenger ( "Merge has completed successfully.", 3, "100%" )				
1073
				End If
1074
 
1075
				Set FSO=Server.CreateObject("Scripting.FileSystemObject")
15 rsolanki 1076
				Set NewTextFile=FSO.CreateTextFile(Server.MapPath("docs\compareBoms_"&objAccessControl.UserName&".html"), true)
13 rsolanki 1077
				Call Header()				
1078
 
1079
				If (parRtagA <> "") AND (parRtagB <> "")Then%>  
1080
                <table width="100%"  border="0" cellspacing="1" cellpadding="0">
1081
                  <tr>
1082
                    <td width="50%" bgcolor="#E4E9EC" class="body_row" nowrap><%= ReleaseIcon(objRelCollectorA.Item("official")) & objRelCollectorA.Item("location")%> </td>
1083
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
1084
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="20"></td>
1085
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
1086
                    <td width="50%" bgcolor="#E4E9EC" class="body_row" nowrap><%= ReleaseIcon(objRelCollectorB.Item("official")) & objRelCollectorB.Item("location")%></td>
1087
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
1088
                  </tr>
1089
			    <%
1090
 
1091
				OraDatabase.Parameters.Add "SBOM_A", 	parSBOMA,	ORAPARM_INPUT, ORATYPE_NUMBER 
1092
				OraDatabase.Parameters.Add "SBOM_B", 	parSBOMB,	ORAPARM_INPUT, ORATYPE_NUMBER 
1093
				OraDatabase.Parameters.Add "NO_CHANGE", GetIsDiffFilterChecked(enumDB_DIFF_NO_CHANGE),		ORAPARM_INPUT, ORATYPE_VARCHAR2
1094
				OraDatabase.Parameters.Add "ADDED", 	GetIsDiffFilterChecked(enumDB_DIFF_NEW),		ORAPARM_INPUT, ORATYPE_VARCHAR2
1095
				OraDatabase.Parameters.Add "UPDATED", 	GetIsDiffFilterChecked(enumDB_DIFF_UPDATED),		ORAPARM_INPUT, ORATYPE_VARCHAR2
1096
				OraDatabase.Parameters.Add "REMOVED", 	GetIsDiffFilterChecked(enumDB_DIFF_REMOVED),		ORAPARM_INPUT, ORATYPE_VARCHAR2
1097
 
1098
				Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("BOMDiff.sql"), cint(0))
1099
 
1100
				OraDatabase.Parameters.Remove "SBOM_A"
1101
				OraDatabase.Parameters.Remove "SBOM_B"
1102
				OraDatabase.Parameters.Remove "NO_CHANGE"
1103
				OraDatabase.Parameters.Remove "ADDED"
1104
				OraDatabase.Parameters.Remove "UPDATED"
1105
				OraDatabase.Parameters.Remove "REMOVED"
1106
 
1107
				Set rsQryA = OraDatabase.DbCreateDynaset( "SELECT pr.PROJ_NAME, br.BRANCH_NAME, b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE  AS LOCATION, "&_
1108
	"        pr.PROJ_ID, b.BOM_ID, br.BRANCH_ID"&_
1109
	"  FROM BRANCHES br,"&_
1110
	"  		BOMS b,"&_	
1111
	"  	    DM_PROJECTS pr"&_
1112
	" WHERE br.PROJ_ID = pr.PROJ_ID"&_
1113
	" 	AND b.BRANCH_ID = br.BRANCH_ID"&_	
1114
	"   AND b.BOM_ID ="&parSBOMA, cint(0))
1115
 
1116
 
1117
				Set rsQryB = OraDatabase.DbCreateDynaset( "SELECT pr.PROJ_NAME, br.BRANCH_NAME, b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE  AS LOCATION, "&_
1118
	"        pr.PROJ_ID, b.BOM_ID, br.BRANCH_ID"&_
1119
	"  FROM BRANCHES br,"&_
1120
	"  		BOMS b,"&_	
1121
	"  	    DM_PROJECTS pr"&_
1122
	" WHERE br.PROJ_ID = pr.PROJ_ID"&_
1123
	" 	AND b.BRANCH_ID = br.BRANCH_ID"&_	
1124
	"   AND b.BOM_ID ="&parSBOMB, cint(0))
1125
 
15 rsolanki 1126
 
1127
				Call Javascript()
1128
 
13 rsolanki 1129
				NewTextFile.WriteLine("<title>Difference Report Between "&rsQryA("branch_name")&" "&rsQryA("location")&" and "&rsQryB("branch_name")&" "&rsQryB("location")&"</title>")
1130
				NewTextFile.WriteLine("<div align="&chr(34)&"center"&chr(34)&"><font color="&chr(34)&"red"&chr(34)&" size="&chr(34)&"4"&chr(34)&" face="&chr(34)&"Verdana, Arial, Helvetica, sans-serif"&chr(34)&">Difference Report Between "&rsQryA("branch_name")&" "&rsQryA("location")&" and "&rsQryB("branch_name")&" "&rsQryB("location")&"</font></div><br>")
1131
 
1132
				While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))
23 rsolanki 1133
				VersionList = "0"
13 rsolanki 1134
				errormsg = false
1135
					rowId = rsQry("pv_id_a") &"_"& rsQry("pv_id_b")
1136
 
1137
					btnMerge = LIMG_MERGE
1138
					btnRemove = LIMG_REMOVE
1139
					colorA = LCOLOR_NOT_CHANGED
1140
					colorB = LCOLOR_NOT_CHANGED
1141
 
1142
					Select Case rsQry("change_type")
1143
						Case "U"
1144
							colorA = LCOLOR_CHANGED
1145
							colorB = LCOLOR_CHANGED							
1146
						Case "UW"
1147
							colorA = LCOLOR_CHANGED
1148
							colorB = LCOLOR_CHANGED
1149
							btnMerge = LIMG_MERGE_WARN
1150
						Case "A"
1151
							colorA = LCOLOR_BLANK
1152
						Case "R"
1153
							colorB = LCOLOR_BLANK
1154
					End Select
1155
 
1156
					Call GetDiffStateIcon ( rsQry("change_type"), ChangeTypeIcon )
1157
				%>
1158
				  <tr>
1159
                    <td class="body_row" nowrap>
1160
						<DIV id="PVA<%=rowId%>" style="background:<%=colorA%>; padding:5px;">
1161
						<%=rsQry("pkg_name_a") &" "& rsQry("pkg_version_a")%>
1162
						</DIV>
1163
						<input type="hidden" id="UNDOCOLORA_<%=rowId%>" value="<%=colorA%>">
1164
					</td>
1165
                    <td bgcolor="#F5F5F5"></td>
1166
                    <td bgcolor="#E4E9EC"><DIV id="IMGSTATE<%=rowId%>" ><%=ChangeTypeIcon%></DIV><input type="hidden" id="CHANGETYPE_<%=rowId%>" value="<%=rsQry("change_type")%>"></td>
1167
                    <td bgcolor="#F5F5F5"></td>
1168
                    <td class="body_row" nowrap>
1169
						<DIV id="PVB<%=rowId%>" style="background:<%=colorB%>; padding:5px;">
1170
						<%=rsQry("pkg_name_b") &" "& rsQry("pkg_version_b")%>
1171
						</DIV>
1172
						<input type="hidden" id="UNDOCOLORB_<%=rowId%>" value="<%=colorB%>">
1173
						<input type="hidden" name="addpkg" id="ADDPKG_<%=rowId%>" value="">
1174
						<input type="hidden" name="removepkg" id="REMOVEPKG_<%=rowId%>" value="">
1175
						<input type="hidden" id="UNDOPKG_<%=rowId%>" value="<%=rsQry("pkg_name_b") &" "& rsQry("pkg_version_b")%>">
1176
					</td>
1177
                    <td bgcolor="#F5F5F5"><DIV id="IMGUNDO<%=rowId%>" style="display:none;" ><a href="javascript:;" onClick="UndoPackage( '<%=rowId%>' );"><%=LIMG_UNDO%></a></DIV></td>
1178
                  </tr> 
1179
<%
1180
	If email then 
1181
		If rsQry("pv_id_a") Then
1182
			Set rsQryCommentsA = OraDatabase.DbCreateDynaset( "SELECT COMMENTS FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_a"), cint(0)) 
1183
		End If
1184
 
1185
		If rsQry("pv_id_b") Then
1186
			Set rsQryCommentsB = OraDatabase.DbCreateDynaset( "SELECT COMMENTS FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_b"), cint(0)) 
1187
		End If
1188
 
1189
		pkgA = rsQry("pkg_name_a")
1190
		pkgB = rsQry("pkg_name_b")
1191
 
1192
		If pkgA <> "" then 
1193
			pkgname = pkgA
1194
		Else
1195
			pkgname = pkgB
1196
		End If
1197
 
15 rsolanki 1198
		If rsQry("change_type") = "U" OR rsQry("change_type") = "UW" Then
1199
				NewTextFile.Write("<p><SPAN id=""spanShowDetails"& rowId &""" name=""spanShowDetails""><a href=""javascript:;"" class=""body_scol"" onClick=""DisplaySPAN(true,'"& rowId &"');"">"& pkgname &"</a></SPAN>")
1200
				NewTextFile.Write("<SPAN id=""spanHideDetails"& rowId &""" name=""spanHideDetails"" style=""display:none;""><a href=""javascript:;"" class=""body_scol"" onClick=""DisplaySPAN(false,'"& rowId &"');"">"& pkgname &"</a></SPAN>")
1201
				NewTextFile.WriteLine("<SPAN id=""spanPkgInfo"& rowId &""" name=""spanPkgInfo"" style=""display:none;"">")								
1202
				'NewTextFile.WriteLine("<b><font face="&chr(34)&"arial"&chr(34)&">Package Name: "&pkgname&"</font></b><br>")
13 rsolanki 1203
				NewTextFile.Write(rsQryA("location")&" uses: "&rsQry("pkg_version_a")&" ")
1204
 
1205
				NewTextFile.WriteLine("<br>")
1206
				NewTextFile.Write(rsQryB("location")&" uses: "&rsQry("pkg_version_b")&" ")
1207
 
15 rsolanki 1208
				a = rsQry("pv_id_a")
1209
				b = rsQry("pv_id_b")
1210
				c = rsQry("pv_id_a")
1211
				d = rsQry("pv_id_b")
1212
 
1213
				'On Error Resume Next
13 rsolanki 1214
 
1215
 
15 rsolanki 1216
 
23 rsolanki 1217
				'NewTextFile.WriteLine("<br><br>")
1218
				'NewTextFile.WriteLine()
1219
				'NewTextFile.WriteLine("<b>"&rsQryA("location")&"</b>")	
1220
				'Call Comments(rsQry("pv_id_a"))
1221
				'Call GetFixedIssues(rsQry("pv_id_a"))
15 rsolanki 1222
				'Call GetDependencies(rsQry("pv_id_a"), rsQry("pv_id_b"))
13 rsolanki 1223
 
1224
				NewTextFile.WriteLine("<br><br>")
1225
				NewTextFile.WriteLine()
1226
				NewTextFile.WriteLine("<b>"&rsQryB("location")&"</b>")	
1227
				Call Comments(rsQry("pv_id_b"))
1228
				Call GetFixedIssues(rsQry("pv_id_b"))
1229
 
15 rsolanki 1230
				Dim rsQryLast
1231
				Set rsQryLast = OraDatabase.DbCreateDynaset( "SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_b"), cint(0)) 
13 rsolanki 1232
 
15 rsolanki 1233
				If rsQryLast("last_pv_id") <> a Then
1234
					Call PreviousVersions(a, b, rsQry("pkg_version_a"), rsQry("pkg_version_b"))
1235
				End If	
1236
 
1237
				a = rsQry("pv_id_a")
1238
				b = rsQry("pv_id_b")
23 rsolanki 1239
				Call GetDependencies(a, VersionList + ","+ b, rsQry("pkg_version_a"), rsQry("pkg_version_b"))	
15 rsolanki 1240
				NewTextFile.WriteLine("</SPAN>")	
1241
 
1242
				rsQryLast.Close
1243
				Set rsQryLast = nothing
1244
 
1245
		End If
17 rsolanki 1246
 
1247
		If rsQry("change_type") = "A" AND rsQry("patch_b") = "Y" Then
1248
			Dim rsQryPatch
1249
			OraDatabase.Parameters.Add "PV_ID", 	rsQry("pv_id_b"),	ORAPARM_INPUT, ORATYPE_NUMBER 
1250
			Set rsQryPatch = OraDatabase.DbCreateDynaset( GetQuery("pd_patch.sql"), cint(0))
1251
			OraDatabase.Parameters.Remove "PV_ID"
19 rsolanki 1252
			If NOT IsNull(rsQryPatch("pv_id")) Then
1253
				NewTextFile.Write("<p><SPAN id=""spanShowDetails"& rowId &""" name=""spanShowDetails""><a href=""javascript:;"" class=""body_scol"" onClick=""DisplaySPAN(true,'"& rowId &"');"">"& rsQryPatch("pkg_name") &" "& rsQryPatch("pkg_version") &"</a></SPAN>")
1254
				NewTextFile.Write("<SPAN id=""spanHideDetails"& rowId &""" name=""spanHideDetails"" style=""display:none;""><a href=""javascript:;"" class=""body_scol"" onClick=""DisplaySPAN(false,'"& rowId &"');"">"& rsQryPatch("pkg_name") &" "& rsQryPatch("pkg_version") &"</a></SPAN>")
1255
				NewTextFile.WriteLine("<SPAN id=""spanPkgInfo"& rowId &""" name=""spanPkgInfo"" style=""display:none;"">")								
1256
				Call Comments(rsQryPatch("pv_id"))
1257
				Call GetFixedIssues(rsQryPatch("pv_id"))
1258
			Else
1259
				NewTextFile.Write("<p><SPAN id=""spanShowDetails"& rowId &""" name=""spanShowDetails""><a href=""javascript:;"" class=""body_scol"" onClick=""DisplaySPAN(true,'"& rowId &"');"">"& rsQry("pkg_name_b") &" "& rsQry("pkg_version_b") &"</a></SPAN>")
1260
				NewTextFile.Write("<SPAN id=""spanHideDetails"& rowId &""" name=""spanHideDetails"" style=""display:none;""><a href=""javascript:;"" class=""body_scol"" onClick=""DisplaySPAN(false,'"& rowId &"');"">"& rsQry("pkg_name_b") &" "& rsQry("pkg_version_b") &"</a></SPAN>")
1261
				NewTextFile.WriteLine("<SPAN id=""spanPkgInfo"& rowId &""" name=""spanPkgInfo"" style=""display:none;"">")								
1262
				Call Comments(rsQry("pv_id_b"))
1263
				Call GetFixedIssues(rsQry("pv_id_b"))	
1264
			End If	
17 rsolanki 1265
 
1266
			NewTextFile.WriteLine("</SPAN>")	
1267
			rsQryPatch.Close
1268
			Set rsQryPatch = nothing
1269
 
1270
		End If
15 rsolanki 1271
 
13 rsolanki 1272
	End If
1273
 
1274
	rsQry.MoveNext
1275
	WEnd
1276
 
1277
	rsQry.Close
1278
	Set rsQry = Nothing
1279
%>									  
1280
<%
1281
	Call Footer()
1282
	NewTextFile.Close
1283
	Set NewTextFile=Nothing 
1284
%>				  
1285
                </table>
1286
                <br>
1287
			<%Else%>	
1288
				<br>
1289
				<%
1290
				If (parRtagB <> "") Then
1291
					Call Messenger ( "Select <b>SBOM A</b> to compare.", 3, "100%" )					
1292
				ElseIf (parRtagA <> "") Then
1293
					Call Messenger ( "Select <b>SBOM B</b> to compare.", 3, "100%" )					
1294
				Else
1295
					Call Messenger ( "Select <b>SBOM A</b> and <b>SBOM B</b> to compare.", 3, "100%" )					
1296
				End If
1297
				%>
1298
 
1299
			<%End If%>
1300
 
1301
				</td>
1302
                <td width="1%" background="images/lbox_bgside_white.gif">&nbsp;</td>
1303
              </tr>
1304
              <tr> 
1305
                <td width="1%" background="images/lbox_bg_blue.gif" valign="bottom"><img src="images/lbox_bl_cnr_b.gif" width="13" height="13"></td>
1306
                <td background="images/lbox_bg_blue.gif"></td>
1307
                <td width="1%" background="images/lbox_bg_blue.gif" valign="bottom" align="right"><img src="images/lbox_br_cnr_b.gif" width="13" height="13"></td>
1308
              </tr>
1309
            </table>
1310
          </td>
1311
        </tr>
1312
      </table>
1313
    <!-- DIFF END ---------------------------------------------------->
1314
    </td>
1315
	<td valign="top" width="1%" background="images/bg_lite_blue.gif"> 
1316
 
1317
 
1318
	  <!-- SELECT SBOM B ---------------------------------------------->
1319
      <br>
1320
      <table width="100%"  border="0" cellspacing="10" cellpadding="0">
1321
		<tr>
1322
          <td align="left" class="body_col"><img src="images/i_rtag_open_mode.gif" border="0" align="absmiddle" width="15" height="13">&nbsp;Select SBOM B<hr size="1px" color="Olive" noshade></td>
1323
        </tr>
1324
        <tr>
1325
          <td align="left">
1326
		  <select name="projB" class="form_item" onChange="RequestReleaseCombo( '?proj_id='+ this.value, FormName.rtagB );">
1327
              <option value="">-- Select Project --</option>
1328
			  <%
1329
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorB.Item("proj_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
1330
 
1331
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProjectsCombo.sql"), cint(0))
1332
 
1333
			  OraDatabase.Parameters.Remove "PROJ_ID"
1334
 
1335
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
1336
                <option value="<%=rsQry("proj_id")%>" <%=rsQry("selected")%>><%=rsQry("proj_name")%></option>
1337
              <%rsQry.MoveNext
1338
			  WEnd
1339
 
1340
			  rsQry.Close
1341
			  Set rsQry = Nothing
1342
			%>
1343
          </select></td>
1344
        </tr>
1345
        <tr>
1346
          <td align="left">
1347
 
1348
		  <select name="rtagB" id="rtagB" class="form_item" onChange="RequestSBOMCombo( '?branch_id='+ this.value, FormName.sbomB );">
1349
              <option value="">-- Select SBOM --</option>		  
1350
			  <%
1351
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorB.Item("proj_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
1352
			  OraDatabase.Parameters.Add "BRANCH_ID", 	objRelCollectorB.Item("branch_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
1353
 
1354
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ReleasesCombo.sql"), cint(0))
1355
 
1356
			  OraDatabase.Parameters.Remove "PROJ_ID"
1357
			  OraDatabase.Parameters.Remove "BRANCH_ID"
1358
 
1359
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
1360
                <option value="<%=rsQry("branch_id")%>" <%=rsQry("selected")%>><%=rsQry("branch_name")%></option>
1361
              <%rsQry.MoveNext
1362
			  WEnd
1363
 
1364
			  rsQry.Close
1365
			  Set rsQry = Nothing
1366
			  %>
1367
		  </select></td>
1368
        </tr>
1369
        <tr>
1370
          <td align="left">
1371
 
1372
 
1373
		  <select name="sbomB" id="sbomB" class="form_item">
1374
            <%
1375
			  OraDatabase.Parameters.Add "BOM_ID", 	objRelCollectorB.Item("bom_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
1376
			  OraDatabase.Parameters.Add "BRANCH_ID", 	objRelCollectorB.Item("branch_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
1377
 
1378
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("SBOMCombo.sql"), cint(0))
1379
 
1380
			  OraDatabase.Parameters.Remove "BOM_ID"
1381
			  OraDatabase.Parameters.Remove "BRANCH_ID"
1382
 
1383
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
1384
            <option value="<%=rsQry("bom_id")%>" <%=rsQry("selected")%>><%=rsQry("version")%></option>
1385
            <%rsQry.MoveNext
1386
			  WEnd
1387
 
1388
			  rsQry.Close
1389
			  Set rsQry = Nothing
1390
			  %>
1391
          </select>
1392
 
1393
 
1394
		  </td>
1395
        </tr>
1396
		<%If (parRtagB <> "") Then%>  
1397
		<tr>
1398
          <td align="left"><a href="Bom_home.asp?bom_id=<%=parSBOMB%>" class="body_txt_drk">Go To SBOM B &raquo;</a></td>
1399
        </tr>
1400
		<%End If%>
1401
      </table>
1402
      <!-- SELECT RELEASE B END ---------------------------------------------->	  </td>
1403
  </tr>
1404
  <tr> 
1405
    <td valign="bottom" align="center" background="images/bg_lite_blue.gif"><img src="images/img_vtree.gif" width="86" height="99" vspace="20" hspace="30"></td>
1406
    <td background="images/bg_lght_gray.gif" valign="top"><img src="images/h_trsp_dot.gif" width="1" height="500"></td>
1407
	<td valign="bottom" background="images/bg_lite_blue.gif" align="center"><img src="images/img_vtree.gif" width="86" height="99" vspace="20" hspace="30"></td>
1408
  </tr>
1409
</table>
1410
</form>
1411
<!-- FOOTER -->
1412
<!--#include file="_footer.asp"-->
1413
<%
1414
	If email Then
1415
 
1416
		Dim myMail, LocalPath
1417
		Set myMail=Server.CreateObject("Persits.MailSender")
15 rsolanki 1418
		LocalPath = Server.MapPath("docs\compareBoms_"&objAccessControl.UserName&".html")
13 rsolanki 1419
 
1420
		myMail.Host = SMTP_HOST
15 rsolanki 1421
		myMail.Subject="BOM Comparisons from Deployment Manager"
13 rsolanki 1422
		myMail.From="releasem@erggroup.com"
1423
		myMail.AddAddress objAccessControl.UserEmail
1424
		' Attach the file
1425
		myMail.AddAttachment LocalPath
1426
		myMail.Body = "Your requested report..." 
1427
		myMail.Send
1428
 
1429
		set myMail=nothing
1430
 
1431
	End If
1432
%>
1433
</body>
1434
</html>
1435
<%
1436
Call Destroy_All_Objects
1437
%>
1438
<!--#include file="common/globals_destructor.asp"-->