| 64 |
jtweddle |
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 Quick_Help ( SStipname )
|
|
|
68 |
Quick_Help = "<a href='javascript:;' onMouseOver=""formTips.show('"& SStipname &"')"" onMouseOut=""formTips.hide()""><img src='images/i_help.gif' width='12' height='12' hspace='2' align='absmiddle' border='0' ></a>"
|
|
|
69 |
End Function
|
|
|
70 |
'-----------------------------------------------------------------------------------------------------------------------------
|
|
|
71 |
Function BoldSelected ( sItem, nItemId, nrsItemId )
|
|
|
72 |
' Exit on empty or null
|
|
|
73 |
If ( nItemId = "" ) OR IsNull( nItemId ) OR ( nrsItemId = "" ) OR IsNull( nrsItemId ) Then
|
|
|
74 |
BoldSelected = sItem
|
|
|
75 |
Exit Function
|
|
|
76 |
End If
|
|
|
77 |
|
|
|
78 |
If CInt( nItemId ) = CInt( nrsItemId ) Then
|
|
|
79 |
BoldSelected = "<b>"& sItem &"</b>"
|
|
|
80 |
Else
|
|
|
81 |
BoldSelected = sItem
|
|
|
82 |
End If
|
|
|
83 |
End Function
|
|
|
84 |
'-----------------------------------------------------------------------------------------------------------------------------
|
|
|
85 |
Function Get_From_DUAL ( SSclm )
|
|
|
86 |
Dim rsTemp, Query_String, OraSession2, OraDatabase2
|
|
|
87 |
Set OraSession2 = CreateObject("OracleInProcServer.XOraSession")
|
|
|
88 |
Set OraDatabase2 = OraSession2.OpenDatabase( TNS_NAME, DB_AUTHENTICATION, Cint(0))
|
|
|
89 |
|
|
|
90 |
Query_String = _
|
|
|
91 |
" SELECT "& SSclm &" AS result FROM DUAL"
|
|
|
92 |
Set rsTemp = OraDatabase2.DbCreateDynaset( Query_String, cint(0))
|
|
|
93 |
|
|
|
94 |
If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
|
|
|
95 |
Get_From_DUAL = (rsTemp.Fields("result"))
|
|
|
96 |
End If
|
|
|
97 |
|
|
|
98 |
rsTemp.Close
|
|
|
99 |
Set rsTemp = nothing
|
|
|
100 |
Set OraDatabase2 = nothing
|
|
|
101 |
Set OraSession2 = nothing
|
|
|
102 |
End Function
|
|
|
103 |
'----------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
104 |
Sub InitialiseCrumbs ( objCrumbs )
|
|
|
105 |
Dim rsCrumb
|
|
|
106 |
'L1par = enumDB_DEFAULT_EMPTY
|
|
|
107 |
'L2par = enumDB_DEFAULT_EMPTY
|
|
|
108 |
'L3par = enumDB_DEFAULT_EMPTY
|
|
|
109 |
|
|
|
110 |
|
|
|
111 |
' This section will ensure only one level parameter is processed in order
|
|
|
112 |
'If Request("bom_id") <> "" Then
|
|
|
113 |
' L3par = Request("bom_id")
|
|
|
114 |
'
|
|
|
115 |
'ElseIf Request("branch_id") <> "" Then
|
|
|
116 |
' L2par = Request("branch_id")
|
|
|
117 |
'
|
|
|
118 |
'ElseIf Request("proj_id") <> "" Then
|
|
|
119 |
'L1par = Request("proj_id")
|
|
|
120 |
'
|
|
|
121 |
'End If
|
|
|
122 |
|
|
|
123 |
OraDatabase.Parameters.Add "PROJ_ID", dbPARproj_id, ORAPARM_INPUT, ORATYPE_NUMBER
|
|
|
124 |
OraDatabase.Parameters.Add "BRANCH_ID", dbPARbranch_id, ORAPARM_INPUT, ORATYPE_NUMBER
|
|
|
125 |
OraDatabase.Parameters.Add "BOM_ID", dbPARbom_id, ORAPARM_INPUT, ORATYPE_NUMBER
|
|
|
126 |
OraDatabase.Parameters.Add "NODE_ID", dbPARnode_id, ORAPARM_INPUT, ORATYPE_NUMBER
|
|
|
127 |
OraDatabase.Parameters.Add "OS_ID", dbPARos_id, ORAPARM_INPUT, ORATYPE_NUMBER
|
|
|
128 |
OraDatabase.Parameters.Add "PROD_ID", dbPARprod_id, ORAPARM_INPUT, ORATYPE_NUMBER
|
|
|
129 |
|
|
|
130 |
Set rsCrumb = OraDatabase.DbCreateDynaset( GetQuery ("Crumbs.sql") , ORADYN_DEFAULT )
|
|
|
131 |
|
|
|
132 |
objCrumbs.CrumbMaxDepth = 7 ' e.g. [1] Home / [2] ProjectName / [3] BranchName / [4] BomName
|
|
|
133 |
|
|
|
134 |
objCrumbs.AddLevel "Home", "Default.asp", 0
|
|
|
135 |
While ((NOT rsCrumb.BOF) AND (NOT rsCrumb.EOF))
|
|
|
136 |
objCrumbs.AddLevel rsCrumb("crumb_name"), rsCrumb("crumb_link"), rsCrumb("crumb_level")
|
|
|
137 |
rsCrumb.MoveNext()
|
|
|
138 |
WEnd
|
|
|
139 |
|
|
|
140 |
' Clean up
|
|
|
141 |
rsCrumb.Close
|
|
|
142 |
Set rsCrumb = Nothing
|
|
|
143 |
OraDatabase.Parameters.Remove "PROJ_ID"
|
|
|
144 |
OraDatabase.Parameters.Remove "BRANCH_ID"
|
|
|
145 |
OraDatabase.Parameters.Remove "BOM_ID"
|
|
|
146 |
OraDatabase.Parameters.Remove "NODE_ID"
|
|
|
147 |
OraDatabase.Parameters.Remove "OS_ID"
|
|
|
148 |
OraDatabase.Parameters.Remove "PROD_ID"
|
|
|
149 |
End Sub
|
|
|
150 |
'-----------------------------------------------------------------------------------------------------------------------------
|
|
|
151 |
Function Expander ( sExpand )
|
|
|
152 |
Const IMG_PLUS = "<img src='icons/i_plus.gif' width='9' height='9' align='absmiddle' border='0'>"
|
|
|
153 |
Const IMG_MINUS = "<img src='icons/i_minus.gif' width='9' height='9' align='absmiddle' border='0'>"
|
|
|
154 |
Const IMG_NO_EXPAND = "<img src='images/spacer.gif' width='9' height='9' align='absmiddle' border='0'>"
|
|
|
155 |
|
|
|
156 |
If sExpand = "+" Then
|
|
|
157 |
Expander = IMG_PLUS
|
|
|
158 |
|
|
|
159 |
ElseIf sExpand = "-" Then
|
|
|
160 |
Expander = IMG_MINUS
|
|
|
161 |
|
|
|
162 |
Else
|
|
|
163 |
Expander = IMG_NO_EXPAND
|
|
|
164 |
|
|
|
165 |
End If
|
|
|
166 |
|
|
|
167 |
End Function
|
|
|
168 |
'-----------------------------------------------------------------------------------------------------------------------------
|
|
|
169 |
Sub GetMainDBParameters ( dbPARproj_id, dbPARbranch_id, dbPARbom_id, dbPARnode_id, dbPARos_id, dbPARprod_id )
|
|
|
170 |
Dim query, rsQry
|
|
|
171 |
|
|
|
172 |
' Preset all to enumDB_DEFAULT_EMPTY
|
|
|
173 |
dbPARproj_id = enumDB_DEFAULT_EMPTY
|
|
|
174 |
dbPARbranch_id = enumDB_DEFAULT_EMPTY
|
|
|
175 |
dbPARbom_id = enumDB_DEFAULT_EMPTY
|
|
|
176 |
dbPARnode_id = enumDB_DEFAULT_EMPTY
|
|
|
177 |
dbPARos_id = enumDB_DEFAULT_EMPTY
|
|
|
178 |
dbPARprod_id = enumDB_DEFAULT_EMPTY
|
|
|
179 |
|
|
|
180 |
|
|
|
181 |
' Get the actual values from Request
|
|
|
182 |
If Request("proj_id") <> "" Then dbPARproj_id = Request("proj_id")
|
|
|
183 |
If Request("branch_id") <> "" Then dbPARbranch_id = Request("branch_id")
|
|
|
184 |
If Request("bom_id") <> "" Then dbPARbom_id = Request("bom_id")
|
|
|
185 |
If Request("node_id") <> "" Then dbPARnode_id = Request("node_id")
|
|
|
186 |
If Request("os_id") <> "" Then dbPARos_id = Request("os_id")
|
|
|
187 |
If Request("prod_id") <> "" Then dbPARprod_id = Request("prod_id")
|
|
|
188 |
|
|
|
189 |
|
|
|
190 |
' Resolve some parametes with DB lookup
|
|
|
191 |
If ( dbPARbom_id <> enumDB_DEFAULT_EMPTY ) AND ( dbPARos_id <> enumDB_DEFAULT_EMPTY ) Then
|
|
|
192 |
' Resolve with bom_id and os_id
|
|
|
193 |
query = _
|
|
|
194 |
" SELECT nn.node_id, br.BRANCH_ID, br.PROJ_ID "&_
|
|
|
195 |
" FROM BOM_CONTENTS bc,"&_
|
|
|
196 |
" NETWORK_NODES nn,"&_
|
|
|
197 |
" OPERATING_SYSTEMS os,"&_
|
|
|
198 |
" BOMS bo,"&_
|
|
|
199 |
" BRANCHES br"&_
|
|
|
200 |
" WHERE os.node_id = nn.node_id"&_
|
|
|
201 |
" AND bc.NODE_ID = nn.NODE_ID"&_
|
|
|
202 |
" AND bc.BOM_ID = bo.BOM_ID"&_
|
|
|
203 |
" AND bo.BRANCH_ID = br.BRANCH_ID"&_
|
|
|
204 |
" AND bc.bom_id = :BOM_ID"&_
|
|
|
205 |
" AND os.os_id = :OS_ID"
|
|
|
206 |
|
|
|
207 |
ElseIf ( dbPARbom_id <> enumDB_DEFAULT_EMPTY ) Then
|
|
|
208 |
' Resolve with bom_id and node_id
|
|
|
209 |
query = _
|
|
|
210 |
" SELECT :NODE_ID AS NODE_ID, br.BRANCH_ID, br.PROJ_ID "&_
|
|
|
211 |
" FROM BOMS bo,"&_
|
|
|
212 |
" BRANCHES br"&_
|
|
|
213 |
" WHERE bo.BRANCH_ID = br.BRANCH_ID"&_
|
|
|
214 |
" AND bo.bom_id = :BOM_ID"
|
|
|
215 |
|
|
|
216 |
End If
|
|
|
217 |
|
|
|
218 |
|
|
|
219 |
If query <> "" Then
|
|
|
220 |
OraDatabase.Parameters.Add "BOM_ID", dbPARbom_id, ORAPARM_INPUT, ORATYPE_NUMBER
|
|
|
221 |
OraDatabase.Parameters.Add "NODE_ID", dbPARnode_id, ORAPARM_INPUT, ORATYPE_NUMBER
|
|
|
222 |
OraDatabase.Parameters.Add "OS_ID", dbPARos_id, ORAPARM_INPUT, ORATYPE_NUMBER
|
|
|
223 |
|
|
|
224 |
Set rsQry = OraDatabase.DbCreateDynaset( query , ORADYN_DEFAULT )
|
|
|
225 |
|
|
|
226 |
If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
|
|
|
227 |
dbPARproj_id = CInt( rsQry("proj_id") )
|
|
|
228 |
dbPARbranch_id = CInt( rsQry("branch_id") )
|
|
|
229 |
dbPARnode_id = CInt( rsQry("node_id") )
|
|
|
230 |
End If
|
|
|
231 |
|
|
|
232 |
rsQry.Close
|
|
|
233 |
Set rsQry = Nothing
|
|
|
234 |
OraDatabase.Parameters.Remove "BOM_ID"
|
|
|
235 |
OraDatabase.Parameters.Remove "NODE_ID"
|
|
|
236 |
OraDatabase.Parameters.Remove "OS_ID"
|
|
|
237 |
End If
|
|
|
238 |
|
|
|
239 |
|
|
|
240 |
' --- Get which level (used for pop-up menu add prod,os,node.)
|
|
|
241 |
AT_PROD_LEVEL = FALSE
|
|
|
242 |
AT_OS_LEVEL = FALSE
|
|
|
243 |
AT_NODE_LEVEL = FALSE
|
|
|
244 |
AT_BOM_LEVEL = FALSE
|
|
|
245 |
|
|
|
246 |
If dbPARprod_id <> enumDB_DEFAULT_EMPTY Then
|
|
|
247 |
' Product Level
|
|
|
248 |
AT_PROD_LEVEL = TRUE
|
|
|
249 |
|
|
|
250 |
ElseIf dbPARos_id <> enumDB_DEFAULT_EMPTY Then
|
|
|
251 |
' OS Level
|
|
|
252 |
AT_OS_LEVEL = TRUE
|
|
|
253 |
|
|
|
254 |
ElseIf dbPARnode_id <> enumDB_DEFAULT_EMPTY Then
|
|
|
255 |
' Node Level
|
|
|
256 |
AT_NODE_LEVEL = TRUE
|
|
|
257 |
|
|
|
258 |
ElseIf dbPARbom_id <> enumDB_DEFAULT_EMPTY Then
|
|
|
259 |
' Bom Level
|
|
|
260 |
AT_BOM_LEVEL = TRUE
|
|
|
261 |
|
|
|
262 |
End If
|
|
|
263 |
|
|
|
264 |
End Sub
|
|
|
265 |
'-----------------------------------------------------------------------------------------------------------------------------
|
|
|
266 |
Function GetNodeImage ( nNode_id )
|
|
|
267 |
Dim query, rsQry
|
|
|
268 |
query = _
|
|
|
269 |
"SELECT nt.NODE_IMAGE "&_
|
|
|
270 |
" FROM NETWORK_NODES nn,"&_
|
|
|
271 |
" NODE_TYPES nt"&_
|
|
|
272 |
" WHERE nn.NODE_TYPE_ID = nt.NODE_TYPE_ID"&_
|
|
|
273 |
" AND nn.node_id = :NODE_ID"
|
|
|
274 |
|
|
|
275 |
OraDatabase.Parameters.Add "NODE_ID", nNode_id, ORAPARM_INPUT, ORATYPE_NUMBER
|
|
|
276 |
Set rsQry = OraDatabase.DbCreateDynaset( query , ORADYN_DEFAULT )
|
|
|
277 |
|
|
|
278 |
If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
|
|
|
279 |
GetNodeImage = "<img src='icons/"& rsQry("node_image") &"'>"
|
|
|
280 |
End If
|
|
|
281 |
|
|
|
282 |
rsQry.Close
|
|
|
283 |
Set rsQry = Nothing
|
|
|
284 |
OraDatabase.Parameters.Remove "NODE_ID"
|
|
|
285 |
End Function
|
|
|
286 |
'-----------------------------------------------------------------------------------------------------------------------------
|
|
|
287 |
Sub LoadTabActionButtons ( aBtns, ByRef objControl )
|
|
|
288 |
' -- Load Action Buttons
|
|
|
289 |
Call objControl.LoadActionButtons ( aBtns, OraDatabase )
|
|
|
290 |
|
|
|
291 |
' -- Set button spacer
|
|
|
292 |
objControl.ButtonSpacer = 10
|
|
|
293 |
|
|
|
294 |
End Sub
|
|
|
295 |
'-----------------------------------------------------------------------------------------------------------------------------
|
|
|
296 |
Sub Messenger ( sMessage, nMessageType, sWidth )
|
|
|
297 |
Dim msgTemplate, Img
|
|
|
298 |
|
|
|
299 |
If (sMessage = "") OR IsNull(sMessage) Then Exit Sub
|
|
|
300 |
|
|
|
301 |
Select Case CStr(nMessageType)
|
|
|
302 |
Case "1"
|
|
|
303 |
Img = "s_critical.gif"
|
|
|
304 |
Case "2"
|
|
|
305 |
Img = "s_warning.gif"
|
|
|
306 |
Case "3"
|
|
|
307 |
Img = "s_note.gif"
|
|
|
308 |
Case Else
|
|
|
309 |
Img = nMessageType
|
|
|
310 |
End Select
|
|
|
311 |
|
|
|
312 |
|
|
|
313 |
msgTemplate = ReadFile( APP_ROOT &"\scripts\message_style.html" )
|
|
|
314 |
msgTemplate = Replace( msgTemplate, "%WIDTH%", sWidth )
|
|
|
315 |
msgTemplate = Replace( msgTemplate, "%IMAGE%", Img )
|
|
|
316 |
msgTemplate = Replace( msgTemplate, "%MESSAGE%", sMessage )
|
|
|
317 |
|
|
|
318 |
Response.write msgTemplate
|
|
|
319 |
End Sub
|
|
|
320 |
'-----------------------------------------------------------------------------------------------------------------------------
|
|
|
321 |
Function IsTicked ( ByVal nParId, ByVal sParList )
|
|
|
322 |
' Used only with check boxes as they send comma-separated list
|
|
|
323 |
nParId = ","& Replace(nParId, " ", "") &","
|
|
|
324 |
sParList = ","& Replace(sParList, " ", "") &","
|
|
|
325 |
|
|
|
326 |
If InStr( sParList, nParId ) > 0 Then
|
|
|
327 |
IsTicked = TRUE
|
|
|
328 |
Else
|
|
|
329 |
IsTicked = FALSE
|
|
|
330 |
End If
|
|
|
331 |
End Function
|
|
|
332 |
'-----------------------------------------------------------------------------------------------------------------------------
|
|
|
333 |
Function ProgressBar ()
|
|
|
334 |
ProgressBar = "<DIV name='divProgressBar' id='divProgressBar' style='visibility:hidden;'><img src='icons/i_processing.gif' width='79' height='14'></DIV>"
|
|
|
335 |
End Function
|
|
|
336 |
'-----------------------------------------------------------------------------------------------------------------------------
|
|
|
337 |
Function HighlightSubstring ( SSstr, SSsubstr )
|
|
|
338 |
Dim leftSTR, startPos
|
|
|
339 |
startPos = InStr( 1, SSstr, SSsubstr, 1 )
|
|
|
340 |
|
|
|
341 |
If startPos > 0 Then
|
|
|
342 |
leftSTR = Left ( SSstr, startPos - 1 )
|
|
|
343 |
Highlight_Substring = leftSTR &"<SPAN style='background:#ffff99;'>"& Mid( SSstr, startPos, Len(SSsubstr) ) &"</SPAN>"& Right ( SSstr, Len(SSstr) - Len(leftSTR) - Len(SSsubstr) )
|
|
|
344 |
Else
|
|
|
345 |
' Subtring not found
|
|
|
346 |
Highlight_Substring = SSstr
|
|
|
347 |
End If
|
|
|
348 |
|
|
|
349 |
End Function
|
|
|
350 |
'-----------------------------------------------------------------------------------------------------------------------------
|
|
|
351 |
Sub DisplayColumn( sColumnName, sTableColumn, outOrderBy, bSetToDefault )
|
|
|
352 |
Dim selectedColumnTemplate, tempColumnName, ordBy, ordType, ordImg, sLink, isDefaultColumn
|
|
|
353 |
|
|
|
354 |
'--- Set Default Column ---
|
|
|
355 |
isDefaultColumn = FALSE
|
|
|
356 |
If (Request("ordby") = "") AND bSetToDefault Then
|
|
|
357 |
isDefaultColumn = TRUE
|
|
|
358 |
End If
|
|
|
359 |
|
|
|
360 |
'--- Create border for selected column ---
|
|
|
361 |
selectedColumnTemplate = _
|
|
|
362 |
"background='images/bg_table_border.gif'><table width='100%' border='0' cellspacing='1' cellpadding='2'>"&_
|
|
|
363 |
" <tr>"&_
|
|
|
364 |
" <td align='right' nowrap background='images/bg_table_col.gif'>%COLUMN_NAME%</td>"&_
|
|
|
365 |
" </tr>"&_
|
|
|
366 |
"</table>"
|
|
|
367 |
|
|
|
368 |
|
|
|
369 |
'--- Create Order Name ---
|
|
|
370 |
ordBy = LCase( Replace( sColumnName, " ", "_" ) )
|
|
|
371 |
|
|
|
372 |
|
|
|
373 |
'--- Toggle Order Type ---
|
|
|
374 |
ordType = "asc"
|
|
|
375 |
ordImg = ""
|
|
|
376 |
If Request("ordby") = ordBy OR isDefaultColumn Then
|
|
|
377 |
If Request("ordtype") = "desc" Then
|
|
|
378 |
ordType = "asc"
|
|
|
379 |
ordImg = "<img src='icons/b_sort_desc.gif' hspace='4' border='0' align='absmiddle'>"
|
|
|
380 |
Else
|
|
|
381 |
ordType = "desc"
|
|
|
382 |
ordImg = "<img src='icons/b_sort_asc.gif' hspace='4' border='0' align='absmiddle'>"
|
|
|
383 |
End If
|
|
|
384 |
End If
|
|
|
385 |
|
|
|
386 |
|
|
|
387 |
'--- Set temporary Column name and link
|
|
|
388 |
sLink = SCRIPT_NAME &"?ordby="& ordBy &"&ordtype="& ordType &"&"& objPMod.ComposeURL()
|
|
|
389 |
|
|
|
390 |
tempColumnName = "<a href='"& sLink &"' class='body_linkbold'> "& ordImg & sColumnName &" </a>"
|
|
|
391 |
|
|
|
392 |
|
|
|
393 |
'--- Display Formated Column Name ---
|
|
|
394 |
If Request("ordby") = ordBy OR isDefaultColumn Then
|
|
|
395 |
' This column is selected
|
|
|
396 |
outOrderBy = " ORDER BY UPPER("& sTableColumn &") "& Request("ordtype")
|
|
|
397 |
Response.write Replace( selectedColumnTemplate, "%COLUMN_NAME%", tempColumnName)
|
|
|
398 |
|
|
|
399 |
Else
|
|
|
400 |
' Check if column is sortable
|
|
|
401 |
If NOT IsNull(sTableColumn) OR (sTableColumn <> "") Then
|
|
|
402 |
Response.write "background='images/bg_table_col.gif'>" & tempColumnName
|
|
|
403 |
Else
|
|
|
404 |
Response.write "background='images/bg_table_col.gif' class='body_col'>"& sColumnName
|
|
|
405 |
End If
|
|
|
406 |
|
|
|
407 |
|
|
|
408 |
End If
|
|
|
409 |
|
|
|
410 |
End Sub
|
|
|
411 |
'-----------------------------------------------------------------------------------------------------------------------------
|
|
|
412 |
Function BomIcon ( sIsReadonly, sIsRejected )
|
|
|
413 |
|
|
|
414 |
If sIsReadonly = enumDB_NO Then
|
|
|
415 |
BomIcon = enumBOM_EDITMODE
|
|
|
416 |
Else
|
|
|
417 |
If (sIsRejected = "") OR IsNull(sIsRejected) Then
|
|
|
418 |
BomIcon = enumBOM_NEW
|
|
|
419 |
|
|
|
420 |
ElseIf sIsRejected = enumDB_YES Then
|
|
|
421 |
BomIcon = enumBOM_REJECTED
|
|
|
422 |
|
|
|
423 |
ElseIf sIsRejected = enumDB_NO Then
|
|
|
424 |
BomIcon = enumBOM_ACCEPTED
|
|
|
425 |
|
|
|
426 |
End If
|
|
|
427 |
|
|
|
428 |
End If
|
|
|
429 |
|
|
|
430 |
End Function
|
|
|
431 |
'-----------------------------------------------------------------------------------------------------------------
|
|
|
432 |
Sub GetBomDetails ( nBom_id, ByRef outobjDetails )
|
|
|
433 |
Dim rsQry, query
|
|
|
434 |
OraDatabase.Parameters.Add "BOM_ID", nBom_id, ORAPARM_INPUT, ORATYPE_NUMBER
|
|
|
435 |
|
|
|
436 |
Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("BomDetails.sql") , ORADYN_DEFAULT )
|
|
|
437 |
|
|
|
438 |
If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then
|
|
|
439 |
outobjDetails.Item ("bom_id") = rsQry("bom_id")
|
|
|
440 |
outobjDetails.Item ("bom_name") = rsQry("bom_name")
|
|
|
441 |
outobjDetails.Item ("bom_name_id") = rsQry("bom_name_id")
|
|
|
442 |
outobjDetails.Item ("branch_id") = rsQry("branch_id")
|
|
|
443 |
outobjDetails.Item ("bom_version") = rsQry("bom_version")
|
|
|
444 |
outobjDetails.Item ("bom_lifecycle") = rsQry("bom_lifecycle")
|
|
|
445 |
outobjDetails.Item ("bom_comments") = rsQry("bom_comments")
|
|
|
446 |
outobjDetails.Item ("is_readonly") = rsQry("is_readonly")
|
|
|
447 |
outobjDetails.Item ("is_rejected") = rsQry("is_rejected")
|
|
|
448 |
outobjDetails.Item ("parent_bom_id") = rsQry("parent_bom_id")
|
|
|
449 |
outobjDetails.Item ("base_env_count") = rsQry("base_env_count")
|
|
|
450 |
outobjDetails.Item ("rtag_id_fk") = rsQry("rtag_id_fk")
|
|
|
451 |
|
|
|
452 |
Else
|
|
|
453 |
Err.Raise 8, "Sub GetBomDetails", "Empty record set returned. nBom_id="& nBom_id
|
|
|
454 |
|
|
|
455 |
End If
|
|
|
456 |
|
|
|
457 |
OraDatabase.Parameters.Remove "BOM_ID"
|
|
|
458 |
rsQry.Close
|
|
|
459 |
Set rsQry = Nothing
|
|
|
460 |
End Sub
|
|
|
461 |
'-----------------------------------------------------------------------------------------------------------------------------
|
|
|
462 |
Sub RaiseMsg ( SSerrFile, SSerrDesc )
|
|
|
463 |
' Usage: enumERROR, parval1 &"|"& parval2 &"|"& parval3 ...
|
|
|
464 |
Session( "DEPMGR_ERRDESCRIPTION" ) = SSerrDesc
|
|
|
465 |
Response.Redirect ("messages/"& SSerrFile )
|
|
|
466 |
End Sub
|
|
|
467 |
'-----------------------------------------------------------------------------------------------------------------------------
|
|
|
468 |
Function Wiki2HTML ( ByVal sWikiString )
|
|
|
469 |
'=== Definition ===
|
|
|
470 |
sWikiString = Replace ( sWikiString, "[BREAKLINE]", "<hr noshade size='1' color='#DAD7C8'>" )
|
|
|
471 |
sWikiString = Replace ( sWikiString, "[NEWLINE]", "<br>" )
|
|
|
472 |
|
|
|
473 |
Wiki2HTML = sWikiString
|
|
|
474 |
End Function
|
|
|
475 |
'----------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
476 |
Function GetProductIcon ( rsQry )
|
|
|
477 |
Const LIMG_BB_PRODUCT = "<img src='icons/i_product.gif' width='19' height='19' border='0' align='absmiddle'>"
|
|
|
478 |
Const LIMG_BB_PATCH = "<img src='icons/i_patch_small.gif' border='0' align='absmiddle' hspace='2'>"
|
|
|
479 |
Const LIMG_BB_PATCH_OBSOLETE = "<img src='icons/i_patch_small_obsolete.gif' border='0' align='absmiddle' hspace='2'>"
|
|
|
480 |
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.'>"
|
|
|
481 |
|
|
|
482 |
'-- Set default icon
|
|
|
483 |
GetProductIcon = LIMG_BB_PRODUCT
|
|
|
484 |
|
|
|
485 |
If IsObject(rsQry) Then
|
|
|
486 |
'/* Recordset is passed */
|
|
|
487 |
If rsQry("is_rejected") = enumDB_YES Then
|
|
|
488 |
GetProductIcon = LIMG_BB_PRODUCT_REJECTED
|
|
|
489 |
|
|
|
490 |
ElseIf rsQry("is_obsolete") = enumDB_YES Then
|
|
|
491 |
GetProductIcon = LIMG_BB_PATCH_OBSOLETE
|
|
|
492 |
|
|
|
493 |
ElseIf rsQry("is_patch") = enumDB_YES Then
|
|
|
494 |
GetProductIcon = LIMG_BB_PATCH
|
|
|
495 |
|
|
|
496 |
|
|
|
497 |
|
|
|
498 |
End If
|
|
|
499 |
|
|
|
500 |
Else
|
|
|
501 |
'/* Single Value is passed */
|
|
|
502 |
If rsQry = enumDB_YES Then
|
|
|
503 |
GetProductIcon = LIMG_BB_PRODUCT_REJECTED
|
|
|
504 |
End If
|
|
|
505 |
|
|
|
506 |
End If
|
|
|
507 |
|
|
|
508 |
End Function
|
|
|
509 |
'----------------------------------------------------------------------------------------------------------------------------------------------
|
|
|
510 |
Function GetRootVersion ( sBomVersion )
|
|
|
511 |
Dim tempArr
|
|
|
512 |
|
|
|
513 |
If InStr( sBomVersion, "." ) > 0 Then
|
|
|
514 |
'-- Dot separator found --
|
|
|
515 |
|
|
|
516 |
'-- Split version --
|
|
|
517 |
tempArr = Split( sBomVersion, "." )
|
|
|
518 |
|
|
|
519 |
'-- Return first element as root version
|
|
|
520 |
GetRootVersion = tempArr(0)
|
|
|
521 |
|
|
|
522 |
Else
|
|
|
523 |
'-- No dot separator, hence root version is version itself
|
|
|
524 |
GetRootVersion = sBomVersion
|
|
|
525 |
|
|
|
526 |
End If
|
|
|
527 |
|
|
|
528 |
End Function
|
|
|
529 |
'--------------------------------------------------------------------------------------------------------------------------
|
|
|
530 |
Function HighlightSubstring ( SSstr, SSsubstr )
|
|
|
531 |
Dim leftSTR, startPos
|
|
|
532 |
startPos = InStr( 1, SSstr, SSsubstr, 1 )
|
|
|
533 |
|
|
|
534 |
If startPos > 0 Then
|
|
|
535 |
leftSTR = Left ( SSstr, startPos - 1 )
|
|
|
536 |
HighlightSubstring = leftSTR &"<SPAN style='background:#ffff99;'>"& Mid( SSstr, startPos, Len(SSsubstr) ) &"</SPAN>"& Right ( SSstr, Len(SSstr) - Len(leftSTR) - Len(SSsubstr) )
|
|
|
537 |
Else
|
|
|
538 |
' Subtring not found
|
|
|
539 |
HighlightSubstring = SSstr
|
|
|
540 |
End If
|
|
|
541 |
|
|
|
542 |
End Function
|
|
|
543 |
'-----------------------------------------------------------------------------------------------------------------------------
|
|
|
544 |
Sub Destroy_All_Objects
|
|
|
545 |
On Error Resume Next
|
|
|
546 |
set brokenReadyHash = nothing
|
|
|
547 |
set brokenHash = nothing
|
|
|
548 |
set pkgInfoHash = nothing
|
|
|
549 |
set OraDatabase = nothing
|
|
|
550 |
set OraSession = nothing
|
|
|
551 |
set userdetailsHash = nothing
|
|
|
552 |
End Sub
|
|
|
553 |
'-----------------------------------------------------------------------------------------------------------------------------
|
|
|
554 |
Sub Get_Pkg_Short_Info( SSparPv_id, SSpkgID, SSpkgName, SSpkgVersion, SSsrc_path, SSpkgDesc, BBdlocked )
|
|
|
555 |
Dim rsTemp, Query_String
|
|
|
556 |
If IsEmpty(SSparPv_id) Then Exit Sub
|
|
|
557 |
|
|
|
558 |
Query_String = _
|
|
|
559 |
" SELECT pkg.pkg_id, pkg.pkg_name, pv.pkg_version, pv.src_path, pv.pv_description, pv.dlocked"&_
|
|
|
560 |
" FROM packages pkg, package_versions pv"&_
|
|
|
561 |
" WHERE pkg.pkg_id = pv.pkg_id AND pv.pv_id ="& SSparPv_id
|
|
|
562 |
|
|
|
563 |
Set rsTemp = OraDatabase.DbCreateDynaset( Query_String, cint(0))
|
|
|
564 |
|
|
|
565 |
If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
|
|
|
566 |
SSpkgID = rsTemp.Fields("pkg_id")
|
|
|
567 |
SSpkgName = rsTemp.Fields("pkg_name")
|
|
|
568 |
SSpkgVersion = rsTemp.Fields("pkg_version")
|
|
|
569 |
SSsrc_path = rsTemp.Fields("src_path")
|
|
|
570 |
SSpkgDesc = rsTemp.Fields("pv_description")
|
|
|
571 |
BBdlocked = rsTemp.Fields("dlocked")
|
|
|
572 |
End If
|
|
|
573 |
|
|
|
574 |
rsTemp.Close
|
|
|
575 |
Set rsTemp = nothing
|
|
|
576 |
End Sub
|
|
|
577 |
'-----------------------------------------------------------------------------------------------------------------------------
|
|
|
578 |
Sub Create_Folder ( sCreateIn, sFolderName )
|
|
|
579 |
Dim filesys, currfolder, folcoll, subfol
|
|
|
580 |
Set filesys = CreateObject("Scripting.FileSystemObject")
|
|
|
581 |
If filesys.FolderExists( sCreateIn ) Then
|
|
|
582 |
Set currfolder = filesys.GetFolder( sCreateIn )
|
|
|
583 |
Set folcoll = currfolder.SubFolders
|
|
|
584 |
If NOT filesys.FolderExists( sCreateIn &"\"& sFolderName ) Then
|
|
|
585 |
folcoll.Add( sFolderName )
|
|
|
586 |
End If
|
|
|
587 |
End If
|
|
|
588 |
End Sub
|
|
|
589 |
'-----------------------------------------------------------------------------------------------------------------------------
|
|
|
590 |
Sub DeleteFile( SSpath )
|
|
|
591 |
Dim filesys
|
|
|
592 |
Set filesys = CreateObject("Scripting.FileSystemObject")
|
|
|
593 |
If filesys.FileExists(SSpath) Then
|
|
|
594 |
filesys.DeleteFile SSpath, TRUE
|
|
|
595 |
End If
|
|
|
596 |
Set filesys = nothing
|
|
|
597 |
End Sub
|
|
|
598 |
'-----------------------------------------------------------------------------------------------------------------------------
|
|
|
599 |
Sub Get_Pkg_Info ( SSpv_id, NNrtag )
|
|
|
600 |
Dim rsTemp, Query_String
|
|
|
601 |
OraDatabase.Parameters.Add "PV_ID", SSpv_id, ORAPARM_INPUT, ORATYPE_NUMBER
|
|
|
602 |
OraDatabase.Parameters.Add "RTAG_ID", NNrtag, ORAPARM_INPUT, ORATYPE_NUMBER
|
|
|
603 |
OraDatabase.Parameters.Add "RETURN_NUMBER", NULL, ORAPARM_OUTPUT, ORATYPE_NUMBER
|
|
|
604 |
|
|
|
605 |
|
|
|
606 |
pkgInfoHash.Item ("can_unofficial") = "false"
|
|
|
607 |
|
|
|
608 |
'/* Get Package Details */
|
|
|
609 |
Set rsTemp = OraDatabase.DbCreateDynaset( GetQuery("PackageDetails.sql"), cint(0))
|
|
|
610 |
|
|
|
611 |
If ((NOT rsTemp.BOF) AND (NOT rsTemp.EOF)) Then
|
|
|
612 |
pkgInfoHash.Add "pv_id", (rsTemp.Fields("pv_id"))
|
|
|
613 |
pkgInfoHash.Add "pkg_id", (rsTemp.Fields("pkg_id"))
|
|
|
614 |
pkgInfoHash.Add "pkg_name", (rsTemp.Fields("pkg_name"))
|
|
|
615 |
pkgInfoHash.Add "pkg_version", (rsTemp.Fields("pkg_version"))
|
|
|
616 |
pkgInfoHash.Add "v_ext", (rsTemp.Fields("v_ext"))
|
|
|
617 |
pkgInfoHash.Add "comments", (rsTemp.Fields("comments"))
|
|
|
618 |
|
|
|
619 |
pkgInfoHash.Add "modified_stamp", (rsTemp.Fields("modified_stamp"))
|
|
|
620 |
pkgInfoHash.Add "modifier", (rsTemp.Fields("modifier"))
|
|
|
621 |
pkgInfoHash.Add "modifier_id", (rsTemp.Fields("modifier_id"))
|
|
|
622 |
pkgInfoHash.Add "modifier_email", (rsTemp.Fields("modifier_email"))
|
|
|
623 |
|
|
|
624 |
pkgInfoHash.Add "created_stamp", (rsTemp.Fields("created_stamp"))
|
|
|
625 |
pkgInfoHash.Add "creator", (rsTemp.Fields("creator"))
|
|
|
626 |
pkgInfoHash.Add "creator_email", (rsTemp.Fields("creator_email"))
|
|
|
627 |
|
|
|
628 |
pkgInfoHash.Add "owner", (rsTemp.Fields("owner"))
|
|
|
629 |
pkgInfoHash.Add "owner_email", (rsTemp.Fields("owner_email"))
|
|
|
630 |
|
|
|
631 |
pkgInfoHash.Add "dlocked", (rsTemp.Fields("dlocked"))
|
|
|
632 |
pkgInfoHash.Add "proj_id", (rsTemp.Fields("proj_id"))
|
|
|
633 |
pkgInfoHash.Add "rtag_id", (rsTemp.Fields("rtag_id"))
|
|
|
634 |
pkgInfoHash.Add "rtag_name", (rsTemp.Fields("rtag_name"))
|
|
|
635 |
pkgInfoHash.Add "pkg_label", (rsTemp.Fields("pkg_label"))
|
|
|
636 |
pkgInfoHash.Add "src_path", (rsTemp.Fields("src_path"))
|
|
|
637 |
pkgInfoHash.Add "pv_description", (rsTemp.Fields("pv_description"))
|
|
|
638 |
pkgInfoHash.Add "last_pv_id", (rsTemp.Fields("last_pv_id"))
|
|
|
639 |
pkgInfoHash.Add "previous_version", (rsTemp.Fields("previous_version"))
|
|
|
640 |
pkgInfoHash.Add "release_notes_info", (rsTemp.Fields("release_notes_info"))
|
|
|
641 |
|
|
|
642 |
pkgInfoHash.Add "is_patch", (rsTemp.Fields("is_patch"))
|
|
|
643 |
pkgInfoHash.Add "is_obsolete", (rsTemp.Fields("is_obsolete"))
|
|
|
644 |
pkgInfoHash.Add "obsolete_comments", (rsTemp.Fields("obsolete_comments"))
|
|
|
645 |
|
|
|
646 |
pkgInfoHash.Add "build_type", (rsTemp.Fields("build_type"))
|
|
|
647 |
pkgInfoHash.Add "change_type", (rsTemp.Fields("change_type"))
|
|
|
648 |
|
|
|
649 |
End If
|
|
|
650 |
|
|
|
651 |
|
|
|
652 |
|
|
|
653 |
|
|
|
654 |
|
|
|
655 |
|
|
|
656 |
|
|
|
657 |
|
|
|
658 |
End Sub
|
|
|
659 |
'-----------------------------------------------------------------------------------------------------------------------------
|
|
|
660 |
Function Folder_Is_Empty ( sPath )
|
|
|
661 |
Dim filesys, oFolder
|
|
|
662 |
Set filesys = CreateObject("Scripting.FileSystemObject")
|
|
|
663 |
|
|
|
664 |
If filesys.FolderExists( sPath ) Then
|
|
|
665 |
Set oFolder = filesys.GetFolder( sPath )
|
|
|
666 |
If ( oFolder.Files.Count + oFolder.SubFolders.Count ) > 0 Then
|
|
|
667 |
Folder_Is_Empty = FALSE
|
|
|
668 |
Else
|
|
|
669 |
Folder_Is_Empty = TRUE
|
|
|
670 |
End If
|
|
|
671 |
Else
|
|
|
672 |
Folder_Is_Empty = TRUE
|
|
|
673 |
End If
|
|
|
674 |
|
|
|
675 |
End Function
|
|
|
676 |
'-----------------------------------------------------------------------------------------------------------------------------
|
|
|
677 |
Sub DeleteFolder( SSpath )
|
|
|
678 |
Dim filesys
|
|
|
679 |
Set filesys = CreateObject ("Scripting.FileSystemObject")
|
|
|
680 |
If filesys.FolderExists( SSpath ) Then
|
|
|
681 |
'Set oFolder = filesys.GetFolder( SSpath )
|
|
|
682 |
filesys.DeleteFolder SSpath ,TRUE
|
|
|
683 |
End If
|
|
|
684 |
End Sub
|
|
|
685 |
'-----------------------------------------------------------------------------------------------------------------------------
|
|
|
686 |
Function GetCurrentParameters( nProjId, nRtagId, nPvId )
|
|
|
687 |
Dim rsQry,query, OraSession2, OraDatabase2
|
|
|
688 |
|
|
|
689 |
' Set defaults
|
|
|
690 |
nProjId = -1
|
|
|
691 |
nRtagId = -1
|
|
|
692 |
nPvId = -1
|
|
|
693 |
|
|
|
694 |
Set OraSession2 = CreateObject("OracleInProcServer.XOraSession")
|
|
|
695 |
Set OraDatabase2 = OraSession2.OpenDatabase( "RELEASEM", "DEPLOYMENT_MANAGER/DEPLOYMENT_MANAGER", Cint(0))
|
|
|
696 |
|
|
|
697 |
|
|
|
698 |
' Get parameters from database
|
|
|
699 |
OraDatabase2.Parameters.Add "ProjId", Request("proj_id"), ORAPARM_INPUT, ORATYPE_VARCHAR2
|
|
|
700 |
OraDatabase2.Parameters.Add "Rtag_id", Request("rtag_id"), ORAPARM_INPUT, ORATYPE_VARCHAR2
|
|
|
701 |
OraDatabase2.Parameters.Add "results", NULL, ORAPARM_OUTPUT, ORATYPE_CURSOR
|
|
|
702 |
|
|
|
703 |
OraDatabase2.ExecuteSQL " BEGIN RELEASE_MANAGER.PK_APP_UTILS.GET_CURRENT_PARAMETERS ( :ProjId, :Rtag_id, :results ); END;"
|
|
|
704 |
|
|
|
705 |
Set rsQry = OraDatabase2.Parameters("results").Value
|
|
|
706 |
|
|
|
707 |
OraDatabase2.Parameters.Remove "ProjId"
|
|
|
708 |
OraDatabase2.Parameters.Remove "Rtag_id"
|
|
|
709 |
OraDatabase2.Parameters.Remove "results"
|
|
|
710 |
|
|
|
711 |
|
|
|
712 |
If rsQry.RecordCount > 0 Then
|
|
|
713 |
|
|
|
714 |
nProjId = CDbl(rsQry("PROJ_ID"))
|
|
|
715 |
nRtagId = CDbl(rsQry("RTAG_ID"))
|
|
|
716 |
|
|
|
717 |
End If
|
|
|
718 |
|
|
|
719 |
rsQry.Close()
|
|
|
720 |
Set rsQry = nothing
|
|
|
721 |
|
|
|
722 |
Set OraSession2 = Nothing
|
|
|
723 |
Set Oradatabase2 = Nothing
|
|
|
724 |
|
|
|
725 |
|
|
|
726 |
' Set pv_id parameter
|
|
|
727 |
If Request("pv_id") <> "" Then nPvId = CDbl(Request("pv_id"))
|
|
|
728 |
|
|
|
729 |
|
|
|
730 |
End Function
|
|
|
731 |
%>
|