Subversion Repositories DevTools

Rev

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