Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
13 rsolanki 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
4
'|                                                   |
35 ghuddy 5
'|                 wSyncProducts                     |
13 rsolanki 6
'|                                                   |
7
'=====================================================
8
%>
9
<%
10
Option explicit
11
Response.Expires = 0
12
%>
29 jtweddle 13
<%
14
'To enable the script timeout to 10 mins
15
Server.ScriptTimeout=360
16
%>
13 rsolanki 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
35 ghuddy 33
Dim Query_String
4216 dpurdie 34
Dim errorMessage
35
Dim objList
36
Dim objHideList
37
Dim key
38
 
13 rsolanki 39
'------------ CONSTANTS DECLARATION -----------
40
'------------ VARIABLE INIT -------------------
41
parBom_id = Request("bom_id")
42
Set objFormCollector = CreateObject("Scripting.Dictionary")
4216 dpurdie 43
Set objList = CreateObject("Scripting.Dictionary")
44
Set objHideList = CreateObject("Scripting.Dictionary")
45
 
13 rsolanki 46
'------------ CONDITIONS ----------------------
47
'----------------------------------------------
48
%>
49
<%
50
'----------------------------------------------------------------------------------------------------------------------------------
4216 dpurdie 51
'   Get some basic information required by the form
52
'
13 rsolanki 53
Sub GetFormDetails ( nBom_id, ByRef outobjDetails )
35 ghuddy 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
13 rsolanki 78
End Sub
79
'----------------------------------------------------------------------------------------------------------------------------------
80
Sub UpdateProducts()
35 ghuddy 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
 
4215 dpurdie 89
 
35 ghuddy 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
 
4215 dpurdie 124
   '    Try the database operations
125
   '    Must have On Error Resume Next in effect in order for the objEH.CatchORA to operate
126
   '
35 ghuddy 127
   objEH.TryORA ( OraSession )
4215 dpurdie 128
   On Error Resume Next
35 ghuddy 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 )
4215 dpurdie 136
         OraParameter("NEW_PROD_ID").Value = Request("update_" & aDiffList( os_id_column, rowNum ) &"_"& aDiffList( old_prod_id_column, rowNum ) )
35 ghuddy 137
         OraParameter("OS_ID").Value = aDiffList( os_id_column, rowNum )
138
 
29 jtweddle 139
'******************************************************************************
35 ghuddy 140
' This is causing problems for SSW, VTK and SEA and they don't use it, so it
29 jtweddle 141
' has been disabled for those projects until a fix is found.
142
'******************************************************************************
37 brianf 143
         If proj_id <> 421 AND proj_id <> 361 AND proj_id <> 122 AND proj_id <> 164 AND proj_id <> 581 Then
35 ghuddy 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 "BOM_ID"
174
   OraDatabase.Parameters.Remove "RTAG_ID"
175
   OraDatabase.Parameters.Remove "OLD_PROD_ID"
176
   OraDatabase.Parameters.Remove "NEW_PROD_ID"
177
   OraDatabase.Parameters.Remove "OS_ID"
178
   OraDatabase.Parameters.Remove "USER_ID"
13 rsolanki 179
End Sub
180
'----------------------------------------------------------------------------------------------------------------------------------
181
Sub AddPatches()
35 ghuddy 182
   Dim aDiffList, numOfRows, rowNum, OraParameter
183
   Const os_id_column = 2
184
   Const prod_id_column = 1
185
 
186
   '/* Get Lates Release Manager */
187
   OraDatabase.Parameters.Add "BOM_ID", parBom_id,    ORAPARM_INPUT, ORATYPE_NUMBER
188
 
189
   Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("NewPatches.sql"), ORADYN_DEFAULT )
190
 
191
 
192
   '-- Get Rows
193
   If rsQry.RecordCount > 0 Then
194
      aDiffList = rsQry.GetRows()
195
 
196
   Else
197
      '-- No differences with Release Manager, hence exit
198
      OraDatabase.Parameters.Remove "BOM_ID"
199
      Exit Sub
200
   End If
201
 
202
 
203
 
204
   '/* Update Versions */
205
   OraDatabase.Parameters.Add "NEW_PROD_ID", 0,                       ORAPARM_INPUT, ORATYPE_NUMBER
206
   OraDatabase.Parameters.Add "OS_ID",       0,                       ORAPARM_INPUT, ORATYPE_NUMBER
207
   OraDatabase.Parameters.Add "USER_ID",     objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBER
208
 
209
   Set OraParameter = OraDatabase.Parameters
210
 
211
   objEH.TryORA ( OraSession )
4216 dpurdie 212
   On Error Resume Next
35 ghuddy 213
 
214
   numOfRows = UBound( aDiffList, 2 )
215
 
216
   For rowNum = 0 To numOfRows
217
 
218
      If Request("add_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( prod_id_column, rowNum ) ) <> "" Then
219
         OraParameter("NEW_PROD_ID").Value = Request("add_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( prod_id_column, rowNum ) )
220
         OraParameter("OS_ID").Value = aDiffList( os_id_column, rowNum )
221
 
222
         OraDatabase.ExecuteSQL "BEGIN   pk_Product.Add_Product ( :NEW_PROD_ID, :OS_ID, :USER_ID );   END;"
223
      End If
224
 
225
   Next
226
 
227
   objEH.CatchORA ( OraSession )
228
 
229
   OraDatabase.Parameters.Remove "BOM_ID"
230
   OraDatabase.Parameters.Remove "NEW_PROD_ID"
231
   OraDatabase.Parameters.Remove "OS_ID"
232
   OraDatabase.Parameters.Remove "USER_ID"
13 rsolanki 233
End Sub
234
'----------------------------------------------------------------------------------------------------------------------------------
23 rsolanki 235
Sub HideProducts()
35 ghuddy 236
   Dim aDiffList, numOfRows, rowNum, OraParameter
237
   Const os_id_column = 2
238
   Const old_prod_id_column = 1
239
 
240
   '/* Get Latest from Release Manager */
241
   OraDatabase.Parameters.Add "BOM_ID",  parBom_id,                           ORAPARM_INPUT, ORATYPE_NUMBER
242
   OraDatabase.Parameters.Add "RTAG_ID", objFormCollector.Item("rtag_id_fk"), ORAPARM_INPUT, ORATYPE_NUMBER
243
 
244
   Query_String = ReadFile( rootPath & "queries\CompareBomWithLatestFromRM.sql" )
245
   If objFormCollector.Item ("product_state_used") =  "Y"   Then
246
      Query_String = Replace( Query_String, "/* AND rc.PRODUCT_STATE IN (3, 5) */", " AND rc.PRODUCT_STATE IN (3, 5)")
247
   End   If
248
 
249
   Set rsQry = OraDatabase.DbCreateDynaset( Query_String, ORADYN_DEFAULT )
250
 
251
   '-- Get Rows
252
   If rsQry.RecordCount > 0 Then
253
      aDiffList = rsQry.GetRows()
254
 
255
   Else
256
      '-- No differences with Release Manager, hence exit
257
      OraDatabase.Parameters.Remove "BOM_ID"
258
      OraDatabase.Parameters.Remove "RTAG_ID"
259
      Exit Sub
260
 
261
   End If
262
 
263
   '/* Hide Versions */
264
   OraDatabase.Parameters.Add "NEW_PROD_ID", 0,                       ORAPARM_INPUT, ORATYPE_NUMBER
265
   OraDatabase.Parameters.Add "OS_ID",       0,                       ORAPARM_INPUT, ORATYPE_NUMBER
266
   OraDatabase.Parameters.Add "USER_ID",     objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBER
267
 
268
   Set OraParameter = OraDatabase.Parameters
269
 
4216 dpurdie 270
   On Error Resume Next
35 ghuddy 271
   objEH.TryORA ( OraSession )
272
 
273
   numOfRows = UBound( aDiffList, 2 )
274
 
275
   For rowNum = 0 To numOfRows
276
      If Request("hide_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( old_prod_id_column, rowNum ) ) <> "" Then
277
         OraParameter("NEW_PROD_ID").Value = Request("hide_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( old_prod_id_column, rowNum ) )
278
         OraParameter("OS_ID").Value = aDiffList( os_id_column, rowNum )
279
 
280
         OraDatabase.ExecuteSQL "BEGIN   pk_Product.Hide_Product ( :NEW_PROD_ID, :OS_ID, :USER_ID );   END;"
281
      End If
282
   Next
283
 
284
   '--- Log Action ---
285
   'objEH.LogAction  _
286
   'objAccessControl.UserId, _
287
   'enumAT_EVENT_COMMENT, _
288
   '"Sub UpdateProducts for OS list="& Request("spos_id_list"), _
289
   'SCRIPT_NAME, _
290
   '"Updated Products with new versions.", _
291
   'OraDatabase
292
 
293
   objEH.CatchORA ( OraSession )
294
 
295
   OraDatabase.Parameters.Remove "BOM_ID"
296
   OraDatabase.Parameters.Remove "RTAG_ID"
297
   OraDatabase.Parameters.Remove "OLD_PROD_ID"
298
   OraDatabase.Parameters.Remove "NEW_PROD_ID"
299
   OraDatabase.Parameters.Remove "OS_ID"
300
   OraDatabase.Parameters.Remove "USER_ID"
23 rsolanki 301
End Sub
302
'----------------------------------------------------------------------------------------------------------------------------------
303
Sub HidePatches()
35 ghuddy 304
   Dim aDiffList, numOfRows, rowNum, OraParameter
305
   Const os_id_column = 2
306
   Const prod_id_column = 1
307
 
308
   '/* Get Latest from Release Manager */
309
   OraDatabase.Parameters.Add "BOM_ID", parBom_id,    ORAPARM_INPUT, ORATYPE_NUMBER
310
 
311
   Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("NewPatches.sql"), ORADYN_DEFAULT )
312
 
313
   '-- Get Rows
314
   If rsQry.RecordCount > 0 Then
315
      aDiffList = rsQry.GetRows()
316
 
317
   Else
318
      '-- No differencses with Release Manager, hence exit
319
      OraDatabase.Parameters.Remove "BOM_ID"
320
      Exit Sub
321
   End If
322
 
323
 
324
 
325
   '/* Hide Versions */
326
   OraDatabase.Parameters.Add "NEW_PROD_ID", 0,                       ORAPARM_INPUT, ORATYPE_NUMBER
327
   OraDatabase.Parameters.Add "OS_ID",       0,                       ORAPARM_INPUT, ORATYPE_NUMBER
328
   OraDatabase.Parameters.Add "USER_ID",     objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBER
329
 
330
   Set OraParameter = OraDatabase.Parameters
331
 
332
   objEH.TryORA ( OraSession )
4216 dpurdie 333
   On Error Resume Next
35 ghuddy 334
 
335
   numOfRows = UBound( aDiffList, 2 )
336
 
337
   For rowNum = 0 To numOfRows
338
      If Request("hide_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( prod_id_column, rowNum ) ) <> "" Then
339
         OraParameter("NEW_PROD_ID").Value = Request("hide_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( prod_id_column, rowNum ) )
340
         OraParameter("OS_ID").Value = aDiffList( os_id_column, rowNum )
341
 
342
         OraDatabase.ExecuteSQL "BEGIN   pk_Product.Hide_Product ( :NEW_PROD_ID, :OS_ID, :USER_ID );   END;"
343
      End If
344
   Next
345
 
346
   objEH.CatchORA ( OraSession )
347
 
348
   OraDatabase.Parameters.Remove "BOM_ID"
349
   OraDatabase.Parameters.Remove "NEW_PROD_ID"
350
   OraDatabase.Parameters.Remove "OS_ID"
351
   OraDatabase.Parameters.Remove "USER_ID"
23 rsolanki 352
End Sub
353
'----------------------------------------------------------------------------------------------------------------------------------
13 rsolanki 354
%>
355
<%
356
'------------ RUN BEFORE PAGE RENDER ----------
357
Call GetFormDetails ( parBom_id, objFormCollector )
358
 
4216 dpurdie 359
If Request("action") <> "" Then
360
   ' -- Need to provide some level of validation
361
   '    Cannot handle multiple updates to the same package
362
   '    These can be detected by examining all the Update requests that have badly formed values
363
    Dim Item
364
        For Each Item In Request.Form
365
        If InStr(1, Item, "update_" , 1) = 1 Then
366
            If InStr( 1, Request.Form(Item), ",", 1) <> 0 Then
367
                errorMessage = "The selected set of packages to be updated is incorrect<br>" &_
368
                               "The selection attempts to update a target package with more than one version of a package"
369
                Exit For
370
            End If
371
        End If
372
    Next
4215 dpurdie 373
 
4216 dpurdie 374
    ' --- Form is Valid ---
375
    If isEmpty(errorMessage) Then
376
       Call UpdateProducts()
4215 dpurdie 377
 
4216 dpurdie 378
       Call AddPatches()
35 ghuddy 379
 
4216 dpurdie 380
       Call HideProducts()
35 ghuddy 381
 
4216 dpurdie 382
       Call HidePatches()
35 ghuddy 383
 
4216 dpurdie 384
       If objEH.Finally Then
385
          Call OpenInParentWindow ("Bom_Home.asp?UPDATED=OK"& objPMod.ComposeURLWithout("rfile") )
386
          Call CloseWindow()
387
       End If
388
    Else
389
    Response.Write ("WTF")
390
    End If
13 rsolanki 391
End If
392
 
393
'----------------------------------------------
394
%>
395
 
396
 
397
<html>
398
<head>
399
<SCRIPT LANGUAGE="JavaScript">
400
<!-- Begin
35 ghuddy 401
 
13 rsolanki 402
var checkflag = "false";
35 ghuddy 403
 
13 rsolanki 404
function check(field) {
35 ghuddy 405
   if (checkflag == "false") {
406
      for (i = 0; i < field.length; i++) {
407
         field[i].checked = true;
408
      }
409
      checkflag = "true";
410
      return "Uncheck all";
411
   }
412
   else {
413
      for (i = 0; i < field.length; i++) {
414
         field[i].checked = false;
415
      }
416
      checkflag = "false";
417
      return "Check all";
418
   }
13 rsolanki 419
}
420
//  End -->
421
</script>
23 rsolanki 422
<script language="javascript">
35 ghuddy 423
 
23 rsolanki 424
function checkAllHide()
425
{
35 ghuddy 426
   var args = arguments;
427
   start_point:
428
   for (var i=0;i<document.forms[0].elements.length;i++) {
429
      found = false;
430
      var e=document.forms[0].elements[i];
431
      if ((e.name != 'checkall') && (e.type=='checkbox')) {
432
         for (var j = 0; j < args.length; j++)
433
            if (args[j] == e.name) {
434
               e.checked=document.forms[0].checkallhide.checked;
435
            }
436
      }
437
   }
438
}
13 rsolanki 439
 
23 rsolanki 440
function checkAllAdd()
35 ghuddy 441
{
442
   var args = arguments;
443
   start_point:
444
   for (var i=0;i<document.forms[0].elements.length;i++) {
29 jtweddle 445
 
35 ghuddy 446
      found = false;
447
      var e=document.forms[0].elements[i];
448
 
449
      if ((e.name != 'checkall') && (e.type=='checkbox')) {
450
         for (var j = 0; j < args.length; j++)
451
            if (args[j] == e.name) {
452
               e.checked=document.forms[0].checkalladd.checked;
453
            }
454
      }
455
   }
23 rsolanki 456
}
35 ghuddy 457
 
458
// Checks all checkboxes whose name begins with any strings listed as args to the function.
459
function checkAllBeforeSubmit()
460
{
461
   var args = arguments;
462
   start_point:
463
 
464
   for (var i=0;i<document.forms[0].elements.length;i++) {
465
 
466
      var e=document.forms[0].elements[i];
467
 
468
      if (e.type=='checkbox') {
469
         for (var j = 0; j < args.length; j++)
470
            if (e.name.indexOf(args[j]) == 0) {
471
               e.checked=true;
472
            }
473
      }
474
   }
475
   return true;
476
}
477
 
23 rsolanki 478
</script>
479
 
480
 
13 rsolanki 481
<title>Deployment Manager</title>
482
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
483
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
484
<link href="scripts/deployment_manager.css" rel="stylesheet" type="text/css">
485
<script language="JavaScript" src="scripts/common.js"></script>
486
<style type="text/css">
487
<!--
488
.style8 {font-size: 12px}
489
-->
490
</style>
491
</head>
492
 
493
<body background="images/bg_bage_0.gif" leftmargin="0" topmargin="0" onLoad="self.focus();">
494
<table width="100%"  border="0" cellspacing="0" cellpadding="10">
35 ghuddy 495
   <tr>
496
      <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>
497
         Update Products, selecting the latest from "Release Manager".
498
      </td>
499
   </tr>
500
   <%
501
   '-- FROM START --------------------------------------------------------------------------------------------------------------
502
   objFormComponent.FormName = "FormName"
503
   objFormComponent.Action = SCRIPT_NAME
504
   objFormComponent.OnSubmit = "ShowProgress();"
505
   Call objFormComponent.FormStart()
506
   %>
507
   <tr>
508
      <td background="images/bg_login.gif">
509
         <table width="100%"  border="0" cellspacing="0" cellpadding="0">
13 rsolanki 510
            <tr>
35 ghuddy 511
               <td><%=ProgressBar()%>
512
                  <input name="btn" type="submit" class="form_btn" value="Update Selected">
513
                  <input name="btn" type="submit" class="form_btn" value="Update All" onClick="checkAllBeforeSubmit('add_','update_');" >
514
                  <input name="btn" type="reset" class="form_btn" value="Cancel" onClick="self.close();">
515
               </td>
516
               <td align="left">&nbsp;
517
               </td>
13 rsolanki 518
            </tr>
35 ghuddy 519
         </table>
520
      </td>
521
   </tr>
522
   <tr>
523
      <td>
524
         <!-- PRODUCT NAME RESULTS ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
525
         <table width="100%"  border="0" cellspacing="10" cellpadding="0">
13 rsolanki 526
            <tr>
35 ghuddy 527
               <td width="100%" valign="top" nowrap class="body_txt">
528
                  <!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ -->
529
                  <!--#include file="messages/_msg_inline.asp"-->
530
                  <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
531
                  <%
532
                  If objFormCollector.Item("rtag_id_fk") = "" Then
533
                     Call Messenger ( "This BOM does not have Release Manager Reference release.<br>Please edit BOM properties first.<br>", 1, "100%" )
534
                  End If
4216 dpurdie 535
                  If NOT isEmpty(errorMessage) Then
536
                    Call Messenger ( errorMessage, 1, "100%" )
537
                  End If
35 ghuddy 538
                  %>
539
                  <!-- UPDATE PRODUCTS +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
540
                  Select Products and click Update.
541
                  <table width="100%"  border="0" cellspacing="3" cellpadding="0">
542
                     <tr>
543
                        <td width="1%" nowrap background="images/bg_bage_0h.gif" class="body_col">Update</td>
4216 dpurdie 544
                        <td width="1%" nowrap background="images/bg_bage_0h.gif" class="body_col"></td>
35 ghuddy 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
23 rsolanki 553
 
35 ghuddy 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
4216 dpurdie 567
                     ' Create a hask of 'keys' to assist in identifying packages with multiple updates
35 ghuddy 568
                     numHiddenProducts  = 0
569
                     len_hideResult = 0
570
                     While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
4216 dpurdie 571
                        key = rsQry("os_id") & "_" & rsQry("prod_id")
572
                        objList.Item(key) = objList.Item(key) + 1
573
 
35 ghuddy 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>
4216 dpurdie 594
                           <td colspan="6" class="body_row">No Products to Update (some products are hidden and status of those has not been shown)</td>
35 ghuddy 595
                        </tr>
596
                     <%ElseIf (rsQry.RecordCount < 1) Then%>
597
                        <tr>
4216 dpurdie 598
                           <td colspan="6" class="body_row">No Products to Update.</td>
35 ghuddy 599
                        </tr>
600
                     <%End If
601
 
602
                     ' Now render the product rows themselves
4216 dpurdie 603
                     ' Have a hask of products with issues
35 ghuddy 604
                     currPkg_id = 0
605
                     rsQry.MoveFirst
606
                     i_hideResult = 0
607
                     While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
4216 dpurdie 608
                        key = rsQry("os_id") & "_" & rsQry("prod_id")
35 ghuddy 609
                        If hideResult(i_hideResult) = False Then
610
                           If currPkg_id <> rsQry("pkg_id") Then
611
                           %>
612
                              <tr>
4216 dpurdie 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>
35 ghuddy 614
                              </tr>
615
                              <tr>
4216 dpurdie 616
                                 <td colspan="6" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td>
35 ghuddy 617
                              </tr>
618
                              <%
619
                              currPkg_id = rsQry("pkg_id")
620
                           End If
621
                           %>
622
 
623
                           <tr>
4216 dpurdie 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>
35 ghuddy 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>
4216 dpurdie 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>
35 ghuddy 640
                              <td nowrap class="body_row"><span class="body_txtr"><%=rsQry("rm_latest_version")%></span></td>
641
                           </tr>
642
                           <tr>
4216 dpurdie 643
                              <td colspan="6" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td>
35 ghuddy 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>
4216 dpurdie 687
                           <td nowrap class="body_col">&nbsp;</td>
35 ghuddy 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>
4216 dpurdie 698
                              <td nowrap class="body_row">&nbsp;</td>
35 ghuddy 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>
4216 dpurdie 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>
35 ghuddy 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>
4216 dpurdie 720
                                    <td colspan="6" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td>
35 ghuddy 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>
4216 dpurdie 728
                                <td nowrap class="body_row"></td>
35 ghuddy 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>
4216 dpurdie 735
                                 <td colspan="6" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td>
35 ghuddy 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>
4216 dpurdie 748
                        <td colspan="6" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="3"></td>
35 ghuddy 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>
13 rsolanki 758
            </tr>
35 ghuddy 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
   %>
13 rsolanki 769
</table>
770
</body>
771
</html>
772
<%
773
'------------ RUN AFTER PAGE RENDER -----------
774
'----------------------------------------------
4215 dpurdie 775
%>
776
<!--#include file="common/globals_destructor.asp"-->