Subversion Repositories DevTools

Rev

Rev 5518 | Rev 5958 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
5355 dpurdie 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
4
'|                                                   |
5
'|                 wSyncProducts                     |
6
'|                                                   |
7
'=====================================================
8
%>
9
<%
10
Option explicit
11
Response.Expires = 0
12
%>
13
<%
14
'To enable the script timeout to 10 mins
15
Server.ScriptTimeout=360
16
%>
17
<!--#include file="common/globals.asp"-->
18
<!--#include file="common/config.asp"-->
19
<!--#include file="common/common_subs.asp"-->
20
<!--#include file="common/_popup_window_common.asp"-->
21
<%
22
'------------ ACCESS CONTROL ------------------
23
%>
24
<!--#include file="_access_control_general.asp"-->
25
<%
26
'------------ VARIABLE DEFINITION -------------
27
Dim rsQry
28
Dim aProducts
29
Dim numOfRows
30
Dim rowNum
31
Dim objFormCollector
32
Dim currPkg_id
33
Dim Query_String
34
Dim errorMessage
35
Dim objList
36
Dim objHideList
37
Dim key
38
 
39
'------------ CONSTANTS DECLARATION -----------
40
'------------ VARIABLE INIT -------------------
41
parBom_id = Request("bom_id")
42
Set objFormCollector = CreateObject("Scripting.Dictionary")
43
Set objList = CreateObject("Scripting.Dictionary")
44
Set objHideList = CreateObject("Scripting.Dictionary")
45
 
46
'------------ CONDITIONS ----------------------
47
'----------------------------------------------
48
%>
49
<%
50
'----------------------------------------------------------------------------------------------------------------------------------
51
'   Get some basic information required by the form
52
'
53
Sub GetFormDetails ( nBom_id, ByRef outobjDetails )
54
   Dim rsQry, query
55
   OraDatabase.Parameters.Add "BOM_ID", nBom_id, ORAPARM_INPUT, ORATYPE_NUMBER
56
 
57
   query = _
58
   "  SELECT rt.RTAG_ID, "&_
59
   "         rt.RTAG_NAME, "&_
60
   "         rt.PRODUCT_STATE_USED "&_
61
   "    FROM RELEASE_TAGS rt,"&_
62
   "         BOMS bo"&_
63
   "   WHERE bo.RTAG_ID_FK = rt.RTAG_ID"&_
64
   "     AND bo.BOM_ID = :BOM_ID"
65
 
66
   Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT )
67
   If (NOT rsQry.BOF) AND (NOT rsQry.EOF)Then
68
      outobjDetails.Item ("rtag_id_fk") = rsQry("rtag_id")
69
      outobjDetails.Item ("rtag_name") = rsQry("rtag_name")
70
      outobjDetails.Item ("product_state_used") = rsQry("product_state_used")
71
   End If
72
 
73
 
74
   OraDatabase.Parameters.Remove "BOM_ID"
75
 
76
   rsQry.Close
77
   Set rsQry = Nothing
78
End Sub
79
'----------------------------------------------------------------------------------------------------------------------------------
80
Sub UpdateProducts()
81
   Dim aDiffList, numOfRows, rowNum, OraParameter
82
   Const os_id_column = 2
83
   Const old_prod_id_column = 1
84
 
85
   '/* Get Latest From Release Manager */
86
   OraDatabase.Parameters.Add "BOM_ID",  parBom_id,                           ORAPARM_INPUT, ORATYPE_NUMBER
87
   OraDatabase.Parameters.Add "RTAG_ID", objFormCollector.Item("rtag_id_fk"), ORAPARM_INPUT, ORATYPE_NUMBER
88
 
89
 
90
   Query_String = ReadFile( rootPath & "queries\CompareBomWithLatestFromRM.sql" )
91
   If objFormCollector.Item ("product_state_used") =  "Y"   Then
92
      Query_String = Replace( Query_String, "/* AND rc.PRODUCT_STATE = 3 */", " AND rc.PRODUCT_STATE = 3")
93
   End If
94
 
95
   Set rsQry = OraDatabase.DbCreateDynaset( Query_String, ORADYN_DEFAULT )
96
 
97
 
98
   '-- Get Rows
99
   If rsQry.RecordCount > 0 Then
100
      aDiffList = rsQry.GetRows()
101
   Else
102
      '-- No differencses with Release Manager, hence exit
103
      OraDatabase.Parameters.Remove "BOM_ID"
104
      OraDatabase.Parameters.Remove "RTAG_ID"
105
      Exit Sub
106
   End If
107
 
108
   ' Get the project id so we can filter out PopulateSBOMField() for SSW later.
109
   Dim rsProjId, proj_id
110
   Set rsProjId = OraDatabase.DbCreateDynaset("SELECT proj_id FROM branches br, boms b WHERE br.branch_id = b.branch_id AND b.bom_id = " & parBom_id, cint(0))
111
   proj_id = rsProjId("proj_id")
112
   rsProjId.Close()
113
   Set rsProjId = nothing
114
 
115
   '/* Update Versions */
116
 
117
   OraDatabase.Parameters.Add "OLD_PROD_ID", 0,                       ORAPARM_INPUT, ORATYPE_NUMBER
118
   OraDatabase.Parameters.Add "NEW_PROD_ID", 0,                       ORAPARM_INPUT, ORATYPE_NUMBER
119
   OraDatabase.Parameters.Add "OS_ID",       0,                       ORAPARM_INPUT, ORATYPE_NUMBER
120
   OraDatabase.Parameters.Add "USER_ID",     objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBER
121
 
122
   Set OraParameter = OraDatabase.Parameters
123
 
124
   '    Try the database operations
125
   '    Must have On Error Resume Next in effect in order for the objEH.CatchORA to operate
126
   '
127
   objEH.TryORA ( OraSession )
128
   On Error Resume Next
129
 
130
   numOfRows = UBound( aDiffList, 2 )
131
 
132
   For rowNum = 0 To numOfRows
133
 
134
      If Request("update_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( old_prod_id_column, rowNum ) ) <> "" Then
135
         OraParameter("OLD_PROD_ID").Value = aDiffList( old_prod_id_column, rowNum )
136
         OraParameter("NEW_PROD_ID").Value = Request("update_" & aDiffList( os_id_column, rowNum ) &"_"& aDiffList( old_prod_id_column, rowNum ) )
137
         OraParameter("OS_ID").Value = aDiffList( os_id_column, rowNum )
138
 
139
'******************************************************************************
140
' This is causing problems for SSW, VTK and SEA and they don't use it, so it
141
' has been disabled for those projects until a fix is found.
142
'******************************************************************************
143
         If proj_id <> 421 AND proj_id <> 361 AND proj_id <> 122 AND proj_id <> 164 AND proj_id <> 581 Then
144
            Call PopulateSBOMField(parBom_id, Request("update_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( old_prod_id_column, rowNum ) ), NULL, NULL )
145
         End If
146
 
147
         'Response.Write("<script>alert('" &_
148
         '                     "OLD_PROD_ID=" & OraParameter("OLD_PROD_ID").Value & "\n" &_
149
         '                     "NEW_PROD_ID=" & OraParameter("NEW_PROD_ID").Value & "\n" &_
150
         '                     "OS_ID=" & OraParameter("OS_ID").Value & "\n" &_
151
         '                     "USER_ID=" & OraParameter("USER_ID").Value & "\n" &_
152
         '                     "rtag_id_fk=" & objFormCollector.Item("rtag_id_fk") & "\n" &_
153
         '                     "update_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( old_prod_id_column, rowNum ) &_
154
         '                     "')</script>")
155
 
156
         OraDatabase.ExecuteSQL "BEGIN   pk_Product.Replace_Product ( :OLD_PROD_ID, :NEW_PROD_ID, :OS_ID, :USER_ID );   END;"
157
      End If
158
   Next
159
 
160
 
161
   '--- Log Action ---
162
   'objEH.LogAction  _
163
   'objAccessControl.UserId, _
164
   'enumAT_EVENT_COMMENT, _
165
   '"Sub UpdateProducts for OS list="& Request("spos_id_list"), _
166
   'SCRIPT_NAME, _
167
   '"Updated Products with new versions.", _
168
   'OraDatabase
169
 
170
 
171
   objEH.CatchORA ( OraSession )
172
 
173
   OraDatabase.Parameters.Remove "OLD_PROD_ID"
174
   OraDatabase.Parameters.Remove "NEW_PROD_ID"
175
   OraDatabase.Parameters.Remove "OS_ID"
176
   OraDatabase.Parameters.Remove "USER_ID"
177
End Sub
178
'----------------------------------------------------------------------------------------------------------------------------------
179
Sub AddPatches()
180
   Dim aDiffList, numOfRows, rowNum, OraParameter
181
   Const os_id_column = 2
182
   Const prod_id_column = 1
183
 
184
   '/* Get Lates Release Manager */
185
   OraDatabase.Parameters.Add "BOM_ID", parBom_id,    ORAPARM_INPUT, ORATYPE_NUMBER
186
   Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("NewPatches.sql"), ORADYN_DEFAULT )
5955 dpurdie 187
   OraDatabase.Parameters.Remove "BOM_ID"
5355 dpurdie 188
 
189
 
190
   '-- Get Rows
191
   If rsQry.RecordCount > 0 Then
192
      aDiffList = rsQry.GetRows()
193
 
194
   Else
195
      '-- No differences with Release Manager, hence exit
196
      Exit Sub
197
   End If
198
 
199
   '/* Update Versions */
5955 dpurdie 200
   OraDatabase.Parameters.Add "BOM_ID", parBom_id,    ORAPARM_INPUT, ORATYPE_NUMBER
5355 dpurdie 201
   OraDatabase.Parameters.Add "NEW_PROD_ID", 0,                       ORAPARM_INPUT, ORATYPE_NUMBER
202
   OraDatabase.Parameters.Add "OS_ID",       0,                       ORAPARM_INPUT, ORATYPE_NUMBER
203
   OraDatabase.Parameters.Add "USER_ID",     objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBER
204
 
205
   Set OraParameter = OraDatabase.Parameters
206
 
207
   objEH.TryORA ( OraSession )
208
   On Error Resume Next
209
 
210
   numOfRows = UBound( aDiffList, 2 )
211
 
212
   For rowNum = 0 To numOfRows
213
 
214
      If Request("add_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( prod_id_column, rowNum ) ) <> "" Then
215
         OraParameter("NEW_PROD_ID").Value = Request("add_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( prod_id_column, rowNum ) )
216
         OraParameter("OS_ID").Value = aDiffList( os_id_column, rowNum )
217
 
218
         OraDatabase.ExecuteSQL "BEGIN   pk_Product.Add_Product ( :NEW_PROD_ID, :OS_ID, :USER_ID );   END;"
219
      End If
220
 
221
   Next
222
 
223
   objEH.CatchORA ( OraSession )
224
 
225
   OraDatabase.Parameters.Remove "BOM_ID"
226
   OraDatabase.Parameters.Remove "NEW_PROD_ID"
227
   OraDatabase.Parameters.Remove "OS_ID"
228
   OraDatabase.Parameters.Remove "USER_ID"
229
End Sub
230
'----------------------------------------------------------------------------------------------------------------------------------
231
Sub HideProducts()
232
   Dim aDiffList, numOfRows, rowNum, OraParameter
233
   Const os_id_column = 2
234
   Const old_prod_id_column = 1
235
 
236
   '/* Get Latest from Release Manager */
237
   OraDatabase.Parameters.Add "BOM_ID",  parBom_id,                           ORAPARM_INPUT, ORATYPE_NUMBER
238
   OraDatabase.Parameters.Add "RTAG_ID", objFormCollector.Item("rtag_id_fk"), ORAPARM_INPUT, ORATYPE_NUMBER
239
 
240
   Query_String = ReadFile( rootPath & "queries\CompareBomWithLatestFromRM.sql" )
241
   If objFormCollector.Item ("product_state_used") =  "Y"   Then
242
      Query_String = Replace( Query_String, "/* AND rc.PRODUCT_STATE IN (3, 5) */", " AND rc.PRODUCT_STATE IN (3, 5)")
243
   End   If
244
 
245
   Set rsQry = OraDatabase.DbCreateDynaset( Query_String, ORADYN_DEFAULT )
246
 
5955 dpurdie 247
   OraDatabase.Parameters.Remove "BOM_ID"
248
   OraDatabase.Parameters.Remove "RTAG_ID"
249
 
5355 dpurdie 250
   '-- Get Rows
251
   If rsQry.RecordCount > 0 Then
252
      aDiffList = rsQry.GetRows()
253
 
254
   Else
255
      '-- No differences with Release Manager, hence exit
256
      Exit Sub
257
 
258
   End If
259
 
260
   '/* Hide Versions */
5955 dpurdie 261
   OraDatabase.Parameters.Add "BOM_ID",  parBom_id,                           ORAPARM_INPUT, ORATYPE_NUMBER
262
   OraDatabase.Parameters.Add "RTAG_ID", objFormCollector.Item("rtag_id_fk"), ORAPARM_INPUT, ORATYPE_NUMBER
5355 dpurdie 263
   OraDatabase.Parameters.Add "NEW_PROD_ID", 0,                       ORAPARM_INPUT, ORATYPE_NUMBER
264
   OraDatabase.Parameters.Add "OS_ID",       0,                       ORAPARM_INPUT, ORATYPE_NUMBER
265
   OraDatabase.Parameters.Add "USER_ID",     objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBER
266
 
267
   Set OraParameter = OraDatabase.Parameters
268
 
269
   On Error Resume Next
270
   objEH.TryORA ( OraSession )
271
 
272
   numOfRows = UBound( aDiffList, 2 )
273
 
274
   For rowNum = 0 To numOfRows
275
      If Request("hide_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( old_prod_id_column, rowNum ) ) <> "" Then
276
         OraParameter("NEW_PROD_ID").Value = Request("hide_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( old_prod_id_column, rowNum ) )
277
         OraParameter("OS_ID").Value = aDiffList( os_id_column, rowNum )
278
 
279
         OraDatabase.ExecuteSQL "BEGIN   pk_Product.Hide_Product ( :NEW_PROD_ID, :OS_ID, :USER_ID );   END;"
280
      End If
281
   Next
282
 
283
   '--- Log Action ---
284
   'objEH.LogAction  _
285
   'objAccessControl.UserId, _
286
   'enumAT_EVENT_COMMENT, _
287
   '"Sub UpdateProducts for OS list="& Request("spos_id_list"), _
288
   'SCRIPT_NAME, _
289
   '"Updated Products with new versions.", _
290
   'OraDatabase
291
 
292
   objEH.CatchORA ( OraSession )
293
 
294
   OraDatabase.Parameters.Remove "BOM_ID"
295
   OraDatabase.Parameters.Remove "RTAG_ID"
296
   OraDatabase.Parameters.Remove "NEW_PROD_ID"
297
   OraDatabase.Parameters.Remove "OS_ID"
298
   OraDatabase.Parameters.Remove "USER_ID"
299
End Sub
300
'----------------------------------------------------------------------------------------------------------------------------------
301
Sub HidePatches()
302
   Dim aDiffList, numOfRows, rowNum, OraParameter
303
   Const os_id_column = 2
304
   Const prod_id_column = 1
305
 
306
   '/* Get Latest from Release Manager */
307
   OraDatabase.Parameters.Add "BOM_ID", parBom_id,    ORAPARM_INPUT, ORATYPE_NUMBER
308
   Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("NewPatches.sql"), ORADYN_DEFAULT )
5955 dpurdie 309
   OraDatabase.Parameters.Remove "BOM_ID"
5355 dpurdie 310
 
311
   '-- Get Rows
312
   If rsQry.RecordCount > 0 Then
313
      aDiffList = rsQry.GetRows()
314
 
315
   Else
316
      '-- No differencses with Release Manager, hence exit
317
      Exit Sub
318
   End If
319
 
320
 
321
 
322
   '/* Hide Versions */
5955 dpurdie 323
   OraDatabase.Parameters.Add "BOM_ID", parBom_id,    ORAPARM_INPUT, ORATYPE_NUMBER
5355 dpurdie 324
   OraDatabase.Parameters.Add "NEW_PROD_ID", 0,                       ORAPARM_INPUT, ORATYPE_NUMBER
325
   OraDatabase.Parameters.Add "OS_ID",       0,                       ORAPARM_INPUT, ORATYPE_NUMBER
326
   OraDatabase.Parameters.Add "USER_ID",     objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBER
327
 
328
   Set OraParameter = OraDatabase.Parameters
329
 
330
   objEH.TryORA ( OraSession )
331
   On Error Resume Next
332
 
333
   numOfRows = UBound( aDiffList, 2 )
334
 
335
   For rowNum = 0 To numOfRows
336
      If Request("hide_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( prod_id_column, rowNum ) ) <> "" Then
337
         OraParameter("NEW_PROD_ID").Value = Request("hide_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( prod_id_column, rowNum ) )
338
         OraParameter("OS_ID").Value = aDiffList( os_id_column, rowNum )
339
 
340
         OraDatabase.ExecuteSQL "BEGIN   pk_Product.Hide_Product ( :NEW_PROD_ID, :OS_ID, :USER_ID );   END;"
341
      End If
342
   Next
343
 
344
   objEH.CatchORA ( OraSession )
345
 
346
   OraDatabase.Parameters.Remove "BOM_ID"
347
   OraDatabase.Parameters.Remove "NEW_PROD_ID"
348
   OraDatabase.Parameters.Remove "OS_ID"
349
   OraDatabase.Parameters.Remove "USER_ID"
350
End Sub
351
'----------------------------------------------------------------------------------------------------------------------------------
352
%>
353
<%
354
'------------ RUN BEFORE PAGE RENDER ----------
355
Call GetFormDetails ( parBom_id, objFormCollector )
356
 
357
If Request("action") <> "" Then
358
   ' -- Need to provide some level of validation
359
   '    Cannot handle multiple updates to the same package
360
   '    These can be detected by examining all the Update requests that have badly formed values
361
    Dim Item
362
        For Each Item In Request.Form
363
        If InStr(1, Item, "update_" , 1) = 1 Then
364
            If InStr( 1, Request.Form(Item), ",", 1) <> 0 Then
365
                errorMessage = "The selected set of packages to be updated is incorrect<br>" &_
366
                               "The selection attempts to update a target package with more than one version of a package"
367
                Exit For
368
            End If
369
        End If
370
    Next
371
 
372
    ' --- Form is Valid ---
373
    If isEmpty(errorMessage) Then
374
       Call UpdateProducts()
375
 
376
       Call AddPatches()
377
 
378
       Call HideProducts()
379
 
380
       Call HidePatches()
381
 
382
       If objEH.Finally Then
383
          Call OpenInParentWindow ("Bom_Home.asp?UPDATED=OK"& objPMod.ComposeURLWithout("rfile") )
384
          Call CloseWindow()
385
       End If
386
    Else
387
    Response.Write ("WTF")
388
    End If
389
End If
390
 
391
'----------------------------------------------
392
%>
393
 
394
 
395
<html>
396
<head>
397
<SCRIPT LANGUAGE="JavaScript">
398
<!-- Begin
399
 
400
var checkflag = "false";
401
 
402
function check(field) {
403
   if (checkflag == "false") {
404
      for (i = 0; i < field.length; i++) {
405
         field[i].checked = true;
406
      }
407
      checkflag = "true";
408
      return "Uncheck all";
409
   }
410
   else {
411
      for (i = 0; i < field.length; i++) {
412
         field[i].checked = false;
413
      }
414
      checkflag = "false";
415
      return "Check all";
416
   }
417
}
418
//  End -->
419
</script>
420
<script language="javascript">
421
 
422
function checkAllHide()
423
{
424
   var args = arguments;
425
   start_point:
426
   for (var i=0;i<document.forms[0].elements.length;i++) {
427
      found = false;
428
      var e=document.forms[0].elements[i];
429
      if ((e.name != 'checkall') && (e.type=='checkbox')) {
430
         for (var j = 0; j < args.length; j++)
431
            if (args[j] == e.name) {
432
               e.checked=document.forms[0].checkallhide.checked;
433
            }
434
      }
435
   }
436
}
437
 
438
function checkAllAdd()
439
{
440
   var args = arguments;
441
   start_point:
442
   for (var i=0;i<document.forms[0].elements.length;i++) {
443
 
444
      found = false;
445
      var e=document.forms[0].elements[i];
446
 
447
      if ((e.name != 'checkall') && (e.type=='checkbox')) {
448
         for (var j = 0; j < args.length; j++)
449
            if (args[j] == e.name) {
450
               e.checked=document.forms[0].checkalladd.checked;
451
            }
452
      }
453
   }
454
}
455
 
5518 dpurdie 456
// Toggle all checkboxes whose name begins with any strings listed as args to the function.
457
function toggleAll(elem)
5355 dpurdie 458
{
459
   var args = arguments;
460
   start_point:
461
 
462
   for (var i=0;i<document.forms[0].elements.length;i++) {
463
 
464
      var e=document.forms[0].elements[i];
465
 
466
      if (e.type=='checkbox') {
5518 dpurdie 467
         for (var j = 1; j < args.length; j++)
5355 dpurdie 468
            if (e.name.indexOf(args[j]) == 0) {
5518 dpurdie 469
               e.checked=elem.checked;
5355 dpurdie 470
            }
471
      }
472
   }
473
   return true;
474
}
475
 
476
</script>
477
 
478
 
479
<title>Deployment Manager</title>
480
<link rel="shortcut icon" href="<%=FavIcon%>"/>
481
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
482
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
483
<link href="scripts/deployment_manager.css" rel="stylesheet" type="text/css">
484
<script language="JavaScript" src="scripts/common.js"></script>
485
<style type="text/css">
486
<!--
487
.style8 {font-size: 12px}
488
-->
489
</style>
490
</head>
491
 
492
<body background="images/bg_bage_0.gif" leftmargin="0" topmargin="0" onLoad="self.focus();">
493
<table width="100%"  border="0" cellspacing="0" cellpadding="10">
494
   <tr>
495
      <td bgcolor="#FFFFFF" class="body_txt"><span class="body_h1"><img src="icons/i_linkarrow_black.gif" width="11" height="11" align="absmiddle">&nbsp;Update Products </span> <br>
496
         Update Products, selecting the latest from "Release Manager".
497
      </td>
498
   </tr>
499
   <%
500
   '-- FROM START --------------------------------------------------------------------------------------------------------------
501
   objFormComponent.FormName = "FormName"
502
   objFormComponent.Action = SCRIPT_NAME
503
   objFormComponent.OnSubmit = "ShowProgress();"
504
   Call objFormComponent.FormStart()
505
   %>
506
   <tr>
507
      <td background="images/bg_login.gif">
508
         <table width="100%"  border="0" cellspacing="0" cellpadding="0">
509
            <tr>
510
               <td><%=ProgressBar()%>
511
                  <input name="btn" type="submit" class="form_btn" value="Update Selected">
512
                  <input name="btn" type="reset" class="form_btn" value="Cancel" onClick="self.close();">
513
               </td>
514
               <td align="left">&nbsp;
515
               </td>
516
            </tr>
517
         </table>
518
      </td>
519
   </tr>
520
   <tr>
521
      <td>
522
         <!-- PRODUCT NAME RESULTS ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
523
         <table width="100%"  border="0" cellspacing="10" cellpadding="0">
524
            <tr>
525
               <td width="100%" valign="top" nowrap class="body_txt">
526
                  <!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ -->
527
                  <!--#include file="messages/_msg_inline.asp"-->
528
                  <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
529
                  <%
530
                  If objFormCollector.Item("rtag_id_fk") = "" Then
531
                     Call Messenger ( "This BOM does not have Release Manager Reference release.<br>Please edit BOM properties first.<br>", 1, "100%" )
532
                  End If
533
                  If NOT isEmpty(errorMessage) Then
534
                    Call Messenger ( errorMessage, 1, "100%" )
535
                  End If
536
                  %>
537
                  <!-- UPDATE PRODUCTS +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
538
                  Select Products and click Update.
539
                  <table width="100%"  border="0" cellspacing="3" cellpadding="0">
540
                     <tr>
5518 dpurdie 541
                        <td width="1%" nowrap background="images/bg_bage_0h.gif" class="body_col" style="padding-right: 0px;">
542
                            Update <input type="checkbox" onclick="toggleAll(this, 'add_','update_')">
543
                        </td>
5355 dpurdie 544
                        <td width="1%" nowrap background="images/bg_bage_0h.gif" class="body_col"></td>
545
                        <td width="40%" align="right" nowrap background="images/bg_bage_0h.gif" class="body_col"><div align="left">Location</div></td>
546
                        <td width="20%" align="right" nowrap background="images/bg_bage_0h.gif" class="body_col"><div align="left">Version</div></td>
547
                        <td align="right" background="images/bg_bage_0h.gif" class="body_col"><div align="center">Hide</div></td>
548
                        <td align="right" background="images/bg_bage_0h.gif" class="body_col"><div align="left"><img src="images/spacer.gif" width="1" height="18" align="absmiddle">Latest</div>                <div align="left"></div></td>
549
                     </tr>
550
                     <%
551
                     OraDatabase.Parameters.Add "BOM_ID", parBom_id,    ORAPARM_INPUT, ORATYPE_NUMBER
552
                     OraDatabase.Parameters.Add "RTAG_ID", objFormCollector.Item("rtag_id_fk"),    ORAPARM_INPUT, ORATYPE_NUMBER
553
 
554
                     Query_String = ReadFile( rootPath & "queries\CompareBomWithLatestFromRM.sql" )
555
                     If objFormCollector.Item ("product_state_used") =  "Y"   Then
556
                        Query_String = Replace( Query_String, "/* AND rc.PRODUCT_STATE = 3 */", " AND rc.PRODUCT_STATE = 3")
557
                     End   If
558
 
559
                     Set rsQry = OraDatabase.DbCreateDynaset( Query_String, ORADYN_DEFAULT )
560
                     Dim rsTemp
561
                     Dim hideResult()
562
                     Dim numHiddenProducts
563
                     Dim len_hideResult
564
                     Dim i_hideResult
565
 
566
                     ' Evaluate hidden status of products
567
                     ' Create a hask of 'keys' to assist in identifying packages with multiple updates
568
                     numHiddenProducts  = 0
569
                     len_hideResult = 0
570
                     While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
571
                        key = rsQry("os_id") & "_" & rsQry("prod_id")
572
                        objList.Item(key) = objList.Item(key) + 1
573
 
574
                        Set rsTemp = OraDatabase.DbCreateDynaset( "SELECT * FROM HIDE_PRODUCTS WHERE OS_ID="& rsQry("os_id") &" AND PROD_ID="& rsQry("prod_id"), ORADYN_DEFAULT )
575
 
576
                        len_hideResult = len_hideResult + 1
577
                        ReDim Preserve hideResult(len_hideResult)
578
 
579
                        If rsTemp.RecordCount = 0 Then
580
                           hideResult(len_hideResult - 1) = False
581
                        Else
582
                           hideResult(len_hideResult - 1) = True
583
                           numHiddenProducts = numHiddenProducts + 1
584
                        End If
585
 
586
                        rsTemp.Close()
587
                        Set rsTemp = nothing
588
                        rsQry.MoveNext
589
                     Wend
590
 
591
                     If (rsQry.RecordCount = numHiddenProducts) Then
592
                     %>
593
                        <tr>
594
                           <td colspan="6" class="body_row">No Products to Update (some products are hidden and status of those has not been shown)</td>
595
                        </tr>
596
                     <%ElseIf (rsQry.RecordCount < 1) Then%>
597
                        <tr>
598
                           <td colspan="6" class="body_row">No Products to Update.</td>
599
                        </tr>
600
                     <%End If
601
 
602
                     ' Now render the product rows themselves
603
                     ' Have a hask of products with issues
604
                     currPkg_id = 0
605
                     rsQry.MoveFirst
606
                     i_hideResult = 0
607
                     While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
608
                        key = rsQry("os_id") & "_" & rsQry("prod_id")
609
                        If hideResult(i_hideResult) = False Then
610
                           If currPkg_id <> rsQry("pkg_id") Then
611
                           %>
612
                              <tr>
613
                                 <td nowrap  colspan="6"><div align="left"><span class="body_row"><img src="icons/i_product.gif" width="19" height="19" hspace="2" align="absmiddle"><%=rsQry("prod_name")%>                                                                                   </span></div></td>
614
                              </tr>
615
                              <tr>
616
                                 <td colspan="6" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td>
617
                              </tr>
618
                              <%
619
                              currPkg_id = rsQry("pkg_id")
620
                           End If
621
                           %>
622
 
623
                           <tr>
624
                              <td align="right" nowrap>
625
                                    <input type="checkbox" name="update_<%=rsQry("os_id") &"_"& rsQry("prod_id")%>" value="<%=rsQry("latest_prod_id")%>">
626
                              </td>
627
                              <td align="left" nowrap>
628
                                    <%If objList.Item(key) > 1 Then%>
629
                                        <img hspace="2" src="icons/s_warning.gif" align="absmiddle" border="0" title="Package has multiple versions. Only one can be updated">
630
                                    <%End If%>
631
                              </td>
632
                              <td nowrap class="body_row"><img hspace="2" src="icons/<%=rsQry("node_icon")%>" align="absmiddle" border="0"><%=rsQry("prod_location")%></td>
633
                              <td nowrap class="body_row"><%=rsQry("prod_version")%></td>
634
                              <td align="center" nowrap>
635
                              <%If NOT objHideList.Exists(key) Then%>
636
                                    <input type="checkbox" name="hide_<%=rsQry("os_id") &"_"& rsQry("prod_id")%>" value="<%=rsQry("prod_id")%>">
637
                              <%End If%>
638
                              <%objHideList.Item(key) = 1%>
639
                              </td>
640
                              <td nowrap class="body_row"><span class="body_txtr"><%=rsQry("rm_latest_version")%></span></td>
641
                           </tr>
642
                           <tr>
643
                              <td colspan="6" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td>
644
                           </tr>
645
                        <%
646
                        End If
647
 
648
                        rsQry.MoveNext
649
                        i_hideResult = i_hideResult + 1
650
                     Wend
651
                     %>
652
 
653
 
654
                     <!-- NEW PATCHES +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
655
                     <%
656
                     Dim strAdd, rsAdd, strHide
657
                     Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("NewPatches.sql"), ORADYN_DEFAULT )
658
                     Set rsAdd = OraDatabase.DbCreateDynaset( GetQuery ("NewPatches.sql"), ORADYN_DEFAULT )
659
                     currPkg_id = 0
660
 
661
                     If rsQry.RecordCount > 0 Then
662
                        While (NOT rsAdd.BOF) AND (NOT rsAdd.EOF)
663
                           Set rsTemp = OraDatabase.DbCreateDynaset( "SELECT * FROM HIDE_PRODUCTS WHERE OS_ID="& rsAdd("os_id") &" AND PROD_ID="& rsAdd("prod_id"), ORADYN_DEFAULT )
664
 
665
                           If rsTemp.RecordCount = 0 Then
666
                              strAdd = strAdd + "'add_"&rsAdd("os_id") &"_"& rsAdd("prod_id")&"',"
667
                              strHide = strHide + "'hide_"&rsAdd("os_id") &"_"& rsAdd("prod_id")&"',"
668
                           End If
669
                           rsAdd.MoveNext
670
                        Wend
671
 
672
                        rsAdd.Close()
673
                        rsTemp.Close()
674
                        Set rsAdd = nothing
675
                        Set rsTemp = nothing
676
 
677
                        If NOT IsEmpty(strAdd) Then
678
                           strAdd = Mid(strAdd, 1, Len(strAdd)-1) + ", 'checkalladd'"
679
                        End If
680
                        If NOT IsEmpty(strHide) Then
681
                           strHide = Mid(strHide, 1, Len(strHide)-1) + ", 'checkallhide'"
682
                        End If
683
                        %>
684
 
685
                        <tr>
686
                           <td nowrap background="images/bg_bage_0h.gif" class="body_col" align="center">Add</td>
687
                           <td nowrap class="body_col">&nbsp;</td>
688
                           <td align="right" nowrap background="images/bg_bage_0h.gif" class="body_col"><div align="left">Location</div></td>
689
                           <td align="right" nowrap background="images/bg_bage_0h.gif" class="body_col"><div align="left">Version</div></td>
690
                           <td align="right" background="images/bg_bage_0h.gif" class="body_col"><div align="center">Hide</div></td>
691
                           <td align="right" background="images/bg_bage_0h.gif" class="body_col"><div align="left">Comments<img src="images/spacer.gif" width="1" height="18" align="absmiddle"></div>                </td>
692
                        </tr>
693
                        <%If NOT IsEmpty(strAdd) Then%>
694
                           <tr>
695
                              <td align="center" nowrap><INPUT type=checkbox name="checkalladd" value="Check All" onClick="checkAllAdd(<%=strAdd%>);"></td>
696
                              <td nowrap class="body_row">&nbsp;</td>
697
                              <td nowrap class="body_row">&nbsp;</td>
698
                              <td nowrap class="body_row">&nbsp;</td>
699
                              <td align="center" nowrap><INPUT type=checkbox name="checkallhide" value="Check All" onClick="checkAllHide(<%=strHide%>);"></td>
700
                              <td nowrap class="body_row">&nbsp;</td>
701
                           </tr>
702
                        <%
703
                        End If
704
 
705
                        While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
706
 
707
                           Set rsTemp = OraDatabase.DbCreateDynaset( "SELECT * FROM HIDE_PRODUCTS WHERE OS_ID="& rsQry("os_id") &" AND PROD_ID="& rsQry("prod_id"), ORADYN_DEFAULT )
708
 
709
                           If rsTemp.RecordCount = 0 Then
710
 
711
                              If currPkg_id <> rsQry("pkg_id") Then
712
                              %>
713
                                 <tr>
714
                                    <td colspan="3" nowrap><div align="left"><span class="body_row"><img src="icons/i_product.gif" width="19" height="19" hspace="2" align="absmiddle"><%=rsQry("prod_name")%></span></div></td>
715
                                    <td nowrap class="body_row">&nbsp;</td>
716
                                    <td nowrap class="body_row"><div align="center"></div></td>
717
                                    <td nowrap class="body_row"></td>
718
                                 </tr>
719
                                 <tr>
720
                                    <td colspan="6" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td>
721
                                 </tr>
722
                                 <%
723
                                 currPkg_id = rsQry("pkg_id")
724
                              End If
725
                              %>
726
                              <tr>
727
                                <td align="center" nowrap><input type="checkbox" name="add_<%=rsQry("os_id") &"_"& rsQry("prod_id")%>" value="<%=rsQry("prod_id")%>"> </td>
728
                                <td nowrap class="body_row"></td>
729
                                <td nowrap class="body_row"><img hspace="2" src="icons/<%=rsQry("node_icon")%>" align="absmiddle" border="0"><%=rsQry("prod_location")%></td>
730
                                <td nowrap class="body_row"><img src="icons/i_patch_small.gif" width="16" height="16" border="0" align="absmiddle"><%=rsQry("prod_version")%></td>
731
                                <td align="center" nowrap><input type="checkbox" name="hide_<%=rsQry("os_id") &"_"& rsQry("prod_id")%>" value="<%=rsQry("prod_id")%>"> </td>
732
                                <td nowrap class="body_row"><span class="body_row"><%=rsQry("comments")%></span></td>
733
                              </tr>
734
                              <tr>
735
                                 <td colspan="6" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td>
736
                              </tr>
737
                           <%
738
                           End If
739
 
740
                           rsTemp.Close()
741
                           Set rsTemp = nothing
742
 
743
                           rsQry.MoveNext
744
                        Wend
745
                     End If
746
                     %>
747
                     <tr>
748
                        <td colspan="6" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="3"></td>
749
                     </tr>
750
                  </table>
751
                  <%
752
                  OraDatabase.Parameters.Remove "RTAG_ID"
753
                  OraDatabase.Parameters.Remove "BOM_ID"
754
                  rsQry.Close
755
                  Set rsQry = Nothing
756
                  %>
757
               </td>
758
            </tr>
759
         </table>
760
         <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
761
      </td>
762
   </tr>
763
   <%=objPMod.ComposeHiddenTags()%>
764
   <input type="hidden" name="action" value="true">
765
   <%
766
   Call objFormComponent.FormEnd()
767
   '-- FROM END ----------------------------------------------------------------------------------------------------------------
768
   %>
769
</table>
770
</body>
771
</html>
772
<%
773
'------------ RUN AFTER PAGE RENDER -----------
774
'----------------------------------------------
775
%>
776
<!--#include file="common/globals_destructor.asp"-->