Subversion Repositories DevTools

Rev

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

Rev 64 Rev 5356
Line 1... Line 1...
1
<%@LANGUAGE="VBSCRIPT"%>
1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
2
<%
3
'=====================================================
3
'=====================================================
4
'|                                                   |
4
'|                                                   |
5
'|			          Bom_Comparison			 	 |
5
'|			          Bom_Comparison			 	 |
6
'|                                                   |
6
'|                                                   |
7
'=====================================================
7
'=====================================================
8
%>
8
%>
9
<%
9
<%
10
Option explicit
10
Option explicit
11
Response.Expires = 0
11
Response.Expires = 0
12
%>
12
%>
13
<!--#include file="common/globals.asp"-->
13
<!--#include file="common/globals.asp"-->
14
<!--#include file="common/config.asp"-->
14
<!--#include file="common/config.asp"-->
15
<!--#include file="common/common_subs.asp"-->
15
<!--#include file="common/common_subs.asp"-->
16
<!--#include file="common/_bom_common.asp"-->
16
<!--#include file="common/_bom_common.asp"-->
17
<!--#include file="controls/ERGFormComponent/classFormComponent.asp"-->
17
<!--#include file="controls/ERGFormComponent/classFormComponent.asp"-->
18
<%
18
<%
19
'------------ ACCESS CONTROL ------------------
19
'------------ ACCESS CONTROL ------------------
20
%>
20
%>
21
<!--#include file="_access_control_general.asp"-->
21
<!--#include file="_access_control_general.asp"-->
22
<%
22
<%
23
'------------ VARIABLE DEFINITION -------------
23
'------------ VARIABLE DEFINITION -------------
24
Dim rsQry, rsTemp
24
Dim rsQry, rsTemp
25
Dim aProductList
25
Dim aProductList
26
Dim parProd_id_select
26
Dim parProd_id_select
27
Dim parShowall
27
Dim parShowall
28
Dim numOfRows
28
Dim numOfRows
29
Dim rowNum
29
Dim rowNum
30
Dim objFormCollector
30
Dim objFormCollector
31
Dim objFormComponent
31
Dim objFormComponent
32
Dim sMessage
32
Dim sMessage
33
Dim ProdId
33
Dim ProdId
34
Dim ChangeType
34
Dim ChangeType
35
Dim PkgVersion, CurrentPkgVersion, IsDisplay, Comments
35
Dim PkgVersion, CurrentPkgVersion, IsDisplay, Comments
36
Dim PkgId, OldProdId, OsId
36
Dim PkgId, OldProdId, OsId
37
'------------ CONSTANTS DECLARATION -----------
37
'------------ CONSTANTS DECLARATION -----------
38
Const LIMG_UPDATED = "<img src='icons/i_updated.gif' width='11' height='11' hspace='2' vspace='2' border='0' align='absmiddle' title='Updated'>"
38
Const LIMG_UPDATED = "<img src='icons/i_updated.gif' width='11' height='11' hspace='2' vspace='2' border='0' align='absmiddle' title='Updated'>"
39
Const LIMG_ADDED = "<img src='icons/i_added.gif' width='11' height='11' border='0' hspace='2' vspace='2' align='absmiddle' title='Added'>"
39
Const LIMG_ADDED = "<img src='icons/i_added.gif' width='11' height='11' border='0' hspace='2' vspace='2' align='absmiddle' title='Added'>"
40
Const LIMG_REMOVED = "<img src='icons/i_removed.gif' width='11' height='11' border='0' hspace='2' vspace='2' align='absmiddle' title='Removed'>"
40
Const LIMG_REMOVED = "<img src='icons/i_removed.gif' width='11' height='11' border='0' hspace='2' vspace='2' align='absmiddle' title='Removed'>"
41
Const LIMG_NOTE_NEW = "<img src='icons/i_note_new.gif' width='18' height='18' border='0' align='absmiddle'>"
41
Const LIMG_NOTE_NEW = "<img src='icons/i_note_new.gif' width='18' height='18' border='0' align='absmiddle'>"
42
Const LIMG_NOTE_EDIT = "<img src='icons/i_note_edit.gif' width='18' height='18' border='0' align='absmiddle'>"
42
Const LIMG_NOTE_EDIT = "<img src='icons/i_note_edit.gif' width='18' height='18' border='0' align='absmiddle'>"
43
'------------ VARIABLE INIT -------------------
43
'------------ VARIABLE INIT -------------------
44
parProd_id_select = Request("prod_id_select")
44
parProd_id_select = Request("prod_id_select")
45
parShowall = Request("showall")
45
parShowall = Request("showall")
46
Set objFormCollector = CreateObject("Scripting.Dictionary")
46
Set objFormCollector = CreateObject("Scripting.Dictionary")
47
Set objFormComponent = New FormComponent
47
Set objFormComponent = New FormComponent
48
'------------ CONDITIONS ----------------------
48
'------------ CONDITIONS ----------------------
49
'----------------------------------------------
49
'----------------------------------------------
50
%>
50
%>
51
<%
51
<%
52
'--------------------------------------------------------------------------------------------------------------------------
52
'--------------------------------------------------------------------------------------------------------------------------
53
Function AddTrailingZeros(byval n, byval count)
53
Function AddTrailingZeros(byval n, byval count)
54
	if len(n) >= count then
54
	if len(n) >= count then
55
		AddTrailingZeros = n
55
		AddTrailingZeros = n
56
		exit function
56
		exit function
57
	end if
57
	end if
58
 
58
 
59
	dim c, s, i
59
	dim c, s, i
60
	c = count - len(n)
60
	c = count - len(n)
61
 
61
 
62
	for i = 1 to c
62
	for i = 1 to c
63
		s = s & "0"
63
		s = s & "0"
64
	next
64
	next
65
	s = cstr(n) & s
65
	s = cstr(n) & s
66
 
66
 
67
	AddTrailingZeros = s
67
	AddTrailingZeros = s
68
End function
68
End function
69
'--------------------------------------------------------------------------------------------------------------
69
'--------------------------------------------------------------------------------------------------------------
70
Sub GetProductList ( nBom_id, nComparedBomId, outProductList, Flag )
70
Sub GetProductList ( nBom_id, nComparedBomId, outProductList, Flag )
71
	Dim rsQry, query, showAll
71
	Dim rsQry, query, showAll
72
	
72
	
73
	'' Use SHOWALL parameter is BOM has old bom
73
	'' Use SHOWALL parameter is BOM has old bom
74
	'showAll = "Y"
74
	'showAll = "Y"
75
	'If nBom_id <> nComparedBomId Then
75
	'If nBom_id <> nComparedBomId Then
76
	'	showAll = parShowall
76
	'	showAll = parShowall
77
	'End If
77
	'End If
78
	
78
	
79
	
79
	
80
	OraDatabase.Parameters.Add "BOM_ID", 	 	 nBom_id,		 ORAPARM_INPUT, ORATYPE_NUMBER 
80
	OraDatabase.Parameters.Add "BOM_ID", 	 	 nBom_id,		 ORAPARM_INPUT, ORATYPE_NUMBER 
81
	OraDatabase.Parameters.Add "COMPARE_BOM_ID", nComparedBomId, ORAPARM_INPUT, ORATYPE_NUMBER 
81
	OraDatabase.Parameters.Add "COMPARE_BOM_ID", nComparedBomId, ORAPARM_INPUT, ORATYPE_NUMBER 
82
	If Flag = "Less" Then
82
	If Flag = "Less" Then
83
		Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("OrigBomCompare.sql"), ORADYN_DEFAULT )
83
		Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("OrigBomCompare.sql"), ORADYN_DEFAULT )
84
	Else
84
	Else
85
		Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("SameProducts.sql"), ORADYN_DEFAULT )
85
		Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("SameProducts.sql"), ORADYN_DEFAULT )
86
	End If
86
	End If
87
	If rsQry.RecordCount > 0 Then
87
	If rsQry.RecordCount > 0 Then
88
		outProductList = rsQry.GetRows()
88
		outProductList = rsQry.GetRows()
89
	Else
89
	Else
90
		outProductList = NULL
90
		outProductList = NULL
91
	End If
91
	End If
92
	
92
	
93
	
93
	
94
	OraDatabase.Parameters.Remove "COMPARE_BOM_ID"
94
	OraDatabase.Parameters.Remove "COMPARE_BOM_ID"
95
	OraDatabase.Parameters.Remove "BOM_ID"
95
	OraDatabase.Parameters.Remove "BOM_ID"
96
End Sub
96
End Sub
97
'--------------------------------------------------------------------------------------------------------------------------
97
'--------------------------------------------------------------------------------------------------------------------------
98
Sub GetFormDetails ( nBom_id, ByRef outobjDetails )
98
Sub GetFormDetails ( nBom_id, ByRef outobjDetails )
99
 
99
 
100
	Call GetBomDetails ( nBom_id, outobjDetails )
100
	Call GetBomDetails ( nBom_id, outobjDetails )
101
	
101
	
102
	outobjDetails.Item("root_version") = GetRootVersion ( outobjDetails.Item("bom_version") )
102
	outobjDetails.Item("root_version") = GetRootVersion ( outobjDetails.Item("bom_version") )
103
	
103
	
104
	'-- Set compare_bom_id 
104
	'-- Set compare_bom_id 
105
	If Request("compare_bom_id") <> "" Then
105
	If Request("compare_bom_id") <> "" Then
106
		outobjDetails.Item("compare_bom_id") =  Request("compare_bom_id")
106
		outobjDetails.Item("compare_bom_id") =  Request("compare_bom_id")
107
	Else
107
	Else
108
		Dim rsQry, query, GetBomTree
108
		Dim rsQry, query, GetBomTree
109
 
109
 
110
		OraDatabase.Parameters.Add "BRANCH_ID", 	objFormCollector.Item("rtag_id_fk"),	ORAPARM_INPUT, ORATYPE_NUMBER 
110
		OraDatabase.Parameters.Add "BRANCH_ID", 	objFormCollector.Item("rtag_id_fk"),	ORAPARM_INPUT, ORATYPE_NUMBER 
111
		OraDatabase.Parameters.Add "COMPARE_BOM_ID", 	Request("bom_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
111
		OraDatabase.Parameters.Add "COMPARE_BOM_ID", 	Request("bom_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
112
		
112
		
113
		Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("ProductionTreeCombo_Selected.sql"), ORADYN_DEFAULT )
113
		Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("ProductionTreeCombo_Selected.sql"), ORADYN_DEFAULT )
114
	
114
	
115
		If rsQry.RecordCount > 0 Then
115
		If rsQry.RecordCount > 0 Then
116
		'While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
116
		'While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
117
			'If IsEmpty(GetBomTreeListMax) Then 
117
			'If IsEmpty(GetBomTreeListMax) Then 
118
			GetBomTree = rsQry("bom_id")
118
			GetBomTree = rsQry("bom_id")
119
			
119
			
120
			'rsQry.MoveNext
120
			'rsQry.MoveNext
121
		'Wend
121
		'Wend
122
	
122
	
123
		Else
123
		Else
124
			GetBomTree = NULL
124
			GetBomTree = NULL
125
		
125
		
126
		End If
126
		End If
127
	
127
	
128
 
128
 
129
		OraDatabase.Parameters.Remove "BRANCH_ID"
129
		OraDatabase.Parameters.Remove "BRANCH_ID"
130
		OraDatabase.Parameters.Remove "COMPARE_BOM_ID"
130
		OraDatabase.Parameters.Remove "COMPARE_BOM_ID"
131
 
131
 
132
	
132
	
133
		rsQry.Close
133
		rsQry.Close
134
		Set rsQry = Nothing
134
		Set rsQry = Nothing
135
		
135
		
136
		outobjDetails.Item("compare_bom_id") = GetBomTree
136
		outobjDetails.Item("compare_bom_id") = GetBomTree
137
	End If
137
	End If
138
	
138
	
139
End Sub
139
End Sub
140
'--------------------------------------------------------------------------------------------------------------
140
'--------------------------------------------------------------------------------------------------------------
141
Sub GetBomTreeListMax
141
Sub GetBomTreeListMax
142
	Dim rsQry, query, GetBomTree
142
	Dim rsQry, query, GetBomTree
143
 
143
 
144
	OraDatabase.Parameters.Add "BRANCH_ID", 	objFormCollector.Item("rtag_id_fk"),	ORAPARM_INPUT, ORATYPE_NUMBER 
144
	OraDatabase.Parameters.Add "BRANCH_ID", 	objFormCollector.Item("rtag_id_fk"),	ORAPARM_INPUT, ORATYPE_NUMBER 
145
	OraDatabase.Parameters.Add "COMPARE_BOM_ID", 	Request("bom_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
145
	OraDatabase.Parameters.Add "COMPARE_BOM_ID", 	Request("bom_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
146
		
146
		
147
	Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("ProductionTreeCombo_Selected.sql"), ORADYN_DEFAULT )
147
	Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("ProductionTreeCombo_Selected.sql"), ORADYN_DEFAULT )
148
	
148
	
149
	If rsQry.RecordCount > 0 Then
149
	If rsQry.RecordCount > 0 Then
150
		'While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
150
		'While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
151
			'If IsEmpty(GetBomTreeListMax) Then 
151
			'If IsEmpty(GetBomTreeListMax) Then 
152
		GetBomTree = rsQry("bom_id")
152
		GetBomTree = rsQry("bom_id")
153
			
153
			
154
			'rsQry.MoveNext
154
			'rsQry.MoveNext
155
		'Wend
155
		'Wend
156
	
156
	
157
	Else
157
	Else
158
		GetBomTree = NULL
158
		GetBomTree = NULL
159
		
159
		
160
	End If
160
	End If
161
	
161
	
162
 
162
 
163
	OraDatabase.Parameters.Remove "BRANCH_ID"
163
	OraDatabase.Parameters.Remove "BRANCH_ID"
164
	OraDatabase.Parameters.Remove "COMPARE_BOM_ID"
164
	OraDatabase.Parameters.Remove "COMPARE_BOM_ID"
165
 
165
 
166
	
166
	
167
	rsQry.Close
167
	rsQry.Close
168
	Set rsQry = Nothing
168
	Set rsQry = Nothing
169
End Sub
169
End Sub
170
'--------------------------------------------------------------------------------------------------------------
170
'--------------------------------------------------------------------------------------------------------------
171
Function GetBomTreeList ()
171
Function GetBomTreeList ()
172
	Dim rsQry, query
172
	Dim rsQry, query
173
 
173
 
174
	OraDatabase.Parameters.Add "BRANCH_ID", 	objFormCollector.Item("rtag_id_fk"),	ORAPARM_INPUT, ORATYPE_NUMBER 
174
	OraDatabase.Parameters.Add "BRANCH_ID", 	objFormCollector.Item("rtag_id_fk"),	ORAPARM_INPUT, ORATYPE_NUMBER 
175
	OraDatabase.Parameters.Add "COMPARE_BOM_ID", 	Request("compare_bom_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
175
	OraDatabase.Parameters.Add "COMPARE_BOM_ID", 	Request("compare_bom_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
176
	Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("ProductionTreeCombo_Selected.sql"), ORADYN_DEFAULT )
176
	Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("ProductionTreeCombo_Selected.sql"), ORADYN_DEFAULT )
177
	
177
	
178
	If rsQry.RecordCount > 0 Then
178
	If rsQry.RecordCount > 0 Then
179
		GetBomTreeList = rsQry.GetRows()
179
		GetBomTreeList = rsQry.GetRows()
180
		
180
		
181
	Else
181
	Else
182
		GetBomTreeList = NULL
182
		GetBomTreeList = NULL
183
		
183
		
184
	End If
184
	End If
185
	
185
	
186
 
186
 
187
	OraDatabase.Parameters.Remove "BRANCH_ID"
187
	OraDatabase.Parameters.Remove "BRANCH_ID"
188
	OraDatabase.Parameters.Remove "COMPARE_BOM_ID"
188
	OraDatabase.Parameters.Remove "COMPARE_BOM_ID"
189
 
189
 
190
	
190
	
191
	rsQry.Close
191
	rsQry.Close
192
	Set rsQry = Nothing
192
	Set rsQry = Nothing
193
End Function
193
End Function
194
'--------------------------------------------------------------------------------------------------------------
194
'--------------------------------------------------------------------------------------------------------------
195
Function GetCompareBomDetails ( nBomId )
195
Function GetCompareBomDetails ( nBomId )
196
	Dim rsQry, query
196
	Dim rsQry, query
197
	OraDatabase.Parameters.Add "BOM_ID", 	nBomId,	ORAPARM_INPUT, ORATYPE_NUMBER 
197
	OraDatabase.Parameters.Add "BOM_ID", 	nBomId,	ORAPARM_INPUT, ORATYPE_NUMBER 
198
	
198
	
199
	Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("BomLocationDetails.sql"), ORADYN_DEFAULT )
199
	Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("BomLocationDetails.sql"), ORADYN_DEFAULT )
200
	
200
	
201
	If rsQry.RecordCount > 0 Then
201
	If rsQry.RecordCount > 0 Then
202
		GetCompareBomDetails = rsQry("proj_name") &"&nbsp;/&nbsp;"& rsQry("branch_name") &"&nbsp;/&nbsp;"& rsQry("bom_name") &"&nbsp;"& rsQry("bom_version") &"."& rsQry("bom_lifecycle")
202
		GetCompareBomDetails = rsQry("proj_name") &"&nbsp;/&nbsp;"& rsQry("branch_name") &"&nbsp;/&nbsp;"& rsQry("bom_name") &"&nbsp;"& rsQry("bom_version") &"."& rsQry("bom_lifecycle")
203
		
203
		
204
	Else
204
	Else
205
		GetCompareBomDetails = NULL
205
		GetCompareBomDetails = NULL
206
		
206
		
207
	End If
207
	End If
208
	
208
	
209
	OraDatabase.Parameters.Remove "BOM_ID"
209
	OraDatabase.Parameters.Remove "BOM_ID"
210
	
210
	
211
	rsQry.Close
211
	rsQry.Close
212
	Set rsQry = Nothing
212
	Set rsQry = Nothing
213
End Function
213
End Function
214
'--------------------------------------------------------------------------------------------------------------
214
'--------------------------------------------------------------------------------------------------------------
215
%>
215
%>
216
<%
216
<%
217
'------------ RUN BEFORE PAGE RENDER ----------
217
'------------ RUN BEFORE PAGE RENDER ----------
218
objPMod.PersistInQryString ( Array("compare_bom_id") )
218
objPMod.PersistInQryString ( Array("compare_bom_id") )
219
 
219
 
220
Call GetFormDetails ( dbPARbom_id, objFormCollector )
220
Call GetFormDetails ( dbPARbom_id, objFormCollector )
221
'----------------------------------------------
221
'----------------------------------------------
222
%>
222
%>
223
<html>
223
<html>
224
<head>
224
<head>
225
<title>Production Manager</title>
225
<title>Production Manager</title>
226
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
226
<link rel="shortcut icon" href="<%=FavIcon%>"/>
227
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
227
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
228
<link href="scripts/deployment_manager.css" rel="stylesheet" type="text/css">
228
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
229
<script language="JavaScript" src="scripts/common.js"></script>
229
<link href="scripts/deployment_manager.css" rel="stylesheet" type="text/css">
230
<script language="JavaScript" src="scripts/remote_scripting.js"></script>
230
<script language="JavaScript" src="scripts/common.js"></script>
231
<script language="JavaScript" type="text/javascript">
231
<script language="JavaScript" src="scripts/remote_scripting.js"></script>
232
<!--
232
<script language="JavaScript" type="text/javascript">
233
 
233
<!--
234
function RequestProductLocation( paramString, rowId ){
234
 
235
	var requestURL;
235
function RequestProductLocation( paramString, rowId ){
236
	
236
	var requestURL;
237
	// Product is changes, hence can be found in current bom
237
	
238
	requestURL = 'RequestBomDiffProductLocation.asp';
238
	// Product is changes, hence can be found in current bom
239
	
239
	requestURL = 'RequestBomDiffProductLocation.asp';
240
 
240
	
241
	// Show div
241
 
242
	ToggleDisplay( 'PRODUCT_'+ rowId, 'IMG_EXPAND_PRODUCT_' + rowId, 'IMG_COLLAPSE_PRODUCT_' + rowId );
242
	// Show div
243
	
243
	ToggleDisplay( 'PRODUCT_'+ rowId, 'IMG_EXPAND_PRODUCT_' + rowId, 'IMG_COLLAPSE_PRODUCT_' + rowId );
244
	// Set ajax divname
244
	
245
	ajaxdivname = 'PRODUCT_'+ rowId;
245
	// Set ajax divname
246
	
246
	ajaxdivname = 'PRODUCT_'+ rowId;
247
	if ( MM_findObj( ajaxdivname ).innerHTML == '<%=enumLOADING%>') 
247
	
248
	{
248
	if ( MM_findObj( ajaxdivname ).innerHTML == '<%=enumLOADING%>') 
249
	
249
	{
250
		//Append the name to search for to the requestURL
250
	
251
		var url = requestURL + paramString;
251
		//Append the name to search for to the requestURL
252
		
252
		var url = requestURL + paramString;
253
		//Create the xmlHttp object to use in the request
253
		
254
		//stateChangeHandler will fire when the state has changed, i.e. data is received back
254
		//Create the xmlHttp object to use in the request
255
		// This is non-blocking (asynchronous)
255
		//stateChangeHandler will fire when the state has changed, i.e. data is received back
256
		xmlHttp = GetXmlHttpObject(stateChangeHandler);
256
		// This is non-blocking (asynchronous)
257
		
257
		xmlHttp = GetXmlHttpObject(stateChangeHandler);
258
		//Send the xmlHttp get to the specified url
258
		
259
		xmlHttp_Get(xmlHttp, url);
259
		//Send the xmlHttp get to the specified url
260
		
260
		xmlHttp_Get(xmlHttp, url);
261
	}
261
		
262
	
262
	}
263
	
263
	
264
}
264
	
265
 
265
}
266
function MM_findObj(n, d) { //v4.0
266
 
267
  var p,i,x;
267
function MM_findObj(n, d) { //v4.0
268
  if(!d) d=document; 
268
  var p,i,x;
269
  if((p=n.indexOf("?"))>0&&parent.frames.length) {
269
  if(!d) d=document; 
270
  	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
270
  if((p=n.indexOf("?"))>0&&parent.frames.length) {
271
  }
271
  	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
272
  if(!(x=d[n])&&d.all) x=d.all[n]; 
272
  }
273
  for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
273
  if(!(x=d[n])&&d.all) x=d.all[n]; 
274
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
274
  for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
275
  if(!x && document.getElementById) x=document.getElementById(n); 
275
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
276
  return x;
276
  if(!x && document.getElementById) x=document.getElementById(n); 
277
}
277
  return x;
278
 
278
}
279
function DisplaySPAN(show, x) {
279
 
280
	if (show) {
280
function DisplaySPAN(show, x) {
281
		MM_findObj("spanHideDetails" + x).style.display = "block";
281
	if (show) {
282
		MM_findObj("spanPkgInfo" + x).style.display = "block";
282
		MM_findObj("spanHideDetails" + x).style.display = "block";
283
		MM_findObj("spanShowDetails" + x).style.display = "none";
283
		MM_findObj("spanPkgInfo" + x).style.display = "block";
284
	} else {
284
		MM_findObj("spanShowDetails" + x).style.display = "none";
285
		MM_findObj("spanHideDetails" + x).style.display = "none";
285
	} else {
286
		MM_findObj("spanPkgInfo" + x).style.display = "none";
286
		MM_findObj("spanHideDetails" + x).style.display = "none";
287
		MM_findObj("spanShowDetails" + x).style.display = "block";
287
		MM_findObj("spanPkgInfo" + x).style.display = "none";
288
	}
288
		MM_findObj("spanShowDetails" + x).style.display = "block";
289
}
289
	}
290
 
290
}
291
 
291
 
292
 
292
 
293
//-->
293
 
294
</script>
294
//-->
295
 
295
</script>
296
 
296
 
297
 
297
 
298
 
298
 
299
</head>
299
 
300
 
300
</head>
301
<body leftmargin="0" topmargin="0">
301
 
302
<!-- HEADER ++++++++++++++++ -->
302
<body leftmargin="0" topmargin="0">
303
<!--#include file="_header.asp"-->
303
<!-- HEADER ++++++++++++++++ -->
304
<!-- +++++++++++++++++++++++ -->
304
<!--#include file="_header.asp"-->
305
<!-- MAIN MENU  +  CRUMBS ++++++++++++++++ -->
305
<!-- +++++++++++++++++++++++ -->
306
<!--#include file="_main_menu.asp"-->
306
<!-- MAIN MENU  +  CRUMBS ++++++++++++++++ -->
307
<!-- +++++++++++++++++++++++++++++++++++++ -->
307
<!--#include file="_main_menu.asp"-->
308
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
308
<!-- +++++++++++++++++++++++++++++++++++++ -->
309
  <tr>
309
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
310
    <td width="1%" valign="top" background="images/bg_bage_0.gif">
310
  <tr>
311
	<!-- NODE BROWSER ++++++++++++++++++++++ -->
311
    <td width="1%" valign="top" background="images/bg_bage_0.gif">
312
	<!--#include file="_bom_browser.asp"-->
312
	<!-- NODE BROWSER ++++++++++++++++++++++ -->
313
	<!-- END OF NODE BROWSER +++++++++++++++ -->
313
	<!--#include file="_bom_browser.asp"-->
314
	</td>
314
	<!-- END OF NODE BROWSER +++++++++++++++ -->
315
    <td width="1" background="images/bg_bage_1.gif"><img src="images/spacer.gif" width="1" height="600"></td>
315
	</td>
316
    <td width="100%" valign="top" bgcolor="#FFFFFF">
316
    <td width="1" background="images/bg_bage_1.gif"><img src="images/spacer.gif" width="1" height="600"></td>
317
	<table width="100%"  border="0" cellspacing="0" cellpadding="0">
317
    <td width="100%" valign="top" bgcolor="#FFFFFF">
318
	  <tr>
318
	<table width="100%"  border="0" cellspacing="0" cellpadding="0">
319
        <td valign="top" background="images/bg_green.gif"></td>
319
	  <tr>
320
        <td align="right" valign="bottom" background="images/bg_green.gif" class="body_txtw"><%Call RenderTitleWithoutVersion( objBomCollector )%></td>
320
        <td valign="top" background="images/bg_green.gif"></td>
321
        <td background="images/bg_green.gif"><img src="images/spacer.gif" width="10" height="20"></td>
321
        <td align="right" valign="bottom" background="images/bg_green.gif" class="body_txtw"><%Call RenderTitleWithoutVersion( objBomCollector )%></td>
322
      </tr>
322
        <td background="images/bg_green.gif"><img src="images/spacer.gif" width="10" height="20"></td>
323
      <tr>
323
      </tr>
324
        <td width="1%" valign="top" background="images/bg_green.gif"></td>
324
      <tr>
325
        <td width="100%" valign="bottom" background="images/bg_green.gif">
325
        <td width="1%" valign="top" background="images/bg_green.gif"></td>
326
		<!-- TAB CONTROLS ++++++++++++++++++++++ -->
326
        <td width="100%" valign="bottom" background="images/bg_green.gif">
327
		<!--#include file="_tabs_definition.asp"-->
327
		<!-- TAB CONTROLS ++++++++++++++++++++++ -->
328
		<%
328
		<!--#include file="_tabs_definition.asp"-->
329
		Set objTabControl = New TabControl
329
		<%
330
		objTabControl.TemplateDoc = ReadFile( Server.MapPath("controls/ERGTabStyleWinXP/tab_style.html") ) ' Supply tab style definition
330
		Set objTabControl = New TabControl
331
		objTabControl.TabStyle = "StyleWinXP"
331
		objTabControl.TemplateDoc = ReadFile( Server.MapPath("controls/ERGTabStyleWinXP/tab_style.html") ) ' Supply tab style definition
332
		objTabControl.AddTabDefnition ( arrBomTabDef )
332
		objTabControl.TabStyle = "StyleWinXP"
333
		objTabControl.SelectByName("BOM Comparison")
333
		objTabControl.AddTabDefnition ( arrBomTabDef )
334
		objTabControl.Render ()
334
		objTabControl.SelectByName("BOM Comparison")
335
		%>
335
		objTabControl.Render ()
336
		<!-- END OF TAB CONTROLS +++++++++++++++ -->
336
		%>
337
		</td>
337
		<!-- END OF TAB CONTROLS +++++++++++++++ -->
338
        <td width="1%" background="images/bg_green.gif"><img src="images/spacer.gif" width="10" height="35"></td>
338
		</td>
339
        </tr>
339
        <td width="1%" background="images/bg_green.gif"><img src="images/spacer.gif" width="10" height="35"></td>
340
      <tr>
340
        </tr>
341
        <td background="images/bg_bage_0.gif"><img src="images/spacer.gif" width="30" height="10"></td>
341
      <tr>
342
        <td background="images/bg_bage_0.gif">
342
        <td background="images/bg_bage_0.gif"><img src="images/spacer.gif" width="30" height="10"></td>
343
		<!-- BUTTONS CONTROL +++++++++++++++++++ -->
343
        <td background="images/bg_bage_0.gif">
344
 
344
		<!-- BUTTONS CONTROL +++++++++++++++++++ -->
345
		<!-- +++++++++++++++++++++++++++++++++++ -->
345
 
346
		</td>
346
		<!-- +++++++++++++++++++++++++++++++++++ -->
347
        <td background="images/bg_green.gif"><img src="images/p_bar_corrner.gif" width="17" height="42"></td>
347
		</td>
348
        </tr>
348
        <td background="images/bg_green.gif"><img src="images/p_bar_corrner.gif" width="17" height="42"></td>
349
      <tr>
349
        </tr>
350
        <td>&nbsp;</td>
350
      <tr>
351
        <td>&nbsp;</td>
351
        <td>&nbsp;</td>
352
        <td valign="top"><%If Request.Cookies( enumCOOKIE_NAME )( "user_bar" ) = "hide" Then%><a href="<%=SCRIPT_NAME%>?user_bar=<%=enumDEFAULT%>&<%=objPMod.ComposeURL()%>"><img src="icons/b_left.gif" title="Maximize favourits" width="13" height="13" vspace="5" border="0"></a><%End If%></td>
352
        <td>&nbsp;</td>
353
        </tr>
353
        <td valign="top"><%If Request.Cookies( enumCOOKIE_NAME )( "user_bar" ) = "hide" Then%><a href="<%=SCRIPT_NAME%>?user_bar=<%=enumDEFAULT%>&<%=objPMod.ComposeURL()%>"><img src="icons/b_left.gif" title="Maximize favourits" width="13" height="13" vspace="5" border="0"></a><%End If%></td>
354
    </table>
354
        </tr>
355
	
355
    </table>
356
<!-- PRODUCT REJECTED ------------------------------------------------------------------------------------------ -->	
356
	
357
	<%If objBomCollector.Item ("is_rejected") = enumDB_YES Then%>
357
<!-- PRODUCT REJECTED ------------------------------------------------------------------------------------------ -->	
358
	<table width="100%"  border="0" cellspacing="10" cellpadding="0">
358
	<%If objBomCollector.Item ("is_rejected") = enumDB_YES Then%>
359
      <tr>
359
	<table width="100%"  border="0" cellspacing="10" cellpadding="0">
360
        <td>
360
      <tr>
361
		<%
361
        <td>
362
			OraDatabase.Parameters.Add "ENTITY_ID", 		dbPARbom_id,	ORAPARM_INPUT, ORATYPE_NUMBER
362
		<%
363
			OraDatabase.Parameters.Add "ENUM_ENTITY_TYPE", 	"enumENTITY_TYPE_BOM",	ORAPARM_INPUT, ORATYPE_VARCHAR2
363
			OraDatabase.Parameters.Add "ENTITY_ID", 		dbPARbom_id,	ORAPARM_INPUT, ORATYPE_NUMBER
364
			
364
			OraDatabase.Parameters.Add "ENUM_ENTITY_TYPE", 	"enumENTITY_TYPE_BOM",	ORAPARM_INPUT, ORATYPE_VARCHAR2
365
			Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("RejectionTrail.sql"), ORADYN_DEFAULT )
365
			
366
			
366
			Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("RejectionTrail.sql"), ORADYN_DEFAULT )
367
			
367
			
368
			sMessage = "<table width='100%'  border='0' cellspacing='3' cellpadding='0'>"
368
			
369
			sMessage = sMessage &"<tr>"
369
			sMessage = "<table width='100%'  border='0' cellspacing='3' cellpadding='0'>"
370
			sMessage = sMessage &"<td width='100%' class='body_txt'><b>BOM is REJECTED!</b><br><br><br></td>"
370
			sMessage = sMessage &"<tr>"
371
			sMessage = sMessage &"<td width='1%' nowrap valign='bottom' align='right'><a href='javascript:;' onClick=""MM_openBrWindow('wBomRejectNote.asp?rfile="& SCRIPT_NAME &"&"& objPMod.ComposeURL() &"','BomRejectNote','scrollbars=yes,resizable=yes,width=600,height=350');""  class='body_smllink' title='Create new note'>Create Note"& LIMG_NOTE_NEW &"</a></td>"
371
			sMessage = sMessage &"<td width='100%' class='body_txt'><b>BOM is REJECTED!</b><br><br><br></td>"
372
			sMessage = sMessage &"</tr>"
372
			sMessage = sMessage &"<td width='1%' nowrap valign='bottom' align='right'><a href='javascript:;' onClick=""MM_openBrWindow('wBomRejectNote.asp?rfile="& SCRIPT_NAME &"&"& objPMod.ComposeURL() &"','BomRejectNote','scrollbars=yes,resizable=yes,width=600,height=350');""  class='body_smllink' title='Create new note'>Create Note"& LIMG_NOTE_NEW &"</a></td>"
373
			
373
			sMessage = sMessage &"</tr>"
374
			While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
374
			
375
				sMessage = sMessage & "<tr><td colspan='2' background='images/bg_table_border.gif'><img src='images/spacer.gif' width='1' height='1'></td></tr>"
375
			While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
376
				sMessage = sMessage &"<tr>"
376
				sMessage = sMessage & "<tr><td colspan='2' background='images/bg_table_border.gif'><img src='images/spacer.gif' width='1' height='1'></td></tr>"
377
				sMessage = sMessage &"<td class='body_txt'>"
377
				sMessage = sMessage &"<tr>"
378
				If rsQry("is_rejected") = enumDB_YES Then
378
				sMessage = sMessage &"<td class='body_txt'>"
379
					sMessage = sMessage &"BOM is REJECTED!<br>"
379
				If rsQry("is_rejected") = enumDB_YES Then
380
				Else
380
					sMessage = sMessage &"BOM is REJECTED!<br>"
381
					sMessage = sMessage &"BOM is Accepted!<br>"
381
				Else
382
				End If
382
					sMessage = sMessage &"BOM is Accepted!<br>"
383
				sMessage = sMessage & objFormater.TextToHTML( rsQry("comments") ) &"<br><SPAN class='body_smltxtg'>"& rsQry("creator") &"</SPAN></td>"
383
				End If
384
				sMessage = sMessage &"<td nowrap valign='bottom' align='right'><a href='javascript:;' onClick=""MM_openBrWindow('wBomRejectNote.asp?reject_seq="& rsQry("reject_seq") &"&rfile="& SCRIPT_NAME &"&"& objPMod.ComposeURL() &"','BomRejectNote','scrollbars=yes,resizable=yes,width=600,height=350');"" class='body_smllink' title='Edit note'>Edit Note"& LIMG_NOTE_EDIT &"</a></td>"
384
				sMessage = sMessage & objFormater.TextToHTML( rsQry("comments") ) &"<br><SPAN class='body_smltxtg'>"& rsQry("creator") &"</SPAN></td>"
385
				sMessage = sMessage &"</tr>"
385
				sMessage = sMessage &"<td nowrap valign='bottom' align='right'><a href='javascript:;' onClick=""MM_openBrWindow('wBomRejectNote.asp?reject_seq="& rsQry("reject_seq") &"&rfile="& SCRIPT_NAME &"&"& objPMod.ComposeURL() &"','BomRejectNote','scrollbars=yes,resizable=yes,width=600,height=350');"" class='body_smllink' title='Edit note'>Edit Note"& LIMG_NOTE_EDIT &"</a></td>"
386
				
386
				sMessage = sMessage &"</tr>"
387
				rsQry.MoveNext
387
				
388
			WEnd
388
				rsQry.MoveNext
389
			rsQry.Close
389
			WEnd
390
			
390
			rsQry.Close
391
			sMessage = sMessage &"</table>"
391
			
392
			
392
			sMessage = sMessage &"</table>"
393
			Call Messenger ( sMessage, "bi_rejected.gif", "100%" )
393
			
394
			
394
			Call Messenger ( sMessage, "bi_rejected.gif", "100%" )
395
			Response.write "<br>"
395
			
396
			
396
			Response.write "<br>"
397
			
397
			
398
			OraDatabase.Parameters.Remove "ENTITY_ID"
398
			
399
			OraDatabase.Parameters.Remove "ENUM_ENTITY_TYPE"
399
			OraDatabase.Parameters.Remove "ENTITY_ID"
400
		%>
400
			OraDatabase.Parameters.Remove "ENUM_ENTITY_TYPE"
401
		
401
		%>
402
		</td>
402
		
403
        </tr>
403
		</td>
404
    </table>
404
        </tr>
405
	<%End If%>	
405
    </table>
406
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->	
406
	<%End If%>	
407
 
407
<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->	
408
	
408
 
409
	<table width="100%"  border="0" cellspacing="10" cellpadding="0">
409
	
410
 
410
	<table width="100%"  border="0" cellspacing="10" cellpadding="0">
411
	  <tr>
411
 
412
        <td width="1"><img src="images/spacer.gif" width="1" height="1"></td>
412
	  <tr>
413
        <td width="100%"><img src="images/spacer.gif" width="1" height="1"></td>
413
        <td width="1"><img src="images/spacer.gif" width="1" height="1"></td>
414
      </tr>
414
        <td width="100%"><img src="images/spacer.gif" width="1" height="1"></td>
415
	  
415
      </tr>
416
	  <!-- BOM Comments +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
416
	  
417
	  <%If (objBomCollector.Item("bom_comments") <> "") Then%>
417
	  <!-- BOM Comments +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
418
      <tr>
418
	  <%If (objBomCollector.Item("bom_comments") <> "") Then%>
419
        <td align="right" valign="top"><img src="icons/i_bom_properties.gif" width="30" height="30" hspace="3"></td>
419
      <tr>
420
        <td valign="top" class="body_txt">
420
        <td align="right" valign="top"><img src="icons/i_bom_properties.gif" width="30" height="30" hspace="3"></td>
421
		
421
        <td valign="top" class="body_txt">
422
		
422
		
423
			<SPAN class="body_colb">BOM Comments</SPAN>
423
		
424
			<hr width="100%" size="1px" noshade color="#808080">
424
			<SPAN class="body_colb">BOM Comments</SPAN>
425
			<SPAN class="body_txt"><%= objFormater.TextToHTML( objBomCollector.Item("bom_comments") )%></SPAN><br><br><br><br>
425
			<hr width="100%" size="1px" noshade color="#808080">
426
        </td>
426
			<SPAN class="body_txt"><%= objFormater.TextToHTML( objBomCollector.Item("bom_comments") )%></SPAN><br><br><br><br>
427
      </tr>
427
        </td>
428
	  <%End If%>
428
      </tr>
429
	  
429
	  <%End If%>
430
	  
430
	  
431
	  <!-- COMPARE BOM +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
431
	  
432
      <tr>
432
	  <!-- COMPARE BOM +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
433
        <td align="right" valign="top"><img src="icons/i_bom_diff.gif" width="37" height="33" hspace="3"></td>
433
      <tr>
434
        <td valign="top" class="body_txt">
434
        <td align="right" valign="top"><img src="icons/i_bom_diff.gif" width="37" height="33" hspace="3"></td>
435
		
435
        <td valign="top" class="body_txt">
436
		<%
436
		
437
		'-- FROM START --------------------------------------------------------------------------------------------------------------
437
		<%
438
		objFormComponent.FormName = "OldVersion"
438
		'-- FROM START --------------------------------------------------------------------------------------------------------------
439
		objFormComponent.Action = SCRIPT_NAME
439
		objFormComponent.FormName = "OldVersion"
440
		objFormComponent.Method = "get"
440
		objFormComponent.Action = SCRIPT_NAME
441
		Call objFormComponent.FormStart()
441
		objFormComponent.Method = "get"
442
		%> 	
442
		Call objFormComponent.FormStart()
443
		<SPAN class="body_colb"><%Call RenderTitle( objBomCollector )%><br>compared with <%= GetCompareBomDetails( objFormCollector.Item("compare_bom_id") ) %></SPAN><br>
443
		%> 	
444
            <hr width="100%" size="1px" noshade color="#808080"><br>
444
		<SPAN class="body_colb"><%Call RenderTitle( objBomCollector )%><br>compared with <%= GetCompareBomDetails( objFormCollector.Item("compare_bom_id") ) %></SPAN><br>
445
		
445
            <hr width="100%" size="1px" noshade color="#808080"><br>
446
		<SPAN class="body_txt">Show changes since BOM version&nbsp;</SPAN>
446
		
447
		<%=objFormComponent.Combo ( "compare_bom_id", GetBomTreeList(), False, "class='form_ivalue'" )%>
447
		<SPAN class="body_txt">Show changes since BOM version&nbsp;</SPAN>
448
		<%=objPMod.ComposeHiddenTagsWithout("compare_bom_id")%>
448
		<%=objFormComponent.Combo ( "compare_bom_id", GetBomTreeList(), False, "class='form_ivalue'" )%>
449
		<%=objFormComponent.SubmitButton ( "Compare", "class='form_btn'" )%><br><br>
449
		<%=objPMod.ComposeHiddenTagsWithout("compare_bom_id")%>
450
 
450
		<%=objFormComponent.SubmitButton ( "Compare", "class='form_btn'" )%><br><br>
451
		<SPAN class="body_txtr"><b>Products/Patches Existing in <%= GetCompareBomDetails( objFormCollector.Item("compare_bom_id") ) %> but not yet deployed in Production BOM</b></SPAN><br>
451
 
452
		<SPAN id="spanShowDetails1" name="spanShowDetails" class="body_rowlite"><a href="javascript:;" class="body_rowlite" onClick="DisplaySPAN(true,'1');"><b>Display...</b></a><br><br></SPAN>
452
		<SPAN class="body_txtr"><b>Products/Patches Existing in <%= GetCompareBomDetails( objFormCollector.Item("compare_bom_id") ) %> but not yet deployed in Production BOM</b></SPAN><br>
453
		<SPAN id="spanHideDetails1" name="spanHideDetails" style="display:none;"><a href="javascript:;" class="body_rowlite" onClick="DisplaySPAN(false,'1');"><b>Hide...</b></a><br><br></SPAN>
453
		<SPAN id="spanShowDetails1" name="spanShowDetails" class="body_rowlite"><a href="javascript:;" class="body_rowlite" onClick="DisplaySPAN(true,'1');"><b>Display...</b></a><br><br></SPAN>
454
		
454
		<SPAN id="spanHideDetails1" name="spanHideDetails" style="display:none;"><a href="javascript:;" class="body_rowlite" onClick="DisplaySPAN(false,'1');"><b>Hide...</b></a><br><br></SPAN>
455
 
455
		
456
		
456
 
457
		<SPAN id="spanPkgInfo1" name="spanPkgInfo" style="display:none;">
457
		
458
		<table width="100%"  border="0" cellspacing="2" cellpadding="0">
458
		<SPAN id="spanPkgInfo1" name="spanPkgInfo" style="display:none;">
459
          <tr>
459
		<table width="100%"  border="0" cellspacing="2" cellpadding="0">
460
 
460
          <tr>
461
		  	<td width="20%" background="images/bg_table_border.gif"><table width="100%"  border="0" cellspacing="1" cellpadding="2">
461
 
462
              <tr>
462
		  	<td width="20%" background="images/bg_table_border.gif"><table width="100%"  border="0" cellspacing="1" cellpadding="2">
463
                <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">Product</td>
463
              <tr>
464
              </tr>
464
                <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">Product</td>
465
            </table></td>
465
              </tr>
466
			<td width="20%" nowrap align="left" background="images/bg_table_col.gif" class="body_col">Version</td>
466
            </table></td>
467
			<td width="60%" nowrap align="left" background="images/bg_table_col.gif" class="body_col">Comments</td>
467
			<td width="20%" nowrap align="left" background="images/bg_table_col.gif" class="body_col">Version</td>
468
			<td width="60%" nowrap align="left" background="images/bg_table_col.gif" class="body_col">Approval</td>
468
			<td width="60%" nowrap align="left" background="images/bg_table_col.gif" class="body_col">Comments</td>
469
          </tr>
469
			<td width="60%" nowrap align="left" background="images/bg_table_col.gif" class="body_col">Approval</td>
470
		  <%
470
          </tr>
471
		  Call GetProductList ( dbPARbom_id, objFormCollector.Item("compare_bom_id"), aProductList, "Less" )
471
		  <%
472
		  
472
		  Call GetProductList ( dbPARbom_id, objFormCollector.Item("compare_bom_id"), aProductList, "Less" )
473
		  If NOT IsNull( aProductList ) Then
473
		  
474
		  	numOfRows = UBound( aProductList, 2 )
474
		  If NOT IsNull( aProductList ) Then
475
			
475
		  	numOfRows = UBound( aProductList, 2 )
476
			For rowNum = 0 To numOfRows
476
			
477
				
477
			For rowNum = 0 To numOfRows
478
				ProdId = aProductList( 0, rowNum )
478
				
479
				ChangeType = aProductList( 3, rowNum )
479
				ProdId = aProductList( 0, rowNum )
480
				PkgVersion = aProductList( 2, rowNum )
480
				ChangeType = aProductList( 3, rowNum )
481
				PkgId = aProductList( 6, rowNum )
481
				PkgVersion = aProductList( 2, rowNum )
482
			If	ChangeType	=	"A"	or	ChangeType	=	"U"	Then	
482
				PkgId = aProductList( 6, rowNum )
483
			
483
			If	ChangeType	=	"A"	or	ChangeType	=	"U"	Then	
484
			
484
			
485
				OraDatabase.Parameters.Add "PRODUCTION_BOM", dbPARbom_id, ORAPARM_INPUT, ORATYPE_NUMBER
485
			
486
				OraDatabase.Parameters.Add "PKG_ID", PkgId, ORAPARM_INPUT, ORATYPE_NUMBER
486
				OraDatabase.Parameters.Add "PRODUCTION_BOM", dbPARbom_id, ORAPARM_INPUT, ORATYPE_NUMBER
487
			
487
				OraDatabase.Parameters.Add "PKG_ID", PkgId, ORAPARM_INPUT, ORATYPE_NUMBER
488
				Set rsQry = OraDatabase.DbCreateDynaset(GetQuery("ProdVersion.sql"), ORADYN_DEFAULT)
488
			
489
				
489
				Set rsQry = OraDatabase.DbCreateDynaset(GetQuery("ProdVersion.sql"), ORADYN_DEFAULT)
490
				OldProdId = rsQry("prod_id")
490
				
491
				CurrentPkgVersion = rsQry("pkg_version")
491
				OldProdId = rsQry("prod_id")
492
				Comments = rsQry("comments")
492
				CurrentPkgVersion = rsQry("pkg_version")
493
				
493
				Comments = rsQry("comments")
494
				OraDatabase.Parameters.Remove "PRODUCTION_BOM"
494
				
495
				OraDatabase.Parameters.Remove "PKG_ID"	
495
				OraDatabase.Parameters.Remove "PRODUCTION_BOM"
496
				IsDisplay = True
496
				OraDatabase.Parameters.Remove "PKG_ID"	
497
				
497
				IsDisplay = True
498
				Dim MajorA, MajorB, MinorA, MinorB, PatchA, PatchB, pos
498
				
499
						MajorA = NULL
499
				Dim MajorA, MajorB, MinorA, MinorB, PatchA, PatchB, pos
500
						MajorB = NULL
500
						MajorA = NULL
501
						MinorA = NULL
501
						MajorB = NULL
502
						MinorB = NULL
502
						MinorA = NULL
503
						PatchA = NULL
503
						MinorB = NULL
504
						PatchB = NULL
504
						PatchA = NULL
505
						
505
						PatchB = NULL
506
				' Find the first occurence of the dot in package version A
506
						
507
						pos = InStr(PkgVersion, ".")
507
				' Find the first occurence of the dot in package version A
508
						If pos <> 0 Then
508
						pos = InStr(PkgVersion, ".")
509
							' Extract the Major Version for A
509
						If pos <> 0 Then
510
							MajorA = Mid(PkgVersion, 1, pos - 1)
510
							' Extract the Major Version for A
511
							' Delete the Major Version Value from the string to get the minor and patch version
511
							MajorA = Mid(PkgVersion, 1, pos - 1)
512
							PkgVersion = Mid(PkgVersion, pos + 1, Len(PkgVersion))
512
							' Delete the Major Version Value from the string to get the minor and patch version
513
							' Find the second occurence of the dot in package version A
513
							PkgVersion = Mid(PkgVersion, pos + 1, Len(PkgVersion))
514
							pos = InStr(PkgVersion, ".")
514
							' Find the second occurence of the dot in package version A
515
							' Extract the Minor Version for A
515
							pos = InStr(PkgVersion, ".")
516
							If pos <> 0 Then
516
							' Extract the Minor Version for A
517
								MinorA = Mid(PkgVersion, 1, pos - 1)
517
							If pos <> 0 Then
518
								' Delete the Minor Version value from the string to get the patch version
518
								MinorA = Mid(PkgVersion, 1, pos - 1)
519
								PkgVersion = Mid(PkgVersion, pos + 1, Len(PkgVersion))
519
								' Delete the Minor Version value from the string to get the patch version
520
								' Find the last occurence of the dot in package version A
520
								PkgVersion = Mid(PkgVersion, pos + 1, Len(PkgVersion))
521
								pos = InStr(PkgVersion, ".")
521
								' Find the last occurence of the dot in package version A
522
								If pos <> 0 Then
522
								pos = InStr(PkgVersion, ".")
523
									' Extract the Patch Version for A
523
								If pos <> 0 Then
524
									PatchA = Mid(PkgVersion, 1, pos - 1)
524
									' Extract the Patch Version for A
525
								End If	
525
									PatchA = Mid(PkgVersion, 1, pos - 1)
526
							End If	
526
								End If	
527
						End If	
527
							End If	
528
									
528
						End If	
529
						' Find the first occurence of the dot in package version B
529
									
530
						pos = InStr(CurrentPkgVersion, ".")
530
						' Find the first occurence of the dot in package version B
531
						If pos <> 0 Then
531
						pos = InStr(CurrentPkgVersion, ".")
532
							' Extract the Major Version for B
532
						If pos <> 0 Then
533
							MajorB = Mid(CurrentPkgVersion, 1, pos - 1)
533
							' Extract the Major Version for B
534
							' Delete the Major Version Value from the string to get the minor and patch version
534
							MajorB = Mid(CurrentPkgVersion, 1, pos - 1)
535
							CurrentPkgVersion = Mid(CurrentPkgVersion, pos + 1, Len(CurrentPkgVersion))
535
							' Delete the Major Version Value from the string to get the minor and patch version
536
							' Find the second occurence of the dot in package version B
536
							CurrentPkgVersion = Mid(CurrentPkgVersion, pos + 1, Len(CurrentPkgVersion))
537
							pos = InStr(CurrentPkgVersion, ".")
537
							' Find the second occurence of the dot in package version B
538
							' Extract the Minor Version for B
538
							pos = InStr(CurrentPkgVersion, ".")
539
							If pos <> 0 Then
539
							' Extract the Minor Version for B
540
								MinorB = Mid(CurrentPkgVersion, 1, pos - 1)
540
							If pos <> 0 Then
541
								' Delete the Minor Version value from the string to get the patch version
541
								MinorB = Mid(CurrentPkgVersion, 1, pos - 1)
542
								CurrentPkgVersion = Mid(CurrentPkgVersion, pos + 1, Len(CurrentPkgVersion))
542
								' Delete the Minor Version value from the string to get the patch version
543
								' Find the last occurence of the dot in package version B
543
								CurrentPkgVersion = Mid(CurrentPkgVersion, pos + 1, Len(CurrentPkgVersion))
544
								pos = InStr(CurrentPkgVersion, ".")
544
								' Find the last occurence of the dot in package version B
545
									If pos <> 0 Then
545
								pos = InStr(CurrentPkgVersion, ".")
546
									' Extract the Patch Version for B
546
									If pos <> 0 Then
547
									PatchB = Mid(CurrentPkgVersion, 1, pos - 1)
547
									' Extract the Patch Version for B
548
								End If
548
									PatchB = Mid(CurrentPkgVersion, 1, pos - 1)
549
							End If
549
								End If
550
						End If
550
							End If
551
						
551
						End If
552
						If NOT isNull(PatchA) AND NOT isNull(PatchB) Then
552
						
553
							If len(PatchA) < 4 Then PatchA = AddTrailingZeros(PatchA, 4)
553
						If NOT isNull(PatchA) AND NOT isNull(PatchB) Then
554
							If len(PatchB) < 4 Then PatchB = AddTrailingZeros(PatchB, 4)
554
							If len(PatchA) < 4 Then PatchA = AddTrailingZeros(PatchA, 4)
555
						End If 
555
							If len(PatchB) < 4 Then PatchB = AddTrailingZeros(PatchB, 4)
556
						
556
						End If 
557
						If MajorA = MajorB Then
557
						
558
							If MinorA = MinorB Then
558
						If MajorA = MajorB Then
559
								If IsNumeric(PatchA) AND IsNumeric(PatchB) Then
559
							If MinorA = MinorB Then
560
									
560
								If IsNumeric(PatchA) AND IsNumeric(PatchB) Then
561
									If CDbl(PatchB) > CDbl(PatchA) Then
561
									
562
										IsDisplay = False
562
									If CDbl(PatchB) > CDbl(PatchA) Then
563
									Else										
563
										IsDisplay = False
564
										IsDisplay = True
564
									Else										
565
									End If
565
										IsDisplay = True
566
								End If
566
									End If
567
							Else
567
								End If
568
								If IsNumeric(MinorA) AND IsNumeric(MinorB) Then
568
							Else
569
									If CInt(MinorB) > CInt(MinorA) Then
569
								If IsNumeric(MinorA) AND IsNumeric(MinorB) Then
570
										IsDisplay = False
570
									If CInt(MinorB) > CInt(MinorA) Then
571
									Else
571
										IsDisplay = False
572
										IsDisplay = True								
572
									Else
573
									End If									
573
										IsDisplay = True								
574
								End If
574
									End If									
575
							End If
575
								End If
576
						Else
576
							End If
577
							If IsNumeric(MajorA) AND IsNumeric(MajorB) Then
577
						Else
578
								If 	CInt(MajorB) > CInt(MajorA) Then
578
							If IsNumeric(MajorA) AND IsNumeric(MajorB) Then
579
									IsDisplay = False
579
								If 	CInt(MajorB) > CInt(MajorA) Then
580
								Else
580
									IsDisplay = False
581
									IsDisplay = True
581
								Else
582
								End If	
582
									IsDisplay = True
583
							End If
583
								End If	
584
						End If		
584
							End If
585
				
585
						End If		
586
			If IsDisplay Then							
586
				
587
		  %>
587
			If IsDisplay Then							
588
		  <tr>
588
		  %>
589
            <td nowrap valign="top" class="menu_link">
589
		  <tr>
590
			<%
590
            <td nowrap valign="top" class="menu_link">
591
 
591
			<%
592
			Set rsTemp = OraDatabase.DbCreateDynaset("SELECT * FROM PACKAGE_VERSIONS PV, PRODUCT_DETAILS PD WHERE PD.PROD_ID(+) = PV.PV_ID AND PV.PV_ID ="&ProdId, ORADYN_DEFAULT )
592
 
593
			%>
593
			Set rsTemp = OraDatabase.DbCreateDynaset("SELECT * FROM PACKAGE_VERSIONS PV, PRODUCT_DETAILS PD WHERE PD.PROD_ID(+) = PV.PV_ID AND PV.PV_ID ="&ProdId, ORADYN_DEFAULT )
594
			<%=GetProductIcon( rsTemp ) &  aProductList( 1, rowNum )%>
594
			%>
595
			<%
595
			<%=GetProductIcon( rsTemp ) &  aProductList( 1, rowNum )%>
596
			rsTemp.Close()
596
			<%
597
			Set rsTemp = nothing
597
			rsTemp.Close()
598
			%>
598
			Set rsTemp = nothing
599
			</td>
599
			%>
600
            <td nowrap class="body_row" valign="top"><%=aProductList( 2, rowNum )%></td>
600
			</td>
601
			<td class="body_rowlite"><%=Comments%></td>
601
            <td nowrap class="body_row" valign="top"><%=aProductList( 2, rowNum )%></td>
602
<%
602
			<td class="body_rowlite"><%=Comments%></td>
603
			Dim rsForm
603
<%
604
			Set rsForm = OraDatabase.DbCreateDynaset("SELECT * FROM RELEASE_AUTHORISATION WHERE PV_ID="&ProdId&" AND BOM_ID="&Request("bom_id"), ORADYN_DEFAULT)
604
			Dim rsForm
605
			
605
			Set rsForm = OraDatabase.DbCreateDynaset("SELECT * FROM RELEASE_AUTHORISATION WHERE PV_ID="&ProdId&" AND BOM_ID="&Request("bom_id"), ORADYN_DEFAULT)
606
			%>
606
			
607
			<%If rsForm.RecordCount = 0 Then%>
607
			%>
608
	
608
			<%If rsForm.RecordCount = 0 Then%>
609
					<td class="body_txtr">Awaiting Approval</td>
609
	
610
	
610
					<td class="body_txtr">Awaiting Approval</td>
611
			<%ElseIf IsNull(rsForm("is_official")) Then%>
611
	
612
	
612
			<%ElseIf IsNull(rsForm("is_official")) Then%>
613
				<%If NOT IsNull(rsForm("tester_id"))Then%>
613
	
614
					<td class="body_txto">Tester Approved</td>
614
				<%If NOT IsNull(rsForm("tester_id"))Then%>
615
				<%End If%>
615
					<td class="body_txto">Tester Approved</td>
616
			<%Else%>
616
				<%End If%>
617
				<td class="body_txtg">Approved</td>
617
			<%Else%>
618
			<%End If
618
				<td class="body_txtg">Approved</td>
619
 
619
			<%End If
620
			rsForm.Close()
620
 
621
			Set rsForm = nothing
621
			rsForm.Close()
622
			%>			
622
			Set rsForm = nothing
623
          </tr>
623
			%>			
624
		
624
          </tr>
625
		  <tr>
625
		
626
			  	<td><img src="images/spacer.gif" width="1" height="1"></td>
626
		  <tr>
627
	            <td nowrap valign="top" class="body_row" colspan="3">
627
			  	<td><img src="images/spacer.gif" width="1" height="1"></td>
628
				<DIV id="PRODUCT_<%=ProdId & ChangeType%>" name="PRODUCT_<%=ProdId & ChangeType%>" style="display:none;"><%=enumLOADING%></DIV>
628
	            <td nowrap valign="top" class="body_row" colspan="3">
629
				</td>
629
				<DIV id="PRODUCT_<%=ProdId & ChangeType%>" name="PRODUCT_<%=ProdId & ChangeType%>" style="display:none;"><%=enumLOADING%></DIV>
630
	          </tr>
630
				</td>
631
		  		  
631
	          </tr>
632
		  <%If rowNum <> numOfRows Then%>
632
		  		  
633
		  <tr>
633
		  <%If rowNum <> numOfRows Then%>
634
            <td colspan="4" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td>
634
		  <tr>
635
          </tr>
635
            <td colspan="4" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td>
636
		  <%End If%>
636
          </tr>
637
		   
637
		  <%End If%>
638
		  <%End If%>
638
		   
639
		  <%
639
		  <%End If%>
640
			rsQry.Close()
640
		  <%
641
			Set rsQry = Nothing
641
			rsQry.Close()
642
			End If
642
			Set rsQry = Nothing
643
		  
643
			End If
644
		  	Next
644
		  
645
		  Else%>
645
		  	Next
646
		  
646
		  Else%>
647
		  <tr>
647
		  
648
            <td colspan="4" class="body_txt">No Changes Found.</td>
648
		  <tr>
649
          </tr>
649
            <td colspan="4" class="body_txt">No Changes Found.</td>
650
		  
650
          </tr>
651
		  <%End If%>
651
		  
652
		  </table>
652
		  <%End If%>
653
		  <br>
653
		  </table>
654
		  <br>
654
		  <br>
655
		 </SPAN>
655
		  <br>
656
		  
656
		 </SPAN>
657
		<SPAN class="body_txtr"><b>Products/Patches Existing in <%= GetCompareBomDetails( objFormCollector.Item("compare_bom_id") ) %> And Production BOM</b></SPAN><br>		  
657
		  
658
		<SPAN id="spanShowDetails2" name="spanShowDetails" class="body_rowlite"><a href="javascript:;" class="body_rowlite" onClick="DisplaySPAN(true,'2');"><b>Display...</b></a><br><br></SPAN>
658
		<SPAN class="body_txtr"><b>Products/Patches Existing in <%= GetCompareBomDetails( objFormCollector.Item("compare_bom_id") ) %> And Production BOM</b></SPAN><br>		  
659
		<SPAN id="spanHideDetails2" name="spanHideDetails" style="display:none;"><a href="javascript:;" class="body_rowlite" onClick="DisplaySPAN(false,'2');"><b>Hide...</b></a><br><br></SPAN>  
659
		<SPAN id="spanShowDetails2" name="spanShowDetails" class="body_rowlite"><a href="javascript:;" class="body_rowlite" onClick="DisplaySPAN(true,'2');"><b>Display...</b></a><br><br></SPAN>
660
 
660
		<SPAN id="spanHideDetails2" name="spanHideDetails" style="display:none;"><a href="javascript:;" class="body_rowlite" onClick="DisplaySPAN(false,'2');"><b>Hide...</b></a><br><br></SPAN>  
661
		<SPAN id="spanPkgInfo2" name="spanPkgInfo" style="display:none;">
661
 
662
 
662
		<SPAN id="spanPkgInfo2" name="spanPkgInfo" style="display:none;">
663
		<table width="100%"  border="0" cellspacing="2" cellpadding="0">
663
 
664
 
664
		<table width="100%"  border="0" cellspacing="2" cellpadding="0">
665
          <tr>
665
 
666
 
666
          <tr>
667
		  	<td width="20%" background="images/bg_table_border.gif"><table width="100%"  border="0" cellspacing="1" cellpadding="2">
667
 
668
              <tr>
668
		  	<td width="20%" background="images/bg_table_border.gif"><table width="100%"  border="0" cellspacing="1" cellpadding="2">
669
                <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">Product</td>
669
              <tr>
670
              </tr>
670
                <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">Product</td>
671
            </table></td>
671
              </tr>
672
			<td width="20%" nowrap align="left" background="images/bg_table_col.gif" class="body_col">Version</td>
672
            </table></td>
673
			<td width="60%" nowrap align="left" background="images/bg_table_col.gif" class="body_col"></td>
673
			<td width="20%" nowrap align="left" background="images/bg_table_col.gif" class="body_col">Version</td>
674
          </tr>
674
			<td width="60%" nowrap align="left" background="images/bg_table_col.gif" class="body_col"></td>
675
		  <%
675
          </tr>
676
		  Call GetProductList ( dbPARbom_id, objFormCollector.Item("compare_bom_id"), aProductList, "Equal" )
676
		  <%
677
		  
677
		  Call GetProductList ( dbPARbom_id, objFormCollector.Item("compare_bom_id"), aProductList, "Equal" )
678
		  If NOT IsNull( aProductList ) Then'2
678
		  
679
		  	numOfRows = UBound( aProductList, 2 )
679
		  If NOT IsNull( aProductList ) Then'2
680
			
680
		  	numOfRows = UBound( aProductList, 2 )
681
			For rowNum = 0 To numOfRows
681
			
682
				
682
			For rowNum = 0 To numOfRows
683
				ProdId = aProductList( 0, rowNum )
683
				
684
 
684
				ProdId = aProductList( 0, rowNum )
685
				PkgVersion = aProductList( 1, rowNum )
685
 
686
				PkgId = aProductList( 2, rowNum )
686
				PkgVersion = aProductList( 1, rowNum )
687
									
687
				PkgId = aProductList( 2, rowNum )
688
		  %>
688
									
689
		  <tr>
689
		  %>
690
            <td nowrap valign="top" class="menu_link">
690
		  <tr>
691
			<%
691
            <td nowrap valign="top" class="menu_link">
692
			
692
			<%
693
			Set rsTemp = OraDatabase.DbCreateDynaset("SELECT * FROM PACKAGE_VERSIONS PV, PRODUCT_DETAILS PD WHERE PD.PROD_ID(+) = PV.PV_ID AND PV.PV_ID ="&ProdId, ORADYN_DEFAULT )
693
			
694
			%>
694
			Set rsTemp = OraDatabase.DbCreateDynaset("SELECT * FROM PACKAGE_VERSIONS PV, PRODUCT_DETAILS PD WHERE PD.PROD_ID(+) = PV.PV_ID AND PV.PV_ID ="&ProdId, ORADYN_DEFAULT )
695
			<%=GetProductIcon( rsTemp ) &  aProductList( 3, rowNum )%>
695
			%>
696
			<%
696
			<%=GetProductIcon( rsTemp ) &  aProductList( 3, rowNum )%>
697
			rsTemp.Close()
697
			<%
698
			Set rsTemp = nothing
698
			rsTemp.Close()
699
			%>
699
			Set rsTemp = nothing
700
			</td>
700
			%>
701
            <td nowrap class="body_row" valign="top"><%=aProductList( 1, rowNum )%></td>
701
			</td>
702
			<td class="body_rowlite"></td>
702
            <td nowrap class="body_row" valign="top"><%=aProductList( 1, rowNum )%></td>
703
          </tr>
703
			<td class="body_rowlite"></td>
704
		
704
          </tr>
705
		  <tr>
705
		
706
			  	<td><img src="images/spacer.gif" width="1" height="1"></td>
706
		  <tr>
707
	            <td nowrap valign="top" class="body_row" colspan="3">
707
			  	<td><img src="images/spacer.gif" width="1" height="1"></td>
708
				<DIV id="PRODUCT_<%=ProdId & ChangeType%>" name="PRODUCT_<%=ProdId & ChangeType%>" style="display:none;"><%=enumLOADING%></DIV>
708
	            <td nowrap valign="top" class="body_row" colspan="3">
709
				</td>
709
				<DIV id="PRODUCT_<%=ProdId & ChangeType%>" name="PRODUCT_<%=ProdId & ChangeType%>" style="display:none;"><%=enumLOADING%></DIV>
710
	          </tr>
710
				</td>
711
		  		  
711
	          </tr>
712
		  <%If rowNum <> numOfRows Then'1%>
712
		  		  
713
		  <tr>
713
		  <%If rowNum <> numOfRows Then'1%>
714
            <td colspan="4" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td>
714
		  <tr>
715
          </tr>
715
            <td colspan="4" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td>
716
		  <%End If'1%>
716
          </tr>
717
		   
717
		  <%End If'1%>
718
		
718
		   
719
		  <%
719
		
720
 
720
		  <%
721
		
721
 
722
		  
722
		
723
		  	Next
723
		  
724
		  Else%>
724
		  	Next
725
		  
725
		  Else%>
726
		  <tr>
726
		  
727
            <td colspan="4" class="body_txt">No Changes Found.</td>
727
		  <tr>
728
          </tr>
728
            <td colspan="4" class="body_txt">No Changes Found.</td>
729
		  
729
          </tr>
730
		  <%End If'2%>
730
		  
731
		</table>
731
		  <%End If'2%>
732
		<br>
732
		</table>
733
		<br>
733
		<br>
734
		</SPAN>
734
		<br>
735
		
735
		</SPAN>
736
		<SPAN class="body_txtr"><b>Products/Patches Existing in <%= GetCompareBomDetails( objFormCollector.Item("compare_bom_id") ) %> but Superceeded in Production BOM</b></SPAN><br>		  
736
		
737
		<SPAN id="spanShowDetails3" name="spanShowDetails" class="body_rowlite"><a href="javascript:;" class="body_rowlite" onClick="DisplaySPAN(true,'3');"><b>Display...</b></a><br><br></SPAN>
737
		<SPAN class="body_txtr"><b>Products/Patches Existing in <%= GetCompareBomDetails( objFormCollector.Item("compare_bom_id") ) %> but Superceeded in Production BOM</b></SPAN><br>		  
738
		<SPAN id="spanHideDetails3" name="spanHideDetails" style="display:none;"><a href="javascript:;" class="body_rowlite" onClick="DisplaySPAN(false,'3');"><b>Hide...</b></a><br><br></SPAN>  
738
		<SPAN id="spanShowDetails3" name="spanShowDetails" class="body_rowlite"><a href="javascript:;" class="body_rowlite" onClick="DisplaySPAN(true,'3');"><b>Display...</b></a><br><br></SPAN>
739
 
739
		<SPAN id="spanHideDetails3" name="spanHideDetails" style="display:none;"><a href="javascript:;" class="body_rowlite" onClick="DisplaySPAN(false,'3');"><b>Hide...</b></a><br><br></SPAN>  
740
		<SPAN id="spanPkgInfo3" name="spanPkgInfo" style="display:none;">	 
740
 
741
		
741
		<SPAN id="spanPkgInfo3" name="spanPkgInfo" style="display:none;">	 
742
		<table width="100%"  border="0" cellspacing="2" cellpadding="0">
742
		
743
	
743
		<table width="100%"  border="0" cellspacing="2" cellpadding="0">
744
		
744
	
745
          <tr>
745
		
746
 
746
          <tr>
747
		  	<td width="20%" background="images/bg_table_border.gif"><table width="100%"  border="0" cellspacing="1" cellpadding="2">
747
 
748
              <tr>
748
		  	<td width="20%" background="images/bg_table_border.gif"><table width="100%"  border="0" cellspacing="1" cellpadding="2">
749
                <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">Product</td>
749
              <tr>
750
              </tr>
750
                <td align="left" nowrap background="images/bg_table_col.gif" class="body_col">Product</td>
751
            </table></td>
751
              </tr>
752
			<td width="20%" nowrap align="left" background="images/bg_table_col.gif" class="body_col">Version</td>
752
            </table></td>
753
			<td width="60%" nowrap align="left" background="images/bg_table_col.gif" class="body_col"></td>
753
			<td width="20%" nowrap align="left" background="images/bg_table_col.gif" class="body_col">Version</td>
754
          </tr>
754
			<td width="60%" nowrap align="left" background="images/bg_table_col.gif" class="body_col"></td>
755
		  <%
755
          </tr>
756
		  Call GetProductList ( dbPARbom_id, objFormCollector.Item("compare_bom_id"), aProductList, "Less" )
756
		  <%
757
		  
757
		  Call GetProductList ( dbPARbom_id, objFormCollector.Item("compare_bom_id"), aProductList, "Less" )
758
		  If NOT IsNull( aProductList ) Then
758
		  
759
		  	numOfRows = UBound( aProductList, 2 )
759
		  If NOT IsNull( aProductList ) Then
760
			
760
		  	numOfRows = UBound( aProductList, 2 )
761
			For rowNum = 0 To numOfRows
761
			
762
				
762
			For rowNum = 0 To numOfRows
763
				ProdId = aProductList( 0, rowNum )
763
				
764
				ChangeType = aProductList( 3, rowNum )
764
				ProdId = aProductList( 0, rowNum )
765
				PkgVersion = aProductList( 2, rowNum )
765
				ChangeType = aProductList( 3, rowNum )
766
				PkgId = aProductList( 6, rowNum )
766
				PkgVersion = aProductList( 2, rowNum )
767
			If	ChangeType	=	"A"	or	ChangeType	=	"U"	Then	
767
				PkgId = aProductList( 6, rowNum )
768
			
768
			If	ChangeType	=	"A"	or	ChangeType	=	"U"	Then	
769
			
769
			
770
			
770
			
771
				OraDatabase.Parameters.Add "PRODUCTION_BOM", dbPARbom_id, ORAPARM_INPUT, ORATYPE_NUMBER
771
			
772
				OraDatabase.Parameters.Add "PKG_ID", PkgId, ORAPARM_INPUT, ORATYPE_NUMBER
772
				OraDatabase.Parameters.Add "PRODUCTION_BOM", dbPARbom_id, ORAPARM_INPUT, ORATYPE_NUMBER
773
			
773
				OraDatabase.Parameters.Add "PKG_ID", PkgId, ORAPARM_INPUT, ORATYPE_NUMBER
774
				Set rsQry = OraDatabase.DbCreateDynaset(GetQuery("ProdVersion.sql"), ORADYN_DEFAULT)
774
			
775
				
775
				Set rsQry = OraDatabase.DbCreateDynaset(GetQuery("ProdVersion.sql"), ORADYN_DEFAULT)
776
				OldProdId = rsQry("prod_id")
776
				
777
				CurrentPkgVersion = rsQry("pkg_version")
777
				OldProdId = rsQry("prod_id")
778
				Comments = rsQry("comments")
778
				CurrentPkgVersion = rsQry("pkg_version")
779
				
779
				Comments = rsQry("comments")
780
				OraDatabase.Parameters.Remove "PRODUCTION_BOM"
780
				
781
				OraDatabase.Parameters.Remove "PKG_ID"	
781
				OraDatabase.Parameters.Remove "PRODUCTION_BOM"
782
				IsDisplay = True
782
				OraDatabase.Parameters.Remove "PKG_ID"	
783
				
783
				IsDisplay = True
784
						MajorA = NULL
784
				
785
						MajorB = NULL
785
						MajorA = NULL
786
						MinorA = NULL
786
						MajorB = NULL
787
						MinorB = NULL
787
						MinorA = NULL
788
						PatchA = NULL
788
						MinorB = NULL
789
						PatchB = NULL
789
						PatchA = NULL
790
						
790
						PatchB = NULL
791
				' Find the first occurence of the dot in package version A
791
						
792
						pos = InStr(PkgVersion, ".")
792
				' Find the first occurence of the dot in package version A
793
						If pos <> 0 Then
793
						pos = InStr(PkgVersion, ".")
794
							' Extract the Major Version for A
794
						If pos <> 0 Then
795
							MajorA = Mid(PkgVersion, 1, pos - 1)
795
							' Extract the Major Version for A
796
							' Delete the Major Version Value from the string to get the minor and patch version
796
							MajorA = Mid(PkgVersion, 1, pos - 1)
797
							PkgVersion = Mid(PkgVersion, pos + 1, Len(PkgVersion))
797
							' Delete the Major Version Value from the string to get the minor and patch version
798
							' Find the second occurence of the dot in package version A
798
							PkgVersion = Mid(PkgVersion, pos + 1, Len(PkgVersion))
799
							pos = InStr(PkgVersion, ".")
799
							' Find the second occurence of the dot in package version A
800
							' Extract the Minor Version for A
800
							pos = InStr(PkgVersion, ".")
801
							If pos <> 0 Then
801
							' Extract the Minor Version for A
802
								MinorA = Mid(PkgVersion, 1, pos - 1)
802
							If pos <> 0 Then
803
								' Delete the Minor Version value from the string to get the patch version
803
								MinorA = Mid(PkgVersion, 1, pos - 1)
804
								PkgVersion = Mid(PkgVersion, pos + 1, Len(PkgVersion))
804
								' Delete the Minor Version value from the string to get the patch version
805
								' Find the last occurence of the dot in package version A
805
								PkgVersion = Mid(PkgVersion, pos + 1, Len(PkgVersion))
806
								pos = InStr(PkgVersion, ".")
806
								' Find the last occurence of the dot in package version A
807
								If pos <> 0 Then
807
								pos = InStr(PkgVersion, ".")
808
									' Extract the Patch Version for A
808
								If pos <> 0 Then
809
									PatchA = Mid(PkgVersion, 1, pos - 1)
809
									' Extract the Patch Version for A
810
								End If	
810
									PatchA = Mid(PkgVersion, 1, pos - 1)
811
							End If	
811
								End If	
812
						End If	
812
							End If	
813
									
813
						End If	
814
						' Find the first occurence of the dot in package version B
814
									
815
						pos = InStr(CurrentPkgVersion, ".")
815
						' Find the first occurence of the dot in package version B
816
						If pos <> 0 Then
816
						pos = InStr(CurrentPkgVersion, ".")
817
							' Extract the Major Version for B
817
						If pos <> 0 Then
818
							MajorB = Mid(CurrentPkgVersion, 1, pos - 1)
818
							' Extract the Major Version for B
819
							' Delete the Major Version Value from the string to get the minor and patch version
819
							MajorB = Mid(CurrentPkgVersion, 1, pos - 1)
820
							CurrentPkgVersion = Mid(CurrentPkgVersion, pos + 1, Len(CurrentPkgVersion))
820
							' Delete the Major Version Value from the string to get the minor and patch version
821
							' Find the second occurence of the dot in package version B
821
							CurrentPkgVersion = Mid(CurrentPkgVersion, pos + 1, Len(CurrentPkgVersion))
822
							pos = InStr(CurrentPkgVersion, ".")
822
							' Find the second occurence of the dot in package version B
823
							' Extract the Minor Version for B
823
							pos = InStr(CurrentPkgVersion, ".")
824
							If pos <> 0 Then
824
							' Extract the Minor Version for B
825
								MinorB = Mid(CurrentPkgVersion, 1, pos - 1)
825
							If pos <> 0 Then
826
								' Delete the Minor Version value from the string to get the patch version
826
								MinorB = Mid(CurrentPkgVersion, 1, pos - 1)
827
								CurrentPkgVersion = Mid(CurrentPkgVersion, pos + 1, Len(CurrentPkgVersion))
827
								' Delete the Minor Version value from the string to get the patch version
828
								' Find the last occurence of the dot in package version B
828
								CurrentPkgVersion = Mid(CurrentPkgVersion, pos + 1, Len(CurrentPkgVersion))
829
								pos = InStr(CurrentPkgVersion, ".")
829
								' Find the last occurence of the dot in package version B
830
									If pos <> 0 Then
830
								pos = InStr(CurrentPkgVersion, ".")
831
									' Extract the Patch Version for B
831
									If pos <> 0 Then
832
									PatchB = Mid(CurrentPkgVersion, 1, pos - 1)
832
									' Extract the Patch Version for B
833
								End If
833
									PatchB = Mid(CurrentPkgVersion, 1, pos - 1)
834
							End If
834
								End If
835
						End If
835
							End If
836
						
836
						End If
837
						If NOT isNull(PatchA) AND NOT isNull(PatchB) Then
837
						
838
							If len(PatchA) < 4 Then PatchA = AddTrailingZeros(PatchA, 4)
838
						If NOT isNull(PatchA) AND NOT isNull(PatchB) Then
839
							If len(PatchB) < 4 Then PatchB = AddTrailingZeros(PatchB, 4)
839
							If len(PatchA) < 4 Then PatchA = AddTrailingZeros(PatchA, 4)
840
						End If 
840
							If len(PatchB) < 4 Then PatchB = AddTrailingZeros(PatchB, 4)
841
						
841
						End If 
842
						If MajorA = MajorB Then
842
						
843
							If MinorA = MinorB Then
843
						If MajorA = MajorB Then
844
								If IsNumeric(PatchA) AND IsNumeric(PatchB) Then
844
							If MinorA = MinorB Then
845
									
845
								If IsNumeric(PatchA) AND IsNumeric(PatchB) Then
846
									If CDbl(PatchB) > CDbl(PatchA) Then
846
									
847
										IsDisplay = False
847
									If CDbl(PatchB) > CDbl(PatchA) Then
848
									Else										
848
										IsDisplay = False
849
										IsDisplay = True
849
									Else										
850
									End If
850
										IsDisplay = True
851
								End If
851
									End If
852
							Else
852
								End If
853
								If IsNumeric(MinorA) AND IsNumeric(MinorB) Then
853
							Else
854
									If CInt(MinorB) > CInt(MinorA) Then
854
								If IsNumeric(MinorA) AND IsNumeric(MinorB) Then
855
										IsDisplay = False
855
									If CInt(MinorB) > CInt(MinorA) Then
856
									Else
856
										IsDisplay = False
857
										IsDisplay = True								
857
									Else
858
									End If									
858
										IsDisplay = True								
859
								End If
859
									End If									
860
							End If
860
								End If
861
						Else
861
							End If
862
							If IsNumeric(MajorA) AND IsNumeric(MajorB) Then
862
						Else
863
								If 	CInt(MajorB) > CInt(MajorA) Then
863
							If IsNumeric(MajorA) AND IsNumeric(MajorB) Then
864
									IsDisplay = False
864
								If 	CInt(MajorB) > CInt(MajorA) Then
865
								Else
865
									IsDisplay = False
866
									IsDisplay = True
866
								Else
867
								End If	
867
									IsDisplay = True
868
							End If
868
								End If	
869
						End If		
869
							End If
870
			
870
						End If		
871
		If NOT IsDisplay Then								
871
			
872
		  %>
872
		If NOT IsDisplay Then								
873
		  <tr>
873
		  %>
874
            <td nowrap valign="top" class="menu_link">
874
		  <tr>
875
			<%
875
            <td nowrap valign="top" class="menu_link">
876
			
876
			<%
877
			Set rsTemp = OraDatabase.DbCreateDynaset("SELECT * FROM PACKAGE_VERSIONS PV, PRODUCT_DETAILS PD WHERE PD.PROD_ID(+) = PV.PV_ID AND PV.PV_ID ="&ProdId, ORADYN_DEFAULT )
877
			
878
			%>
878
			Set rsTemp = OraDatabase.DbCreateDynaset("SELECT * FROM PACKAGE_VERSIONS PV, PRODUCT_DETAILS PD WHERE PD.PROD_ID(+) = PV.PV_ID AND PV.PV_ID ="&ProdId, ORADYN_DEFAULT )
879
			<%=GetProductIcon( rsTemp ) &  aProductList( 1, rowNum )%>
879
			%>
880
			<%
880
			<%=GetProductIcon( rsTemp ) &  aProductList( 1, rowNum )%>
881
			rsTemp.Close()
881
			<%
882
			Set rsTemp = nothing
882
			rsTemp.Close()
883
			%>
883
			Set rsTemp = nothing
884
			</td>
884
			%>
885
            <td nowrap class="body_row" valign="top"><%=aProductList( 2, rowNum )%></td>
885
			</td>
886
			<td class="body_rowlite"><%=Comments%></td>
886
            <td nowrap class="body_row" valign="top"><%=aProductList( 2, rowNum )%></td>
887
          </tr>
887
			<td class="body_rowlite"><%=Comments%></td>
888
		
888
          </tr>
889
		  <tr>
889
		
890
			  	<td><img src="images/spacer.gif" width="1" height="1"></td>
890
		  <tr>
891
	            <td nowrap valign="top" class="body_row" colspan="3">
891
			  	<td><img src="images/spacer.gif" width="1" height="1"></td>
892
				<DIV id="PRODUCT_<%=ProdId & ChangeType%>" name="PRODUCT_<%=ProdId & ChangeType%>" style="display:none;"><%=enumLOADING%></DIV>
892
	            <td nowrap valign="top" class="body_row" colspan="3">
893
				</td>
893
				<DIV id="PRODUCT_<%=ProdId & ChangeType%>" name="PRODUCT_<%=ProdId & ChangeType%>" style="display:none;"><%=enumLOADING%></DIV>
894
	          </tr>
894
				</td>
895
		  		  
895
	          </tr>
896
		  <%If rowNum <> numOfRows Then%>
896
		  		  
897
		  <tr>
897
		  <%If rowNum <> numOfRows Then%>
898
            <td colspan="4" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td>
898
		  <tr>
899
          </tr>
899
            <td colspan="4" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td>
900
		  <%End If%>
900
          </tr>
901
		   
901
		  <%End If%>
902
		  <%End If%>
902
		   
903
		  <%
903
		  <%End If%>
904
			rsQry.Close()
904
		  <%
905
			Set rsQry = Nothing
905
			rsQry.Close()
906
			End If
906
			Set rsQry = Nothing
907
		  
907
			End If
908
		  	Next
908
		  
909
		  Else%>
909
		  	Next
910
		  
910
		  Else%>
911
		  <tr>
911
		  
912
            <td colspan="4" class="body_txt">No Changes Found.</td>
912
		  <tr>
913
          </tr>
913
            <td colspan="4" class="body_txt">No Changes Found.</td>
914
		  
914
          </tr>
915
		  <%End If%>
915
		  
916
		  
916
		  <%End If%>
917
		
917
		  
918
	
918
		
919
 
919
	
920
  
920
 
921
          <tr>
921
  
922
            <td colspan="4" background="images/bg_table_border.gif">
922
          <tr>
923
			 <table width="100%"  border="0" cellspacing="1" cellpadding="2">
923
            <td colspan="4" background="images/bg_table_border.gif">
924
              <tr>
924
			 <table width="100%"  border="0" cellspacing="1" cellpadding="2">
925
                <td nowrap background="images/bg_table_col.gif"><img src="images/spacer.gif" width="1" height="1"></td>
925
              <tr>
926
              </tr>
926
                <td nowrap background="images/bg_table_col.gif"><img src="images/spacer.gif" width="1" height="1"></td>
927
             </table>
927
              </tr>
928
			</td>
928
             </table>
929
          </tr>
929
			</td>
930
         </table>	
930
          </tr>
931
		 </SPAN>
931
         </table>	
932
		<%
932
		 </SPAN>
933
		Call objFormComponent.FormEnd()
933
		<%
934
		'-- FROM END ----------------------------------------------------------------------------------------------------------------
934
		Call objFormComponent.FormEnd()
935
		%>
935
		'-- FROM END ----------------------------------------------------------------------------------------------------------------
936
		
936
		%>
937
	    </td>
937
		
938
      </tr>
938
	    </td>
939
    </table></td>
939
      </tr>
940
    <td width="1%" valign="top" background="images/bg_favourits.gif">
940
    </table></td>
941
	<%If Request.Cookies( enumCOOKIE_NAME )( "user_bar" ) <> "hide" Then%>
941
    <td width="1%" valign="top" background="images/bg_favourits.gif">
942
 
942
	<%If Request.Cookies( enumCOOKIE_NAME )( "user_bar" ) <> "hide" Then%>
943
	<%End If%>
943
 
944
   </td>
944
	<%End If%>
945
  </tr>
945
   </td>
946
  <tr>
946
  </tr>
947
    <td background="images/bg_bage_0a.gif"><img src="images/spacer.gif" width="1" height="15"></td>
947
  <tr>
948
    <td background="images/bg_bage_1.gif"><img src="images/spacer.gif" width="1" height="1"></td>
948
    <td background="images/bg_bage_0a.gif"><img src="images/spacer.gif" width="1" height="15"></td>
949
    <td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="1"></td>
949
    <td background="images/bg_bage_1.gif"><img src="images/spacer.gif" width="1" height="1"></td>
950
    <td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="1"></td>
950
    <td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="1"></td>
951
  </tr>
951
    <td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="1"></td>
952
  <tr>
952
  </tr>
953
    <td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="20"></td>
953
  <tr>
954
    <td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="1"></td>
954
    <td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="20"></td>
955
    <td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="1"></td>
955
    <td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="1"></td>
956
    <td bgcolor="#FFFFFF">&nbsp;</td>
956
    <td bgcolor="#FFFFFF"><img src="images/spacer.gif" width="1" height="1"></td>
957
  </tr>
957
    <td bgcolor="#FFFFFF">&nbsp;</td>
958
</table>
958
  </tr>
959
<!-- FOOTER ++++++++++++++++ -->
959
</table>
960
<!--#include file="_footer.asp"-->
960
<!-- FOOTER ++++++++++++++++ -->
961
<!-- +++++++++++++++++++++++ -->
961
<!--#include file="_footer.asp"-->
962
</body>
962
<!-- +++++++++++++++++++++++ -->
963
</html>
963
</body>
964
<%
964
</html>
965
'------------ RUN AFTER PAGE RENDER -----------
965
<%
966
Set objPMod = Nothing
966
'------------ RUN AFTER PAGE RENDER -----------
967
Set objCrumbs = Nothing
967
Set objPMod = Nothing
968
Set objTabControl = Nothing
968
Set objCrumbs = Nothing
969
'----------------------------------------------
969
Set objTabControl = Nothing
-
 
970
'----------------------------------------------
970
%><!--#include file="common/globals_destructor.asp"-->
971
%><!--#include file="common/globals_destructor.asp"-->
971
972