Subversion Repositories DevTools

Rev

Go to most recent revision | Details | 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
	NewTextFile.WriteLine("<link rel="shortcut icon" href="<%=FavIcon%>"/>
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
	On Error Resume Next
316
    Set OOrsCQ = OraDatabase.DbCreateDynaset( SSsql, cint(0))
317
	Get_CQ_Issues = Err.Number
318
 
319
End Function
320
'--------------------------------------------------------------------------------------------------------------------------
321
Public Function TextToHTML ( sString )
322
	Dim mString
323
 
324
	If (sString = "") OR IsNull(sString) Then Exit Function
325
 
326
	mString = Server.HTMLEncode( sString )
327
	mString = Replace(mString, VBNewLine, "<br>")
328
 
329
	TextToHTML = mString
330
End Function
331
'--------------------------------------------------------------------------------------------------------------------------
332
Public Function RandomString ()
333
	Dim char_count, intRnd, listRnd, min, max
334
 
335
	char_count = 0
336
	max = Asc("0")
337
	min = Asc("z")
338
 
339
	'generate a random string to create unique file name
340
	randomize
341
 
342
	While char_count < 10
343
		intRnd = Cint((max - min + 1) * Rnd() + min)
344
 
345
		'limit string to 0-9, a-z, A-Z
346
		If (intRnd < Asc(":") OR intRnd > Asc("@")) AND (intRnd < Asc("[") OR intRnd > Asc("`")) Then
347
			listRnd = listRnd & Chr(intRnd)
348
			char_count = char_count + 1
349
		End If
350
	Wend
351
 
352
	RandomString = listRnd
353
End Function
354
'--------------------------------------------------------------------------------------------------------------------------
355
%>
356
<%
357
'------------ RUN BEFORE PAGE RENDER ----------
358
 
359
pathName = "docs/"
360
fileName = objAccessControl.UserName &"_bom_report_"& RandomString() &".html"
361
 
362
'----------------------------------------------
363
%>
364
<html>
365
	<head>
366
		<meta http-equiv="Pragma" content="no-cache">
367
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
368
		<style type="text/css">
369
			p { font: bold 90% Verdana,Arial,Helvetica,sans-serif; }
370
			td { text-align: center; vertical-align: center; }
371
			table { width: 100%; height: 100%; }
372
		</style>
373
	</head>
374
	<body <%If objAccessControl.UserName <> "" Then Response.Write("onload="&chr(34)&"window.location='"& pathName & fileName &"'"&chr(34)) End If%>>
375
		<table>
376
			<tr>
377
				<td>
378
					<img src="images/throbber_large.gif" width="66px" height="66px"><br>
379
					<p>Generating Report</p>
380
				</td>
381
			</tr>
382
		</table>
383
		<%
384
			OraDatabase.Parameters.Add "SBOM_A", 	parSBOMA,	ORAPARM_INPUT, ORATYPE_NUMBER 
385
			OraDatabase.Parameters.Add "SBOM_B", 	parSBOMB,	ORAPARM_INPUT, ORATYPE_NUMBER 
386
			OraDatabase.Parameters.Add "NO_CHANGE", "",		ORAPARM_INPUT, ORATYPE_VARCHAR2
387
			OraDatabase.Parameters.Add "ADDED", 	"",		ORAPARM_INPUT, ORATYPE_VARCHAR2
388
			OraDatabase.Parameters.Add "UPDATED", 	"",		ORAPARM_INPUT, ORATYPE_VARCHAR2
389
			OraDatabase.Parameters.Add "REMOVED", 	"",		ORAPARM_INPUT, ORATYPE_VARCHAR2
390
 
391
			Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("BOMDiff.sql"), cint(0))
392
 
393
			OraDatabase.Parameters.Remove "SBOM_A"
394
			OraDatabase.Parameters.Remove "SBOM_B"
395
			OraDatabase.Parameters.Remove "NO_CHANGE"
396
			OraDatabase.Parameters.Remove "ADDED"
397
			OraDatabase.Parameters.Remove "UPDATED"
398
			OraDatabase.Parameters.Remove "REMOVED"
399
 
400
			Set rsQryA = OraDatabase.DbCreateDynaset( "SELECT pr.PROJ_NAME, br.BRANCH_NAME, b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE  AS LOCATION, "&_
401
				"        pr.PROJ_ID, b.BOM_ID, br.BRANCH_ID"&_
402
				"  FROM BRANCHES br,"&_
403
				"  		BOMS b,"&_	
404
				"  	    DM_PROJECTS pr"&_
405
				" WHERE br.PROJ_ID = pr.PROJ_ID"&_
406
				" 	AND b.BRANCH_ID = br.BRANCH_ID"&_	
407
				"   AND b.BOM_ID ="&parSBOMA, cint(0))
408
 
409
 
410
			Set rsQryB = OraDatabase.DbCreateDynaset( "SELECT pr.PROJ_NAME, br.BRANCH_NAME, b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE  AS LOCATION, "&_
411
					"        pr.PROJ_ID, b.BOM_ID, br.BRANCH_ID"&_
412
					"  FROM BRANCHES br,"&_
413
					"  		BOMS b,"&_	
414
					"  	    DM_PROJECTS pr"&_
415
					" WHERE br.PROJ_ID = pr.PROJ_ID"&_
416
					" 	AND b.BRANCH_ID = br.BRANCH_ID"&_	
417
					"   AND b.BOM_ID ="&parSBOMB, cint(0))
418
 
419
			Set FSO=Server.CreateObject("Scripting.FileSystemObject")
420
 
421
			Call DeleteOldReports()
422
 
423
			Set NewTextFile=FSO.CreateTextFile(Server.MapPath(pathName & fileName), true)
424
 
425
			Call Header(rsQryA("branch_name"), rsQryB("branch_name"), rsQryA("location"), rsQryB("location"))
426
 
427
			NewTextFile.WriteLine("<body>")
428
			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>")
429
 
430
			While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))
431
				VersionList = "0"
432
				errormsg = false
433
					rowId = rsQry("pv_id_a") &"_"& rsQry("pv_id_b")
434
 
435
 
436
 
437
				If rsQry("pv_id_a") Then
438
					Set rsQryCommentsA = OraDatabase.DbCreateDynaset( "SELECT COMMENTS FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_a"), cint(0)) 
439
				End If
440
 
441
				If rsQry("pv_id_b") Then
442
					Set rsQryCommentsB = OraDatabase.DbCreateDynaset( "SELECT COMMENTS FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_b"), cint(0)) 
443
				End If
444
 
445
				pkgA = rsQry("pkg_name_a")
446
				pkgB = rsQry("pkg_name_b")
447
 
448
				If pkgA <> "" then 
449
					pkgname = pkgA
450
				Else
451
					pkgname = pkgB
452
				End If
453
 
454
				If rsQry("change_type") = "U" OR rsQry("change_type") = "UW" Then
455
						NewTextFile.Write("<p><SPAN id=""spanShowDetails"& rowId &""" name=""spanShowDetails""><a href=""javascript:;"" class=""body_scol"" onClick=""DisplaySPAN(true,'"& rowId &"');"">"& pkgname &"</a></SPAN>")
456
						NewTextFile.Write("<SPAN id=""spanHideDetails"& rowId &""" name=""spanHideDetails"" style=""display:none;""><a href=""javascript:;"" class=""body_scol"" onClick=""DisplaySPAN(false,'"& rowId &"');"">"& pkgname &"</a></SPAN>")
457
						NewTextFile.WriteLine("<SPAN id=""spanPkgInfo"& rowId &""" name=""spanPkgInfo"" style=""display:none;"">")
458
						NewTextFile.Write(rsQryA("location")&" uses: "&rsQry("pkg_version_a")&" ")
459
 
460
						NewTextFile.WriteLine("<br>")
461
						NewTextFile.Write(rsQryB("location")&" uses: "&rsQry("pkg_version_b")&" ")
462
 
463
						a = rsQry("pv_id_a")
464
						b = rsQry("pv_id_b")
465
						c = rsQry("pv_id_a")
466
						d = rsQry("pv_id_b")
467
 
468
						NewTextFile.WriteLine("<br><br>")
469
						NewTextFile.WriteLine()
470
						NewTextFile.WriteLine("<b>"&rsQryB("location")&"</b>")	
471
						Call Comments(rsQry("pv_id_b"))
472
						Call GetFixedIssues(rsQry("pv_id_b"))
473
 
474
						Dim rsQryLast
475
						Set rsQryLast = OraDatabase.DbCreateDynaset( "SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_b"), cint(0)) 
476
 
477
						If rsQryLast("last_pv_id") <> a Then	
478
							Call PreviousVersions(a, b, rsQry("pkg_version_a"), rsQry("pkg_version_b"))
479
						End If	
480
 
481
						a = rsQry("pv_id_a")
482
						b = rsQry("pv_id_b")
483
						Call GetDependencies(a, VersionList + ","+ b, rsQry("pkg_version_a"), rsQry("pkg_version_b"))	
484
						NewTextFile.WriteLine("</SPAN>")
485
 
486
						rsQryLast.Close()
487
						Set rsQryLast = Nothing
488
 
489
				End If
490
 
491
				If rsQry("change_type") = "A" AND rsQry("patch_b") = "Y" Then
492
					Dim rsQryPatch
493
					OraDatabase.Parameters.Add "PV_ID", 	rsQry("pv_id_b"),	ORAPARM_INPUT, ORATYPE_NUMBER 
494
					Set rsQryPatch = OraDatabase.DbCreateDynaset( GetQuery("pd_patch.sql"), cint(0))
495
					OraDatabase.Parameters.Remove "PV_ID"
496
					If NOT IsNull(rsQryPatch("pv_id")) Then
497
						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>")
498
						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>")
499
						NewTextFile.WriteLine("<SPAN id=""spanPkgInfo"& rowId &""" name=""spanPkgInfo"" style=""display:none;"">")								
500
						Call Comments(rsQryPatch("pv_id"))
501
						Call GetFixedIssues(rsQryPatch("pv_id"))
502
					Else
503
						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>")
504
						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>")
505
						NewTextFile.WriteLine("<SPAN id=""spanPkgInfo"& rowId &""" name=""spanPkgInfo"" style=""display:none;"">")								
506
						Call Comments(rsQry("pv_id_b"))
507
						Call GetFixedIssues(rsQry("pv_id_b"))
508
					End If	
509
 
510
					NewTextFile.WriteLine("</SPAN>")	
511
					rsQryPatch.Close
512
					Set rsQryPatch = nothing
513
 
514
				End If
515
 
516
			rsQry.MoveNext
517
			WEnd
518
 
519
			rsQry.Close
520
			Set rsQry = Nothing
521
 
522
			NewTextFile.WriteLine("</body>")
523
			NewTextFile.WriteLine("</html>")
524
 
525
			NewTextFile.Close
526
			Set NewTextFile=Nothing
527
		%>		 
528
	</body>
529
</html>
530
<%
531
Call Destroy_All_Objects
532
%>
64 jtweddle 533
<!--#include file="common/globals_destructor.asp"-->