Subversion Repositories DevTools

Rev

Rev 5460 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

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