Subversion Repositories DevTools

Rev

Rev 4556 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

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