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