Subversion Repositories DevTools

Rev

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

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