Subversion Repositories DevTools

Rev

Rev 64 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
64 jtweddle 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
4
'|                                                   |
5
'|				         DIFF					     |
6
'|                                                   |
7
'=====================================================
8
%>
9
<%
10
Option explicit
11
' Good idea to set when using redirect
12
Response.Expires = 0	' always load the page, dont store
13
%>
14
<%
15
'To enable the script timeout to 5 mins
16
Server.ScriptTimeout=600
17
%>
18
<!--#include file="common/config.asp"-->
19
<!--#include file="common/globals.asp"-->
20
<!--#include file="common/formating.asp"-->
21
<!--#include file="common/common_subs.asp"-->
22
<!--#include file="common/common_dbedit.asp"-->
23
<!--#include file="common/_form_window_common.asp"-->
24
<!--#include file="common/_rtree_common.asp"-->
25
<%
26
'------------ ACCESS CONTROL ------------------
27
%>
28
<!--#include file="_access_control_general.asp"-->
29
<%
30
'------------ Variable Definition -------------
31
Dim rsQry
32
Dim objRelCollectorA
33
Dim objRelCollectorB
34
Dim parRtagA
35
Dim parRtagB
36
Dim parSBOMA
37
Dim parSBOMB
38
Dim dDiffFilter
39
Dim colorA, colorB, ChangeTypeIcon
40
Dim btnMerge, btnRemove
41
Dim rowId
42
Dim FSO
43
Dim NewTextFile
44
Dim pkgA, pkgB, pkgname, delimiter, rsQryA, rsQryB, rsQryCommentsA, rsQryCommentsB, sqlstrA, counterA, sqlstrB, sqlstrC, counterB
45
Dim SSsql, retVal, rsCQ, DEVIiss, TDSEiss, VT5DMiss, VTSUPiss		
46
Dim a, b, c, d, pkgversion, errormsg, source_change
47
Dim VersionList
48
Dim fileName, pathName
49
 
50
 
51
'------------ Variable Init -------------------
52
Set rsCQ = Server.CreateObject("ADODB.Recordset")
53
parRtagA = Request("rtagA")
54
parRtagB = Request("rtagB")
55
parSBOMA = Request("sbomA")
56
parSBOMB = Request("sbomB")
57
Set objRelCollectorA = CreateObject("Scripting.Dictionary")
58
Set objRelCollectorB = CreateObject("Scripting.Dictionary")
59
Set dDiffFilter = CreateObject("Scripting.Dictionary")
60
 
61
'--------------------------------------------------------------------------------------------------------------------------
62
Sub Javascript()
63
	NewTextFile.WriteLine("<script language=""JavaScript"" type=""text/javascript"">")
64
	NewTextFile.WriteLine("function MM_findObj(n, d) { //v4.0")
65
	NewTextFile.WriteLine("  var p,i,x;")
66
	NewTextFile.WriteLine("  if(!d) d=document; ")
67
	NewTextFile.WriteLine("  if((p=n.indexOf(""?""))>0&&parent.frames.length) {")
68
	NewTextFile.WriteLine("  	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);")				
69
	NewTextFile.WriteLine("  }")	
70
	NewTextFile.WriteLine("  if(!(x=d[n])&&d.all) x=d.all[n]; ")	
71
	NewTextFile.WriteLine("  for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];")	
72
	NewTextFile.WriteLine("  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);")	
73
	NewTextFile.WriteLine("  if(!x && document.getElementById) x=document.getElementById(n); ")
74
	NewTextFile.WriteLine("  return x;")			
75
	NewTextFile.WriteLine("}")
76
	NewTextFile.WriteLine("function DisplaySPAN(show, x) {")
77
	NewTextFile.WriteLine("	if (show) {")
78
	NewTextFile.WriteLine("		MM_findObj(""spanHideDetails"" + x).style.display = ""block"";")					
79
	NewTextFile.WriteLine("		MM_findObj(""spanPkgInfo"" + x).style.display = ""block"";")	
80
	NewTextFile.WriteLine("		MM_findObj(""spanShowDetails"" + x).style.display = ""none"";")	
81
	NewTextFile.WriteLine("	} else {")	
82
	NewTextFile.WriteLine("		MM_findObj(""spanHideDetails"" + x).style.display = ""none"";")	
83
	NewTextFile.WriteLine("		MM_findObj(""spanPkgInfo"" + x).style.display = ""none"";")	
84
	NewTextFile.WriteLine("		MM_findObj(""spanShowDetails"" + x).style.display = ""block"";")	
85
	NewTextFile.WriteLine("	}")
86
	NewTextFile.WriteLine("}")			
87
	NewTextFile.WriteLine("</script>")				
88
End Sub
89
'--------------------------------------------------------------------------------------------------------------------------
90
Sub GetFixedIssues(pv_id)
91
	Set sqlstrC = OraDatabase.DbCreateDynaset("SELECT iss_db, iss_id, iss_state, notes FROM CQ_ISSUES WHERE pv_id="& pv_id &"  AND iss_db="& CInt(enumCLEARQUEST_VTSUP_ID) &" AND iss_state = "& enumISSUES_STATE_FIXED, cint(0))						 
92
 
93
	If sqlstrC.RecordCount <> 0 Then
94
		NewTextFile.WriteLine()
95
		NewTextFile.WriteLine("<blockquote><blockquote>Fixed Issues:</blockquote></blockquote>")
96
		NewTextFile.WriteLine("<blockquote><blockquote><blockquote><table class='fixed_issues' >")
97
		NewTextFile.WriteLine("<tr>")
98
		NewTextFile.WriteLine("<td width='10%' class='form_field'>Issue Id</td>")
99
		NewTextFile.WriteLine("<td width='55%' class='form_field'>Summary</td>")
100
		NewTextFile.WriteLine("<td width='10%' class='form_field'>Issue Type</td>")
101
		NewTextFile.WriteLine("<td width='15%' class='form_field'>Priority</td>")
102
		NewTextFile.WriteLine("<td width='10%' class='form_field'>Status</td>")
103
		NewTextFile.WriteLine("</tr>")
104
 
105
		While ((NOT sqlstrC.BOF) AND (NOT sqlstrC.EOF))
106
			DEVIiss = "-1"
107
			TDSEiss = "-1"
108
			VT5DMiss = "-1"
109
			VTSUPiss = "-1"
110
 
111
			If CInt(sqlstrC("iss_db")) = CInt(enumCLEARQUEST_DEVI_ID) Then
112
				DEVIiss = DEVIiss &","& sqlstrC("iss_id")
113
			ElseIf CInt(sqlstrC("iss_db")) = CInt(enumCLEARQUEST_TDSE_ID) Then
114
				TDSEiss = TDSEiss &","& sqlstrC("iss_id")
115
			ElseIf CInt(sqlstrC("iss_db")) = CInt(enumCLEARQUEST_VT5DM_ID) Then
116
				VT5DMiss = VT5DMiss &","& sqlstrC("iss_id")		
117
			ElseIf CInt(sqlstrC("iss_db")) = CInt(enumCLEARQUEST_VTSUP_ID) Then
118
				VTSUPiss = VTSUPiss &","& sqlstrC("iss_id")												
119
			End If
120
 
121
			SSsql = ReadFile( QUERIES_PATH & "\cq_issues.sql" )
122
			SSsql = Replace( SSsql, "/*enumCLEARQUEST_DEVI_ID*/", enumCLEARQUEST_DEVI_ID)
123
			SSsql = Replace( SSsql, "/*enumCLEARQUEST_TDSE_ID*/", enumCLEARQUEST_TDSE_ID)
124
			SSsql = Replace( SSsql, "/*enumCLEARQUEST_VT5DM_ID*/", enumCLEARQUEST_VT5DM_ID)
125
			SSsql = Replace( SSsql, "/*enumCLEARQUEST_VTSUP_ID*/", enumCLEARQUEST_VTSUP_ID)					
126
			SSsql = Replace( SSsql, "/*DEVIiss*/", DEVIiss)
127
			SSsql = Replace( SSsql, "/*TDSEiss*/", TDSEiss)
128
			SSsql = Replace( SSsql, "/*VT5DMiss*/", VT5DMiss)	
129
			SSsql = Replace( SSsql, "/*VTSUPiss*/", VTSUPiss)
130
 
131
			retVal = Get_CQ_Issues ( SSsql, rsCQ )			
132
 
133
			NewTextFile.WriteLine("<tr>")
134
			NewTextFile.WriteLine("<td nowrap class='form_item'>"&rsCQ("iss_num")&"</td>")
135
 
136
			NewTextFile.WriteLine("<td class='form_item'>"&NewLine_To_BR ( To_HTML ( rsCQ("summary") ) )&"</td>")
137
			NewTextFile.WriteLine("<td class='form_item'>"&rsCQ("issue_type")&"</td>")
138
			NewTextFile.WriteLine("<td class='form_item'>"&rsCQ("priority")&"</td>")
139
			NewTextFile.WriteLine("<td class='form_item'>"&rsCQ("Status")&"</td>")
140
			NewTextFile.WriteLine("</tr>")
141
			'&nbsp;
142
			sqlstrC.MoveNext
143
 
144
		Wend
145
 
146
		NewTextFile.WriteLine( "                        </table></blockquote></blockquote></blockquote> 		")
147
 
148
	End If
149
 
150
	sqlstrC.Close()
151
	Set sqlstrC = Nothing
152
 
153
 
154
End Sub
155
'--------------------------------------------------------------------------------------------------------------------------
156
Function LastPvId(pvId)
157
	Dim qryA
158
	Set qryA = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&pvId , cint(0))
159
 
160
	LastPvId = pvId
161
 
162
	If pvId <> qryA("last_pv_id") Then	
163
		LastPvId = qryA("last_pv_id")
164
	Else 
165
		errormsg = true
166
	End If
167
 
168
	qryA.Close()
169
	Set qryA = Nothing
170
 
171
End Function
172
'--------------------------------------------------------------------------------------------------------------------------
173
Sub PreviousVersions(a, b, versionA, versionB)
174
	NewTextFile.WriteLine()
175
	NewTextFile.WriteLine("<b>Versions Between: "&versionA&" and "&versionB&"</b>")
176
 
177
	If CLng(a) < CLng(b) Then
178
		While CLng(a) < CLng(b)
179
			b = LastPvId(b)
180
			If CLng(a) < CLng(b) Then
181
				VersionList = VersionList + ","& b &""
182
				Call Comments(b)
183
				Call GetFixedIssues(b)
184
			End If
185
		Wend
186
	End If	
187
 
188
	If CLng(b) < CLng(a) Then
189
		While CLng(b) < CLng(a)
190
			a = LastPvId(a)
191
			If CLng(b) < CLng(a) Then
192
				VersionList = VersionList + ","& a &""
193
				Call Comments(a)
194
				Call GetFixedIssues(a)
195
			End If
196
		Wend	
197
	End If
198
 
199
 
200
End Sub
201
'--------------------------------------------------------------------------------------------------------------------------
202
Sub GetDependencies(pv_id_a, pv_id_b, versionA, versionB)
203
	On Error Resume Next
204
 
205
	Set sqlstrA = OraDatabase.DbCreateDynaset("select distinct dpv_id from package_dependencies where pv_id IN ("& pv_id_b &") and dpv_id NOT IN (SELECT dpv_id from package_dependencies where pv_id ="& pv_id_a &" ) order by dpv_id desc", cint(0))	
206
 
207
	If sqlstrA.RecordCount <> 0 Then
208
		NewTextFile.WriteLine()
209
		NewTextFile.WriteLine("<b>Dependencies Changed Between "&versionA&" and "&versionB&":</b>")
210
 
211
		While ((NOT sqlstrA.BOF) AND (NOT sqlstrA.EOF))
212
			Call dependencyComments(sqlstrA("dpv_id"))
213
			Call GetFixedIssues(sqlstrA("dpv_id"))
214
			sqlstrA.MoveNext
215
		Wend
216
 
217
	End If
218
 
219
	sqlstrA.Close()
220
	Set sqlstrA = Nothing
221
 
222
End Sub
223
'--------------------------------------------------------------------------------------------------------------------------
224
Sub dependencyComments(pv_id)
225
	Set sqlstrB = OraDatabase.DbCreateDynaset("SELECT * FROM PACKAGE_VERSIONS pv, PACKAGES pkg WHERE pkg.pkg_id = pv.pkg_id AND PV_ID ="&pv_id, cint(0))	
226
	NewTextFile.WriteLine("<blockquote><blockquote><span class="&chr(34)&"highlight_text"&chr(34)&">"& sqlstrB("pkg_name") &" "& sqlstrB("pkg_version") &"</font></span></blockquote></blockquote>")	
227
 
228
	NewTextFile.WriteLine("<blockquote><blockquote>Comments:</blockquote></blockquote>")
229
	NewTextFile.Write("<blockquote><blockquote><blockquote>"& TextToHTML(sqlstrB("comments")) &"</blockquote></blockquote></blockquote>")	
230
 
231
	sqlstrB.Close()
232
	Set sqlstrB = nothing		
233
 
234
End Sub
235
'--------------------------------------------------------------------------------------------------------------------------
236
Sub pkg_Version(pv)
237
	Dim qry	
238
	Set qry = OraDatabase.DbCreateDynaset("SELECT PKG_VERSION FROM PACKAGE_VERSIONS WHERE PV_ID="&pv , cint(0))	
239
	pkgversion = qry("pkg_version")
240
	qry.Close()
241
	Set qry = Nothing
242
End Sub
243
'--------------------------------------------------------------------------------------------------------------------------
244
Sub Comments(Pv_Id)
245
	Dim comments
246
	Set comments = OraDatabase.DbCreateDynaset("SELECT COMMENTS, PKG_VERSION FROM PACKAGE_VERSIONS WHERE PV_ID="&Pv_id , cint(0))
247
	If comments("comments") <> "Rippled Build." Then
248
		NewTextFile.WriteLine("<blockquote><blockquote><span class="&chr(34)&"highlight_text"&chr(34)&">Version: "& comments("pkg_version")&"</span></blockquote></blockquote>")
249
		If comments("comments") <> "" Then
250
			NewTextFile.WriteLine("<blockquote><blockquote>Comments: </blockquote></blockquote>")
251
			NewTextFile.WriteLine("<blockquote><blockquote><blockquote>"& TextToHTML(comments("comments")) &"</blockquote></blockquote></blockquote>")
252
			source_change = true
253
		End If	
254
	End If
255
 
256
End Sub
257
'--------------------------------------------------------------------------------------------------------------------------
258
Sub Release(pvId)
259
	Dim release
260
	Set release = OraDatabase.DbCreateDynaset("SELECT INSERT_STAMP FROM RELEASE_CONTENT WHERE PV_ID="&pvId , cint(0))
261
 
262
	If release("insert_stamp") <> "" Then
263
		NewTextFile.Write(release("insert_stamp"))
264
	Else
265
		NewTextFile.Write("Version Not Used.")
266
	End If			
267
 
268
End Sub
269
'--------------------------------------------------------------------------------------------------------------------------
270
Sub Header( branchNameA, branchNameB, versionA, versionB ) 
271
	NewTextFile.WriteLine("<html>")
272
	NewTextFile.WriteLine("<head>")
273
	NewTextFile.WriteLine("<meta http-equiv="&chr(34)&"Pragma"&chr(34)&" content="&chr(34)&"no-cache"&chr(34)&">")
274
	NewTextFile.WriteLine("<meta http-equiv="&chr(34)&"Cache-Control"&chr(34)&" content="&chr(34)&"no-cache"&chr(34)&">")
275
	NewTextFile.WriteLine("<meta http-equiv="&chr(34)&"Expires"&chr(34)&" content="&chr(34)&"0"&chr(34)&">")
276
	NewTextFile.WriteLine("<title>Difference Report Between "& branchNameA &" "& versionA &" and "& branchNameB &" "& versionB &"</title>")
277
	Call Javascript()
278
	Call Styles()
279
	NewTextFile.WriteLine("</head>")
280
End Sub
281
'--------------------------------------------------------------------------------------------------------------------------
282
Sub Styles()
283
  NewTextFile.WriteLine("<style type="&chr(34)&"text/css"&chr(34)&">")
284
  NewTextFile.WriteLine("body { font-family:Verdana,Arial,Helvetica,sans-serif; }")
285
  NewTextFile.WriteLine("table { border-collapse:collapse; }")
286
  NewTextFile.WriteLine("td { border-width:1; border-style:solid; border-color:black; padding:3 5 3 5; }")
287
  NewTextFile.WriteLine(".fixed_issues { border-width:1; border-style:solid; border-color:black; }")
288
  NewTextFile.WriteLine(".page_title { color:red; font-size:110%; text-align:center; }")
289
  NewTextFile.WriteLine(".highlight_text { color:blue; }")
290
  NewTextFile.WriteLine(".form_field { background-color:#EAE5D7; font:bold 70% Tahoma,sans-serif; }")
291
  NewTextFile.WriteLine(".form_item { background-color:#EAE5D7; color:red; font:bold 70% Tahoma,sans-serif; vertical-align:top; }")
292
  NewTextFile.WriteLine("</style>")
293
End Sub
294
'--------------------------------------------------------------------------------------------------------------------------
295
Sub DeleteOldReports()
296
	Dim fileList, currentFile
297
 
298
	Set fileList = FSO.GetFolder(Server.MapPath(pathName)).Files
299
 
300
	For Each currentFile In fileList
301
		'--Force deletion of read-only files--
302
		If InStr(currentFile.Name, objAccessControl.UserName) = 1 Then
303
			FSO.DeleteFile Server.MapPath(pathName & currentFile.Name), true
304
		End If
305
 
306
		'--Don't delete read-only files--
307
		'If (NOT currentFile.Attributes AND 1) AND (InStr(currentFile.Name, objAccessControl.UserName) = 1) Then
308
		'	FSO.DeleteFile Server.MapPath(pathName & currentFile.Name)
309
		'End If
310
	Next
311
End Sub
312
'---------------------------------------------------------------------------------------------------------------------------
313
Function  Get_CQ_Issues ( SSsql, OOrsCQ )
314
 
315
	If OOrsCQ.State = 1 Then 
316
		OOrsCQ.Close
317
	End If
318
 
319
	On Error Resume Next
320
	OOrsCQ.ActiveConnection = CQ_conn
321
	OOrsCQ.Source = SSsql
322
	OOrsCQ.CursorType = 0
323
	OOrsCQ.CursorLocation = 2
324
	OOrsCQ.LockType = 3
325
	OOrsCQ.Open()
326
	Get_CQ_Issues = Err.Number
327
 
328
End Function
329
'--------------------------------------------------------------------------------------------------------------------------
330
Public Function TextToHTML ( sString )
331
	Dim mString
332
 
333
	If (sString = "") OR IsNull(sString) Then Exit Function
334
 
335
	mString = Server.HTMLEncode( sString )
336
	mString = Replace(mString, VBNewLine, "<br>")
337
 
338
	TextToHTML = mString
339
End Function
340
'--------------------------------------------------------------------------------------------------------------------------
341
Public Function RandomString ()
342
	Dim char_count, intRnd, listRnd, min, max
343
 
344
	char_count = 0
345
	max = Asc("0")
346
	min = Asc("z")
347
 
348
	'generate a random string to create unique file name
349
	randomize
350
 
351
	While char_count < 10
352
		intRnd = Cint((max - min + 1) * Rnd() + min)
353
 
354
		'limit string to 0-9, a-z, A-Z
355
		If (intRnd < Asc(":") OR intRnd > Asc("@")) AND (intRnd < Asc("[") OR intRnd > Asc("`")) Then
356
			listRnd = listRnd & Chr(intRnd)
357
			char_count = char_count + 1
358
		End If
359
	Wend
360
 
361
	RandomString = listRnd
362
End Function
363
'--------------------------------------------------------------------------------------------------------------------------
364
%>
365
<%
366
'------------ RUN BEFORE PAGE RENDER ----------
367
 
368
pathName = "docs/"
369
fileName = objAccessControl.UserName &"_bom_report_"& RandomString() &".html"
370
 
371
'----------------------------------------------
372
%>
373
<html>
374
	<head>
375
		<meta http-equiv="Pragma" content="no-cache">
376
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
377
		<style type="text/css">
378
			p { font: bold 90% Verdana,Arial,Helvetica,sans-serif; }
379
			td { text-align: center; vertical-align: center; }
380
			table { width: 100%; height: 100%; }
381
		</style>
382
	</head>
383
	<body <%If objAccessControl.UserName <> "" Then Response.Write("onload="&chr(34)&"window.location='"& pathName & fileName &"'"&chr(34)) End If%>>
384
		<table>
385
			<tr>
386
				<td>
387
					<img src="images/throbber_large.gif" width="66px" height="66px"><br>
388
					<p>Generating Report</p>
389
				</td>
390
			</tr>
391
		</table>
392
		<%
393
			OraDatabase.Parameters.Add "SBOM_A", 	parSBOMA,	ORAPARM_INPUT, ORATYPE_NUMBER 
394
			OraDatabase.Parameters.Add "SBOM_B", 	parSBOMB,	ORAPARM_INPUT, ORATYPE_NUMBER 
395
			OraDatabase.Parameters.Add "NO_CHANGE", "",		ORAPARM_INPUT, ORATYPE_VARCHAR2
396
			OraDatabase.Parameters.Add "ADDED", 	"",		ORAPARM_INPUT, ORATYPE_VARCHAR2
397
			OraDatabase.Parameters.Add "UPDATED", 	"",		ORAPARM_INPUT, ORATYPE_VARCHAR2
398
			OraDatabase.Parameters.Add "REMOVED", 	"",		ORAPARM_INPUT, ORATYPE_VARCHAR2
399
 
400
			Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("BOMDiff.sql"), cint(0))
401
 
402
			OraDatabase.Parameters.Remove "SBOM_A"
403
			OraDatabase.Parameters.Remove "SBOM_B"
404
			OraDatabase.Parameters.Remove "NO_CHANGE"
405
			OraDatabase.Parameters.Remove "ADDED"
406
			OraDatabase.Parameters.Remove "UPDATED"
407
			OraDatabase.Parameters.Remove "REMOVED"
408
 
409
			Set rsQryA = OraDatabase.DbCreateDynaset( "SELECT pr.PROJ_NAME, br.BRANCH_NAME, b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE  AS LOCATION, "&_
410
				"        pr.PROJ_ID, b.BOM_ID, br.BRANCH_ID"&_
411
				"  FROM BRANCHES br,"&_
412
				"  		BOMS b,"&_	
413
				"  	    DM_PROJECTS pr"&_
414
				" WHERE br.PROJ_ID = pr.PROJ_ID"&_
415
				" 	AND b.BRANCH_ID = br.BRANCH_ID"&_	
416
				"   AND b.BOM_ID ="&parSBOMA, cint(0))
417
 
418
 
419
			Set rsQryB = OraDatabase.DbCreateDynaset( "SELECT pr.PROJ_NAME, br.BRANCH_NAME, b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE  AS LOCATION, "&_
420
					"        pr.PROJ_ID, b.BOM_ID, br.BRANCH_ID"&_
421
					"  FROM BRANCHES br,"&_
422
					"  		BOMS b,"&_	
423
					"  	    DM_PROJECTS pr"&_
424
					" WHERE br.PROJ_ID = pr.PROJ_ID"&_
425
					" 	AND b.BRANCH_ID = br.BRANCH_ID"&_	
426
					"   AND b.BOM_ID ="&parSBOMB, cint(0))
427
 
428
			Set FSO=Server.CreateObject("Scripting.FileSystemObject")
429
 
430
			Call DeleteOldReports()
431
 
432
			Set NewTextFile=FSO.CreateTextFile(Server.MapPath(pathName & fileName), true)
433
 
434
			Call Header(rsQryA("branch_name"), rsQryB("branch_name"), rsQryA("location"), rsQryB("location"))
435
 
436
			NewTextFile.WriteLine("<body>")
437
			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>")
438
 
439
			While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))
440
				VersionList = "0"
441
				errormsg = false
442
					rowId = rsQry("pv_id_a") &"_"& rsQry("pv_id_b")
443
 
444
 
445
 
446
				If rsQry("pv_id_a") Then
447
					Set rsQryCommentsA = OraDatabase.DbCreateDynaset( "SELECT COMMENTS FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_a"), cint(0)) 
448
				End If
449
 
450
				If rsQry("pv_id_b") Then
451
					Set rsQryCommentsB = OraDatabase.DbCreateDynaset( "SELECT COMMENTS FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_b"), cint(0)) 
452
				End If
453
 
454
				pkgA = rsQry("pkg_name_a")
455
				pkgB = rsQry("pkg_name_b")
456
 
457
				If pkgA <> "" then 
458
					pkgname = pkgA
459
				Else
460
					pkgname = pkgB
461
				End If
462
 
463
				If rsQry("change_type") = "U" OR rsQry("change_type") = "UW" Then
464
						NewTextFile.Write("<p><SPAN id=""spanShowDetails"& rowId &""" name=""spanShowDetails""><a href=""javascript:;"" class=""body_scol"" onClick=""DisplaySPAN(true,'"& rowId &"');"">"& pkgname &"</a></SPAN>")
465
						NewTextFile.Write("<SPAN id=""spanHideDetails"& rowId &""" name=""spanHideDetails"" style=""display:none;""><a href=""javascript:;"" class=""body_scol"" onClick=""DisplaySPAN(false,'"& rowId &"');"">"& pkgname &"</a></SPAN>")
466
						NewTextFile.WriteLine("<SPAN id=""spanPkgInfo"& rowId &""" name=""spanPkgInfo"" style=""display:none;"">")
467
						NewTextFile.Write(rsQryA("location")&" uses: "&rsQry("pkg_version_a")&" ")
468
 
469
						NewTextFile.WriteLine("<br>")
470
						NewTextFile.Write(rsQryB("location")&" uses: "&rsQry("pkg_version_b")&" ")
471
 
472
						a = rsQry("pv_id_a")
473
						b = rsQry("pv_id_b")
474
						c = rsQry("pv_id_a")
475
						d = rsQry("pv_id_b")
476
 
477
						NewTextFile.WriteLine("<br><br>")
478
						NewTextFile.WriteLine()
479
						NewTextFile.WriteLine("<b>"&rsQryB("location")&"</b>")	
480
						Call Comments(rsQry("pv_id_b"))
481
						Call GetFixedIssues(rsQry("pv_id_b"))
482
 
483
						Dim rsQryLast
484
						Set rsQryLast = OraDatabase.DbCreateDynaset( "SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_b"), cint(0)) 
485
 
486
						If rsQryLast("last_pv_id") <> a Then	
487
							Call PreviousVersions(a, b, rsQry("pkg_version_a"), rsQry("pkg_version_b"))
488
						End If	
489
 
490
						a = rsQry("pv_id_a")
491
						b = rsQry("pv_id_b")
492
						Call GetDependencies(a, VersionList + ","+ b, rsQry("pkg_version_a"), rsQry("pkg_version_b"))	
493
						NewTextFile.WriteLine("</SPAN>")
494
 
495
						rsQryLast.Close()
496
						Set rsQryLast = Nothing
497
 
498
				End If
499
 
500
				If rsQry("change_type") = "A" AND rsQry("patch_b") = "Y" Then
501
					Dim rsQryPatch
502
					OraDatabase.Parameters.Add "PV_ID", 	rsQry("pv_id_b"),	ORAPARM_INPUT, ORATYPE_NUMBER 
503
					Set rsQryPatch = OraDatabase.DbCreateDynaset( GetQuery("pd_patch.sql"), cint(0))
504
					OraDatabase.Parameters.Remove "PV_ID"
505
					If NOT IsNull(rsQryPatch("pv_id")) Then
506
						NewTextFile.Write("<p><SPAN id=""spanShowDetails"& rowId &""" name=""spanShowDetails""><a href=""javascript:;"" class=""body_scol"" onClick=""DisplaySPAN(true,'"& rowId &"');"">"& rsQryPatch("pkg_name") &" "& rsQryPatch("pkg_version") &"</a></SPAN>")
507
						NewTextFile.Write("<SPAN id=""spanHideDetails"& rowId &""" name=""spanHideDetails"" style=""display:none;""><a href=""javascript:;"" class=""body_scol"" onClick=""DisplaySPAN(false,'"& rowId &"');"">"& rsQryPatch("pkg_name") &" "& rsQryPatch("pkg_version") &"</a></SPAN>")
508
						NewTextFile.WriteLine("<SPAN id=""spanPkgInfo"& rowId &""" name=""spanPkgInfo"" style=""display:none;"">")								
509
						Call Comments(rsQryPatch("pv_id"))
510
						Call GetFixedIssues(rsQryPatch("pv_id"))
511
					Else
512
						NewTextFile.Write("<p><SPAN id=""spanShowDetails"& rowId &""" name=""spanShowDetails""><a href=""javascript:;"" class=""body_scol"" onClick=""DisplaySPAN(true,'"& rowId &"');"">"& rsQry("pkg_name_b") &" "& rsQry("pkg_version_b") &"</a></SPAN>")
513
						NewTextFile.Write("<SPAN id=""spanHideDetails"& rowId &""" name=""spanHideDetails"" style=""display:none;""><a href=""javascript:;"" class=""body_scol"" onClick=""DisplaySPAN(false,'"& rowId &"');"">"& rsQry("pkg_name_b") &" "& rsQry("pkg_version_b") &"</a></SPAN>")
514
						NewTextFile.WriteLine("<SPAN id=""spanPkgInfo"& rowId &""" name=""spanPkgInfo"" style=""display:none;"">")								
515
						Call Comments(rsQry("pv_id_b"))
516
						Call GetFixedIssues(rsQry("pv_id_b"))
517
					End If	
518
 
519
					NewTextFile.WriteLine("</SPAN>")	
520
					rsQryPatch.Close
521
					Set rsQryPatch = nothing
522
 
523
				End If
524
 
525
			rsQry.MoveNext
526
			WEnd
527
 
528
			rsQry.Close
529
			Set rsQry = Nothing
530
 
531
			NewTextFile.WriteLine("</body>")
532
			NewTextFile.WriteLine("</html>")
533
 
534
			NewTextFile.Close
535
			Set NewTextFile=Nothing
536
		%>		 
537
	</body>
538
</html>
539
<%
540
Call Destroy_All_Objects
541
%>
542
<!--#include file="common/globals_destructor.asp"-->