Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
13 rsolanki 1
<%
2
'===================================================================
3
'							Common Subs
4
'===================================================================
5
%>
6
<%
7
'-----------------------------------------------------------------------------------------------------------------------------
8
Sub CloseWindow
9
%>
10
	<SCRIPT language="JavaScript" type="text/javascript">
11
	<!--
12
	self.close();
13
	//-->
14
	</SCRIPT>
15
<%
16
End Sub
17
'-----------------------------------------------------------------------------------------------------------------------------
18
Sub OpenChildWindow ( SStitle, SSurl, SSH, SSW, BBscroll )
19
	Dim scrlBar
20
	If BBscroll Then
21
		scrlBar = "yes"
22
	Else
23
		scrlBar = "no"
24
	End If
25
%>
26
	<script language="JavaScript" type="text/javascript">
27
	<!--
28
	window.open('<%=SSurl%>','<%=SStitle%>','scrollbars=<%=scrlBar%>,resizable=yes,width=<%=SSW%>,height=<%=SSH%>');
29
	//-->
30
	</script>
31
<%
32
End Sub
33
'-----------------------------------------------------------------------------------------------------------------------------
34
Sub OpenInParentWindow ( SSurl )
35
%>
36
	<script language="JavaScript" type="text/javascript">
37
	<!--
38
	window.opener.document.location='<%=SSurl%>';
39
	//-->	
40
	</script>
41
<%
42
End Sub
43
'-----------------------------------------------------------------------------------------------------------------------------
44
Sub OpenInWindow ( SSurl )
45
	Response.Redirect ( SSurl )
46
End Sub
47
'-----------------------------------------------------------------------------------------------------------------------------
48
Function onClickOpenWindow ( sURL, sWindowName, nWidth, nHeight, sWindowParams )
49
	If NOT IsNull(sWindowParams)  OR  (sWindowParams <> "") Then sWindowParams = sWindowParams &","	' Append comma if params are not empty
50
 
51
	onClickOpenWindow = "onClick='MM_openBrWindow("""& sURL &""", """& sWindowName &""", """& sWindowParams &"width="& nWidth &",height="& nHeight &",top=200,left=""+ ( screen.width / 2 - "& nWidth \ 2 &" ) +""  "");'"
52
End Function
53
'-----------------------------------------------------------------------------------------------------------------------------
54
Function ReadFile( sPath )
55
	Dim filesys, rfile
56
	Set filesys = CreateObject("Scripting.FileSystemObject")
57
	Set rfile = filesys.OpenTextFile( sPath, 1, false)
58
	ReadFile = rfile.ReadAll
59
	rfile.close
60
	Set filesys = nothing
61
End Function
62
'-----------------------------------------------------------------------------------------------------------------------------
63
Function GetQuery ( sQryName )
64
	GetQuery = ReadFile( QUERIES_PATH &"\"& sQryName )
65
End Function
66
'-----------------------------------------------------------------------------------------------------------------------------
67
Function BoldSelected ( sItem, nItemId, nrsItemId )
68
	' Exit on empty or null
69
	If ( nItemId = "" )  OR  IsNull( nItemId )  OR  ( nrsItemId = "" )  OR  IsNull( nrsItemId ) Then 
70
		BoldSelected = sItem
71
		Exit Function
72
	End If
73
 
74
	If CInt( nItemId ) = CInt( nrsItemId ) Then
75
		BoldSelected = "<b>"& sItem &"</b>"
76
	Else
77
		BoldSelected = sItem
78
	End If
79
End Function
80
'----------------------------------------------------------------------------------------------------------------------------------------------
81
Sub InitialiseCrumbs ( objCrumbs )
82
	Dim rsCrumb
83
	'L1par = enumDB_DEFAULT_EMPTY
84
	'L2par = enumDB_DEFAULT_EMPTY
85
	'L3par = enumDB_DEFAULT_EMPTY
86
 
87
 
88
	' This section will ensure only one level parameter is processed in order
89
	'If Request("bom_id") <> "" Then
90
	'	L3par = Request("bom_id")
91
	'	
92
	'ElseIf Request("branch_id") <> "" Then
93
	'	L2par = Request("branch_id")
94
	'	
95
	'ElseIf Request("proj_id") <> "" Then
96
		'L1par = Request("proj_id")
97
	'	
98
	'End If
99
 
100
	OraDatabase.Parameters.Add "PROJ_ID", 	dbPARproj_id, 	ORAPARM_INPUT, ORATYPE_NUMBER 
101
	OraDatabase.Parameters.Add "BRANCH_ID", dbPARbranch_id, ORAPARM_INPUT, ORATYPE_NUMBER 
102
	OraDatabase.Parameters.Add "BOM_ID", 	dbPARbom_id, 	ORAPARM_INPUT, ORATYPE_NUMBER 
103
	OraDatabase.Parameters.Add "NODE_ID", 	dbPARnode_id, 	ORAPARM_INPUT, ORATYPE_NUMBER 
104
	OraDatabase.Parameters.Add "OS_ID", 	dbPARos_id, 	ORAPARM_INPUT, ORATYPE_NUMBER 
105
	OraDatabase.Parameters.Add "PROD_ID", 	dbPARprod_id, 	ORAPARM_INPUT, ORATYPE_NUMBER 
106
 
107
	Set rsCrumb = OraDatabase.DbCreateDynaset( GetQuery ("Crumbs.sql") , ORADYN_DEFAULT )
108
 
109
	objCrumbs.CrumbMaxDepth = 7		' e.g.	[1] Home / [2] ProjectName / [3] BranchName / [4] BomName
110
 
111
	objCrumbs.AddLevel "Home", "Default.asp", 0
112
	While ((NOT rsCrumb.BOF) AND (NOT rsCrumb.EOF))
113
		objCrumbs.AddLevel rsCrumb("crumb_name"), rsCrumb("crumb_link"), rsCrumb("crumb_level")
114
		rsCrumb.MoveNext()
115
	WEnd
116
 
117
	' Clean up
118
	rsCrumb.Close
119
	Set rsCrumb = Nothing
120
	OraDatabase.Parameters.Remove "PROJ_ID"
121
	OraDatabase.Parameters.Remove "BRANCH_ID"
122
	OraDatabase.Parameters.Remove "BOM_ID"
123
	OraDatabase.Parameters.Remove "NODE_ID"
124
	OraDatabase.Parameters.Remove "OS_ID"
125
	OraDatabase.Parameters.Remove "PROD_ID"
126
End Sub
127
'-----------------------------------------------------------------------------------------------------------------------------
128
Function Expander ( sExpand )
129
	Const IMG_PLUS = "<img src='icons/i_plus.gif' width='9' height='9' align='absmiddle' border='0'>"
130
	Const IMG_MINUS = "<img src='icons/i_minus.gif' width='9' height='9' align='absmiddle' border='0'>"
131
	Const IMG_NO_EXPAND = "<img src='images/spacer.gif' width='9' height='9' align='absmiddle' border='0'>"
132
 
133
	If sExpand = "+" Then
134
		Expander = IMG_PLUS
135
 
136
	ElseIf sExpand = "-" Then
137
		Expander = IMG_MINUS
138
 
139
	Else
140
		Expander = IMG_NO_EXPAND
141
 
142
	End If
143
 
144
End Function
145
'-----------------------------------------------------------------------------------------------------------------------------
146
Sub GetMainDBParameters ( dbPARproj_id, dbPARbranch_id, dbPARbom_id, dbPARnode_id, dbPARos_id, dbPARprod_id )
147
	Dim query, rsQry
148
 
149
	' Preset all to enumDB_DEFAULT_EMPTY
150
	dbPARproj_id 	= enumDB_DEFAULT_EMPTY
151
	dbPARbranch_id 	= enumDB_DEFAULT_EMPTY
152
	dbPARbom_id 	= enumDB_DEFAULT_EMPTY
153
	dbPARnode_id 	= enumDB_DEFAULT_EMPTY
154
	dbPARos_id 		= enumDB_DEFAULT_EMPTY
155
	dbPARprod_id 	= enumDB_DEFAULT_EMPTY
156
 
157
 
158
	' Get the actual values from Request
159
	If Request("proj_id")  <> "" Then 	dbPARproj_id = Request("proj_id")
160
	If Request("branch_id")  <> "" Then dbPARbranch_id = Request("branch_id")
161
	If Request("bom_id")  <> "" Then 	dbPARbom_id = Request("bom_id")
162
	If Request("node_id") <> "" Then    dbPARnode_id = Request("node_id")
163
	If Request("os_id")   <> "" Then 	dbPARos_id = Request("os_id")
164
	If Request("prod_id") <> "" Then 	dbPARprod_id = Request("prod_id")
165
 
166
 
167
	' Resolve some parametes with DB lookup
168
	If ( dbPARbom_id <> enumDB_DEFAULT_EMPTY ) AND ( dbPARos_id <> enumDB_DEFAULT_EMPTY ) Then
169
		' Resolve with bom_id and os_id
170
		query = _
171
		" SELECT nn.node_id, br.BRANCH_ID, br.PROJ_ID "&_
172
		"  FROM BOM_CONTENTS bc,"&_
173
		"  	   NETWORK_NODES nn,"&_
174
		"	   OPERATING_SYSTEMS os,"&_
175
		"       BOMS bo,"&_
176
		"      BRANCHES br"&_
177
		" WHERE os.node_id = nn.node_id"&_
178
		"   AND bc.NODE_ID = nn.NODE_ID"&_
179
		"   AND bc.BOM_ID = bo.BOM_ID"&_
180
		"   AND bo.BRANCH_ID = br.BRANCH_ID"&_
181
		"   AND bc.bom_id = :BOM_ID"&_
182
		"   AND os.os_id = :OS_ID"
183
 
184
	ElseIf ( dbPARbom_id <> enumDB_DEFAULT_EMPTY ) Then
185
		' Resolve with bom_id and node_id
186
		query = _
187
		" SELECT :NODE_ID AS NODE_ID, br.BRANCH_ID, br.PROJ_ID "&_
188
		"  FROM BOMS bo,"&_
189
		"       BRANCHES br"&_
190
		" WHERE bo.BRANCH_ID = br.BRANCH_ID"&_
191
		"   AND bo.bom_id = :BOM_ID"
192
 
193
	End If
194
 
195
 
196
	If query <> "" Then
197
		OraDatabase.Parameters.Add "BOM_ID", 	dbPARbom_id, 	ORAPARM_INPUT, ORATYPE_NUMBER 
198
		OraDatabase.Parameters.Add "NODE_ID", 	dbPARnode_id, 	ORAPARM_INPUT, ORATYPE_NUMBER 
199
		OraDatabase.Parameters.Add "OS_ID", 	dbPARos_id, 	ORAPARM_INPUT, ORATYPE_NUMBER 
200
 
201
		Set rsQry = OraDatabase.DbCreateDynaset( query , ORADYN_DEFAULT )
202
 
203
		If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
204
			dbPARproj_id = CInt( rsQry("proj_id") )
205
			dbPARbranch_id = CInt( rsQry("branch_id") )
206
			dbPARnode_id = CInt( rsQry("node_id") )
207
		End If
208
 
209
		rsQry.Close
210
		Set rsQry = Nothing
211
		OraDatabase.Parameters.Remove "BOM_ID"
212
		OraDatabase.Parameters.Remove "NODE_ID"
213
		OraDatabase.Parameters.Remove "OS_ID"
214
	End If
215
 
216
 
217
	' --- Get which level (used for pop-up menu add prod,os,node.)
218
	AT_PROD_LEVEL = FALSE
219
	AT_OS_LEVEL = FALSE
220
	AT_NODE_LEVEL = FALSE
221
	AT_BOM_LEVEL = FALSE
222
 
223
	If dbPARprod_id <> enumDB_DEFAULT_EMPTY Then
224
		' Product Level
225
		AT_PROD_LEVEL = TRUE
226
 
227
	ElseIf dbPARos_id <> enumDB_DEFAULT_EMPTY Then
228
		' OS Level
229
		AT_OS_LEVEL = TRUE
230
 
231
	ElseIf dbPARnode_id <> enumDB_DEFAULT_EMPTY Then
232
		' Node Level
233
		AT_NODE_LEVEL = TRUE
234
 
235
	ElseIf dbPARbom_id <> enumDB_DEFAULT_EMPTY Then
236
		' Bom Level
237
		AT_BOM_LEVEL = TRUE
238
 
239
	End If
240
 
241
End Sub
242
'-----------------------------------------------------------------------------------------------------------------------------
243
Function GetNodeImage ( nNode_id )
244
	Dim query, rsQry
245
	query = _
246
	"SELECT nt.NODE_IMAGE "&_
247
	"  FROM NETWORK_NODES nn,"&_
248
	"  	    NODE_TYPES nt"&_
249
	" WHERE nn.NODE_TYPE_ID = nt.NODE_TYPE_ID"&_
250
	"   AND nn.node_id = :NODE_ID"
251
 
252
	OraDatabase.Parameters.Add "NODE_ID", 	nNode_id, 	ORAPARM_INPUT, ORATYPE_NUMBER 
253
	Set rsQry = OraDatabase.DbCreateDynaset( query , ORADYN_DEFAULT )
254
 
255
	If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
256
		GetNodeImage = "<img src='icons/"& rsQry("node_image") &"'>"
257
	End If
258
 
259
	rsQry.Close
260
	Set rsQry = Nothing
261
	OraDatabase.Parameters.Remove "NODE_ID"
262
End Function
263
'-----------------------------------------------------------------------------------------------------------------------------
264
Sub LoadTabActionButtons ( aBtns,  ByRef objControl )
265
	' -- Load Action Buttons
266
	Call objControl.LoadActionButtons ( aBtns, OraDatabase )
267
 
268
	' -- Set button spacer
269
	objControl.ButtonSpacer = 10
270
 
271
End Sub
272
'-----------------------------------------------------------------------------------------------------------------------------
273
Sub Messenger ( sMessage, nMessageType, sWidth )
274
	Dim msgTemplate, Img
275
 
276
	If (sMessage = "") OR IsNull(sMessage) Then Exit Sub
277
 
278
	Select Case CStr(nMessageType)
279
		Case "1"
280
			Img = "s_critical.gif"
281
		Case "2"
282
			Img = "s_warning.gif"
283
		Case "3"
284
			Img = "s_note.gif"
285
		Case Else
286
			Img = nMessageType
287
	End Select
288
 
289
 
290
	msgTemplate = ReadFile( APP_ROOT &"\scripts\message_style.html" )
291
	msgTemplate = Replace( msgTemplate, "%WIDTH%", sWidth )
292
	msgTemplate = Replace( msgTemplate, "%IMAGE%", Img )
293
	msgTemplate = Replace( msgTemplate, "%MESSAGE%", sMessage )
294
 
295
	Response.write msgTemplate
296
End Sub
297
'-----------------------------------------------------------------------------------------------------------------------------
298
Function IsTicked ( ByVal nParId, ByVal sParList )
299
	' Used only with check boxes as they send comma-separated list
300
	nParId 	 = ","&  Replace(nParId, " ", "") &","
301
	sParList = ","&  Replace(sParList, " ", "") &","
302
 
303
	If InStr( sParList, nParId ) > 0 Then
304
		IsTicked = TRUE
305
	Else
306
		IsTicked = FALSE
307
	End If
308
End Function
309
'-----------------------------------------------------------------------------------------------------------------------------
310
Function ProgressBar ()
311
	ProgressBar = "<DIV name='divProgressBar' id='divProgressBar' style='visibility:hidden;'><img src='icons/i_processing.gif' width='79' height='14'></DIV>"
312
End Function
313
'-----------------------------------------------------------------------------------------------------------------------------
314
Function HighlightSubstring ( SSstr, SSsubstr )
315
	Dim leftSTR, startPos
316
	startPos = InStr( 1, SSstr, SSsubstr, 1 )
317
 
318
	If startPos > 0 Then
319
		leftSTR = Left ( SSstr, startPos - 1 )
320
		Highlight_Substring = leftSTR &"<SPAN style='background:#ffff99;'>"& Mid( SSstr, startPos, Len(SSsubstr) ) &"</SPAN>"&  Right ( SSstr, Len(SSstr) - Len(leftSTR) - Len(SSsubstr)  )
321
	Else
322
		' Subtring not found
323
		Highlight_Substring = SSstr
324
	End If
325
 
326
End Function
327
'-----------------------------------------------------------------------------------------------------------------------------
328
Sub DisplayColumn( sColumnName, sTableColumn, outOrderBy, bSetToDefault )
329
	Dim selectedColumnTemplate, tempColumnName, ordBy, ordType, ordImg, sLink, isDefaultColumn
330
 
331
	'--- Set Default Column ---
332
	isDefaultColumn = FALSE
333
	If (Request("ordby") = "")  AND bSetToDefault Then
334
		isDefaultColumn = TRUE
335
	End If
336
 
337
	'--- Create border for selected column ---
338
	selectedColumnTemplate = _
339
	"background='images/bg_table_border.gif'><table width='100%'  border='0' cellspacing='1' cellpadding='2'>"&_
340
    "  <tr>"&_
341
    "    <td align='right' nowrap background='images/bg_table_col.gif'>%COLUMN_NAME%</td>"&_
342
    "  </tr>"&_
343
    "</table>"
344
 
345
 
346
	'--- Create Order Name ---
347
	ordBy = LCase( Replace( sColumnName, " ", "_" ) )
348
 
349
 
350
	'--- Toggle Order Type ---
351
	ordType = "asc"
352
	ordImg = ""
353
	If Request("ordby") = ordBy  OR  isDefaultColumn Then
354
		If Request("ordtype") = "desc" Then
355
			ordType = "asc"
356
			ordImg = "<img src='icons/b_sort_desc.gif' hspace='4' border='0' align='absmiddle'>"
357
		Else
358
			ordType = "desc"
359
			ordImg = "<img src='icons/b_sort_asc.gif' hspace='4' border='0' align='absmiddle'>"
360
		End If
361
	End If
362
 
363
 
364
	'--- Set temporary Column name and link
365
	sLink = SCRIPT_NAME &"?ordby="& ordBy &"&ordtype="& ordType &"&"& objPMod.ComposeURL() 
366
 
367
	tempColumnName = "<a href='"& sLink &"' class='body_linkbold'>&nbsp;"& ordImg & sColumnName &"&nbsp;</a>"
368
 
369
 
370
	'--- Display Formated Column Name ---
371
	If Request("ordby") = ordBy  OR  isDefaultColumn Then
372
		' This column is selected
373
		outOrderBy = " ORDER BY UPPER("& sTableColumn &") "& Request("ordtype")
374
		Response.write Replace( selectedColumnTemplate, "%COLUMN_NAME%", tempColumnName) 
375
 
376
	Else
377
		' Check if column is sortable
378
		If NOT IsNull(sTableColumn)  OR (sTableColumn <> "") Then
379
			Response.write "background='images/bg_table_col.gif'>" & tempColumnName
380
		Else
381
			Response.write "background='images/bg_table_col.gif' class='body_col'>"& sColumnName
382
		End If
383
 
384
 
385
	End If
386
 
387
End Sub
388
'-----------------------------------------------------------------------------------------------------------------------------
389
Function BomIcon ( sIsReadonly, sIsRejected )
390
 
391
	If sIsReadonly = enumDB_NO Then
392
		BomIcon = enumBOM_EDITMODE
393
	Else
394
		If (sIsRejected = "") OR IsNull(sIsRejected) Then
395
			BomIcon = enumBOM_NEW
396
 
397
		ElseIf sIsRejected = enumDB_YES Then
398
			BomIcon = enumBOM_REJECTED
399
 
400
		ElseIf sIsRejected = enumDB_NO Then
401
			BomIcon = enumBOM_ACCEPTED
402
 
403
		End If
404
 
405
	End If
406
 
407
End Function
408
'-----------------------------------------------------------------------------------------------------------------
409
Sub GetBomDetails ( nBom_id, ByRef outobjDetails )
410
	Dim rsQry, query
411
	OraDatabase.Parameters.Add "BOM_ID", nBom_id,	ORAPARM_INPUT, ORATYPE_NUMBER 
412
 
413
	Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("BomDetails.sql") , ORADYN_DEFAULT )
414
 
415
	If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
416
		outobjDetails.Item ("bom_id")   = rsQry("bom_id")
417
		outobjDetails.Item ("bom_name") = rsQry("bom_name")
418
		outobjDetails.Item ("bom_name_id") = rsQry("bom_name_id")
419
		outobjDetails.Item ("branch_id") = rsQry("branch_id")
420
		outobjDetails.Item ("bom_version") = rsQry("bom_version")
421
		outobjDetails.Item ("bom_lifecycle") = rsQry("bom_lifecycle")
422
		outobjDetails.Item ("bom_comments") = rsQry("bom_comments")
423
		outobjDetails.Item ("is_readonly") = rsQry("is_readonly")
424
		outobjDetails.Item ("is_rejected") = rsQry("is_rejected")
425
		outobjDetails.Item ("parent_bom_id") = rsQry("parent_bom_id")
426
		outobjDetails.Item ("base_env_count") = rsQry("base_env_count")
427
		outobjDetails.Item ("rtag_id_fk") = rsQry("rtag_id_fk")
428
 
429
	Else
430
		Err.Raise 8, "Sub GetBomDetails", "Empty record set returned. nBom_id="& nBom_id
431
 
432
	End If
433
 
434
	OraDatabase.Parameters.Remove "BOM_ID"
435
	rsQry.Close
436
	Set rsQry = Nothing
437
End Sub
438
'-----------------------------------------------------------------------------------------------------------------------------
439
Function Wiki2HTML ( ByVal sWikiString )
440
	'=== Definition ===
441
	sWikiString = Replace ( sWikiString, "[BREAKLINE]", "<hr noshade size='1' color='#DAD7C8'>"  )
442
	sWikiString = Replace ( sWikiString, "[NEWLINE]", "<br>"  )
443
 
444
	Wiki2HTML = sWikiString
445
End Function
446
'----------------------------------------------------------------------------------------------------------------------------------------------
447
Function GetProductIcon ( rsQry )
448
	Const LIMG_BB_PRODUCT = "<img src='icons/i_product.gif' width='19' height='19' border='0' align='absmiddle'>"
449
	Const LIMG_BB_PATCH = "<img src='icons/i_patch_small.gif' border='0' align='absmiddle' hspace='2'>"
450
	Const LIMG_BB_PATCH_OBSOLETE = "<img src='icons/i_patch_small_obsolete.gif' border='0' align='absmiddle' hspace='2'>"
451
	Const LIMG_BB_PRODUCT_REJECTED = "<img src='icons/i_product_rejected.gif' width='19' height='19' border='0' align='absmiddle' title='Product is REJECTED! Click to see details.'>"
452
 
453
	'-- Set default icon
454
	GetProductIcon = LIMG_BB_PRODUCT
455
 
456
	If IsObject(rsQry) Then
457
		'/* Recordset is passed */
458
		If rsQry("is_rejected") = enumDB_YES Then
459
			GetProductIcon = LIMG_BB_PRODUCT_REJECTED
460
 
461
		ElseIf rsQry("is_obsolete") = enumDB_YES Then
462
			GetProductIcon = LIMG_BB_PATCH_OBSOLETE
463
		ElseIf rsQry("is_patch") = enumDB_YES Then
464
			GetProductIcon = LIMG_BB_PATCH
465
 
466
		End If
467
 
468
	Else
469
		'/* Single Value is passed */
470
		If rsQry = enumDB_YES Then
471
			GetProductIcon = LIMG_BB_PRODUCT_REJECTED
472
		End If
473
 
474
	End If
475
 
476
End Function
477
'----------------------------------------------------------------------------------------------------------------------------------------------
478
Function GetRootVersion ( sBomVersion )
479
	Dim tempArr
480
 
481
	If InStr( sBomVersion, "." ) > 0 Then
482
		'-- Dot separator found --
483
 
484
		'-- Split version --
485
		tempArr = Split( sBomVersion, "." )
486
 
487
		'-- Return first element as root version
488
		GetRootVersion = tempArr(0)
489
 
490
	Else
491
		'-- No dot separator, hence root version is version itself
492
		GetRootVersion = sBomVersion
493
 
494
	End If
495
 
496
End Function
497
'--------------------------------------------------------------------------------------------------------------------------
498
Function HighlightSubstring ( SSstr, SSsubstr )
499
	Dim leftSTR, startPos
500
	startPos = InStr( 1, SSstr, SSsubstr, 1 )
501
 
502
	If startPos > 0 Then
503
		leftSTR = Left ( SSstr, startPos - 1 )
504
		HighlightSubstring = leftSTR &"<SPAN style='background:#ffff99;'>"& Mid( SSstr, startPos, Len(SSsubstr) ) &"</SPAN>"&  Right ( SSstr, Len(SSstr) - Len(leftSTR) - Len(SSsubstr)  )
505
	Else
506
		' Subtring not found
507
		HighlightSubstring = SSstr
508
	End If
509
 
510
End Function
511
'-----------------------------------------------------------------------------------------------------------------------------
512
Sub Destroy_All_Objects
513
	On Error Resume Next
514
	set brokenReadyHash = nothing
515
	set brokenHash = nothing
516
	set pkgInfoHash = nothing
517
	set OraDatabase = nothing
518
	set OraSession = nothing
519
	set userdetailsHash = nothing
520
End Sub
521
%>