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