Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
13 rsolanki 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
4
'|                                                   |
29 jtweddle 5
'|				        BOM DIFF				     |
13 rsolanki 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
<%
1333 dpurdie 16
'To enable the script timeout to 10 mins
17
Server.ScriptTimeout=1200
13 rsolanki 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
3947 dpurdie 51
Dim SSsql, retVal, rsCQ, DEVIiss
29 jtweddle 52
Dim a, b, c, d, pkgversion, errormsg 
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
29 jtweddle 96
 
13 rsolanki 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("	}")
29 jtweddle 125
	NewTextFile.WriteLine("}")
126
	NewTextFile.WriteLine("</script>")
15 rsolanki 127
End Sub
128
'--------------------------------------------------------------------------------------------------------------------------
29 jtweddle 129
Sub GetFixedIssues(pv_id, issues)
130
 
131
	If issues <> "Filter Issues" Then
132
		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 &" UNION SELECT iss_db, iss_id, iss_state, notes FROM ARCHIVE_MANAGER.CQ_ISSUES WHERE pv_id="& pv_id &" AND iss_state = "& enumISSUES_STATE_FIXED, cint(0))						 
19 rsolanki 133
 
29 jtweddle 134
		If sqlstrC.RecordCount <> 0 Then
135
		NewTextFile.WriteLine()
136
		NewTextFile.WriteLine("<blockquote><blockquote>Fixed Issues:</blockquote></blockquote>")
137
		NewTextFile.WriteLine("<blockquote><blockquote><blockquote><table class='fixed_issues' >")
138
		NewTextFile.WriteLine("<tr>")
139
		NewTextFile.WriteLine("<td width='10%' class='form_field'>Issue Id</td>")
140
		NewTextFile.WriteLine("<td width='55%' class='form_field'>Summary</td>")
141
		NewTextFile.WriteLine("<td width='10%' class='form_field'>Issue Type</td>")
142
		NewTextFile.WriteLine("<td width='15%' class='form_field'>Priority</td>")
143
		NewTextFile.WriteLine("<td width='10%' class='form_field'>Status</td>")
144
		NewTextFile.WriteLine("</tr>")
145
 
146
			While ((NOT sqlstrC.BOF) AND (NOT sqlstrC.EOF))
147
				DEVIiss = "-1"
3947 dpurdie 148
 
29 jtweddle 149
				If CInt(sqlstrC("iss_db")) = CInt(enumCLEARQUEST_DEVI_ID) Then
150
					DEVIiss = DEVIiss &","& sqlstrC("iss_id")
151
				End If
13 rsolanki 152
 
29 jtweddle 153
				SSsql = ReadFile( QUERIES_PATH & "\cq_issues.sql" )
154
				SSsql = Replace( SSsql, "/*enumCLEARQUEST_DEVI_ID*/", enumCLEARQUEST_DEVI_ID)
155
				SSsql = Replace( SSsql, "/*DEVIiss*/", DEVIiss)
13 rsolanki 156
 
29 jtweddle 157
				retVal = Get_CQ_Issues ( SSsql, rsCQ )			
13 rsolanki 158
 
29 jtweddle 159
				NewTextFile.WriteLine("<tr>")
160
			NewTextFile.WriteLine("<td nowrap class='form_item'>"&rsCQ("iss_num")&"</td>")
17 rsolanki 161
 
29 jtweddle 162
			NewTextFile.WriteLine("<td class='form_item'>"&NewLine_To_BR ( To_HTML ( rsCQ("summary") ) )&"</td>")
163
			NewTextFile.WriteLine("<td class='form_item'>"&rsCQ("issue_type")&"</td>")
164
			NewTextFile.WriteLine("<td class='form_item'>"&rsCQ("priority")&"</td>")
165
			NewTextFile.WriteLine("<td class='form_item'>"&rsCQ("Status")&"</td>")
166
				NewTextFile.WriteLine("</tr>")
17 rsolanki 167
 
29 jtweddle 168
				sqlstrC.MoveNext
17 rsolanki 169
 
29 jtweddle 170
			Wend
171
 
172
			NewTextFile.WriteLine( "                        </table></blockquote></blockquote></blockquote> 		")
173
 
174
		End If
17 rsolanki 175
 
29 jtweddle 176
		sqlstrC.Close()
177
		Set sqlstrC = Nothing
178
	End If
17 rsolanki 179
 
180
End Sub
181
'--------------------------------------------------------------------------------------------------------------------------
29 jtweddle 182
Function LastPvId(pvId)
15 rsolanki 183
	Dim qryA
29 jtweddle 184
	Set qryA = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&pvId &_
185
	" UNION SELECT LAST_PV_ID FROM ARCHIVE_MANAGER.PACKAGE_VERSIONS WHERE PV_ID="&pvId, cint(0))
15 rsolanki 186
 
29 jtweddle 187
	LastPvId = pvId
188
 
189
	If pvId <> qryA("last_pv_id") Then	
190
		LastPvId = qryA("last_pv_id")
15 rsolanki 191
	Else 
192
		errormsg = true
193
	End If
194
 
195
	qryA.Close()
29 jtweddle 196
	Set qryA = Nothing
197
 
198
End Function
15 rsolanki 199
'--------------------------------------------------------------------------------------------------------------------------
29 jtweddle 200
Sub PreviousVersions(a, b, versionA, versionB, data, issues)
15 rsolanki 201
	NewTextFile.WriteLine()
202
	NewTextFile.WriteLine("<b>Versions Between: "&versionA&" and "&versionB&"</b>")
203
 
27 rsolanki 204
	If CLng(a) < CLng(b) Then
29 jtweddle 205
		While CLng(a) < CLng(b)
206
			b = LastPvId(b)
27 rsolanki 207
			If CLng(a) < CLng(b) Then
23 rsolanki 208
				VersionList = VersionList + ","& b &""
29 jtweddle 209
				Call Comments(b, data)
210
				Call GetFixedIssues(b, issues)
27 rsolanki 211
			End If
15 rsolanki 212
		Wend
213
	End If	
27 rsolanki 214
 
215
	If CLng(b) < CLng(a) Then
29 jtweddle 216
		While CLng(b) < CLng(a)
217
			a = LastPvId(a)
27 rsolanki 218
			If CLng(b) < CLng(a) Then
23 rsolanki 219
				VersionList = VersionList + ","& a &""
29 jtweddle 220
				Call Comments(a, data)
221
				Call GetFixedIssues(a, issues)
27 rsolanki 222
			End If
15 rsolanki 223
		Wend	
224
	End If
225
 
226
End Sub
227
'--------------------------------------------------------------------------------------------------------------------------
29 jtweddle 228
Sub GetDependencies(pv_id_a, pv_id_b, versionA, versionB, comments, issues)
17 rsolanki 229
	On Error Resume Next
23 rsolanki 230
 
29 jtweddle 231
	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 &")" &_
232
	" UNION select distinct dpv_id from ARCHIVE_MANAGER.package_dependencies where pv_id IN ("& pv_id_b &") and dpv_id NOT IN (SELECT dpv_id from ARCHIVE_MANAGER.package_dependencies where pv_id = "& pv_id_a &") order by dpv_id desc", cint(0))
23 rsolanki 233
 
29 jtweddle 234
	If sqlstrA.RecordCount <> 0 Then
235
		NewTextFile.WriteLine()
236
		NewTextFile.WriteLine("<b>Dependencies Changed Between "&versionA&" and "&versionB&":</b>")
23 rsolanki 237
 
238
		While ((NOT sqlstrA.BOF) AND (NOT sqlstrA.EOF))
29 jtweddle 239
			Call dependencyComments(sqlstrA("dpv_id"), comments)
240
			Call GetFixedIssues(sqlstrA("dpv_id"), issues)
23 rsolanki 241
			sqlstrA.MoveNext
242
		Wend
13 rsolanki 243
 
29 jtweddle 244
	End If
245
 
246
	sqlstrA.Close()
247
	Set sqlstrA = Nothing
248
 
13 rsolanki 249
End Sub
250
'--------------------------------------------------------------------------------------------------------------------------
29 jtweddle 251
Sub dependencyComments(pv_id, comments)
13 rsolanki 252
 
29 jtweddle 253
		Set sqlstrB = OraDatabase.DbCreateDynaset("SELECT * FROM PACKAGE_VERSIONS pv, PACKAGES pkg WHERE pkg.pkg_id = pv.pkg_id AND PV_ID ="&pv_id &_
254
		" UNION SELECT * FROM ARCHIVE_MANAGER.PACKAGE_VERSIONS pv, ARCHIVE_MANAGER.PACKAGES pkg WHERE pkg.pkg_id = pv.pkg_id AND PV_ID ="&pv_id, cint(0))	
255
		NewTextFile.WriteLine("<blockquote><blockquote><span class="&chr(34)&"highlight_text"&chr(34)&">"& sqlstrB("pkg_name") &" "& sqlstrB("pkg_version") &"</font></span></blockquote></blockquote>")	
256
 
257
		If comments <> "Filter Comments" Then	
258
	NewTextFile.WriteLine("<blockquote><blockquote>Comments:</blockquote></blockquote>")
259
	NewTextFile.Write("<blockquote><blockquote><blockquote>"& TextToHTML(sqlstrB("comments")) &"</blockquote></blockquote></blockquote>")	
260
		End If
261
 
262
		sqlstrB.Close()
263
		Set sqlstrB = nothing		
13 rsolanki 264
End Sub
265
'--------------------------------------------------------------------------------------------------------------------------
266
Sub pkg_Version(pv)
29 jtweddle 267
	Dim qry
268
	Set qry = OraDatabase.DbCreateDynaset("SELECT PKG_VERSION FROM PACKAGE_VERSIONS WHERE PV_ID="&pv &_
269
	" UNION SELECT PKG_VERSION FROM ARCHIVE_MANAGER.PACKAGE_VERSIONS WHERE PV_ID="&pv, cint(0))	
13 rsolanki 270
	pkgversion = qry("pkg_version")
271
	qry.Close()
29 jtweddle 272
	Set qry = Nothing
13 rsolanki 273
End Sub
274
'--------------------------------------------------------------------------------------------------------------------------
29 jtweddle 275
Sub Comments(Pv_Id, data)
276
		Dim comments
277
		Set comments = OraDatabase.DbCreateDynaset("SELECT COMMENTS, PKG_VERSION FROM PACKAGE_VERSIONS WHERE PV_ID="&Pv_id &_
278
		" UNION SELECT COMMENTS, PKG_VERSION FROM ARCHIVE_MANAGER.PACKAGE_VERSIONS WHERE PV_ID="&Pv_id, cint(0))
279
		'If comments("comments") <> "Rippled Build." Then
280
			NewTextFile.WriteLine("<blockquote><blockquote><span class="&chr(34)&"highlight_text"&chr(34)&">Version: "& comments("pkg_version")&"</span></blockquote></blockquote>")
281
			If data <> "Filter Comments" Then
282
				If comments("comments") <> "" Then
283
					NewTextFile.WriteLine("<blockquote><blockquote>Comments: </blockquote></blockquote>")
284
					NewTextFile.WriteLine("<blockquote><blockquote><blockquote>"& TextToHTML(comments("comments")) &"</blockquote></blockquote></blockquote>")
285
				End If	
286
			End If
287
		'End If
13 rsolanki 288
End Sub
289
'--------------------------------------------------------------------------------------------------------------------------
290
Sub Release(pvId)
291
	Dim release
29 jtweddle 292
	Set release = OraDatabase.DbCreateDynaset("SELECT INSERT_STAMP FROM RELEASE_CONTENT WHERE PV_ID="&pvId &_
293
	" UNION SELECT INSERT_STAMP FROM ARCHIVE_MANAGER.RELEASE_CONTENT WHERE PV_ID="&pvId, cint(0))
13 rsolanki 294
 
295
	If release("insert_stamp") <> "" Then
296
		NewTextFile.Write(release("insert_stamp"))
297
	Else
298
		NewTextFile.Write("Version Not Used.")
299
	End If			
300
 
301
End Sub
302
'--------------------------------------------------------------------------------------------------------------------------
303
Sub Header() 
304
	NewTextFile.WriteLine("<html>")
29 jtweddle 305
	NewTextFile.WriteLine("<head>")
13 rsolanki 306
End Sub
307
'--------------------------------------------------------------------------------------------------------------------------
308
Sub Footer()
29 jtweddle 309
  NewTextFile.WriteLine("</body>")
13 rsolanki 310
	NewTextFile.WriteLine("</html>")
311
End Sub
312
'--------------------------------------------------------------------------------------------------------------------------
29 jtweddle 313
Sub Styles()
314
  NewTextFile.WriteLine("<style type="&chr(34)&"text/css"&chr(34)&">")
315
  NewTextFile.WriteLine("body { font-family:Verdana,Arial,Helvetica,sans-serif; }")
316
  NewTextFile.WriteLine("table { border-collapse:collapse; }")
317
  NewTextFile.WriteLine("td { border-width:1; border-style:solid; border-color:black; padding:3 5 3 5; }")
318
  NewTextFile.WriteLine(".fixed_issues { border-width:1; border-style:solid; border-color:black; }")
319
  NewTextFile.WriteLine(".page_title { color:red; font-size:110%; text-align:center; }")
320
  NewTextFile.WriteLine(".highlight_text { color:blue; }")
321
  NewTextFile.WriteLine(".form_field { background-color:#EAE5D7; font:bold 70% Tahoma,sans-serif; }")
322
  NewTextFile.WriteLine(".form_item { background-color:#EAE5D7; color:red; font:bold 70% Tahoma,sans-serif; vertical-align:top; }")
323
  NewTextFile.WriteLine("</style>")
324
End Sub
325
'--------------------------------------------------------------------------------------------------------------------------
13 rsolanki 326
Function GetIsDiffFilterInUseIcon()
327
	GetIsDiffFilterInUseIcon = LIMG_FILTER_OFF & LIMG_DROP_DOWN_ARROW
328
 
329
	If dDiffFilter.Count > 0 Then
330
		GetIsDiffFilterInUseIcon = LIMG_FILTER_ON & LIMG_DROP_DOWN_ARROW
331
	End If
332
 
333
End Function
334
'--------------------------------------------------------------------------------------------------------------------------
335
Function GetIsDiffFilterChecked( nFilterId )
336
 
337
	If dDiffFilter.Exists ( CStr(nFilterId)  ) Then
338
		GetIsDiffFilterChecked = "checked"
339
	End If
340
 
341
End Function
342
'---------------------------------------------------------------------------------------------------------------------------
343
Function  Get_CQ_Issues ( SSsql, OOrsCQ )
344
 
345
	If OOrsCQ.State = 1 Then 
346
		OOrsCQ.Close
347
	End If
348
 
349
	On Error Resume Next
350
	OOrsCQ.ActiveConnection = CQ_conn
351
	OOrsCQ.Source = SSsql
352
	OOrsCQ.CursorType = 0
353
	OOrsCQ.CursorLocation = 2
354
	OOrsCQ.LockType = 3
355
	OOrsCQ.Open()
356
	Get_CQ_Issues = Err.Number
357
 
358
End Function
359
'--------------------------------------------------------------------------------------------------------------------------
360
Public Function TextToHTML ( sString )
361
	Dim mString
362
 
363
	If (sString = "") OR IsNull(sString) Then Exit Function
364
 
365
	mString = Server.HTMLEncode( sString )
366
	mString = Replace(mString, VBNewLine, "<br>")
367
 
368
	TextToHTML = mString
369
End Function
370
'--------------------------------------------------------------------------------------------------------------------------
371
Sub GetFormDetails ( nSourceSBOM, ByRef outobjDetails )
372
	Dim rsQry, query
373
 
374
	' Exit if nSourceRtagId is empty
375
	If nSourceSBOM = "" Then Exit Sub 
376
 
377
	OraDatabase.Parameters.Add "SBOM", 	nSourceSBOM,		ORAPARM_INPUT, ORATYPE_NUMBER 
378
 
379
	query = _
380
	" SELECT pr.PROJ_NAME ||' &gt; '|| br.BRANCH_NAME ||' &gt; '|| b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE  AS LOCATION, "&_
15 rsolanki 381
	"        pr.PROJ_ID, b.BOM_ID, br.BRANCH_ID, b.IS_READONLY"&_
13 rsolanki 382
	"  FROM BRANCHES br,"&_
383
	"  		BOMS b,"&_	
384
	"  	    DM_PROJECTS pr"&_
385
	" WHERE br.PROJ_ID = pr.PROJ_ID"&_
386
	" 	AND b.BRANCH_ID = br.BRANCH_ID"&_	
387
	"   AND b.BOM_ID = :SBOM"
388
 
389
	Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT )
390
 
391
	OraDatabase.Parameters.Remove "SBOM"
392
 
393
	If rsQry.RecordCount > 0 Then
394
		outobjDetails.Item ("location") = rsQry("location")
15 rsolanki 395
		outobjDetails.Item ("official") = rsQry("IS_READONLY")
13 rsolanki 396
		outobjDetails.Item ("proj_id") = rsQry("proj_id")
397
		outobjDetails.Item ("branch_id") = rsQry("branch_id")
398
		outobjDetails.Item ("bom_id") = rsQry("bom_id")		
399
	Else
400
		Err.Raise 8, "Sub GetFormDetails in "& SCRIPT_NAME, "Empty record set returned. nSourceSBOM="& nSourceSBOM
401
	End If
402
 
15 rsolanki 403
	If outobjDetails.Item ("location") = "" Then
404
		outobjDetails.Item ("location") = "N"
405
	End If
406
 
13 rsolanki 407
	rsQry.Close
408
	Set rsQry = Nothing
409
 
410
End Sub
411
'--------------------------------------------------------------------------------------------------------------------------
412
Sub GetDiffStateIcon( nDiffState, outIcon )
413
 
414
	Select Case nDiffState
415
		Case "U"
416
			outIcon  = LIMG_UPDATED		
417
		Case "UW"
418
			outIcon  = LIMG_UPDATED			
419
		Case "A"
420
			outIcon = LIMG_ADDED			
421
		Case "R"
422
			outIcon = LIMG_REMOVED			
423
		Case Else
424
			outIcon = ""			
425
	End Select
426
 
427
End Sub
428
'--------------------------------------------------------------------------------------------------------------------------
429
%>
430
<%
431
'------------ RUN BEFORE PAGE RENDER ----------
432
If Request("btn") = "Exit" Then
19 rsolanki 433
	Call OpenInWindow ( "reports.asp" )
13 rsolanki 434
End If
435
 
436
' Get release details
437
Call GetFormDetails ( parSBOMA, objRelCollectorA )
438
Call GetFormDetails ( parSBOMB, objRelCollectorB )
439
 
15 rsolanki 440
If Request("btn") = "Swap Compare" Then
29 jtweddle 441
	Call OpenInWindow ( SCRIPT_NAME &"?sbomA="& parSBOMB &"&sbomB="& parSBOMA &"&rtagA="& parRtagB &"&rtagB="& parRtagA )
15 rsolanki 442
End If
13 rsolanki 443
 
444
If Request("btn") = "Hide" Then
445
	' Store filter in cookie
446
	Response.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER) = Request("difilter")
447
End If
448
 
449
 
450
Call GetDiffFilterValues ( dDiffFilter )
451
'----------------------------------------------
452
%>
453
<html>
454
<head>
455
<title>Deployment Manager SBOM Differences</title>
456
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
457
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
29 jtweddle 458
<link rel="stylesheet" href="scripts/deployment_manager.css" type="text/css">
13 rsolanki 459
<link rel="stylesheet" href="images/release_manager_style.css" type="text/css">
460
<link rel="stylesheet" href="images/navigation.css" type="text/css">
29 jtweddle 461
<script language="JavaScript" src="scripts/common.js"></script>
13 rsolanki 462
<script language="JavaScript" src="scripts/remote_scripting.js"></script>
463
<script language="JavaScript" type="text/javascript">
464
<!--
465
 
466
function RequestReleaseCombo( paramString, rowId ){
467
	var requestURL = 'RequestReleaseCombo.asp';
468
 
469
	// Set ajax divname
470
	ajaxdivname = rowId;
471
 
472
	//Append the name to search for to the requestURL
473
	var url = requestURL + paramString;
474
 
475
	//Progress
476
	//alert(MM_findObj( rowId ));
477
 
478
	//MM_findObj( rowId ).options[0] = new Option('Loading...','');
479
	//MM_findObj( rowId ).selectedIndex = 0;
480
	rowId.options[0] = new Option('Loading...','');
481
	rowId.selectedIndex = 0;
482
 
483
 
484
	//Create the xmlHttp object to use in the request
485
	//stateChangeHandler will fire when the state has changed, i.e. data is received back
486
	// This is non-blocking (asynchronous)
487
	xmlHttp = GetXmlHttpObject(stateComboChangeHandler);
488
 
489
	//Send the xmlHttp get to the specified url
490
	xmlHttp_Get(xmlHttp, url);
491
 
492
 
493
}
494
 
495
function RequestSBOMCombo( paramString, rowId ){
496
	var requestURL = 'RequestSBOMCombo.asp';
497
 
498
	// Set ajax divname
499
	ajaxdivname = rowId;
500
 
501
	//Append the name to search for to the requestURL
502
	var url = requestURL + paramString;
503
 
504
	//Progress
505
	//alert(MM_findObj( rowId ));
506
 
507
	//MM_findObj( rowId ).options[0] = new Option('Loading...','');
508
	//MM_findObj( rowId ).selectedIndex = 0;
509
	rowId.options[0] = new Option('Loading...','');
510
	rowId.selectedIndex = 0;
511
 
512
 
513
	//Create the xmlHttp object to use in the request
514
	//stateChangeHandler will fire when the state has changed, i.e. data is received back
515
	// This is non-blocking (asynchronous)
516
	xmlHttp = GetXmlHttpObject(stateComboChangeHandler);
517
 
518
	//Send the xmlHttp get to the specified url
519
	xmlHttp_Get(xmlHttp, url);
520
 
521
 
522
}
523
 
524
//-->
525
</script>
526
 
527
</head>
528
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
529
<form name="FormName" method="post" action="<%=SCRIPT_NAME%>">
530
<!-- HEADER -->
531
<!--#include file="_header.asp"-->
532
<!-- BODY ---->
533
<table width="100%" border="0" cellspacing="0" cellpadding="0">
534
  <tr> 
535
    <td width="1%" background="images/bg_lite_blue.gif" valign="top">
536
 
537
 
538
	<!-- SELECT SBOM A ---------------------------------------------->
539
 
540
	<br>
541
      <table width="100%"  border="0" cellspacing="10" cellpadding="0">
542
 
543
		<tr>
544
          <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>
545
        </tr>
546
        <tr>
547
          <td align="left">
548
		  <select name="projA" class="form_item" onChange="RequestReleaseCombo( '?proj_id='+ this.value, FormName.rtagA );">
549
              <option value="">-- Select Project --</option>
550
			  <%
551
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorA.Item("proj_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
552
 
553
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProjectsCombo.sql"), cint(0))
554
 
555
			  OraDatabase.Parameters.Remove "PROJ_ID"
556
 
557
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
558
                <option value="<%=rsQry("proj_id")%>" <%=rsQry("selected")%>><%=rsQry("proj_name")%></option>
559
              <%rsQry.MoveNext
560
			  WEnd
561
 
562
			  rsQry.Close
563
			  Set rsQry = Nothing
564
			%>
565
          </select></td>
566
        </tr>
567
        <tr>
568
          <td align="left">
569
 
570
		  <select name="rtagA" id="rtagA" class="form_item" onChange="RequestSBOMCombo( '?branch_id='+ this.value, FormName.sbomA );">
29 jtweddle 571
              <option value="">-- Select Branch --</option>			  
13 rsolanki 572
			  <%
573
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorA.Item("proj_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
574
			  OraDatabase.Parameters.Add "BRANCH_ID", 	objRelCollectorA.Item("branch_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
575
 
576
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ReleasesCombo.sql"), cint(0))
577
 
578
			  OraDatabase.Parameters.Remove "PROJ_ID"
579
			  OraDatabase.Parameters.Remove "BRANCH_ID"
580
 
29 jtweddle 581
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>	
13 rsolanki 582
                <option value="<%=rsQry("branch_id")%>" <%=rsQry("selected")%>><%=rsQry("branch_name")%></option>
583
              <%rsQry.MoveNext
584
			  WEnd
585
 
586
			  rsQry.Close
587
			  Set rsQry = Nothing
588
			  %>
589
		  </select></td>
590
        </tr>
591
        <tr>
592
          <td align="left">
593
 
594
 
595
		  <select name="sbomA" id="sbomA" class="form_item">
596
            <%
597
			  OraDatabase.Parameters.Add "BOM_ID", 	objRelCollectorA.Item("bom_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
598
			  OraDatabase.Parameters.Add "BRANCH_ID", 	objRelCollectorA.Item("branch_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
599
 
600
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("SBOMCombo.sql"), cint(0))
601
 
602
			  OraDatabase.Parameters.Remove "BOM_ID"
603
			  OraDatabase.Parameters.Remove "BRANCH_ID"
604
 
605
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
606
            <option value="<%=rsQry("bom_id")%>" <%=rsQry("selected")%>><%=rsQry("version")%></option>
607
            <%rsQry.MoveNext
608
			  WEnd
609
 
610
			  rsQry.Close
611
			  Set rsQry = Nothing
612
			  %>
613
          </select>
614
 
615
		  </td>
616
        </tr>
617
		<%If (parRtagA <> "") Then%>  
618
		<tr>
619
          <td align="left"><a href="Bom_Home.asp?bom_id=<%=parSBOMA%>" class="body_txt_drk">Go To SBOM A &raquo;</a></td>
620
        </tr>
621
		<%End If%>
622
    </table>
623
 
624
    <!-- SELECT SBOM A END ---------------------------------------------->	</td>
625
    <td width="1%" valign="top" background="images/bg_lght_gray.gif">&nbsp;</td>
626
    <td rowspan="2" valign="top" width="100%" background="images/bg_lght_gray.gif" align="center"> 
627
      <!-- DIFF -------------------------------------------------------->
628
      <br>
629
 
630
 
631
 
632
 
633
      <table width="100%" border="0" cellspacing="10" cellpadding="0">
634
        <tr>
635
          <td>
636
 
637
 
638
 
639
            <table width="100%" border="0" cellspacing="0" cellpadding="0">
640
			  <tr> 
641
                <td width="1%"></td>
19 rsolanki 642
                <td width="100%" align="left" class="form_ttl">DIFF SBOM</td>
13 rsolanki 643
                <td width="1%"></td>
644
              </tr>
645
              <tr> 
646
                <td align="left" valign="top" background="images/lbox_bg_blue.gif"><img src="images/lbox_tl_cnr_b.gif" width="13" height="13"></td>
647
                <td background="images/lbox_bg_blue.gif" align="left" class="wform_ttl">&nbsp; 
648
                </td>
649
                <td align="right" valign="top" background="images/lbox_bg_blue.gif"><img src="images/lbox_tr_cnr_b.gif" width="13" height="13"></td>
650
              </tr>
651
              <tr> 
652
                <td width="1%" bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10" height="100"></td>
653
                <td bgcolor="#FFFFFF" valign="top" class="form_item">
654
 
655
 
656
 
657
				<table width="100%"  border="0" cellspacing="0" cellpadding="5">
658
                  <tr>
659
                    <td width="100%" bgcolor="#DAD7C8">
660
					<input type="submit" name="btn" value="Compare" class="form_btn_comp" style="margin-right:5px;">
15 rsolanki 661
					<input type="submit" name="btn" value="Swap Compare" class="form_btn_comp">
13 rsolanki 662
					<span class="body_txt">
663
					<input name="btn" type="submit" class="form_btn" value="Mail Me Report">
664
					</span>					</td>
665
                    <td width="1" align="right" bgcolor="#DAD7C8" nowrap>
666
					<table width="100%"  border="0" cellspacing="0" cellpadding="0">
667
                      <tr>
668
 
669
                        <td><input type="submit" name="btn" value="Exit" class="form_btn_comp"></td>
670
                      </tr>
671
                    </table></td>
672
                  </tr>
673
				  <tr>
674
                    <td>
675
					<%If (parRtagA <> "") AND (parRtagB <> "")Then%> 
29 jtweddle 676
						<!-- DIFF FILTER +++++++++++++++++++++++++++++++++++++++++++ -->   
677
						<fieldset style="width:150px;">
678
						<legend><a href="javascript:;" class="body_scol" onClick="ToggleDisplay('divDiffFilter');" ><%=GetIsDiffFilterInUseIcon() %>&nbsp;Filter&nbsp;Results...</a></legend>			            	  
679
						<div name="divDiffFilter" id="divDiffFilter" class="body_txt" style="display:none;">
680
						  <br>
681
						  <table width="100%"  border="0" cellspacing="1" cellpadding="3">
682
							<tr>
683
							  <td width="1" background="images/bg_action_norm.gif"><input name="difilter" type="checkbox" value="<%=enumDB_DIFF_UPDATED%>" <%=GetIsDiffFilterChecked(enumDB_DIFF_UPDATED)%>></td>
684
							  <td width="50" nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_UPDATED%>Updated</td>
685
							</tr>
686
							<tr>
687
							  <td background="images/bg_action_norm.gif"><input type="checkbox" name="difilter" value="<%=enumDB_DIFF_NEW%>" <%=GetIsDiffFilterChecked(enumDB_DIFF_NEW)%>></td>
688
							  <td nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_ADDED%>Added</td>
689
							</tr>
690
							<tr>
691
							  <td background="images/bg_action_norm.gif"><input type="checkbox" name="difilter" value="<%=enumDB_DIFF_REMOVED%>" <%=GetIsDiffFilterChecked(enumDB_DIFF_REMOVED)%>></td>
692
							  <td nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_REMOVED%>Removed</td>
693
							</tr>
694
							<tr>
695
							  <td background="images/bg_action_norm.gif"><input type="checkbox" name="filter_comments" value="<%=enumDB_FILTER_COMMENTS%>" <%=GetIsDiffFilterChecked(enumDB_FILTER_COMMENTS)%>></td>
696
							  <td nowrap background="images/bg_action_norm.gif" class="form_field">Comments</td>
697
							</tr>					 
698
							<tr>
699
							  <td background="images/bg_action_norm.gif"><input type="checkbox" name="filter_issues" value="<%=enumDB_FILTER_ISSUES%>" <%=GetIsDiffFilterChecked(enumDB_FILTER_ISSUES)%>></td>
700
							  <td nowrap background="images/bg_action_norm.gif" class="form_field">Issues</td>
701
							</tr>
702
							<tr>
703
							  <td background="images/bg_action_norm.gif">&nbsp;</td>
704
							  <td background="images/bg_action_norm.gif"><input name="btn" type="submit" class="form_btn" value="Hide"></td>
705
							</tr>
706
						  </table>
707
						</div>
708
						</fieldset>
709
						<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
13 rsolanki 710
					<%End If%>
711
					</td>
712
                    <td></td>
713
                  </tr>
714
                </table>
715
 
716
				<%
717
				Set FSO=Server.CreateObject("Scripting.FileSystemObject")
15 rsolanki 718
				Set NewTextFile=FSO.CreateTextFile(Server.MapPath("docs\compareBoms_"&objAccessControl.UserName&".html"), true)
13 rsolanki 719
				Call Header()				
720
 
721
				If (parRtagA <> "") AND (parRtagB <> "")Then%>  
722
                <table width="100%"  border="0" cellspacing="1" cellpadding="0">
723
                  <tr>
724
                    <td width="50%" bgcolor="#E4E9EC" class="body_row" nowrap><%= ReleaseIcon(objRelCollectorA.Item("official")) & objRelCollectorA.Item("location")%> </td>
725
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
726
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="20"></td>
727
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
728
                    <td width="50%" bgcolor="#E4E9EC" class="body_row" nowrap><%= ReleaseIcon(objRelCollectorB.Item("official")) & objRelCollectorB.Item("location")%></td>
729
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
730
                  </tr>
731
			    <%
732
 
733
				OraDatabase.Parameters.Add "SBOM_A", 	parSBOMA,	ORAPARM_INPUT, ORATYPE_NUMBER 
734
				OraDatabase.Parameters.Add "SBOM_B", 	parSBOMB,	ORAPARM_INPUT, ORATYPE_NUMBER 
735
				OraDatabase.Parameters.Add "NO_CHANGE", GetIsDiffFilterChecked(enumDB_DIFF_NO_CHANGE),		ORAPARM_INPUT, ORATYPE_VARCHAR2
736
				OraDatabase.Parameters.Add "ADDED", 	GetIsDiffFilterChecked(enumDB_DIFF_NEW),		ORAPARM_INPUT, ORATYPE_VARCHAR2
737
				OraDatabase.Parameters.Add "UPDATED", 	GetIsDiffFilterChecked(enumDB_DIFF_UPDATED),		ORAPARM_INPUT, ORATYPE_VARCHAR2
738
				OraDatabase.Parameters.Add "REMOVED", 	GetIsDiffFilterChecked(enumDB_DIFF_REMOVED),		ORAPARM_INPUT, ORATYPE_VARCHAR2
739
 
740
				Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("BOMDiff.sql"), cint(0))
741
 
742
				OraDatabase.Parameters.Remove "SBOM_A"
743
				OraDatabase.Parameters.Remove "SBOM_B"
744
				OraDatabase.Parameters.Remove "NO_CHANGE"
745
				OraDatabase.Parameters.Remove "ADDED"
746
				OraDatabase.Parameters.Remove "UPDATED"
747
				OraDatabase.Parameters.Remove "REMOVED"
748
 
749
				Set rsQryA = OraDatabase.DbCreateDynaset( "SELECT pr.PROJ_NAME, br.BRANCH_NAME, b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE  AS LOCATION, "&_
750
	"        pr.PROJ_ID, b.BOM_ID, br.BRANCH_ID"&_
751
	"  FROM BRANCHES br,"&_
752
	"  		BOMS b,"&_	
753
	"  	    DM_PROJECTS pr"&_
754
	" WHERE br.PROJ_ID = pr.PROJ_ID"&_
755
	" 	AND b.BRANCH_ID = br.BRANCH_ID"&_	
756
	"   AND b.BOM_ID ="&parSBOMA, cint(0))
757
 
758
 
759
				Set rsQryB = OraDatabase.DbCreateDynaset( "SELECT pr.PROJ_NAME, br.BRANCH_NAME, b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE  AS LOCATION, "&_
760
	"        pr.PROJ_ID, b.BOM_ID, br.BRANCH_ID"&_
761
	"  FROM BRANCHES br,"&_
762
	"  		BOMS b,"&_	
763
	"  	    DM_PROJECTS pr"&_
764
	" WHERE br.PROJ_ID = pr.PROJ_ID"&_
765
	" 	AND b.BRANCH_ID = br.BRANCH_ID"&_	
766
	"   AND b.BOM_ID ="&parSBOMB, cint(0))
767
 
15 rsolanki 768
 
29 jtweddle 769
				NewTextFile.WriteLine("<title>Difference Report Between "&rsQryA("branch_name")&" "&rsQryA("location")&" and "&rsQryB("branch_name")&" "&rsQryB("location")&"</title>")
15 rsolanki 770
				Call Javascript()
29 jtweddle 771
				Call Styles()
772
				NewTextFile.WriteLine("</head>")
773
				NewTextFile.WriteLine("<body>")
774
				NewTextFile.WriteLine("<div class="&chr(34)&"page_title"&chr(34)&">Difference Report Between "&rsQryA("branch_name")&" "&rsQryA("location")&" and "&rsQryB("branch_name")&" "&rsQryB("location")&"</div><br><br>")
15 rsolanki 775
 
13 rsolanki 776
				While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))
23 rsolanki 777
				VersionList = "0"
13 rsolanki 778
				errormsg = false
779
					rowId = rsQry("pv_id_a") &"_"& rsQry("pv_id_b")
780
 
781
					btnMerge = LIMG_MERGE
782
					btnRemove = LIMG_REMOVE
783
					colorA = LCOLOR_NOT_CHANGED
784
					colorB = LCOLOR_NOT_CHANGED
785
 
786
					Select Case rsQry("change_type")
787
						Case "U"
788
							colorA = LCOLOR_CHANGED
789
							colorB = LCOLOR_CHANGED							
790
						Case "UW"
791
							colorA = LCOLOR_CHANGED
792
							colorB = LCOLOR_CHANGED
793
							btnMerge = LIMG_MERGE_WARN
794
						Case "A"
795
							colorA = LCOLOR_BLANK
796
						Case "R"
797
							colorB = LCOLOR_BLANK
798
					End Select
799
 
800
					Call GetDiffStateIcon ( rsQry("change_type"), ChangeTypeIcon )
801
				%>
802
				  <tr>
803
                    <td class="body_row" nowrap>
804
						<DIV id="PVA<%=rowId%>" style="background:<%=colorA%>; padding:5px;">
805
						<%=rsQry("pkg_name_a") &" "& rsQry("pkg_version_a")%>
806
						</DIV>
807
						<input type="hidden" id="UNDOCOLORA_<%=rowId%>" value="<%=colorA%>">
808
					</td>
809
                    <td bgcolor="#F5F5F5"></td>
810
                    <td bgcolor="#E4E9EC"><DIV id="IMGSTATE<%=rowId%>" ><%=ChangeTypeIcon%></DIV><input type="hidden" id="CHANGETYPE_<%=rowId%>" value="<%=rsQry("change_type")%>"></td>
811
                    <td bgcolor="#F5F5F5"></td>
812
                    <td class="body_row" nowrap>
813
						<DIV id="PVB<%=rowId%>" style="background:<%=colorB%>; padding:5px;">
814
						<%=rsQry("pkg_name_b") &" "& rsQry("pkg_version_b")%>
815
						</DIV>
816
						<input type="hidden" id="UNDOCOLORB_<%=rowId%>" value="<%=colorB%>">
817
						<input type="hidden" name="addpkg" id="ADDPKG_<%=rowId%>" value="">
818
						<input type="hidden" name="removepkg" id="REMOVEPKG_<%=rowId%>" value="">
819
						<input type="hidden" id="UNDOPKG_<%=rowId%>" value="<%=rsQry("pkg_name_b") &" "& rsQry("pkg_version_b")%>">
820
					</td>
821
                    <td bgcolor="#F5F5F5"><DIV id="IMGUNDO<%=rowId%>" style="display:none;" ><a href="javascript:;" onClick="UndoPackage( '<%=rowId%>' );"><%=LIMG_UNDO%></a></DIV></td>
822
                  </tr> 
823
<%
824
	If email then 
825
		If rsQry("pv_id_a") Then
826
			Set rsQryCommentsA = OraDatabase.DbCreateDynaset( "SELECT COMMENTS FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_a"), cint(0)) 
827
		End If
828
 
829
		If rsQry("pv_id_b") Then
830
			Set rsQryCommentsB = OraDatabase.DbCreateDynaset( "SELECT COMMENTS FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_b"), cint(0)) 
831
		End If
832
 
833
		pkgA = rsQry("pkg_name_a")
834
		pkgB = rsQry("pkg_name_b")
835
 
836
		If pkgA <> "" then 
837
			pkgname = pkgA
838
		Else
839
			pkgname = pkgB
840
		End If
841
 
15 rsolanki 842
		If rsQry("change_type") = "U" OR rsQry("change_type") = "UW" Then
843
				NewTextFile.Write("<p><SPAN id=""spanShowDetails"& rowId &""" name=""spanShowDetails""><a href=""javascript:;"" class=""body_scol"" onClick=""DisplaySPAN(true,'"& rowId &"');"">"& pkgname &"</a></SPAN>")
844
				NewTextFile.Write("<SPAN id=""spanHideDetails"& rowId &""" name=""spanHideDetails"" style=""display:none;""><a href=""javascript:;"" class=""body_scol"" onClick=""DisplaySPAN(false,'"& rowId &"');"">"& pkgname &"</a></SPAN>")
845
				NewTextFile.WriteLine("<SPAN id=""spanPkgInfo"& rowId &""" name=""spanPkgInfo"" style=""display:none;"">")								
29 jtweddle 846
 
13 rsolanki 847
				NewTextFile.Write(rsQryA("location")&" uses: "&rsQry("pkg_version_a")&" ")
848
 
849
				NewTextFile.WriteLine("<br>")
850
				NewTextFile.Write(rsQryB("location")&" uses: "&rsQry("pkg_version_b")&" ")
851
 
15 rsolanki 852
				a = rsQry("pv_id_a")
853
				b = rsQry("pv_id_b")
854
				c = rsQry("pv_id_a")
855
				d = rsQry("pv_id_b")
856
 
13 rsolanki 857
				NewTextFile.WriteLine("<br><br>")
858
				NewTextFile.WriteLine()
859
				NewTextFile.WriteLine("<b>"&rsQryB("location")&"</b>")	
29 jtweddle 860
				Call Comments(rsQry("pv_id_b"), Request("filter_comments"))
861
				Call GetFixedIssues(rsQry("pv_id_b"), Request("filter_issues"))
13 rsolanki 862
 
15 rsolanki 863
				Dim rsQryLast
864
				Set rsQryLast = OraDatabase.DbCreateDynaset( "SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_b"), cint(0)) 
13 rsolanki 865
 
29 jtweddle 866
				If rsQryLast("last_pv_id") <> a Then	
867
					Call PreviousVersions(a, b, rsQry("pkg_version_a"), rsQry("pkg_version_b"), Request("filter_comments"), Request("filter_issues"))
15 rsolanki 868
				End If	
869
 
870
				a = rsQry("pv_id_a")
871
				b = rsQry("pv_id_b")
29 jtweddle 872
				Call GetDependencies(a, VersionList + ","+ b, rsQry("pkg_version_a"), rsQry("pkg_version_b"), Request("filter_comments"), Request("filter_issues"))	
15 rsolanki 873
				NewTextFile.WriteLine("</SPAN>")	
874
 
29 jtweddle 875
				rsQryLast.Close()
876
				Set rsQryLast = Nothing
15 rsolanki 877
 
878
		End If
17 rsolanki 879
 
880
		If rsQry("change_type") = "A" AND rsQry("patch_b") = "Y" Then
881
			Dim rsQryPatch
882
			OraDatabase.Parameters.Add "PV_ID", 	rsQry("pv_id_b"),	ORAPARM_INPUT, ORATYPE_NUMBER 
883
			Set rsQryPatch = OraDatabase.DbCreateDynaset( GetQuery("pd_patch.sql"), cint(0))
884
			OraDatabase.Parameters.Remove "PV_ID"
19 rsolanki 885
			If NOT IsNull(rsQryPatch("pv_id")) Then
29 jtweddle 886
				NewTextFile.Write("<p><SPAN id=""spanShowDetails"& rowId &""" name=""spanShowDetails""><a href=""javascript:;"" class=""body_scol"" onClick=""DisplaySPAN(true,'"& rowId &"');""><font face="&chr(34)&"Verdana, Arial, Helvetica, sans-serif"&chr(34)&">"& rsQryPatch("pkg_name") &" "& rsQryPatch("pkg_version") &"</font></a></SPAN>")
887
				NewTextFile.Write("<SPAN id=""spanHideDetails"& rowId &""" name=""spanHideDetails"" style=""display:none;""><a href=""javascript:;"" class=""body_scol"" onClick=""DisplaySPAN(false,'"& rowId &"');""><font face="&chr(34)&"Verdana, Arial, Helvetica, sans-serif"&chr(34)&">"& rsQryPatch("pkg_name") &" "& rsQryPatch("pkg_version") &"</font></a></SPAN>")
19 rsolanki 888
				NewTextFile.WriteLine("<SPAN id=""spanPkgInfo"& rowId &""" name=""spanPkgInfo"" style=""display:none;"">")								
29 jtweddle 889
				Call Comments(rsQryPatch("pv_id"), Request("filter_comments"))
890
				Call GetFixedIssues(rsQryPatch("pv_id"), Request("filter_issues"))
19 rsolanki 891
			Else
29 jtweddle 892
				NewTextFile.Write("<p><SPAN id=""spanShowDetails"& rowId &""" name=""spanShowDetails""><a href=""javascript:;"" class=""body_scol"" onClick=""DisplaySPAN(true,'"& rowId &"');""><font face="&chr(34)&"Verdana, Arial, Helvetica, sans-serif"&chr(34)&">"& rsQry("pkg_name_b") &" "& rsQry("pkg_version_b") &"</font></a></SPAN>")
893
				NewTextFile.Write("<SPAN id=""spanHideDetails"& rowId &""" name=""spanHideDetails"" style=""display:none;""><a href=""javascript:;"" class=""body_scol"" onClick=""DisplaySPAN(false,'"& rowId &"');""><font face="&chr(34)&"Verdana, Arial, Helvetica, sans-serif"&chr(34)&">"& rsQry("pkg_name_b") &" "& rsQry("pkg_version_b") &"</font></a></SPAN>")
19 rsolanki 894
				NewTextFile.WriteLine("<SPAN id=""spanPkgInfo"& rowId &""" name=""spanPkgInfo"" style=""display:none;"">")								
29 jtweddle 895
				Call Comments(rsQry("pv_id_b"), Request("filter_comments"))
896
				Call GetFixedIssues(rsQry("pv_id_b"), Request("filter_issues"))	
19 rsolanki 897
			End If	
17 rsolanki 898
 
899
			NewTextFile.WriteLine("</SPAN>")	
900
			rsQryPatch.Close
901
			Set rsQryPatch = nothing
902
 
903
		End If
15 rsolanki 904
 
13 rsolanki 905
	End If
906
 
907
	rsQry.MoveNext
908
	WEnd
909
 
910
	rsQry.Close
911
	Set rsQry = Nothing
912
%>									  
913
<%
914
	Call Footer()
915
	NewTextFile.Close
916
	Set NewTextFile=Nothing 
917
%>				  
918
                </table>
919
                <br>
920
			<%Else%>	
921
				<br>
922
				<%
923
				If (parRtagB <> "") Then
924
					Call Messenger ( "Select <b>SBOM A</b> to compare.", 3, "100%" )					
925
				ElseIf (parRtagA <> "") Then
926
					Call Messenger ( "Select <b>SBOM B</b> to compare.", 3, "100%" )					
927
				Else
928
					Call Messenger ( "Select <b>SBOM A</b> and <b>SBOM B</b> to compare.", 3, "100%" )					
929
				End If
930
				%>
931
 
932
			<%End If%>
933
 
934
				</td>
935
                <td width="1%" background="images/lbox_bgside_white.gif">&nbsp;</td>
936
              </tr>
937
              <tr> 
938
                <td width="1%" background="images/lbox_bg_blue.gif" valign="bottom"><img src="images/lbox_bl_cnr_b.gif" width="13" height="13"></td>
939
                <td background="images/lbox_bg_blue.gif"></td>
940
                <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>
941
              </tr>
942
            </table>
943
          </td>
944
        </tr>
945
      </table>
946
    <!-- DIFF END ---------------------------------------------------->
947
    </td>
948
	<td valign="top" width="1%" background="images/bg_lite_blue.gif"> 
949
 
950
 
951
	  <!-- SELECT SBOM B ---------------------------------------------->
952
      <br>
953
      <table width="100%"  border="0" cellspacing="10" cellpadding="0">
954
		<tr>
955
          <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>
956
        </tr>
957
        <tr>
958
          <td align="left">
959
		  <select name="projB" class="form_item" onChange="RequestReleaseCombo( '?proj_id='+ this.value, FormName.rtagB );">
960
              <option value="">-- Select Project --</option>
961
			  <%
962
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorB.Item("proj_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
963
 
964
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProjectsCombo.sql"), cint(0))
965
 
966
			  OraDatabase.Parameters.Remove "PROJ_ID"
967
 
968
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
969
                <option value="<%=rsQry("proj_id")%>" <%=rsQry("selected")%>><%=rsQry("proj_name")%></option>
970
              <%rsQry.MoveNext
971
			  WEnd
972
 
973
			  rsQry.Close
974
			  Set rsQry = Nothing
975
			%>
976
          </select></td>
977
        </tr>
978
        <tr>
979
          <td align="left">
980
 
981
		  <select name="rtagB" id="rtagB" class="form_item" onChange="RequestSBOMCombo( '?branch_id='+ this.value, FormName.sbomB );">
29 jtweddle 982
              <option value="">-- Select Branch --</option>		  
13 rsolanki 983
			  <%
984
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorB.Item("proj_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
985
			  OraDatabase.Parameters.Add "BRANCH_ID", 	objRelCollectorB.Item("branch_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
986
 
987
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ReleasesCombo.sql"), cint(0))
988
 
989
			  OraDatabase.Parameters.Remove "PROJ_ID"
990
			  OraDatabase.Parameters.Remove "BRANCH_ID"
991
 
992
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
993
                <option value="<%=rsQry("branch_id")%>" <%=rsQry("selected")%>><%=rsQry("branch_name")%></option>
994
              <%rsQry.MoveNext
995
			  WEnd
996
 
997
			  rsQry.Close
998
			  Set rsQry = Nothing
999
			  %>
1000
		  </select></td>
1001
        </tr>
1002
        <tr>
1003
          <td align="left">
1004
 
1005
 
1006
		  <select name="sbomB" id="sbomB" class="form_item">
1007
            <%
1008
			  OraDatabase.Parameters.Add "BOM_ID", 	objRelCollectorB.Item("bom_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
1009
			  OraDatabase.Parameters.Add "BRANCH_ID", 	objRelCollectorB.Item("branch_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
1010
 
1011
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("SBOMCombo.sql"), cint(0))
1012
 
1013
			  OraDatabase.Parameters.Remove "BOM_ID"
1014
			  OraDatabase.Parameters.Remove "BRANCH_ID"
1015
 
1016
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
1017
            <option value="<%=rsQry("bom_id")%>" <%=rsQry("selected")%>><%=rsQry("version")%></option>
1018
            <%rsQry.MoveNext
1019
			  WEnd
1020
 
1021
			  rsQry.Close
1022
			  Set rsQry = Nothing
1023
			  %>
1024
          </select>
1025
 
1026
 
1027
		  </td>
1028
        </tr>
1029
		<%If (parRtagB <> "") Then%>  
1030
		<tr>
1031
          <td align="left"><a href="Bom_home.asp?bom_id=<%=parSBOMB%>" class="body_txt_drk">Go To SBOM B &raquo;</a></td>
1032
        </tr>
1033
		<%End If%>
1034
      </table>
1035
      <!-- SELECT RELEASE B END ---------------------------------------------->	  </td>
1036
  </tr>
1037
  <tr> 
1038
    <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>
1039
    <td background="images/bg_lght_gray.gif" valign="top"><img src="images/h_trsp_dot.gif" width="1" height="500"></td>
1040
	<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>
1041
  </tr>
1042
</table>
1043
</form>
1044
<!-- FOOTER -->
1045
<!--#include file="_footer.asp"-->
1046
<%
1047
	If email Then
1048
 
1049
		Dim myMail, LocalPath
1050
		Set myMail=Server.CreateObject("Persits.MailSender")
15 rsolanki 1051
		LocalPath = Server.MapPath("docs\compareBoms_"&objAccessControl.UserName&".html")
13 rsolanki 1052
 
1053
		myMail.Host = SMTP_HOST
15 rsolanki 1054
		myMail.Subject="BOM Comparisons from Deployment Manager"
13 rsolanki 1055
		myMail.From="releasem@erggroup.com"
1056
		myMail.AddAddress objAccessControl.UserEmail
1057
		' Attach the file
1058
		myMail.AddAttachment LocalPath
1059
		myMail.Body = "Your requested report..." 
1060
		myMail.Send
1061
 
1062
		set myMail=nothing
1063
 
1064
	End If
1065
%>
1066
</body>
1067
</html>
1068
<%
1069
Call Destroy_All_Objects
1070
%>
1071
<!--#include file="common/globals_destructor.asp"-->