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
<%
15
<%
16
'To enable the script timeout to 5 mins
16
'To enable the script timeout to 5 mins
17
Server.ScriptTimeout=600
17
Server.ScriptTimeout=600
18
%>
18
%>
19
<!--#include file="common/config.asp"-->
19
<!--#include file="common/config.asp"-->
20
<!--#include file="common/globals.asp"-->
20
<!--#include file="common/globals.asp"-->
21
<!--#include file="common/formating.asp"-->
21
<!--#include file="common/formating.asp"-->
22
<!--#include file="common/common_subs.asp"-->
22
<!--#include file="common/common_subs.asp"-->
23
<!--#include file="common/common_dbedit.asp"-->
23
<!--#include file="common/common_dbedit.asp"-->
24
<!--#include file="common/_form_window_common.asp"-->
24
<!--#include file="common/_form_window_common.asp"-->
25
<!--#include file="common/_rtree_common.asp"-->
25
<!--#include file="common/_rtree_common.asp"-->
26
<%
26
<%
27
' Set rfile parameter. This is a return page after Login
27
' Set rfile parameter. This is a return page after Login
28
'Call objPMod.StoreParameter ( "rfile", "rtree.asp" )
28
'Call objPMod.StoreParameter ( "rfile", "rtree.asp" )
29
'objPMod.PersistInQryString("proj_id")
29
'objPMod.PersistInQryString("proj_id")
30
'------------ ACCESS CONTROL ------------------
30
'------------ ACCESS CONTROL ------------------
31
%>
31
%>
32
 
32
 
33
<!--#include file="_access_control_general.asp"-->
33
<!--#include file="_access_control_general.asp"-->
34
<%
34
<%
35
'------------ Variable Definition -------------
35
'------------ Variable Definition -------------
36
Dim rsQry
36
Dim rsQry
37
Dim objRelCollectorA
37
Dim objRelCollectorA
38
Dim objRelCollectorB
38
Dim objRelCollectorB
39
Dim parRtagA
39
Dim parRtagA
40
Dim parRtagB
40
Dim parRtagB
41
Dim parSBOMA
41
Dim parSBOMA
42
Dim parSBOMB
42
Dim parSBOMB
43
Dim dDiffFilter
43
Dim dDiffFilter
44
Dim colorA, colorB, ChangeTypeIcon
44
Dim colorA, colorB, ChangeTypeIcon
45
Dim btnMerge, btnRemove
45
Dim btnMerge, btnRemove
46
Dim rowId
46
Dim rowId
47
Dim email
47
Dim email
48
Dim FSO
48
Dim FSO
49
Dim NewTextFile
49
Dim NewTextFile
50
Dim pkgA, pkgB, pkgname, delimiter, rsQryA, rsQryB, rsQryCommentsA, rsQryCommentsB, sqlstrA, counterA, sqlstrB, counterB
50
Dim pkgA, pkgB, pkgname, delimiter, rsQryA, rsQryB, rsQryCommentsA, rsQryCommentsB, sqlstrA, counterA, sqlstrB, counterB
51
Dim SSsql, retVal, rsCQ, DEVIiss, TDSEiss, VT5DMiss		
51
Dim SSsql, retVal, rsCQ, DEVIiss, TDSEiss, VT5DMiss		
52
Dim a, b, c, d, pkgversion, errormsg, source_change
52
Dim a, b, c, d, pkgversion, errormsg, source_change
53
 
53
 
54
 
54
 
55
'------------ Constants Declaration -----------
55
'------------ Constants Declaration -----------
56
Const LIMG_UPDATED = "<img src='images/i_updated.gif' width='11' height='11' border='0' hspace='5' align='absmiddle' title='Updated'>"
56
Const LIMG_UPDATED = "<img src='images/i_updated.gif' width='11' height='11' border='0' hspace='5' align='absmiddle' title='Updated'>"
57
Const LIMG_ADDED = "<img src='images/i_added.gif' width='11' height='11' border='0' hspace='5' align='absmiddle' title='Added'>"
57
Const LIMG_ADDED = "<img src='images/i_added.gif' width='11' height='11' border='0' hspace='5' align='absmiddle' title='Added'>"
58
Const LIMG_REMOVED = "<img src='images/i_removed.gif' width='11' height='11' border='0' hspace='5' align='absmiddle' title='Removed'>"
58
Const LIMG_REMOVED = "<img src='images/i_removed.gif' width='11' height='11' border='0' hspace='5' align='absmiddle' title='Removed'>"
59
Const LIMG_FILTER_ON = "<img src='images/i_data_table.gif' border='0' align='absmiddle' hspace='0' title='Filter in use.'>"
59
Const LIMG_FILTER_ON = "<img src='images/i_data_table.gif' border='0' align='absmiddle' hspace='0' title='Filter in use.'>"
60
Const LIMG_FILTER_OFF = "<img src='images/i_data_table_off.gif' border='0' align='absmiddle' hspace='0' title='Filter not in use.'>"
60
Const LIMG_FILTER_OFF = "<img src='images/i_data_table_off.gif' border='0' align='absmiddle' hspace='0' title='Filter not in use.'>"
61
Const LIMG_DROP_DOWN_ARROW = "<img src='images/i_drop_down_arrow.gif' width='5' height='15' hspace='1' border='0' align='absmiddle'>"
61
Const LIMG_DROP_DOWN_ARROW = "<img src='images/i_drop_down_arrow.gif' width='5' height='15' hspace='1' border='0' align='absmiddle'>"
62
Const LCOLOR_NOT_CHANGED = "#F5F5F5"
62
Const LCOLOR_NOT_CHANGED = "#F5F5F5"
63
Const LCOLOR_CHANGED = "#d2f7c9"
63
Const LCOLOR_CHANGED = "#d2f7c9"
64
Const LCOLOR_BLANK = "#FFFFFF"
64
Const LCOLOR_BLANK = "#FFFFFF"
65
Const LIMG_MERGE = "<img src='images/bt_move_all_right.gif' title='Click to merge.' border='0'>"
65
Const LIMG_MERGE = "<img src='images/bt_move_all_right.gif' title='Click to merge.' border='0'>"
66
Const LIMG_MERGE_WARN = "<img src='images/bt_move_warn_right.gif' title='Right hand side version is newer.' border='0'>"
66
Const LIMG_MERGE_WARN = "<img src='images/bt_move_warn_right.gif' title='Right hand side version is newer.' border='0'>"
67
Const LIMG_REMOVE = "<img src='images/bt_remove.gif' title='Remove this version from release.' border='0'>"
67
Const LIMG_REMOVE = "<img src='images/bt_remove.gif' title='Remove this version from release.' border='0'>"
68
Const LIMG_UNDO = "<img src='images/bt_undo.gif' title='Undo merge/remove.' border='0'>"
68
Const LIMG_UNDO = "<img src='images/bt_undo.gif' title='Undo merge/remove.' border='0'>"
69
'------------ Variable Init -------------------
69
'------------ Variable Init -------------------
70
parRtagA = Request("rtagA")
70
parRtagA = Request("rtagA")
71
parRtagB = Request("rtagB")
71
parRtagB = Request("rtagB")
72
parSBOMA = Request("sbomA")
72
parSBOMA = Request("sbomA")
73
parSBOMB = Request("sbomB")
73
parSBOMB = Request("sbomB")
74
Set objRelCollectorA = CreateObject("Scripting.Dictionary")
74
Set objRelCollectorA = CreateObject("Scripting.Dictionary")
75
Set objRelCollectorB = CreateObject("Scripting.Dictionary")
75
Set objRelCollectorB = CreateObject("Scripting.Dictionary")
76
Set dDiffFilter = CreateObject("Scripting.Dictionary")
76
Set dDiffFilter = CreateObject("Scripting.Dictionary")
77
 
77
 
78
'----------------------------------------------
78
'----------------------------------------------
79
If Request("btn") = "Mail Me Report" Then
79
If Request("btn") = "Mail Me Report" Then
80
	email = true
80
	email = true
81
End If
81
End If
82
%>
82
%>
83
<%
83
<%
84
'--------------------------------------------------------------------------------------------------------------------------
84
'--------------------------------------------------------------------------------------------------------------------------
85
Sub GetDiffFilterValues ( outDepFilter )
85
Sub GetDiffFilterValues ( outDepFilter )
86
	Dim FilterVal, aFilterValues
86
	Dim FilterVal, aFilterValues
87
	
87
	
88
	If Request.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER) <> "" Then	
88
	If Request.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER) <> "" Then	
89
		aFilterValues = Split( Replace( Request.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER), " ", ""), ",") 
89
		aFilterValues = Split( Replace( Request.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER), " ", ""), ",") 
90
		
90
		
91
		For Each FilterVal In aFilterValues
91
		For Each FilterVal In aFilterValues
92
			outDepFilter.Item (CStr( FilterVal )) = ""
92
			outDepFilter.Item (CStr( FilterVal )) = ""
93
		Next
93
		Next
94
		
94
		
95
	End If
95
	End If
96
	
96
	
97
End Sub
97
End Sub
98
'--------------------------------------------------------------------------------------------------------------------------
98
'--------------------------------------------------------------------------------------------------------------------------
99
Sub GetFixedIssues(pv_id)
99
Sub GetFixedIssues(pv_id)
100
	Set sqlstrA = OraDatabase.DbCreateDynaset("SELECT iss_db, iss_id, iss_state, notes FROM CQ_ISSUES WHERE pv_id="& pv_id &"  AND iss_state = "& enumISSUES_STATE_FIXED, cint(0))						 
100
	Set sqlstrA = OraDatabase.DbCreateDynaset("SELECT iss_db, iss_id, iss_state, notes FROM CQ_ISSUES WHERE pv_id="& pv_id &"  AND iss_state = "& enumISSUES_STATE_FIXED, cint(0))						 
101
		
101
		
102
		If sqlstrA.RecordCount <> 0 Then
102
		If sqlstrA.RecordCount <> 0 Then
103
			NewTextFile.WriteLine()
103
			NewTextFile.WriteLine()
104
			NewTextFile.WriteLine("<blockquote><blockquote>Fixed Issues:</blockquote></blockquote>")
104
			NewTextFile.WriteLine("<blockquote><blockquote>Fixed Issues:</blockquote></blockquote>")
105
		End If
105
		End If
106
		
106
		
107
		For counterA=1 to sqlstrA.RecordCount
107
		For counterA=1 to sqlstrA.RecordCount
108
			DEVIiss = "-1"
108
			DEVIiss = "-1"
109
			TDSEiss = "-1"
109
			TDSEiss = "-1"
110
			VT5DMiss = "-1"
110
			VT5DMiss = "-1"
111
				
111
				
112
			If CInt(sqlstrA("iss_db")) = CInt(enumCLEARQUEST_DEVI_ID) Then
112
			If CInt(sqlstrA("iss_db")) = CInt(enumCLEARQUEST_DEVI_ID) Then
113
				DEVIiss = DEVIiss &","& sqlstrA("iss_id")
113
				DEVIiss = DEVIiss &","& sqlstrA("iss_id")
114
			ElseIf CInt(sqlstrA("iss_db")) = CInt(enumCLEARQUEST_TDSE_ID) Then
114
			ElseIf CInt(sqlstrA("iss_db")) = CInt(enumCLEARQUEST_TDSE_ID) Then
115
				TDSEiss = TDSEiss &","& sqlstrA("iss_id")
115
				TDSEiss = TDSEiss &","& sqlstrA("iss_id")
116
			ElseIf CInt(sqlstrA("iss_db")) = CInt(enumCLEARQUEST_VT5DM_ID) Then
116
			ElseIf CInt(sqlstrA("iss_db")) = CInt(enumCLEARQUEST_VT5DM_ID) Then
117
				VT5DMiss = VT5DMiss &","& sqlstrA("iss_id")								
117
				VT5DMiss = VT5DMiss &","& sqlstrA("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, "/*DEVIiss*/", DEVIiss)
124
			SSsql = Replace( SSsql, "/*DEVIiss*/", DEVIiss)
125
			SSsql = Replace( SSsql, "/*TDSEiss*/", TDSEiss)
125
			SSsql = Replace( SSsql, "/*TDSEiss*/", TDSEiss)
126
			SSsql = Replace( SSsql, "/*VT5DMiss*/", VT5DMiss)	
126
			SSsql = Replace( SSsql, "/*VT5DMiss*/", VT5DMiss)	
127
			retVal = Get_CQ_Issues ( SSsql, rsCQ )					
127
			retVal = Get_CQ_Issues ( SSsql, rsCQ )					
128
 
128
 
129
			If rsCQ("iss_num") <> "" Then
129
			If rsCQ("iss_num") <> "" Then
130
  				NewTextFile.Write("<blockquote><blockquote><blockquote>"&rsCQ("iss_num")&": ")
130
  				NewTextFile.Write("<blockquote><blockquote><blockquote>"&rsCQ("iss_num")&": ")
131
	    	End If
131
	    	End If
132
			
132
			
133
	     	If rsCQ("summary") <> "" Then
133
	     	If rsCQ("summary") <> "" Then
134
				NewTextFile.WriteLine(rsCQ("summary")&"</blockquote></blockquote></blockquote>")						
134
				NewTextFile.WriteLine(rsCQ("summary")&"</blockquote></blockquote></blockquote>")						
135
			End If
135
			End If
136
								
136
								
137
			sqlstrA.MoveNext
137
			sqlstrA.MoveNext
138
		Next
138
		Next
139
			sqlstrA.Close()		
139
			sqlstrA.Close()		
140
			
140
			
141
 
141
 
142
End Sub
142
End Sub
143
'--------------------------------------------------------------------------------------------------------------------------
143
'--------------------------------------------------------------------------------------------------------------------------
144
Sub GetDependencies(pv_id_a, pv_id_b)
144
Sub GetDependencies(pv_id_a, pv_id_b)
145
	Set sqlstrA = OraDatabase.DbCreateDynaset("select * from package_dependencies where pv_id = "& pv_id_b &" and dpv_id NOT IN (SELECT dpv_id from package_dependencies where pv_id ="& pv_id_a &" )", cint(0))	
145
	Set sqlstrA = OraDatabase.DbCreateDynaset("select * from package_dependencies where pv_id = "& pv_id_b &" and dpv_id NOT IN (SELECT dpv_id from package_dependencies where pv_id ="& pv_id_a &" )", cint(0))	
146
		If sqlstrA.RecordCount <> 0 Then
146
		If sqlstrA.RecordCount <> 0 Then
147
			NewTextFile.WriteLine()
147
			NewTextFile.WriteLine()
148
			NewTextFile.WriteLine("<b>Dependencies Changed:</b>")
148
			NewTextFile.WriteLine("<b>Dependencies Changed:</b>")
149
		End If
149
		End If
150
		
150
		
151
		For counterA=1 to sqlstrA.RecordCount
151
		For counterA=1 to sqlstrA.RecordCount
152
			Call dependencyComments(sqlstrA("dpv_id"))
152
			Call dependencyComments(sqlstrA("dpv_id"))
153
		
153
		
154
			sqlstrA.MoveNext		
154
			sqlstrA.MoveNext		
155
		Next 		
155
		Next 		
156
			sqlstrA.Close()				 
156
			sqlstrA.Close()				 
157
 
157
 
158
End Sub
158
End Sub
159
'--------------------------------------------------------------------------------------------------------------------------
159
'--------------------------------------------------------------------------------------------------------------------------
160
Sub dependencyComments(pv_id)
160
Sub dependencyComments(pv_id)
161
	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))	
161
	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))	
162
			NewTextFile.Write("<blockquote><blockquote><blockquote>"& sqlstrB("pkg_name") &" "& sqlstrB("pkg_version") &"---->"& TextToHTML(sqlstrB("comments")) &"</blockquote></blockquote></blockquote>")	
162
			NewTextFile.Write("<blockquote><blockquote><blockquote>"& sqlstrB("pkg_name") &" "& sqlstrB("pkg_version") &"---->"& TextToHTML(sqlstrB("comments")) &"</blockquote></blockquote></blockquote>")	
163
	
163
	
164
 
164
 
165
End Sub
165
End Sub
166
'--------------------------------------------------------------------------------------------------------------------------
166
'--------------------------------------------------------------------------------------------------------------------------
167
Sub LastPvIdA(a)
167
Sub LastPvIdA(a)
168
	Dim qryA
168
	Dim qryA
169
	Set qryA = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&a , cint(0))
169
	Set qryA = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&a , cint(0))
170
	
170
	
171
	If a <> qryA("last_pv_id") Then	
171
	If a <> qryA("last_pv_id") Then	
172
		a = qryA("last_pv_id")
172
		a = qryA("last_pv_id")
173
	Else 
173
	Else 
174
		errormsg = true
174
		errormsg = true
175
	End If
175
	End If
176
	
176
	
177
	qryA.Close()
177
	qryA.Close()
178
End Sub
178
End Sub
179
'--------------------------------------------------------------------------------------------------------------------------
179
'--------------------------------------------------------------------------------------------------------------------------
180
Sub LastPvIdB(b)
180
Sub LastPvIdB(b)
181
	Dim qryB
181
	Dim qryB
182
	Set qryB = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&b , cint(0))
182
	Set qryB = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&b , cint(0))
183
	
183
	
184
	If b <> qryB("last_pv_id") Then
184
	If b <> qryB("last_pv_id") Then
185
		b = qryB("last_pv_id")
185
		b = qryB("last_pv_id")
186
	Else
186
	Else
187
		errormsg = true	
187
		errormsg = true	
188
	End If
188
	End If
189
	
189
	
190
	qryB.Close()
190
	qryB.Close()
191
	
191
	
192
End Sub
192
End Sub
193
'--------------------------------------------------------------------------------------------------------------------------
193
'--------------------------------------------------------------------------------------------------------------------------
194
Sub pkg_Version(pv)
194
Sub pkg_Version(pv)
195
	Dim qry	
195
	Dim qry	
196
	Set qry = OraDatabase.DbCreateDynaset("SELECT PKG_VERSION FROM PACKAGE_VERSIONS WHERE PV_ID="&pv , cint(0))	
196
	Set qry = OraDatabase.DbCreateDynaset("SELECT PKG_VERSION FROM PACKAGE_VERSIONS WHERE PV_ID="&pv , cint(0))	
197
	pkgversion = qry("pkg_version")
197
	pkgversion = qry("pkg_version")
198
	qry.Close()
198
	qry.Close()
199
End Sub
199
End Sub
200
'--------------------------------------------------------------------------------------------------------------------------
200
'--------------------------------------------------------------------------------------------------------------------------
201
Sub LastPvIdAa(a)
201
Sub LastPvIdAa(a)
202
	Dim qryA
202
	Dim qryA
203
	Set qryA = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&a , cint(0))
203
	Set qryA = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&a , cint(0))
204
	c = qryA("last_pv_id")
204
	c = qryA("last_pv_id")
205
	qryA.Close()
205
	qryA.Close()
206
End Sub
206
End Sub
207
'--------------------------------------------------------------------------------------------------------------------------
207
'--------------------------------------------------------------------------------------------------------------------------
208
Sub LastPvIdBb(b)
208
Sub LastPvIdBb(b)
209
	Dim qryB
209
	Dim qryB
210
	Set qryB = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&b , cint(0))
210
	Set qryB = OraDatabase.DbCreateDynaset("SELECT LAST_PV_ID FROM PACKAGE_VERSIONS WHERE PV_ID="&b , cint(0))
211
	d = qryB("last_pv_id")	
211
	d = qryB("last_pv_id")	
212
	qryB.Close()
212
	qryB.Close()
213
End Sub
213
End Sub
214
'--------------------------------------------------------------------------------------------------------------------------
214
'--------------------------------------------------------------------------------------------------------------------------
215
Sub Comments(Pv_Id)
215
Sub Comments(Pv_Id)
216
	Dim comments
216
	Dim comments
217
	Set comments = OraDatabase.DbCreateDynaset("SELECT COMMENTS, PKG_VERSION FROM PACKAGE_VERSIONS WHERE PV_ID="&Pv_id , cint(0))
217
	Set comments = OraDatabase.DbCreateDynaset("SELECT COMMENTS, PKG_VERSION FROM PACKAGE_VERSIONS WHERE PV_ID="&Pv_id , cint(0))
218
 
218
 
219
	If comments("comments") <> "Rippled Build." Then
219
	If comments("comments") <> "Rippled Build." Then
220
		NewTextFile.WriteLine("<blockquote><blockquote><font color="&chr(34)&"blue"&chr(34)&">Version: "& comments("pkg_version")&"</font></blockquote></blockquote>")
220
		NewTextFile.WriteLine("<blockquote><blockquote><font color="&chr(34)&"blue"&chr(34)&">Version: "& comments("pkg_version")&"</font></blockquote></blockquote>")
221
		If comments("comments") <> "" Then
221
		If comments("comments") <> "" Then
222
			NewTextFile.WriteLine("<blockquote><blockquote>Comments: </blockquote></blockquote>")
222
			NewTextFile.WriteLine("<blockquote><blockquote>Comments: </blockquote></blockquote>")
223
			NewTextFile.WriteLine("<blockquote><blockquote><blockquote>"& TextToHTML(comments("comments")) &"</blockquote></blockquote></blockquote>")
223
			NewTextFile.WriteLine("<blockquote><blockquote><blockquote>"& TextToHTML(comments("comments")) &"</blockquote></blockquote></blockquote>")
224
			source_change = true
224
			source_change = true
225
		End If	
225
		End If	
226
	End If
226
	End If
227
 
227
 
228
End Sub
228
End Sub
229
'--------------------------------------------------------------------------------------------------------------------------
229
'--------------------------------------------------------------------------------------------------------------------------
230
Sub Release(pvId)
230
Sub Release(pvId)
231
	Dim release
231
	Dim release
232
	Set release = OraDatabase.DbCreateDynaset("SELECT INSERT_STAMP FROM RELEASE_CONTENT WHERE PV_ID="&pvId , cint(0))
232
	Set release = OraDatabase.DbCreateDynaset("SELECT INSERT_STAMP FROM RELEASE_CONTENT WHERE PV_ID="&pvId , cint(0))
233
 
233
 
234
	If release("insert_stamp") <> "" Then
234
	If release("insert_stamp") <> "" Then
235
		NewTextFile.Write(release("insert_stamp"))
235
		NewTextFile.Write(release("insert_stamp"))
236
	Else
236
	Else
237
		NewTextFile.Write("Version Not Used.")
237
		NewTextFile.Write("Version Not Used.")
238
	End If			
238
	End If			
239
 
239
 
240
End Sub
240
End Sub
241
'--------------------------------------------------------------------------------------------------------------------------
241
'--------------------------------------------------------------------------------------------------------------------------
242
Sub Header() 
242
Sub Header() 
243
	NewTextFile.WriteLine("<html>")
243
	NewTextFile.WriteLine("<html>")
244
End Sub
244
End Sub
245
'--------------------------------------------------------------------------------------------------------------------------
245
'--------------------------------------------------------------------------------------------------------------------------
246
Sub Footer()
246
Sub Footer()
247
	NewTextFile.WriteLine("</html>")
247
	NewTextFile.WriteLine("</html>")
248
End Sub
248
End Sub
249
'--------------------------------------------------------------------------------------------------------------------------
249
'--------------------------------------------------------------------------------------------------------------------------
250
Function GetIsDiffFilterInUseIcon()
250
Function GetIsDiffFilterInUseIcon()
251
	GetIsDiffFilterInUseIcon = LIMG_FILTER_OFF & LIMG_DROP_DOWN_ARROW
251
	GetIsDiffFilterInUseIcon = LIMG_FILTER_OFF & LIMG_DROP_DOWN_ARROW
252
	
252
	
253
	If dDiffFilter.Count > 0 Then
253
	If dDiffFilter.Count > 0 Then
254
		GetIsDiffFilterInUseIcon = LIMG_FILTER_ON & LIMG_DROP_DOWN_ARROW
254
		GetIsDiffFilterInUseIcon = LIMG_FILTER_ON & LIMG_DROP_DOWN_ARROW
255
	End If
255
	End If
256
	
256
	
257
End Function
257
End Function
258
'--------------------------------------------------------------------------------------------------------------------------
258
'--------------------------------------------------------------------------------------------------------------------------
259
Function GetIsDiffFilterChecked( nFilterId )
259
Function GetIsDiffFilterChecked( nFilterId )
260
	
260
	
261
	If dDiffFilter.Exists ( CStr(nFilterId)  ) Then
261
	If dDiffFilter.Exists ( CStr(nFilterId)  ) Then
262
		GetIsDiffFilterChecked = "checked"
262
		GetIsDiffFilterChecked = "checked"
263
	End If
263
	End If
264
	
264
	
265
End Function
265
End Function
266
'---------------------------------------------------------------------------------------------------------------------------
266
'---------------------------------------------------------------------------------------------------------------------------
267
Function  Get_CQ_Issues ( SSsql, OOrsCQ )
267
Function  Get_CQ_Issues ( SSsql, OOrsCQ )
268
 
268
 
269
	On Error Resume Next
269
	On Error Resume Next
270
    Set OOrsCQ = OraDatabase.DbCreateDynaset( SSsql, cint(0))
270
    Set OOrsCQ = OraDatabase.DbCreateDynaset( SSsql, cint(0))
271
	Get_CQ_Issues = Err.Number
271
	Get_CQ_Issues = Err.Number
272
	
272
	
273
End Function
273
End Function
274
'--------------------------------------------------------------------------------------------------------------------------
274
'--------------------------------------------------------------------------------------------------------------------------
275
Public Function TextToHTML ( sString )
275
Public Function TextToHTML ( sString )
276
	Dim mString
276
	Dim mString
277
		
277
		
278
	If (sString = "") OR IsNull(sString) Then Exit Function
278
	If (sString = "") OR IsNull(sString) Then Exit Function
279
	
279
	
280
	mString = Server.HTMLEncode( sString )
280
	mString = Server.HTMLEncode( sString )
281
	mString = Replace(mString, VBNewLine, "<br>")
281
	mString = Replace(mString, VBNewLine, "<br>")
282
		
282
		
283
	TextToHTML = mString
283
	TextToHTML = mString
284
End Function
284
End Function
285
 
285
 
286
'--------------------------------------------------------------------------------------------------------------------------
286
'--------------------------------------------------------------------------------------------------------------------------
287
Sub GetFormDetails ( nSourceSBOM, ByRef outobjDetails )
287
Sub GetFormDetails ( nSourceSBOM, ByRef outobjDetails )
288
	Dim rsQry, query
288
	Dim rsQry, query
289
	
289
	
290
	' Exit if nSourceRtagId is empty
290
	' Exit if nSourceRtagId is empty
291
	If nSourceSBOM = "" Then Exit Sub 
291
	If nSourceSBOM = "" Then Exit Sub 
292
 
292
 
293
	OraDatabase.Parameters.Add "SBOM", 	nSourceSBOM,		ORAPARM_INPUT, ORATYPE_NUMBER 
293
	OraDatabase.Parameters.Add "SBOM", 	nSourceSBOM,		ORAPARM_INPUT, ORATYPE_NUMBER 
294
	
294
	
295
	query = _
295
	query = _
296
	" SELECT pr.PROJ_NAME ||' &gt; '|| br.BRANCH_NAME ||' &gt; '|| b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE  AS LOCATION, "&_
296
	" SELECT pr.PROJ_NAME ||' &gt; '|| br.BRANCH_NAME ||' &gt; '|| b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE  AS LOCATION, "&_
297
	"        pr.PROJ_ID, b.BOM_ID, b.IS_READONLY, br.BRANCH_ID"&_
297
	"        pr.PROJ_ID, b.BOM_ID, b.IS_READONLY, br.BRANCH_ID"&_
298
	"  FROM BRANCHES br,"&_
298
	"  FROM BRANCHES br,"&_
299
	"  		BOMS b,"&_	
299
	"  		BOMS b,"&_	
300
	"  	    DM_PROJECTS pr"&_
300
	"  	    DM_PROJECTS pr"&_
301
	" WHERE br.PROJ_ID = pr.PROJ_ID"&_
301
	" WHERE br.PROJ_ID = pr.PROJ_ID"&_
302
	" 	AND b.BRANCH_ID = br.BRANCH_ID"&_	
302
	" 	AND b.BRANCH_ID = br.BRANCH_ID"&_	
303
	"   AND b.BOM_ID = :SBOM"
303
	"   AND b.BOM_ID = :SBOM"
304
	
304
	
305
	Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT )
305
	Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT )
306
	
306
	
307
	OraDatabase.Parameters.Remove "SBOM"
307
	OraDatabase.Parameters.Remove "SBOM"
308
	
308
	
309
	If rsQry.RecordCount > 0 Then
309
	If rsQry.RecordCount > 0 Then
310
		outobjDetails.Item ("location") = rsQry("location")
310
		outobjDetails.Item ("location") = rsQry("location")
311
		outobjDetails.Item ("official") = rsQry("IS_READONLY")
311
		outobjDetails.Item ("official") = rsQry("IS_READONLY")
312
		outobjDetails.Item ("proj_id") = rsQry("proj_id")
312
		outobjDetails.Item ("proj_id") = rsQry("proj_id")
313
		outobjDetails.Item ("branch_id") = rsQry("branch_id")
313
		outobjDetails.Item ("branch_id") = rsQry("branch_id")
314
		outobjDetails.Item ("bom_id") = rsQry("bom_id")		
314
		outobjDetails.Item ("bom_id") = rsQry("bom_id")		
315
		outobjDetails.Item ("is_readonly") = rsQry("is_readonly")
315
		outobjDetails.Item ("is_readonly") = rsQry("is_readonly")
316
	Else
316
	Else
317
		Err.Raise 8, "Sub GetFormDetails in "& SCRIPT_NAME, "Empty record set returned. nSourceSBOM="& nSourceSBOM
317
		Err.Raise 8, "Sub GetFormDetails in "& SCRIPT_NAME, "Empty record set returned. nSourceSBOM="& nSourceSBOM
318
	End If
318
	End If
319
	
319
	
320
	If outobjDetails.Item ("location") = "" Then
320
	If outobjDetails.Item ("location") = "" Then
321
		outobjDetails.Item ("location") = "N"
321
		outobjDetails.Item ("location") = "N"
322
	End If
322
	End If
323
	
323
	
324
	rsQry.Close
324
	rsQry.Close
325
	Set rsQry = Nothing
325
	Set rsQry = Nothing
326
	
326
	
327
End Sub
327
End Sub
328
'--------------------------------------------------------------------------------------------------------------------------
328
'--------------------------------------------------------------------------------------------------------------------------
329
Sub GetDiffStateIcon( nDiffState, outIcon )
329
Sub GetDiffStateIcon( nDiffState, outIcon )
330
 
330
 
331
	Select Case nDiffState
331
	Select Case nDiffState
332
		Case "U"
332
		Case "U"
333
			outIcon  = LIMG_UPDATED		
333
			outIcon  = LIMG_UPDATED		
334
		Case "UW"
334
		Case "UW"
335
			outIcon  = LIMG_UPDATED			
335
			outIcon  = LIMG_UPDATED			
336
		Case "A"
336
		Case "A"
337
			outIcon = LIMG_ADDED			
337
			outIcon = LIMG_ADDED			
338
		Case "R"
338
		Case "R"
339
			outIcon = LIMG_REMOVED			
339
			outIcon = LIMG_REMOVED			
340
		Case Else
340
		Case Else
341
			outIcon = ""			
341
			outIcon = ""			
342
	End Select
342
	End Select
343
	
343
	
344
End Sub
344
End Sub
345
'--------------------------------------------------------------------------------------------------------------------------
345
'--------------------------------------------------------------------------------------------------------------------------
346
Sub MergePackages ()
346
Sub MergePackages ()
347
	Dim aFullList, aAddPkgList, aRemovePkgList, dAddPkgList, dRemovePkgList, PvId
347
	Dim aFullList, aAddPkgList, aRemovePkgList, dAddPkgList, dRemovePkgList, PvId
348
	Dim OraParameter
348
	Dim OraParameter
349
	
349
	
350
	Set dAddPkgList = CreateObject("Scripting.Dictionary")
350
	Set dAddPkgList = CreateObject("Scripting.Dictionary")
351
	Set dRemovePkgList = CreateObject("Scripting.Dictionary")
351
	Set dRemovePkgList = CreateObject("Scripting.Dictionary")
352
	
352
	
353
	'--- Get Add Packages ---
353
	'--- Get Add Packages ---
354
	' Get full list of "addpkg" parameter
354
	' Get full list of "addpkg" parameter
355
	aFullList = Split ( Replace( Request("addpkg"), " ", "" ), "," )
355
	aFullList = Split ( Replace( Request("addpkg"), " ", "" ), "," )
356
	
356
	
357
	
357
	
358
	' Clean empty parameters
358
	' Clean empty parameters
359
	For Each PvId In aFullList
359
	For Each PvId In aFullList
360
		If PvId <> "" Then
360
		If PvId <> "" Then
361
			dAddPkgList.Add CStr( PvId ), Empty
361
			dAddPkgList.Add CStr( PvId ), Empty
362
		End If
362
		End If
363
	Next
363
	Next
364
	
364
	
365
	aFullList = NULL
365
	aFullList = NULL
366
	aAddPkgList = dAddPkgList.Keys
366
	aAddPkgList = dAddPkgList.Keys
367
	
367
	
368
	'--- Get Remove Packages ---
368
	'--- Get Remove Packages ---
369
	' Get full list of "removepkg" parameter
369
	' Get full list of "removepkg" parameter
370
	aFullList = Split ( Replace( Request("removepkg"), " ", "" ), "," )
370
	aFullList = Split ( Replace( Request("removepkg"), " ", "" ), "," )
371
	
371
	
372
	' Clean empty parameters
372
	' Clean empty parameters
373
	For Each PvId In aFullList
373
	For Each PvId In aFullList
374
		If PvId <> "" Then
374
		If PvId <> "" Then
375
			dRemovePkgList.Add CStr( PvId ), Empty
375
			dRemovePkgList.Add CStr( PvId ), Empty
376
		End If
376
		End If
377
	Next
377
	Next
378
	
378
	
379
	aFullList = NULL
379
	aFullList = NULL
380
	aRemovePkgList = dRemovePkgList.Keys
380
	aRemovePkgList = dRemovePkgList.Keys
381
	
381
	
382
 
382
 
383
 
383
 
384
	'-- Add package List to release --
384
	'-- Add package List to release --
385
	OraDatabase.Parameters.Add "PV_ID", 			NULL, 				ORAPARM_INPUT, ORATYPE_NUMBER 
385
	OraDatabase.Parameters.Add "PV_ID", 			NULL, 				ORAPARM_INPUT, ORATYPE_NUMBER 
386
	OraDatabase.Parameters.Add "VIEW_ID", 			NULL, 				ORAPARM_BOTH, ORATYPE_NUMBER 
386
	OraDatabase.Parameters.Add "VIEW_ID", 			NULL, 				ORAPARM_BOTH, ORATYPE_NUMBER 
387
	OraDatabase.Parameters.Add "SBOM_A", 			parSBOMA, 			ORAPARM_INPUT, ORATYPE_NUMBER 
387
	OraDatabase.Parameters.Add "SBOM_A", 			parSBOMA, 			ORAPARM_INPUT, ORATYPE_NUMBER 
388
	OraDatabase.Parameters.Add "SBOM_B", 			parSBOMB, 			ORAPARM_INPUT, ORATYPE_NUMBER 
388
	OraDatabase.Parameters.Add "SBOM_B", 			parSBOMB, 			ORAPARM_INPUT, ORATYPE_NUMBER 
389
	OraDatabase.Parameters.Add "PROJB", 			objRelCollectorB.Item("proj_id"), 	ORAPARM_INPUT, ORATYPE_NUMBER 
389
	OraDatabase.Parameters.Add "PROJB", 			objRelCollectorB.Item("proj_id"), 	ORAPARM_INPUT, ORATYPE_NUMBER 
390
	OraDatabase.Parameters.Add "COMMENTS", 			"Merging from "& objRelCollectorA.Item("location") &" to "& objRelCollectorB.Item("location"), 	ORAPARM_INPUT, ORATYPE_VARCHAR2
390
	OraDatabase.Parameters.Add "COMMENTS", 			"Merging from "& objRelCollectorA.Item("location") &" to "& objRelCollectorB.Item("location"), 	ORAPARM_INPUT, ORATYPE_VARCHAR2
391
	OraDatabase.Parameters.Add "USER_ID", 			objAccessControl.UserId, 				ORAPARM_INPUT, ORATYPE_NUMBER 
391
	OraDatabase.Parameters.Add "USER_ID", 			objAccessControl.UserId, 				ORAPARM_INPUT, ORATYPE_NUMBER 
392
	
392
	
393
	
393
	
394
	Set OraParameter = OraDatabase.Parameters
394
	Set OraParameter = OraDatabase.Parameters
395
	
395
	
396
	
396
	
397
	On Error Resume Next
397
	On Error Resume Next
398
	
398
	
399
	
399
	
400
	' Begin Database entry
400
	' Begin Database entry
401
	objEH.TryORA ( OraSession )
401
	objEH.TryORA ( OraSession )
402
	
402
	
403
	OraSession.BeginTrans
403
	OraSession.BeginTrans
404
	
404
	
405
	'-- Add Packages --
405
	'-- Add Packages --
406
	For Each PvId In aAddPkgList
406
	For Each PvId In aAddPkgList
407
		OraParameter("PV_ID").Value = PvId
407
		OraParameter("PV_ID").Value = PvId
408
		
408
		
409
		
409
		
410
		Dim rsQry, rsQryNodeCount
410
		Dim rsQry, rsQryNodeCount
411
		
411
		
412
 
412
 
413
		
413
		
414
		Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("MergeManagerA.sql"), cint(0))
414
		Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("MergeManagerA.sql"), cint(0))
415
		
415
		
416
		'OraDatabase.Parameters.Add "OS_ID", 			rsQry("os_id"), 			ORAPARM_INPUT, ORATYPE_NUMBER 
416
		'OraDatabase.Parameters.Add "OS_ID", 			rsQry("os_id"), 			ORAPARM_INPUT, ORATYPE_NUMBER 
417
		'OraDatabase.Parameters.Add "NODE_ID", 			rsQry("node_id"), 			ORAPARM_INPUT, ORATYPE_NUMBER 		
417
		'OraDatabase.Parameters.Add "NODE_ID", 			rsQry("node_id"), 			ORAPARM_INPUT, ORATYPE_NUMBER 		
418
 
418
 
419
		Set rsQryNodeCount = OraDatabase.DbCreateDynaset( "SELECT nn.NODE_NAME, nn.NODE_ID, os.OS_NAME, os.OS_ID, osc.PROD_ID, P.PKG_NAME FROM BOM_CONTENTS bc, NETWORK_NODES nn, OPERATING_SYSTEMS os, PACKAGES p, PACKAGE_VERSIONS pv, OS_CONTENTS osc WHERE bc.NODE_ID = nn.NODE_ID AND os.OS_ID = osc.OS_ID AND osc.PROD_ID = pv.PV_ID AND p.PKG_ID = pv.PKG_ID AND os.NODE_ID = nn.NODE_ID AND bc.BOM_ID ="&parSBOMB, cint(0))
419
		Set rsQryNodeCount = OraDatabase.DbCreateDynaset( "SELECT nn.NODE_NAME, nn.NODE_ID, os.OS_NAME, os.OS_ID, osc.PROD_ID, P.PKG_NAME FROM BOM_CONTENTS bc, NETWORK_NODES nn, OPERATING_SYSTEMS os, PACKAGES p, PACKAGE_VERSIONS pv, OS_CONTENTS osc WHERE bc.NODE_ID = nn.NODE_ID AND os.OS_ID = osc.OS_ID AND osc.PROD_ID = pv.PV_ID AND p.PKG_ID = pv.PKG_ID AND os.NODE_ID = nn.NODE_ID AND bc.BOM_ID ="&parSBOMB, cint(0))
420
		
420
		
421
		While ((NOT rsQryNodeCount.BOF) AND (NOT rsQryNodeCount.EOF))
421
		While ((NOT rsQryNodeCount.BOF) AND (NOT rsQryNodeCount.EOF))
422
		
422
		
423
			If rsQryNodeCount("node_name") = rsQry("node_name_a") Then
423
			If rsQryNodeCount("node_name") = rsQry("node_name_a") Then
424
				If rsQryNodeCount("os_name") = rsQry("os_name_a") Then
424
				If rsQryNodeCount("os_name") = rsQry("os_name_a") Then
425
					If rsQryNodeCount("pkg_name") = rsQry("pkg_name_a") Then
425
					If rsQryNodeCount("pkg_name") = rsQry("pkg_name_a") Then
426
						If rsQry("change_type") = "U" OR rsQry("change_type") = "UW"  Then					
426
						If rsQry("change_type") = "U" OR rsQry("change_type") = "UW"  Then					
427
							OraSession.BeginTrans
427
							OraSession.BeginTrans
428
							OraDatabase.ExecuteSQL _
428
							OraDatabase.ExecuteSQL _
429
							"UPDATE OS_CONTENTS SET PROD_ID ="& rsQry("pv_id_a") &", PRODUCT_COMMENTS ='"& rsQry("product_comments_a") &"' WHERE OS_ID ="& rsQryNodeCount("os_id") &" AND PROD_ID ="& rsQry("pv_id_b") &" "
429
							"UPDATE OS_CONTENTS SET PROD_ID ="& rsQry("pv_id_a") &", PRODUCT_COMMENTS ='"& rsQry("product_comments_a") &"' WHERE OS_ID ="& rsQryNodeCount("os_id") &" AND PROD_ID ="& rsQry("pv_id_b") &" "
430
							OraSession.CommitTrans
430
							OraSession.CommitTrans
431
						ElseIf rsQry("change_type") = "R" Then
431
						ElseIf rsQry("change_type") = "R" Then
432
							
432
							
433
						End If
433
						End If
434
					End If
434
					End If
435
				End If
435
				End If
436
			End If
436
			End If
437
			
437
			
438
		rsQryNodeCount.MoveNext
438
		rsQryNodeCount.MoveNext
439
		Wend
439
		Wend
440
		
440
		
441
 
441
 
442
		
442
		
443
 
443
 
444
		'OraDatabase.ExecuteSQL _
444
		'OraDatabase.ExecuteSQL _
445
		'"BEGIN  "&_
445
		'"BEGIN  "&_
446
		'"  PK_PRODUCT_TEST.ADD_PACKAGE ( :PV_ID, :OS_ID, :NODE_ID, :SBOM_B, :USER_ID );  "&_
446
		'"  PK_PRODUCT_TEST.ADD_PACKAGE ( :PV_ID, :OS_ID, :NODE_ID, :SBOM_B, :USER_ID );  "&_
447
		'"END;"	
447
		'"END;"	
448
		
448
		
449
		rsQry.Close
449
		rsQry.Close
450
		Set rsQry = nothing 
450
		Set rsQry = nothing 
451
		
451
		
452
		rsQryNodeCount.Close
452
		rsQryNodeCount.Close
453
		Set rsQryNodeCount = nothing
453
		Set rsQryNodeCount = nothing
454
		
454
		
455
		'OraDatabase.Parameters.Remove "OS_ID"
455
		'OraDatabase.Parameters.Remove "OS_ID"
456
		'OraDatabase.Parameters.Remove "NODE_ID"
456
		'OraDatabase.Parameters.Remove "NODE_ID"
457
		
457
		
458
	Next
458
	Next
459
	
459
	
460
	'-- Remove Packages --
460
	'-- Remove Packages --
461
	For Each PvId In aRemovePkgList		
461
	For Each PvId In aRemovePkgList		
462
		OraParameter("PV_ID").Value = PvId
462
		OraParameter("PV_ID").Value = PvId
463
		
463
		
464
		Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("MergeManagerB.sql"), cint(0))
464
		Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("MergeManagerB.sql"), cint(0))
465
		
465
		
466
		
466
		
467
								
467
								
468
		OraSession.BeginTrans			
468
		OraSession.BeginTrans			
469
		
469
		
470
		OraDatabase.ExecuteSQL _
470
		OraDatabase.ExecuteSQL _
471
		"DELETE FROM OS_CONTENTS WHERE PROD_ID ="& rsQry("pv_id_b") &" AND OS_ID ="& rsQry("os_id_b") &""
471
		"DELETE FROM OS_CONTENTS WHERE PROD_ID ="& rsQry("pv_id_b") &" AND OS_ID ="& rsQry("os_id_b") &""
472
		
472
		
473
		OraSession.CommitTrans
473
		OraSession.CommitTrans
474
	Next
474
	Next
475
	
475
	
476
		rsQry.Close
476
		rsQry.Close
477
		Set rsQry = nothing 
477
		Set rsQry = nothing 
478
	
478
	
479
	'-- Log Project Merge Action
479
	'-- Log Project Merge Action
480
	'OraDatabase.ExecuteSQL _
480
	'OraDatabase.ExecuteSQL _
481
	'"BEGIN  LOG_PROJECT_ACTION ( :PROJB, 'merge_release', :USER_ID, :COMMENTS );  END;"
481
	'"BEGIN  LOG_PROJECT_ACTION ( :PROJB, 'merge_release', :USER_ID, :COMMENTS );  END;"
482
	
482
	
483
	'-- Force package state recalculate 
483
	'-- Force package state recalculate 
484
	'OraDatabase.ExecuteSQL _
484
	'OraDatabase.ExecuteSQL _
485
	'"BEGIN  "&_
485
	'"BEGIN  "&_
486
	'"  TOUCH_RELEASE ( :RTAG_B );  "&_
486
	'"  TOUCH_RELEASE ( :RTAG_B );  "&_
487
	'"END;"
487
	'"END;"
488
	
488
	
489
	OraSession.CommitTrans
489
	OraSession.CommitTrans
490
	
490
	
491
	objEH.CatchORA ( OraSession )
491
	objEH.CatchORA ( OraSession )
492
	
492
	
493
	Set OraParameter = Nothing
493
	Set OraParameter = Nothing
494
	OraDatabase.Parameters.Remove "PV_ID"
494
	OraDatabase.Parameters.Remove "PV_ID"
495
	OraDatabase.Parameters.Remove "VIEW_ID"
495
	OraDatabase.Parameters.Remove "VIEW_ID"
496
	OraDatabase.Parameters.Remove "SBOM_A"
496
	OraDatabase.Parameters.Remove "SBOM_A"
497
	OraDatabase.Parameters.Remove "SBOM_B"
497
	OraDatabase.Parameters.Remove "SBOM_B"
498
	OraDatabase.Parameters.Remove "USER_ID"
498
	OraDatabase.Parameters.Remove "USER_ID"
499
	OraDatabase.Parameters.Remove "PROJB"
499
	OraDatabase.Parameters.Remove "PROJB"
500
	OraDatabase.Parameters.Remove "COMMENTS"
500
	OraDatabase.Parameters.Remove "COMMENTS"
501
	'Response.write "<br>"& sAddPkgList &"-"& dAddPkgList.Count &"-"& UBound( aFullList )
501
	'Response.write "<br>"& sAddPkgList &"-"& dAddPkgList.Count &"-"& UBound( aFullList )
502
End Sub
502
End Sub
503
'--------------------------------------------------------------------------------------------------------------------------
503
'--------------------------------------------------------------------------------------------------------------------------
504
%>
504
%>
505
<%
505
<%
506
'------------ RUN BEFORE PAGE RENDER ----------
506
'------------ RUN BEFORE PAGE RENDER ----------
507
If Request("btn") = "Exit" Then
507
If Request("btn") = "Exit" Then
508
	Call OpenInWindow ( "reports.asp" )
508
	Call OpenInWindow ( "reports.asp" )
509
End If
509
End If
510
 
510
 
511
' Get release details
511
' Get release details
512
 
512
 
513
Call GetFormDetails ( parSBOMA, objRelCollectorA )
513
Call GetFormDetails ( parSBOMA, objRelCollectorA )
514
Call GetFormDetails ( parSBOMB, objRelCollectorB )
514
Call GetFormDetails ( parSBOMB, objRelCollectorB )
515
 
515
 
516
If (Request("btn") = "Merge") Then
516
If (Request("btn") = "Merge") Then
517
	If objRelCollectorB.Item("official") <> "Y" Then
517
	If objRelCollectorB.Item("official") <> "Y" Then
518
		Call MergePackages ()
518
		Call MergePackages ()
519
	End If
519
	End If
520
End If
520
End If
521
 
521
 
522
If Request("btn") = "Swap Compare" Then
522
If Request("btn") = "Swap Compare" Then
523
	Call OpenInWindow ( SCRIPT_NAME &"?sbomA="& parSBOMB &"&sbomB="& parSBOMA )
523
	Call OpenInWindow ( SCRIPT_NAME &"?sbomA="& parSBOMB &"&sbomB="& parSBOMA )
524
End If
524
End If
525
 
525
 
526
If Request("btn") = "Hide" Then
526
If Request("btn") = "Hide" Then
527
	' Store filter in cookie
527
	' Store filter in cookie
528
	Response.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER) = Request("difilter")
528
	Response.Cookies(enum_RELMGR_COOKIE_DOMAIN)(COOKIE_HIDE_DIFF_FILTER) = Request("difilter")
529
End If
529
End If
530
 
530
 
531
 
531
 
532
Call GetDiffFilterValues ( dDiffFilter )
532
Call GetDiffFilterValues ( dDiffFilter )
533
'----------------------------------------------
533
'----------------------------------------------
534
%>
534
%>
535
<html>
535
<html>
536
<head>
536
<head>
537
<title>Deployment Manager SBOM Differences</title>
537
<title>Deployment Manager SBOM Differences</title>
538
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
538
<link rel="shortcut icon" href="<%=FavIcon%>"/>
539
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
539
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
540
<link rel="stylesheet" href="images/release_manager_style.css" type="text/css">
540
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
541
<link rel="stylesheet" href="images/navigation.css" type="text/css">
541
<link rel="stylesheet" href="images/release_manager_style.css" type="text/css">
542
<script language="JavaScript" src="images/common.js"></script>
542
<link rel="stylesheet" href="images/navigation.css" type="text/css">
543
<script language="JavaScript" src="scripts/remote_scripting.js"></script>
543
<script language="JavaScript" src="images/common.js"></script>
544
<script language="JavaScript" type="text/javascript">
544
<script language="JavaScript" src="scripts/remote_scripting.js"></script>
545
<!--
545
<script language="JavaScript" type="text/javascript">
546
 
546
<!--
547
function RequestReleaseCombo( paramString, rowId ){
547
 
548
	var requestURL = 'RequestReleaseCombo.asp';
548
function RequestReleaseCombo( paramString, rowId ){
549
 
549
	var requestURL = 'RequestReleaseCombo.asp';
550
	// Set ajax divname
550
 
551
	ajaxdivname = rowId;
551
	// Set ajax divname
552
	
552
	ajaxdivname = rowId;
553
	//Append the name to search for to the requestURL
553
	
554
	var url = requestURL + paramString;
554
	//Append the name to search for to the requestURL
555
	
555
	var url = requestURL + paramString;
556
	//Progress
556
	
557
	//alert(MM_findObj( rowId ));
557
	//Progress
558
	
558
	//alert(MM_findObj( rowId ));
559
	//MM_findObj( rowId ).options[0] = new Option('Loading...','');
559
	
560
	//MM_findObj( rowId ).selectedIndex = 0;
560
	//MM_findObj( rowId ).options[0] = new Option('Loading...','');
561
	rowId.options[0] = new Option('Loading...','');
561
	//MM_findObj( rowId ).selectedIndex = 0;
562
	rowId.selectedIndex = 0;
562
	rowId.options[0] = new Option('Loading...','');
563
	
563
	rowId.selectedIndex = 0;
564
	
564
	
565
	//Create the xmlHttp object to use in the request
565
	
566
	//stateChangeHandler will fire when the state has changed, i.e. data is received back
566
	//Create the xmlHttp object to use in the request
567
	// This is non-blocking (asynchronous)
567
	//stateChangeHandler will fire when the state has changed, i.e. data is received back
568
	xmlHttp = GetXmlHttpObject(stateComboChangeHandler);
568
	// This is non-blocking (asynchronous)
569
	
569
	xmlHttp = GetXmlHttpObject(stateComboChangeHandler);
570
	//Send the xmlHttp get to the specified url
570
	
571
	xmlHttp_Get(xmlHttp, url);
571
	//Send the xmlHttp get to the specified url
572
	
572
	xmlHttp_Get(xmlHttp, url);
573
	
573
	
574
}
574
	
575
 
575
}
576
function RequestSBOMCombo( paramString, rowId ){
576
 
577
	var requestURL = 'RequestSBOMCombo.asp';
577
function RequestSBOMCombo( paramString, rowId ){
578
 
578
	var requestURL = 'RequestSBOMCombo.asp';
579
	// Set ajax divname
579
 
580
	ajaxdivname = rowId;
580
	// Set ajax divname
581
	
581
	ajaxdivname = rowId;
582
	//Append the name to search for to the requestURL
582
	
583
	var url = requestURL + paramString;
583
	//Append the name to search for to the requestURL
584
	
584
	var url = requestURL + paramString;
585
	//Progress
585
	
586
	//alert(MM_findObj( rowId ));
586
	//Progress
587
	
587
	//alert(MM_findObj( rowId ));
588
	//MM_findObj( rowId ).options[0] = new Option('Loading...','');
588
	
589
	//MM_findObj( rowId ).selectedIndex = 0;
589
	//MM_findObj( rowId ).options[0] = new Option('Loading...','');
590
	rowId.options[0] = new Option('Loading...','');
590
	//MM_findObj( rowId ).selectedIndex = 0;
591
	rowId.selectedIndex = 0;
591
	rowId.options[0] = new Option('Loading...','');
592
	
592
	rowId.selectedIndex = 0;
593
	
593
	
594
	//Create the xmlHttp object to use in the request
594
	
595
	//stateChangeHandler will fire when the state has changed, i.e. data is received back
595
	//Create the xmlHttp object to use in the request
596
	// This is non-blocking (asynchronous)
596
	//stateChangeHandler will fire when the state has changed, i.e. data is received back
597
	xmlHttp = GetXmlHttpObject(stateComboChangeHandler);
597
	// This is non-blocking (asynchronous)
598
	
598
	xmlHttp = GetXmlHttpObject(stateComboChangeHandler);
599
	//Send the xmlHttp get to the specified url
599
	
600
	xmlHttp_Get(xmlHttp, url);
600
	//Send the xmlHttp get to the specified url
601
	
601
	xmlHttp_Get(xmlHttp, url);
602
	
602
	
603
}
603
	
604
 
604
}
605
 
605
 
606
function MergePackage ( pkga, pkgb, rowId )
606
 
607
{
607
function MergePackage ( pkga, pkgb, rowId )
608
 
608
{
609
	// Set merge hidden field with new value
609
 
610
	MM_findObj( 'ADDPKG_' + rowId ).value = pkga;
610
	// Set merge hidden field with new value
611
	
611
	MM_findObj( 'ADDPKG_' + rowId ).value = pkga;
612
	var divA = MM_findObj( 'PVA' + rowId );
612
	
613
	var divB = MM_findObj( 'PVB' + rowId );
613
	var divA = MM_findObj( 'PVA' + rowId );
614
	
614
	var divB = MM_findObj( 'PVB' + rowId );
615
	// Set text equal
615
	
616
	divB.innerHTML = divA.innerHTML;
616
	// Set text equal
617
	
617
	divB.innerHTML = divA.innerHTML;
618
	// Set highlight to blank
618
	
619
	divA.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
619
	// Set highlight to blank
620
	divB.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
620
	divA.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
621
	
621
	divB.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
622
    // Set Change state icon to blank
622
	
623
	MM_findObj( 'IMGSTATE' + rowId ).style.display = 'none';
623
    // Set Change state icon to blank
624
	
624
	MM_findObj( 'IMGSTATE' + rowId ).style.display = 'none';
625
	// Remove Merge Button
625
	
626
	MM_findObj( 'IMGMERGE' + rowId ).style.display = 'none';
626
	// Remove Merge Button
627
	MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'none';
627
	MM_findObj( 'IMGMERGE' + rowId ).style.display = 'none';
628
	
628
	MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'none';
629
	// Show undo button
629
	
630
	MM_findObj( 'IMGUNDO' + rowId ).style.display = 'block';
630
	// Show undo button
631
	
631
	MM_findObj( 'IMGUNDO' + rowId ).style.display = 'block';
632
	
632
	
633
}
633
	
634
 
634
}
635
 
635
 
636
function RemovePackage ( pkga, pkgb, rowId )
636
 
637
{
637
function RemovePackage ( pkga, pkgb, rowId )
638
 
638
{
639
	// Set remove hidden field with new value
639
 
640
	MM_findObj( 'REMOVEPKG_' + rowId ).value = pkgb;
640
	// Set remove hidden field with new value
641
	
641
	MM_findObj( 'REMOVEPKG_' + rowId ).value = pkgb;
642
	var divA = MM_findObj( 'PVA' + rowId );
642
	
643
	var divB = MM_findObj( 'PVB' + rowId );
643
	var divA = MM_findObj( 'PVA' + rowId );
644
	
644
	var divB = MM_findObj( 'PVB' + rowId );
645
	// Set text equal
645
	
646
	divB.style.textDecoration = 'line-through';
646
	// Set text equal
647
	
647
	divB.style.textDecoration = 'line-through';
648
	// Set highlight to blank
648
	
649
	if (MM_findObj( 'CHANGETYPE_' + rowId ).value != "A")
649
	// Set highlight to blank
650
	{
650
	if (MM_findObj( 'CHANGETYPE_' + rowId ).value != "A")
651
		divA.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
651
	{
652
	}
652
		divA.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
653
	divB.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
653
	}
654
	
654
	divB.style.backgroundColor = '<%=LCOLOR_NOT_CHANGED%>';
655
    // Set Change state icon to blank
655
	
656
	MM_findObj( 'IMGSTATE' + rowId ).style.display = 'none';
656
    // Set Change state icon to blank
657
	
657
	MM_findObj( 'IMGSTATE' + rowId ).style.display = 'none';
658
	// Remove Merge Button
658
	
659
	MM_findObj( 'IMGMERGE' + rowId ).style.display = 'none';
659
	// Remove Merge Button
660
	MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'none';
660
	MM_findObj( 'IMGMERGE' + rowId ).style.display = 'none';
661
	
661
	MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'none';
662
	// Show undo button
662
	
663
	MM_findObj( 'IMGUNDO' + rowId ).style.display = 'block';
663
	// Show undo button
664
	
664
	MM_findObj( 'IMGUNDO' + rowId ).style.display = 'block';
665
	
665
	
666
}
666
	
667
 
667
}
668
 
668
 
669
 
669
 
670
function UndoPackage ( rowId )
670
 
671
{
671
function UndoPackage ( rowId )
672
 
672
{
673
	// Set merge/remove hidden field with new value
673
 
674
	MM_findObj( 'ADDPKG_' + rowId ).value = '';
674
	// Set merge/remove hidden field with new value
675
	MM_findObj( 'REMOVEPKG_' + rowId ).value = '';
675
	MM_findObj( 'ADDPKG_' + rowId ).value = '';
676
	
676
	MM_findObj( 'REMOVEPKG_' + rowId ).value = '';
677
	var divA = MM_findObj( 'PVA' + rowId );
677
	
678
	var divB = MM_findObj( 'PVB' + rowId );
678
	var divA = MM_findObj( 'PVA' + rowId );
679
	
679
	var divB = MM_findObj( 'PVB' + rowId );
680
	// Set text equal
680
	
681
	divB.innerHTML = MM_findObj( 'UNDOPKG_' + rowId ).value;
681
	// Set text equal
682
	divB.style.textDecoration = 'none';
682
	divB.innerHTML = MM_findObj( 'UNDOPKG_' + rowId ).value;
683
	
683
	divB.style.textDecoration = 'none';
684
	
684
	
685
	// Set highlight to blank
685
	
686
	divA.style.backgroundColor = MM_findObj( 'UNDOCOLORA_' + rowId ).value;
686
	// Set highlight to blank
687
	divB.style.backgroundColor = MM_findObj( 'UNDOCOLORB_' + rowId ).value;
687
	divA.style.backgroundColor = MM_findObj( 'UNDOCOLORA_' + rowId ).value;
688
	
688
	divB.style.backgroundColor = MM_findObj( 'UNDOCOLORB_' + rowId ).value;
689
	
689
	
690
    // Set Change state icon to blank
690
	
691
	MM_findObj( 'IMGSTATE' + rowId ).style.display = 'block';
691
    // Set Change state icon to blank
692
	
692
	MM_findObj( 'IMGSTATE' + rowId ).style.display = 'block';
693
	
693
	
694
	// Remove Merge Button
694
	
695
	var cht = MM_findObj( 'CHANGETYPE_' + rowId );
695
	// Remove Merge Button
696
	
696
	var cht = MM_findObj( 'CHANGETYPE_' + rowId );
697
	if (cht.value == "R")
697
	
698
	{
698
	if (cht.value == "R")
699
		MM_findObj( 'IMGMERGE' + rowId ).style.display = 'block';
699
	{
700
	} 
700
		MM_findObj( 'IMGMERGE' + rowId ).style.display = 'block';
701
	else if ( (cht.value == "A") || (cht.value == "") ) 
701
	} 
702
	{
702
	else if ( (cht.value == "A") || (cht.value == "") ) 
703
		MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'block';
703
	{
704
	} 
704
		MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'block';
705
	else 
705
	} 
706
	{
706
	else 
707
		MM_findObj( 'IMGMERGE' + rowId ).style.display = 'block';
707
	{
708
		MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'block';
708
		MM_findObj( 'IMGMERGE' + rowId ).style.display = 'block';
709
	}
709
		MM_findObj( 'IMGREMOVE' + rowId ).style.display = 'block';
710
	
710
	}
711
	// Show undo button
711
	
712
	MM_findObj( 'IMGUNDO' + rowId ).style.display = 'none';
712
	// Show undo button
713
	
713
	MM_findObj( 'IMGUNDO' + rowId ).style.display = 'none';
714
}
714
	
715
 
715
}
716
 
716
 
717
function MergeAll()
717
 
718
{
718
function MergeAll()
719
	var elem
719
{
720
		
720
	var elem
721
	if (document.all)
721
		
722
	{
722
	if (document.all)
723
		// Run this for IE
723
	{
724
		elem = document.all;
724
		// Run this for IE
725
	} else {
725
		elem = document.all;
726
		// Run this for other browsers
726
	} else {
727
		elem = document.getElementsByTagName('div');
727
		// Run this for other browsers
728
	}
728
		elem = document.getElementsByTagName('div');
729
	
729
	}
730
	for (i in elem)
730
	
731
	{
731
	for (i in elem)
732
		if (elem[i].id)
732
	{
733
		{	
733
		if (elem[i].id)
734
			if (elem[i].id.indexOf('SHORT_') == 0) elem[i].style.display = 'none';
734
		{	
735
			if (elem[i].id.indexOf('LONG_') == 0) elem[i].style.display = 'block';
735
			if (elem[i].id.indexOf('SHORT_') == 0) elem[i].style.display = 'none';
736
		}
736
			if (elem[i].id.indexOf('LONG_') == 0) elem[i].style.display = 'block';
737
	}
737
		}
738
 
738
	}
739
}
739
 
740
 
740
}
741
//-->
741
 
742
</script>
742
//-->
743
 
743
</script>
744
</head>
744
 
745
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
745
</head>
746
<form name="FormName" method="post" action="<%=SCRIPT_NAME%>">
746
<body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="0">
747
<!-- HEADER -->
747
<form name="FormName" method="post" action="<%=SCRIPT_NAME%>">
748
<!--#include file="_header.asp"-->
748
<!-- HEADER -->
749
<!-- BODY ---->
749
<!--#include file="_header.asp"-->
750
<table width="100%" border="0" cellspacing="0" cellpadding="0">
750
<!-- BODY ---->
751
  <tr> 
751
<table width="100%" border="0" cellspacing="0" cellpadding="0">
752
    <td width="1%" background="images/bg_lite_blue.gif" valign="top">
752
  <tr> 
753
	
753
    <td width="1%" background="images/bg_lite_blue.gif" valign="top">
754
	
754
	
755
	<!-- SELECT SBOM A ---------------------------------------------->
755
	
756
	
756
	<!-- SELECT SBOM A ---------------------------------------------->
757
	<br>
757
	
758
      <table width="100%"  border="0" cellspacing="10" cellpadding="0">
758
	<br>
759
	    
759
      <table width="100%"  border="0" cellspacing="10" cellpadding="0">
760
		<tr>
760
	    
761
          <td align="left" class="body_col"><img src="images/i_rtag_open_mode.gif" border="0" align="absmiddle" width="15" height="13">&nbsp;Select SBOM A<hr size="1px" color="Olive" noshade></td>
761
		<tr>
762
        </tr>
762
          <td align="left" class="body_col"><img src="images/i_rtag_open_mode.gif" border="0" align="absmiddle" width="15" height="13">&nbsp;Select SBOM A<hr size="1px" color="Olive" noshade></td>
763
        <tr>
763
        </tr>
764
          <td align="left">
764
        <tr>
765
		  <select name="projA" class="form_item" onChange="RequestReleaseCombo( '?proj_id='+ this.value, FormName.rtagA );">
765
          <td align="left">
766
              <option value="">-- Select Project --</option>
766
		  <select name="projA" class="form_item" onChange="RequestReleaseCombo( '?proj_id='+ this.value, FormName.rtagA );">
767
			  <%
767
              <option value="">-- Select Project --</option>
768
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorA.Item("proj_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
768
			  <%
769
			  
769
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorA.Item("proj_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
770
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProjectsCombo.sql"), cint(0))
770
			  
771
			  
771
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProjectsCombo.sql"), cint(0))
772
			  OraDatabase.Parameters.Remove "PROJ_ID"
772
			  
773
			  
773
			  OraDatabase.Parameters.Remove "PROJ_ID"
774
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
774
			  
775
                <option value="<%=rsQry("proj_id")%>" <%=rsQry("selected")%>><%=rsQry("proj_name")%></option>
775
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
776
              <%rsQry.MoveNext
776
                <option value="<%=rsQry("proj_id")%>" <%=rsQry("selected")%>><%=rsQry("proj_name")%></option>
777
			  WEnd
777
              <%rsQry.MoveNext
778
			  
778
			  WEnd
779
			  rsQry.Close
779
			  
780
			  Set rsQry = Nothing
780
			  rsQry.Close
781
			%>
781
			  Set rsQry = Nothing
782
          </select></td>
782
			%>
783
        </tr>
783
          </select></td>
784
        <tr>
784
        </tr>
785
          <td align="left">
785
        <tr>
786
		  
786
          <td align="left">
787
		  <select name="rtagA" id="rtagA" class="form_item" onChange="RequestSBOMCombo( '?branch_id='+ this.value, FormName.sbomA );">
787
		  
788
              <option value="">-- Select SBOM --</option>			  
788
		  <select name="rtagA" id="rtagA" class="form_item" onChange="RequestSBOMCombo( '?branch_id='+ this.value, FormName.sbomA );">
789
			  <%
789
              <option value="">-- Select SBOM --</option>			  
790
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorA.Item("proj_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
790
			  <%
791
			  OraDatabase.Parameters.Add "BRANCH_ID", 	objRelCollectorA.Item("branch_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
791
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorA.Item("proj_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
792
			  
792
			  OraDatabase.Parameters.Add "BRANCH_ID", 	objRelCollectorA.Item("branch_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
793
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ReleasesCombo.sql"), cint(0))
793
			  
794
			  
794
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ReleasesCombo.sql"), cint(0))
795
			  OraDatabase.Parameters.Remove "PROJ_ID"
795
			  
796
			  OraDatabase.Parameters.Remove "BRANCH_ID"
796
			  OraDatabase.Parameters.Remove "PROJ_ID"
797
			  
797
			  OraDatabase.Parameters.Remove "BRANCH_ID"
798
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
798
			  
799
                <option value="<%=rsQry("branch_id")%>" <%=rsQry("selected")%>><%=rsQry("branch_name")%></option>
799
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
800
              <%rsQry.MoveNext
800
                <option value="<%=rsQry("branch_id")%>" <%=rsQry("selected")%>><%=rsQry("branch_name")%></option>
801
			  WEnd
801
              <%rsQry.MoveNext
802
			  
802
			  WEnd
803
			  rsQry.Close
803
			  
804
			  Set rsQry = Nothing
804
			  rsQry.Close
805
			  %>
805
			  Set rsQry = Nothing
806
		  </select></td>
806
			  %>
807
        </tr>
807
		  </select></td>
808
        <tr>
808
        </tr>
809
          <td align="left">
809
        <tr>
810
 
810
          <td align="left">
811
 
811
 
812
		  <select name="sbomA" id="sbomA" class="form_item">
812
 
813
            <%
813
		  <select name="sbomA" id="sbomA" class="form_item">
814
			  OraDatabase.Parameters.Add "BOM_ID", 	objRelCollectorA.Item("bom_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
814
            <%
815
			  OraDatabase.Parameters.Add "BRANCH_ID", 	objRelCollectorA.Item("branch_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
815
			  OraDatabase.Parameters.Add "BOM_ID", 	objRelCollectorA.Item("bom_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
816
 
816
			  OraDatabase.Parameters.Add "BRANCH_ID", 	objRelCollectorA.Item("branch_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
817
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("SBOMCombo.sql"), cint(0))
817
 
818
			  
818
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("SBOMCombo.sql"), cint(0))
819
			  OraDatabase.Parameters.Remove "BOM_ID"
819
			  
820
			  OraDatabase.Parameters.Remove "BRANCH_ID"
820
			  OraDatabase.Parameters.Remove "BOM_ID"
821
			  
821
			  OraDatabase.Parameters.Remove "BRANCH_ID"
822
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
822
			  
823
            <option value="<%=rsQry("bom_id")%>" <%=rsQry("selected")%>><%=rsQry("version")%></option>
823
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
824
            <%rsQry.MoveNext
824
            <option value="<%=rsQry("bom_id")%>" <%=rsQry("selected")%>><%=rsQry("version")%></option>
825
			  WEnd
825
            <%rsQry.MoveNext
826
			  
826
			  WEnd
827
			  rsQry.Close
827
			  
828
			  Set rsQry = Nothing
828
			  rsQry.Close
829
			  %>
829
			  Set rsQry = Nothing
830
          </select>
830
			  %>
831
		  
831
          </select>
832
		  </td>
832
		  
833
        </tr>
833
		  </td>
834
		<%If (parRtagA <> "") Then%>  
834
        </tr>
835
		<tr>
835
		<%If (parRtagA <> "") Then%>  
836
          <td align="left"><a href="Bom_Home.asp?bom_id=<%=parSBOMA%>" class="body_txt_drk">Go To SBOM A &raquo;</a></td>
836
		<tr>
837
        </tr>
837
          <td align="left"><a href="Bom_Home.asp?bom_id=<%=parSBOMA%>" class="body_txt_drk">Go To SBOM A &raquo;</a></td>
838
		<%End If%>
838
        </tr>
839
    </table>
839
		<%End If%>
840
	    
840
    </table>
841
    <!-- SELECT SBOM A END ---------------------------------------------->	</td>
841
	    
842
    <td width="1%" valign="top" background="images/bg_lght_gray.gif">&nbsp;</td>
842
    <!-- SELECT SBOM A END ---------------------------------------------->	</td>
843
    <td rowspan="2" valign="top" width="100%" background="images/bg_lght_gray.gif" align="center"> 
843
    <td width="1%" valign="top" background="images/bg_lght_gray.gif">&nbsp;</td>
844
      <!-- DIFF -------------------------------------------------------->
844
    <td rowspan="2" valign="top" width="100%" background="images/bg_lght_gray.gif" align="center"> 
845
      <br>
845
      <!-- DIFF -------------------------------------------------------->
846
	  
846
      <br>
847
	    
847
	  
848
				  
848
	    
849
				  
849
				  
850
      <table width="100%" border="0" cellspacing="10" cellpadding="0">
850
				  
851
        <tr>
851
      <table width="100%" border="0" cellspacing="10" cellpadding="0">
852
          <td>
852
        <tr>
853
		  
853
          <td>
854
		  
854
		  
855
		  
855
		  
856
            <table width="100%" border="0" cellspacing="0" cellpadding="0">
856
		  
857
			  <tr> 
857
            <table width="100%" border="0" cellspacing="0" cellpadding="0">
858
                <td width="1%"></td>
858
			  <tr> 
859
                <td width="100%" align="left" class="form_ttl">MERGE SBOM</td>
859
                <td width="1%"></td>
860
                <td width="1%"></td>
860
                <td width="100%" align="left" class="form_ttl">MERGE SBOM</td>
861
              </tr>
861
                <td width="1%"></td>
862
              <tr> 
862
              </tr>
863
                <td align="left" valign="top" background="images/lbox_bg_green.gif"><img src="images/lbox_tl_cnr_b.gif" width="13" height="13"></td>
863
              <tr> 
864
                <td background="images/lbox_bg_green.gif" align="left" class="wform_ttl">&nbsp; 
864
                <td align="left" valign="top" background="images/lbox_bg_green.gif"><img src="images/lbox_tl_cnr_b.gif" width="13" height="13"></td>
865
                </td>
865
                <td background="images/lbox_bg_green.gif" align="left" class="wform_ttl">&nbsp; 
866
                <td align="right" valign="top" background="images/lbox_bg_green.gif"><img src="images/lbox_tr_cnr_b.gif" width="13" height="13"></td>
866
                </td>
867
              </tr>
867
                <td align="right" valign="top" background="images/lbox_bg_green.gif"><img src="images/lbox_tr_cnr_b.gif" width="13" height="13"></td>
868
              <tr> 
868
              </tr>
869
                <td width="1%" bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10" height="100"></td>
869
              <tr> 
870
                <td bgcolor="#FFFFFF" valign="top" class="form_item">
870
                <td width="1%" bgcolor="#FFFFFF"><img src="images/h_trsp_dot.gif" width="10" height="100"></td>
871
                
871
                <td bgcolor="#FFFFFF" valign="top" class="form_item">
872
				
872
                
873
				  
873
				
874
				<table width="100%"  border="0" cellspacing="0" cellpadding="5">
874
				  
875
                  <tr>
875
				<table width="100%"  border="0" cellspacing="0" cellpadding="5">
876
                    <td width="100%" bgcolor="#DAD7C8">
876
                  <tr>
877
					<input type="submit" name="btn" value="Compare" class="form_btn_comp" style="margin-right:5px;">
877
                    <td width="100%" bgcolor="#DAD7C8">
878
					<input type="submit" name="btn" value="Swap Compare" class="form_btn_comp">
878
					<input type="submit" name="btn" value="Compare" class="form_btn_comp" style="margin-right:5px;">
879
				</td>
879
					<input type="submit" name="btn" value="Swap Compare" class="form_btn_comp">
880
                    <td width="1" align="right" bgcolor="#DAD7C8" nowrap>
880
				</td>
881
					<table width="100%"  border="0" cellspacing="0" cellpadding="0">
881
                    <td width="1" align="right" bgcolor="#DAD7C8" nowrap>
882
                      <tr>
882
					<table width="100%"  border="0" cellspacing="0" cellpadding="0">
883
						<td><%If objAccessControl.IsActive("mergeManager") Then%><input type="submit" name="btn" value="Merge" class="form_btn_comp" style="margin-right:10px;"><%End If%></td>
883
                      <tr>
884
                        <td><input type="submit" name="btn" value="Exit" class="form_btn_comp"></td>
884
						<td><%If objAccessControl.IsActive("mergeManager") Then%><input type="submit" name="btn" value="Merge" class="form_btn_comp" style="margin-right:10px;"><%End If%></td>
885
                      </tr>
885
                        <td><input type="submit" name="btn" value="Exit" class="form_btn_comp"></td>
886
                    </table></td>
886
                      </tr>
887
                  </tr>
887
                    </table></td>
888
				  <tr>
888
                  </tr>
889
                    <td>
889
				  <tr>
890
					<%If (parRtagA <> "") AND (parRtagB <> "")Then%> 
890
                    <td>
891
					<!-- DIFF FILTER +++++++++++++++++++++++++++++++++++++++++++ -->   
891
					<%If (parRtagA <> "") AND (parRtagB <> "")Then%> 
892
					<fieldset style="width:150px;">
892
					<!-- DIFF FILTER +++++++++++++++++++++++++++++++++++++++++++ -->   
893
					<legend><a href="javascript:;" class="body_scol" onClick="ToggleDisplay('divDiffFilter');" ><%=GetIsDiffFilterInUseIcon() %>&nbsp;Filter&nbsp;Results...</a></legend>			            	  
893
					<fieldset style="width:150px;">
894
					<div name="divDiffFilter" id="divDiffFilter" class="body_txt" style="display:none;">
894
					<legend><a href="javascript:;" class="body_scol" onClick="ToggleDisplay('divDiffFilter');" ><%=GetIsDiffFilterInUseIcon() %>&nbsp;Filter&nbsp;Results...</a></legend>			            	  
895
					<br>
895
					<div name="divDiffFilter" id="divDiffFilter" class="body_txt" style="display:none;">
896
					<table width="100%"  border="0" cellspacing="1" cellpadding="3">
896
					<br>
897
					    <tr>
897
					<table width="100%"  border="0" cellspacing="1" cellpadding="3">
898
					      <td width="1" background="images/bg_action_norm.gif"><input name="difilter" type="checkbox" value="<%=enumDB_DIFF_UPDATED%>" <%=GetIsDiffFilterChecked(enumDB_DIFF_UPDATED)%>></td>
898
					    <tr>
899
					      <td width="50" nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_UPDATED%>Updated</td>
899
					      <td width="1" background="images/bg_action_norm.gif"><input name="difilter" type="checkbox" value="<%=enumDB_DIFF_UPDATED%>" <%=GetIsDiffFilterChecked(enumDB_DIFF_UPDATED)%>></td>
900
					    </tr>
900
					      <td width="50" nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_UPDATED%>Updated</td>
901
					    <tr>
901
					    </tr>
902
					      <td background="images/bg_action_norm.gif"><input type="checkbox" name="difilter" value="<%=enumDB_DIFF_NEW%>" <%=GetIsDiffFilterChecked(enumDB_DIFF_NEW)%>></td>
902
					    <tr>
903
					      <td nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_ADDED%>Added</td>
903
					      <td background="images/bg_action_norm.gif"><input type="checkbox" name="difilter" value="<%=enumDB_DIFF_NEW%>" <%=GetIsDiffFilterChecked(enumDB_DIFF_NEW)%>></td>
904
					    </tr>
904
					      <td nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_ADDED%>Added</td>
905
					    <tr>
905
					    </tr>
906
					      <td background="images/bg_action_norm.gif"><input type="checkbox" name="difilter" value="<%=enumDB_DIFF_REMOVED%>" <%=GetIsDiffFilterChecked(enumDB_DIFF_REMOVED)%>></td>
906
					    <tr>
907
					      <td nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_REMOVED%>Removed</td>
907
					      <td background="images/bg_action_norm.gif"><input type="checkbox" name="difilter" value="<%=enumDB_DIFF_REMOVED%>" <%=GetIsDiffFilterChecked(enumDB_DIFF_REMOVED)%>></td>
908
					    </tr>
908
					      <td nowrap background="images/bg_action_norm.gif" class="form_field"><%=LIMG_REMOVED%>Removed</td>
909
					    <tr>
909
					    </tr>
910
 
910
					    <tr>
911
					    <tr>
911
 
912
					      <td background="images/bg_action_norm.gif">&nbsp;</td>
912
					    <tr>
913
					      <td background="images/bg_action_norm.gif"><input name="btn" type="submit" class="form_btn" value="Hide"></td>
913
					      <td background="images/bg_action_norm.gif">&nbsp;</td>
914
					    </tr>
914
					      <td background="images/bg_action_norm.gif"><input name="btn" type="submit" class="form_btn" value="Hide"></td>
915
					  </table>
915
					    </tr>
916
					</div>
916
					  </table>
917
					</fieldset>
917
					</div>
918
					<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
918
					</fieldset>
919
					<%End If%>
919
					<!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
920
					</td>
920
					<%End If%>
921
                    <td></td>
921
					</td>
922
                  </tr>
922
                    <td></td>
923
                </table>
923
                  </tr>
924
				
924
                </table>
925
				<%
925
				
926
				' Successfull Merge
926
				<%
927
				If (Request("btn") = "Merge") Then
927
				' Successfull Merge
928
					Call Messenger ( "Merge has completed successfully.", 3, "100%" )				
928
				If (Request("btn") = "Merge") Then
929
				End If
929
					Call Messenger ( "Merge has completed successfully.", 3, "100%" )				
930
 
930
				End If
931
				Set FSO=Server.CreateObject("Scripting.FileSystemObject")
931
 
932
				Set NewTextFile=FSO.CreateTextFile(Server.MapPath("docs\compareReleases_"&objAccessControl.UserName&".html"), true)
932
				Set FSO=Server.CreateObject("Scripting.FileSystemObject")
933
				Call Header()				
933
				Set NewTextFile=FSO.CreateTextFile(Server.MapPath("docs\compareReleases_"&objAccessControl.UserName&".html"), true)
934
 
934
				Call Header()				
935
				If (parRtagA <> "") AND (parRtagB <> "")Then%>  
935
 
936
                <table width="100%"  border="0" cellspacing="1" cellpadding="0">
936
				If (parRtagA <> "") AND (parRtagB <> "")Then%>  
937
                  <tr>
937
                <table width="100%"  border="0" cellspacing="1" cellpadding="0">
938
                    <td width="50%" bgcolor="#E4E9EC" class="body_row" nowrap><%= ReleaseIcon(objRelCollectorA.Item("official")) & objRelCollectorA.Item("location")%> </td>
938
                  <tr>
939
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
939
                    <td width="50%" bgcolor="#E4E9EC" class="body_row" nowrap><%= ReleaseIcon(objRelCollectorA.Item("official")) & objRelCollectorA.Item("location")%> </td>
940
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="20"></td>
940
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
941
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
941
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="20"></td>
942
                    <td width="50%" bgcolor="#E4E9EC" class="body_row" nowrap><%= ReleaseIcon(objRelCollectorB.Item("official")) & objRelCollectorB.Item("location")%></td>
942
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
943
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
943
                    <td width="50%" bgcolor="#E4E9EC" class="body_row" nowrap><%= ReleaseIcon(objRelCollectorB.Item("official")) & objRelCollectorB.Item("location")%></td>
944
                  </tr>
944
                    <td width="1" bgcolor="#E4E9EC"><img src="images/spacer.gif" width="20" height="1"></td>
945
			    <%
945
                  </tr>
946
 
946
			    <%
947
				OraDatabase.Parameters.Add "SBOM_A", 	parSBOMA,	ORAPARM_INPUT, ORATYPE_NUMBER 
947
 
948
				OraDatabase.Parameters.Add "SBOM_B", 	parSBOMB,	ORAPARM_INPUT, ORATYPE_NUMBER 
948
				OraDatabase.Parameters.Add "SBOM_A", 	parSBOMA,	ORAPARM_INPUT, ORATYPE_NUMBER 
949
				OraDatabase.Parameters.Add "NO_CHANGE", GetIsDiffFilterChecked(enumDB_DIFF_NO_CHANGE),		ORAPARM_INPUT, ORATYPE_VARCHAR2
949
				OraDatabase.Parameters.Add "SBOM_B", 	parSBOMB,	ORAPARM_INPUT, ORATYPE_NUMBER 
950
				OraDatabase.Parameters.Add "ADDED", 	GetIsDiffFilterChecked(enumDB_DIFF_NEW),		ORAPARM_INPUT, ORATYPE_VARCHAR2
950
				OraDatabase.Parameters.Add "NO_CHANGE", GetIsDiffFilterChecked(enumDB_DIFF_NO_CHANGE),		ORAPARM_INPUT, ORATYPE_VARCHAR2
951
				OraDatabase.Parameters.Add "UPDATED", 	GetIsDiffFilterChecked(enumDB_DIFF_UPDATED),		ORAPARM_INPUT, ORATYPE_VARCHAR2
951
				OraDatabase.Parameters.Add "ADDED", 	GetIsDiffFilterChecked(enumDB_DIFF_NEW),		ORAPARM_INPUT, ORATYPE_VARCHAR2
952
				OraDatabase.Parameters.Add "REMOVED", 	GetIsDiffFilterChecked(enumDB_DIFF_REMOVED),		ORAPARM_INPUT, ORATYPE_VARCHAR2
952
				OraDatabase.Parameters.Add "UPDATED", 	GetIsDiffFilterChecked(enumDB_DIFF_UPDATED),		ORAPARM_INPUT, ORATYPE_VARCHAR2
953
			
953
				OraDatabase.Parameters.Add "REMOVED", 	GetIsDiffFilterChecked(enumDB_DIFF_REMOVED),		ORAPARM_INPUT, ORATYPE_VARCHAR2
954
				Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("BOMDiffMerge.sql"), cint(0))
954
			
955
				
955
				Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("BOMDiffMerge.sql"), cint(0))
956
				OraDatabase.Parameters.Remove "SBOM_A"
956
				
957
				OraDatabase.Parameters.Remove "SBOM_B"
957
				OraDatabase.Parameters.Remove "SBOM_A"
958
				OraDatabase.Parameters.Remove "NO_CHANGE"
958
				OraDatabase.Parameters.Remove "SBOM_B"
959
				OraDatabase.Parameters.Remove "ADDED"
959
				OraDatabase.Parameters.Remove "NO_CHANGE"
960
				OraDatabase.Parameters.Remove "UPDATED"
960
				OraDatabase.Parameters.Remove "ADDED"
961
				OraDatabase.Parameters.Remove "REMOVED"
961
				OraDatabase.Parameters.Remove "UPDATED"
962
				
962
				OraDatabase.Parameters.Remove "REMOVED"
963
				Set rsQryA = OraDatabase.DbCreateDynaset( "SELECT pr.PROJ_NAME, br.BRANCH_NAME, b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE  AS LOCATION, "&_
963
				
964
	"        pr.PROJ_ID, b.BOM_ID, br.BRANCH_ID"&_
964
				Set rsQryA = OraDatabase.DbCreateDynaset( "SELECT pr.PROJ_NAME, br.BRANCH_NAME, b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE  AS LOCATION, "&_
965
	"  FROM BRANCHES br,"&_
965
	"        pr.PROJ_ID, b.BOM_ID, br.BRANCH_ID"&_
966
	"  		BOMS b,"&_	
966
	"  FROM BRANCHES br,"&_
967
	"  	    DM_PROJECTS pr"&_
967
	"  		BOMS b,"&_	
968
	" WHERE br.PROJ_ID = pr.PROJ_ID"&_
968
	"  	    DM_PROJECTS pr"&_
969
	" 	AND b.BRANCH_ID = br.BRANCH_ID"&_	
969
	" WHERE br.PROJ_ID = pr.PROJ_ID"&_
970
	"   AND b.BOM_ID ="&parSBOMA, cint(0))
970
	" 	AND b.BRANCH_ID = br.BRANCH_ID"&_	
971
 
971
	"   AND b.BOM_ID ="&parSBOMA, cint(0))
972
 
972
 
973
				Set rsQryB = OraDatabase.DbCreateDynaset( "SELECT pr.PROJ_NAME, br.BRANCH_NAME, b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE  AS LOCATION, "&_
973
 
974
	"        pr.PROJ_ID, b.BOM_ID, br.BRANCH_ID"&_
974
				Set rsQryB = OraDatabase.DbCreateDynaset( "SELECT pr.PROJ_NAME, br.BRANCH_NAME, b.BOM_VERSION ||'.'||b.BOM_LIFECYCLE  AS LOCATION, "&_
975
	"  FROM BRANCHES br,"&_
975
	"        pr.PROJ_ID, b.BOM_ID, br.BRANCH_ID"&_
976
	"  		BOMS b,"&_	
976
	"  FROM BRANCHES br,"&_
977
	"  	    DM_PROJECTS pr"&_
977
	"  		BOMS b,"&_	
978
	" WHERE br.PROJ_ID = pr.PROJ_ID"&_
978
	"  	    DM_PROJECTS pr"&_
979
	" 	AND b.BRANCH_ID = br.BRANCH_ID"&_	
979
	" WHERE br.PROJ_ID = pr.PROJ_ID"&_
980
	"   AND b.BOM_ID ="&parSBOMB, cint(0))
980
	" 	AND b.BRANCH_ID = br.BRANCH_ID"&_	
981
				
981
	"   AND b.BOM_ID ="&parSBOMB, cint(0))
982
				NewTextFile.WriteLine("<title>Difference Report Between "&rsQryA("branch_name")&" "&rsQryA("location")&" and "&rsQryB("branch_name")&" "&rsQryB("location")&"</title>")
982
				
983
				NewTextFile.WriteLine("<div align="&chr(34)&"center"&chr(34)&"><font color="&chr(34)&"red"&chr(34)&" size="&chr(34)&"4"&chr(34)&" face="&chr(34)&"Verdana, Arial, Helvetica, sans-serif"&chr(34)&">Difference Report Between "&rsQryA("branch_name")&" "&rsQryA("location")&" and "&rsQryB("branch_name")&" "&rsQryB("location")&"</font></div><br>")
983
				NewTextFile.WriteLine("<title>Difference Report Between "&rsQryA("branch_name")&" "&rsQryA("location")&" and "&rsQryB("branch_name")&" "&rsQryB("location")&"</title>")
984
				
984
				NewTextFile.WriteLine("<link rel="shortcut icon" href="<%=FavIcon%>"/>
985
				While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))
985
				NewTextFile.WriteLine("<div align="&chr(34)&"center"&chr(34)&"><font color="&chr(34)&"red"&chr(34)&" size="&chr(34)&"4"&chr(34)&" face="&chr(34)&"Verdana, Arial, Helvetica, sans-serif"&chr(34)&">Difference Report Between "&rsQryA("branch_name")&" "&rsQryA("location")&" and "&rsQryB("branch_name")&" "&rsQryB("location")&"</font></div><br>")
986
				errormsg = false
986
				
987
					rowId = rsQry("node_id_a") &"_"& rsQry("os_id_a") &"_"& rsQry("pv_id_a") &"_"& rsQry("pv_id_b")
987
				While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))
988
					
988
				errormsg = false
989
					btnMerge = LIMG_MERGE
989
					rowId = rsQry("node_id_a") &"_"& rsQry("os_id_a") &"_"& rsQry("pv_id_a") &"_"& rsQry("pv_id_b")
990
					btnRemove = LIMG_REMOVE
990
					
991
					colorA = LCOLOR_NOT_CHANGED
991
					btnMerge = LIMG_MERGE
992
					colorB = LCOLOR_NOT_CHANGED
992
					btnRemove = LIMG_REMOVE
993
					
993
					colorA = LCOLOR_NOT_CHANGED
994
					Select Case rsQry("change_type")
994
					colorB = LCOLOR_NOT_CHANGED
995
						Case "U"
995
					
996
							colorA = LCOLOR_CHANGED
996
					Select Case rsQry("change_type")
997
							colorB = LCOLOR_CHANGED							
997
						Case "U"
998
						Case "UW"
998
							colorA = LCOLOR_CHANGED
999
							colorA = LCOLOR_CHANGED
999
							colorB = LCOLOR_CHANGED							
1000
							colorB = LCOLOR_CHANGED
1000
						Case "UW"
1001
							btnMerge = LIMG_MERGE_WARN
1001
							colorA = LCOLOR_CHANGED
1002
						Case "A"
1002
							colorB = LCOLOR_CHANGED
1003
							colorA = LCOLOR_BLANK
1003
							btnMerge = LIMG_MERGE_WARN
1004
						Case "R"
1004
						Case "A"
1005
							colorB = LCOLOR_BLANK
1005
							colorA = LCOLOR_BLANK
1006
					End Select
1006
						Case "R"
1007
					
1007
							colorB = LCOLOR_BLANK
1008
					Call GetDiffStateIcon ( rsQry("change_type"), ChangeTypeIcon )
1008
					End Select
1009
				%>
1009
					
1010
				  <tr>
1010
					Call GetDiffStateIcon ( rsQry("change_type"), ChangeTypeIcon )
1011
                    <td class="body_row" nowrap>
1011
				%>
1012
						<DIV id="PVA<%=rowId%>" style="background:<%=colorA%>; padding:5px;">
1012
				  <tr>
1013
						<%If rsQry("pkg_name_a") <> "" Then %>
1013
                    <td class="body_row" nowrap>
1014
						<%=rsQry("node_name_a") &"/"& rsQry("os_name_a") &"/"& rsQry("pkg_name_a") &" "& rsQry("pkg_version_a")%>
1014
						<DIV id="PVA<%=rowId%>" style="background:<%=colorA%>; padding:5px;">
1015
						<%End If%>
1015
						<%If rsQry("pkg_name_a") <> "" Then %>
1016
						</DIV>
1016
						<%=rsQry("node_name_a") &"/"& rsQry("os_name_a") &"/"& rsQry("pkg_name_a") &" "& rsQry("pkg_version_a")%>
1017
						<input type="hidden" id="UNDOCOLORA_<%=rowId%>" value="<%=colorA%>">
1017
						<%End If%>
1018
					</td>
1018
						</DIV>
1019
                    <td bgcolor="#F5F5F5"><%If objRelCollectorB.Item("is_readonly") <> "Y" AND (rsQry("change_type") = "U" OR rsQry("change_type") = "UW") Then%><DIV id="IMGMERGE<%=rowId%>" <%If (rsQry("change_type") = "A")  OR IsNull( rsQry("change_type") ) Then%>style="display:none;"<%End If%>><a href="javascript:;" onClick="MergePackage( '<%=rsQry("pv_id_a")%>', '<%=rsQry("pv_id_b")%>', '<%=rowId%>' );"><%=btnMerge%></a></DIV><%End If%></td>
1019
						<input type="hidden" id="UNDOCOLORA_<%=rowId%>" value="<%=colorA%>">
1020
                    <td bgcolor="#E4E9EC"><DIV id="IMGSTATE<%=rowId%>" ><%=ChangeTypeIcon%></DIV><input type="hidden" id="CHANGETYPE_<%=rowId%>" value="<%=rsQry("change_type")%>"></td>
1020
					</td>
1021
                    <td bgcolor="#F5F5F5"><%If objRelCollectorB.Item("is_readonly") <> "Y" Then%><DIV id="IMGREMOVE<%=rowId%>" <%If rsQry("change_type") = "R" Then%>style="display:none;"<%End If%>><a href="javascript:;" onClick="RemovePackage( '<%=rsQry("pv_id_a")%>', '<%=rsQry("pv_id_b")%>', '<%=rowId%>' );"><%=btnRemove%></a></DIV><%End If%></td>
1021
                    <td bgcolor="#F5F5F5"><%If objRelCollectorB.Item("is_readonly") <> "Y" AND (rsQry("change_type") = "U" OR rsQry("change_type") = "UW") Then%><DIV id="IMGMERGE<%=rowId%>" <%If (rsQry("change_type") = "A")  OR IsNull( rsQry("change_type") ) Then%>style="display:none;"<%End If%>><a href="javascript:;" onClick="MergePackage( '<%=rsQry("pv_id_a")%>', '<%=rsQry("pv_id_b")%>', '<%=rowId%>' );"><%=btnMerge%></a></DIV><%End If%></td>
1022
                    <td class="body_row" nowrap>
1022
                    <td bgcolor="#E4E9EC"><DIV id="IMGSTATE<%=rowId%>" ><%=ChangeTypeIcon%></DIV><input type="hidden" id="CHANGETYPE_<%=rowId%>" value="<%=rsQry("change_type")%>"></td>
1023
						<DIV id="PVB<%=rowId%>" style="background:<%=colorB%>; padding:5px;">
1023
                    <td bgcolor="#F5F5F5"><%If objRelCollectorB.Item("is_readonly") <> "Y" Then%><DIV id="IMGREMOVE<%=rowId%>" <%If rsQry("change_type") = "R" Then%>style="display:none;"<%End If%>><a href="javascript:;" onClick="RemovePackage( '<%=rsQry("pv_id_a")%>', '<%=rsQry("pv_id_b")%>', '<%=rowId%>' );"><%=btnRemove%></a></DIV><%End If%></td>
1024
						<%If rsQry("pkg_name_b") <> "" Then %>
1024
                    <td class="body_row" nowrap>
1025
						<%=rsQry("node_name_b") &"/"& rsQry("os_name_b") &"/"& rsQry("pkg_name_b") &" "& rsQry("pkg_version_b")%>
1025
						<DIV id="PVB<%=rowId%>" style="background:<%=colorB%>; padding:5px;">
1026
						<%End If%>
1026
						<%If rsQry("pkg_name_b") <> "" Then %>
1027
						</DIV>
1027
						<%=rsQry("node_name_b") &"/"& rsQry("os_name_b") &"/"& rsQry("pkg_name_b") &" "& rsQry("pkg_version_b")%>
1028
						<input type="hidden" id="UNDOCOLORB_<%=rowId%>" value="<%=colorB%>">
1028
						<%End If%>
1029
						<input type="hidden" name="addpkg" id="ADDPKG_<%=rowId%>" value="">
1029
						</DIV>
1030
						<input type="hidden" name="removepkg" id="REMOVEPKG_<%=rowId%>" value="">
1030
						<input type="hidden" id="UNDOCOLORB_<%=rowId%>" value="<%=colorB%>">
1031
						<input type="hidden" id="UNDOPKG_<%=rowId%>" value="<%=rsQry("node_name_b") &"/"& rsQry("os_name_b") &"/"& rsQry("pkg_name_b") &" "& rsQry("pkg_version_b")%>">
1031
						<input type="hidden" name="addpkg" id="ADDPKG_<%=rowId%>" value="">
1032
					</td>
1032
						<input type="hidden" name="removepkg" id="REMOVEPKG_<%=rowId%>" value="">
1033
                    <td bgcolor="#F5F5F5"><DIV id="IMGUNDO<%=rowId%>" style="display:none;" ><a href="javascript:;" onClick="UndoPackage( '<%=rowId%>' );"><%=LIMG_UNDO%></a></DIV></td>
1033
						<input type="hidden" id="UNDOPKG_<%=rowId%>" value="<%=rsQry("node_name_b") &"/"& rsQry("os_name_b") &"/"& rsQry("pkg_name_b") &" "& rsQry("pkg_version_b")%>">
1034
                  </tr> 
1034
					</td>
1035
<%
1035
                    <td bgcolor="#F5F5F5"><DIV id="IMGUNDO<%=rowId%>" style="display:none;" ><a href="javascript:;" onClick="UndoPackage( '<%=rowId%>' );"><%=LIMG_UNDO%></a></DIV></td>
1036
	If email then 
1036
                  </tr> 
1037
		If rsQry("pv_id_a") Then
1037
<%
1038
			Set rsQryCommentsA = OraDatabase.DbCreateDynaset( "SELECT COMMENTS FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_a"), cint(0)) 
1038
	If email then 
1039
		End If
1039
		If rsQry("pv_id_a") Then
1040
				
1040
			Set rsQryCommentsA = OraDatabase.DbCreateDynaset( "SELECT COMMENTS FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_a"), cint(0)) 
1041
		If rsQry("pv_id_b") Then
1041
		End If
1042
			Set rsQryCommentsB = OraDatabase.DbCreateDynaset( "SELECT COMMENTS FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_b"), cint(0)) 
1042
				
1043
		End If
1043
		If rsQry("pv_id_b") Then
1044
				
1044
			Set rsQryCommentsB = OraDatabase.DbCreateDynaset( "SELECT COMMENTS FROM PACKAGE_VERSIONS WHERE PV_ID="& rsQry("pv_id_b"), cint(0)) 
1045
		pkgA = rsQry("pkg_name_a")
1045
		End If
1046
		pkgB = rsQry("pkg_name_b")
1046
				
1047
		
1047
		pkgA = rsQry("pkg_name_a")
1048
		If pkgA <> "" then 
1048
		pkgB = rsQry("pkg_name_b")
1049
			pkgname = pkgA
1049
		
1050
		Else
1050
		If pkgA <> "" then 
1051
			pkgname = pkgB
1051
			pkgname = pkgA
1052
		End If
1052
		Else
1053
				
1053
			pkgname = pkgB
1054
		Select Case rsQry("change_type") 
1054
		End If
1055
			Case "U" 
1055
				
1056
				NewTextFile.WriteLine("<b><font face="&chr(34)&"arial"&chr(34)&">Package Name: "&pkgname&"</font></b><br>")
1056
		Select Case rsQry("change_type") 
1057
				NewTextFile.Write(rsQryA("location")&" uses: "&rsQry("pkg_version_a")&" ")
1057
			Case "U" 
1058
				
1058
				NewTextFile.WriteLine("<b><font face="&chr(34)&"arial"&chr(34)&">Package Name: "&pkgname&"</font></b><br>")
1059
				NewTextFile.WriteLine("<br>")
1059
				NewTextFile.Write(rsQryA("location")&" uses: "&rsQry("pkg_version_a")&" ")
1060
				NewTextFile.Write(rsQryB("location")&" uses: "&rsQry("pkg_version_b")&" ")
1060
				
1061
 
1061
				NewTextFile.WriteLine("<br>")
1062
				NewTextFile.WriteLine("<br><br>")
1062
				NewTextFile.Write(rsQryB("location")&" uses: "&rsQry("pkg_version_b")&" ")
1063
				NewTextFile.WriteLine()
1063
 
1064
				NewTextFile.WriteLine("<b>"&rsQryA("location")&"</b>")	
1064
				NewTextFile.WriteLine("<br><br>")
1065
				Call Comments(rsQry("pv_id_a"))
1065
				NewTextFile.WriteLine()
1066
				Call GetFixedIssues(rsQry("pv_id_a"))
1066
				NewTextFile.WriteLine("<b>"&rsQryA("location")&"</b>")	
1067
				'Call GetDependencies(rsQry("pv_id_a"), rsQry("pv_id_b"))
1067
				Call Comments(rsQry("pv_id_a"))
1068
				
1068
				Call GetFixedIssues(rsQry("pv_id_a"))
1069
				NewTextFile.WriteLine("<br><br>")
1069
				'Call GetDependencies(rsQry("pv_id_a"), rsQry("pv_id_b"))
1070
				NewTextFile.WriteLine()
1070
				
1071
				NewTextFile.WriteLine("<b>"&rsQryB("location")&"</b>")	
1071
				NewTextFile.WriteLine("<br><br>")
1072
				Call Comments(rsQry("pv_id_b"))
1072
				NewTextFile.WriteLine()
1073
				Call GetFixedIssues(rsQry("pv_id_b"))
1073
				NewTextFile.WriteLine("<b>"&rsQryB("location")&"</b>")	
1074
				Call GetDependencies(rsQry("pv_id_a"), rsQry("pv_id_b"))		
1074
				Call Comments(rsQry("pv_id_b"))
1075
 
1075
				Call GetFixedIssues(rsQry("pv_id_b"))
1076
					
1076
				Call GetDependencies(rsQry("pv_id_a"), rsQry("pv_id_b"))		
1077
 
1077
 
1078
										
1078
					
1079
					NewTextFile.WriteLine("****************************************************************************************************************************")
1079
 
1080
					
1080
										
1081
			Case "UW"					
1081
					NewTextFile.WriteLine("****************************************************************************************************************************")
1082
				NewTextFile.WriteLine("<b><font face="&chr(34)&"arial"&chr(34)&">Package Name: "&pkgname&"</font></b><br>")
1082
					
1083
				NewTextFile.Write(rsQryA("location")&" uses: "&rsQry("pkg_version_a")&" ")
1083
			Case "UW"					
1084
 
1084
				NewTextFile.WriteLine("<b><font face="&chr(34)&"arial"&chr(34)&">Package Name: "&pkgname&"</font></b><br>")
1085
				NewTextFile.WriteLine("<br>")
1085
				NewTextFile.Write(rsQryA("location")&" uses: "&rsQry("pkg_version_a")&" ")
1086
				NewTextFile.Write(rsQryB("location")&" uses: "&rsQry("pkg_version_b")&" ")
1086
 
1087
 
1087
				NewTextFile.WriteLine("<br>")
1088
				NewTextFile.WriteLine("<br><br>")
1088
				NewTextFile.Write(rsQryB("location")&" uses: "&rsQry("pkg_version_b")&" ")
1089
				NewTextFile.WriteLine()
1089
 
1090
				NewTextFile.WriteLine("<b>"&rsQryA("location")&"</b>")	
1090
				NewTextFile.WriteLine("<br><br>")
1091
				Call Comments(rsQry("pv_id_a"))
1091
				NewTextFile.WriteLine()
1092
				Call GetFixedIssues(rsQry("pv_id_a"))
1092
				NewTextFile.WriteLine("<b>"&rsQryA("location")&"</b>")	
1093
				'Call GetDependencies(rsQry("pv_id_a"))
1093
				Call Comments(rsQry("pv_id_a"))
1094
				
1094
				Call GetFixedIssues(rsQry("pv_id_a"))
1095
				NewTextFile.WriteLine("<br><br>")
1095
				'Call GetDependencies(rsQry("pv_id_a"))
1096
				NewTextFile.WriteLine()
1096
				
1097
				NewTextFile.WriteLine("<b>"&rsQryB("location")&"</b>")	
1097
				NewTextFile.WriteLine("<br><br>")
1098
				Call Comments(rsQry("pv_id_b"))
1098
				NewTextFile.WriteLine()
1099
				Call GetFixedIssues(rsQry("pv_id_b"))
1099
				NewTextFile.WriteLine("<b>"&rsQryB("location")&"</b>")	
1100
				Call GetDependencies(rsQry("pv_id_a"), rsQry("pv_id_b"))				
1100
				Call Comments(rsQry("pv_id_b"))
1101
				
1101
				Call GetFixedIssues(rsQry("pv_id_b"))
1102
				
1102
				Call GetDependencies(rsQry("pv_id_a"), rsQry("pv_id_b"))				
1103
				
1103
				
1104
 
1104
				
1105
	 				
1105
				
1106
				NewTextFile.WriteLine("****************************************************************************************************************************")
1106
 
1107
						
1107
	 				
1108
		End Select	
1108
				NewTextFile.WriteLine("****************************************************************************************************************************")
1109
				
1109
						
1110
	End If
1110
		End Select	
1111
		
1111
				
1112
	rsQry.MoveNext
1112
	End If
1113
	WEnd
1113
		
1114
				
1114
	rsQry.MoveNext
1115
	rsQry.Close
1115
	WEnd
1116
	Set rsQry = Nothing
1116
				
1117
%>									  
1117
	rsQry.Close
1118
<%
1118
	Set rsQry = Nothing
1119
	Call Footer()
1119
%>									  
1120
	NewTextFile.Close
1120
<%
1121
	Set NewTextFile=Nothing 
1121
	Call Footer()
1122
%>				  
1122
	NewTextFile.Close
1123
                </table>
1123
	Set NewTextFile=Nothing 
1124
                <br>
1124
%>				  
1125
			<%Else%>	
1125
                </table>
1126
				<br>
1126
                <br>
1127
				<%
1127
			<%Else%>	
1128
				If (parRtagB <> "") Then
1128
				<br>
1129
					Call Messenger ( "Select <b>SBOM A</b> to compare.", 3, "100%" )					
1129
				<%
1130
				ElseIf (parRtagA <> "") Then
1130
				If (parRtagB <> "") Then
1131
					Call Messenger ( "Select <b>SBOM B</b> to compare.", 3, "100%" )					
1131
					Call Messenger ( "Select <b>SBOM A</b> to compare.", 3, "100%" )					
1132
				Else
1132
				ElseIf (parRtagA <> "") Then
1133
					Call Messenger ( "Select <b>SBOM A</b> and <b>SBOM B</b> to compare.", 3, "100%" )					
1133
					Call Messenger ( "Select <b>SBOM B</b> to compare.", 3, "100%" )					
1134
				End If
1134
				Else
1135
				%>
1135
					Call Messenger ( "Select <b>SBOM A</b> and <b>SBOM B</b> to compare.", 3, "100%" )					
1136
				
1136
				End If
1137
			<%End If%>
1137
				%>
1138
				
1138
				
1139
				</td>
1139
			<%End If%>
1140
                <td width="1%" background="images/lbox_bgside_white.gif">&nbsp;</td>
1140
				
1141
              </tr>
1141
				</td>
1142
              <tr> 
1142
                <td width="1%" background="images/lbox_bgside_white.gif">&nbsp;</td>
1143
                <td width="1%" background="images/lbox_bg_green.gif" valign="bottom"><img src="images/lbox_bl_cnr_b.gif" width="13" height="13"></td>
1143
              </tr>
1144
                <td background="images/lbox_bg_green.gif"></td>
1144
              <tr> 
1145
                <td width="1%" background="images/lbox_bg_green.gif" valign="bottom" align="right"><img src="images/lbox_br_cnr_b.gif" width="13" height="13"></td>
1145
                <td width="1%" background="images/lbox_bg_green.gif" valign="bottom"><img src="images/lbox_bl_cnr_b.gif" width="13" height="13"></td>
1146
              </tr>
1146
                <td background="images/lbox_bg_green.gif"></td>
1147
            </table>
1147
                <td width="1%" background="images/lbox_bg_green.gif" valign="bottom" align="right"><img src="images/lbox_br_cnr_b.gif" width="13" height="13"></td>
1148
          </td>
1148
              </tr>
1149
        </tr>
1149
            </table>
1150
      </table>
1150
          </td>
1151
    <!-- DIFF END ---------------------------------------------------->
1151
        </tr>
1152
    </td>
1152
      </table>
1153
	<td valign="top" width="1%" background="images/bg_lite_blue.gif"> 
1153
    <!-- DIFF END ---------------------------------------------------->
1154
	
1154
    </td>
1155
	
1155
	<td valign="top" width="1%" background="images/bg_lite_blue.gif"> 
1156
	  <!-- SELECT SBOM B ---------------------------------------------->
1156
	
1157
      <br>
1157
	
1158
      <table width="100%"  border="0" cellspacing="10" cellpadding="0">
1158
	  <!-- SELECT SBOM B ---------------------------------------------->
1159
		<tr>
1159
      <br>
1160
          <td align="left" class="body_col"><img src="images/i_rtag_open_mode.gif" border="0" align="absmiddle" width="15" height="13">&nbsp;Select SBOM B<hr size="1px" color="Olive" noshade></td>
1160
      <table width="100%"  border="0" cellspacing="10" cellpadding="0">
1161
        </tr>
1161
		<tr>
1162
        <tr>
1162
          <td align="left" class="body_col"><img src="images/i_rtag_open_mode.gif" border="0" align="absmiddle" width="15" height="13">&nbsp;Select SBOM B<hr size="1px" color="Olive" noshade></td>
1163
          <td align="left">
1163
        </tr>
1164
		  <select name="projB" class="form_item" onChange="RequestReleaseCombo( '?proj_id='+ this.value, FormName.rtagB );">
1164
        <tr>
1165
              <option value="">-- Select Project --</option>
1165
          <td align="left">
1166
			  <%
1166
		  <select name="projB" class="form_item" onChange="RequestReleaseCombo( '?proj_id='+ this.value, FormName.rtagB );">
1167
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorB.Item("proj_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
1167
              <option value="">-- Select Project --</option>
1168
			  
1168
			  <%
1169
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProjectsCombo.sql"), cint(0))
1169
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorB.Item("proj_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
1170
			  
1170
			  
1171
			  OraDatabase.Parameters.Remove "PROJ_ID"
1171
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProjectsCombo.sql"), cint(0))
1172
			  
1172
			  
1173
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
1173
			  OraDatabase.Parameters.Remove "PROJ_ID"
1174
                <option value="<%=rsQry("proj_id")%>" <%=rsQry("selected")%>><%=rsQry("proj_name")%></option>
1174
			  
1175
              <%rsQry.MoveNext
1175
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
1176
			  WEnd
1176
                <option value="<%=rsQry("proj_id")%>" <%=rsQry("selected")%>><%=rsQry("proj_name")%></option>
1177
			  
1177
              <%rsQry.MoveNext
1178
			  rsQry.Close
1178
			  WEnd
1179
			  Set rsQry = Nothing
1179
			  
1180
			%>
1180
			  rsQry.Close
1181
          </select></td>
1181
			  Set rsQry = Nothing
1182
        </tr>
1182
			%>
1183
        <tr>
1183
          </select></td>
1184
          <td align="left">
1184
        </tr>
1185
		  
1185
        <tr>
1186
		  <select name="rtagB" id="rtagB" class="form_item" onChange="RequestSBOMCombo( '?branch_id='+ this.value, FormName.sbomB );">
1186
          <td align="left">
1187
              <option value="">-- Select SBOM --</option>		  
1187
		  
1188
			  <%
1188
		  <select name="rtagB" id="rtagB" class="form_item" onChange="RequestSBOMCombo( '?branch_id='+ this.value, FormName.sbomB );">
1189
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorB.Item("proj_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
1189
              <option value="">-- Select SBOM --</option>		  
1190
			  OraDatabase.Parameters.Add "BRANCH_ID", 	objRelCollectorB.Item("branch_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
1190
			  <%
1191
			  
1191
			  OraDatabase.Parameters.Add "PROJ_ID", 	objRelCollectorB.Item("proj_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
1192
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ReleasesCombo.sql"), cint(0))
1192
			  OraDatabase.Parameters.Add "BRANCH_ID", 	objRelCollectorB.Item("branch_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
1193
			  
1193
			  
1194
			  OraDatabase.Parameters.Remove "PROJ_ID"
1194
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ReleasesCombo.sql"), cint(0))
1195
			  OraDatabase.Parameters.Remove "BRANCH_ID"
1195
			  
1196
			  
1196
			  OraDatabase.Parameters.Remove "PROJ_ID"
1197
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
1197
			  OraDatabase.Parameters.Remove "BRANCH_ID"
1198
                <option value="<%=rsQry("branch_id")%>" <%=rsQry("selected")%>><%=rsQry("branch_name")%></option>
1198
			  
1199
              <%rsQry.MoveNext
1199
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
1200
			  WEnd
1200
                <option value="<%=rsQry("branch_id")%>" <%=rsQry("selected")%>><%=rsQry("branch_name")%></option>
1201
			  
1201
              <%rsQry.MoveNext
1202
			  rsQry.Close
1202
			  WEnd
1203
			  Set rsQry = Nothing
1203
			  
1204
			  %>
1204
			  rsQry.Close
1205
		  </select></td>
1205
			  Set rsQry = Nothing
1206
        </tr>
1206
			  %>
1207
        <tr>
1207
		  </select></td>
1208
          <td align="left">
1208
        </tr>
1209
 
1209
        <tr>
1210
 
1210
          <td align="left">
1211
		  <select name="sbomB" id="sbomB" class="form_item">
1211
 
1212
            <%
1212
 
1213
			  OraDatabase.Parameters.Add "BOM_ID", 	objRelCollectorB.Item("bom_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
1213
		  <select name="sbomB" id="sbomB" class="form_item">
1214
			  OraDatabase.Parameters.Add "BRANCH_ID", 	objRelCollectorB.Item("branch_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
1214
            <%
1215
 
1215
			  OraDatabase.Parameters.Add "BOM_ID", 	objRelCollectorB.Item("bom_id"),	ORAPARM_INPUT,  ORATYPE_NUMBER 
1216
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("SBOMCombo.sql"), cint(0))
1216
			  OraDatabase.Parameters.Add "BRANCH_ID", 	objRelCollectorB.Item("branch_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
1217
			  
1217
 
1218
			  OraDatabase.Parameters.Remove "BOM_ID"
1218
			  Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("SBOMCombo.sql"), cint(0))
1219
			  OraDatabase.Parameters.Remove "BRANCH_ID"
1219
			  
1220
			  
1220
			  OraDatabase.Parameters.Remove "BOM_ID"
1221
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
1221
			  OraDatabase.Parameters.Remove "BRANCH_ID"
1222
            <option value="<%=rsQry("bom_id")%>" <%=rsQry("selected")%>><%=rsQry("version")%></option>
1222
			  
1223
            <%rsQry.MoveNext
1223
			  While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))%>
1224
			  WEnd
1224
            <option value="<%=rsQry("bom_id")%>" <%=rsQry("selected")%>><%=rsQry("version")%></option>
1225
			  
1225
            <%rsQry.MoveNext
1226
			  rsQry.Close
1226
			  WEnd
1227
			  Set rsQry = Nothing
1227
			  
1228
			  %>
1228
			  rsQry.Close
1229
          </select>
1229
			  Set rsQry = Nothing
1230
 
1230
			  %>
1231
		  
1231
          </select>
1232
		  </td>
1232
 
1233
        </tr>
1233
		  
1234
		<%If (parRtagB <> "") Then%>  
1234
		  </td>
1235
		<tr>
1235
        </tr>
1236
          <td align="left"><a href="Bom_home.asp?bom_id=<%=parSBOMB%>" class="body_txt_drk">Go To SBOM B &raquo;</a></td>
1236
		<%If (parRtagB <> "") Then%>  
1237
        </tr>
1237
		<tr>
1238
		<%End If%>
1238
          <td align="left"><a href="Bom_home.asp?bom_id=<%=parSBOMB%>" class="body_txt_drk">Go To SBOM B &raquo;</a></td>
1239
      </table>
1239
        </tr>
1240
      <!-- SELECT RELEASE B END ---------------------------------------------->	  </td>
1240
		<%End If%>
1241
  </tr>
1241
      </table>
1242
  <tr> 
1242
      <!-- SELECT RELEASE B END ---------------------------------------------->	  </td>
1243
    <td valign="bottom" align="center" background="images/bg_lite_blue.gif"><img src="images/img_vtree.gif" width="86" height="99" vspace="20" hspace="30"></td>
1243
  </tr>
1244
    <td background="images/bg_lght_gray.gif" valign="top"><img src="images/h_trsp_dot.gif" width="1" height="500"></td>
1244
  <tr> 
1245
	<td valign="bottom" background="images/bg_lite_blue.gif" align="center"><img src="images/img_vtree.gif" width="86" height="99" vspace="20" hspace="30"></td>
1245
    <td valign="bottom" align="center" background="images/bg_lite_blue.gif"><img src="images/img_vtree.gif" width="86" height="99" vspace="20" hspace="30"></td>
1246
  </tr>
1246
    <td background="images/bg_lght_gray.gif" valign="top"><img src="images/h_trsp_dot.gif" width="1" height="500"></td>
1247
</table>
1247
	<td valign="bottom" background="images/bg_lite_blue.gif" align="center"><img src="images/img_vtree.gif" width="86" height="99" vspace="20" hspace="30"></td>
1248
</form>
1248
  </tr>
1249
<!-- FOOTER -->
1249
</table>
1250
<!--#include file="_footer.asp"-->
1250
</form>
1251
<%
1251
<!-- FOOTER -->
1252
	If email Then
1252
<!--#include file="_footer.asp"-->
1253
	
1253
<%
1254
		Dim myMail, LocalPath
1254
	If email Then
1255
		Set myMail=Server.CreateObject("Persits.MailSender")
1255
	
1256
		LocalPath = Server.MapPath("docs\compareReleases_"&objAccessControl.UserName&".html")
1256
		Dim myMail, LocalPath
1257
		
1257
		Set myMail=Server.CreateObject("Persits.MailSender")
1258
		myMail.Host = SMTP_HOST
1258
		LocalPath = Server.MapPath("docs\compareReleases_"&objAccessControl.UserName&".html")
1259
		myMail.Subject="Release Comparisons from Release Manager"
1259
		
1260
		myMail.From="releasem@erggroup.com"
1260
		myMail.Host = SMTP_HOST
1261
		myMail.AddAddress objAccessControl.UserEmail
1261
		myMail.Subject="Release Comparisons from Release Manager"
1262
		' Attach the file
1262
		myMail.From="releasem@erggroup.com"
1263
		myMail.AddAttachment LocalPath
1263
		myMail.AddAddress objAccessControl.UserEmail
1264
		myMail.Body = "Your requested report..." 
1264
		' Attach the file
1265
		myMail.Send
1265
		myMail.AddAttachment LocalPath
1266
		
1266
		myMail.Body = "Your requested report..." 
1267
		set myMail=nothing
1267
		myMail.Send
1268
		
1268
		
1269
	End If
1269
		set myMail=nothing
1270
%>
1270
		
1271
</body>
1271
	End If
1272
</html>
1272
%>
1273
<%
1273
</body>
1274
Call Destroy_All_Objects
1274
</html>
1275
%>
1275
<%
-
 
1276
Call Destroy_All_Objects
-
 
1277
%>
1276
<!--#include file="common/globals_destructor.asp"-->
1278
<!--#include file="common/globals_destructor.asp"-->
1277
1279