Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
13 rsolanki 1
<%@LANGUAGE="VBSCRIPT"%>
2
<%
3
'=====================================================
4
'|                                                   |
5
'|			          wSyncProducts                  |
6
'|                                                   |
7
'=====================================================
8
%>
9
<%
10
Option explicit
11
Response.Expires = 0
12
%>
13
<!--#include file="common/globals.asp"-->
14
<!--#include file="common/config.asp"-->
15
<!--#include file="common/common_subs.asp"-->
16
<!--#include file="common/_popup_window_common.asp"-->
17
<%
18
'------------ ACCESS CONTROL ------------------
19
%>
20
<!--#include file="_access_control_general.asp"-->
21
<%
22
'------------ VARIABLE DEFINITION -------------
23
Dim rsQry
24
Dim aProducts
25
Dim numOfRows
26
Dim rowNum
27
Dim objFormCollector
28
Dim currPkg_id
29
'------------ CONSTANTS DECLARATION -----------
30
'------------ VARIABLE INIT -------------------
31
parBom_id = Request("bom_id")
32
Set objFormCollector = CreateObject("Scripting.Dictionary")
33
'------------ CONDITIONS ----------------------
34
'----------------------------------------------
35
%>
36
<%
37
'----------------------------------------------------------------------------------------------------------------------------------
38
Sub GetFormDetails ( nBom_id, ByRef outobjDetails )
39
	Dim rsQry, query
40
	OraDatabase.Parameters.Add "BOM_ID", 		nBom_id,		ORAPARM_INPUT, ORATYPE_NUMBER 
41
 
42
	query = _
43
	"  SELECT rt.RTAG_ID, "&_
44
	"	      rt.RTAG_NAME "&_
45
	"	 FROM RELEASE_TAGS rt,"&_
46
	"	 	   BOMS bo"&_
47
	"	WHERE bo.RTAG_ID_FK = rt.RTAG_ID"&_
48
	"	  AND bo.BOM_ID = :BOM_ID"
49
 
50
	Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT )
51
	If (NOT rsQry.BOF) AND (NOT rsQry.EOF)Then
52
		outobjDetails.Item ("rtag_id_fk") = rsQry("rtag_id")
53
		outobjDetails.Item ("rtag_name") = rsQry("rtag_name")
54
	End If
55
 
56
 
57
	OraDatabase.Parameters.Remove "BOM_ID"
58
 
59
	rsQry.Close
60
	Set rsQry = Nothing
61
End Sub
62
'----------------------------------------------------------------------------------------------------------------------------------
63
Sub UpdateProducts()
64
	Dim aDiffList, numOfRows, rowNum, OraParameter
65
	Const os_id_column = 2
66
	Const old_prod_id_column = 1
67
 
68
	'/* Get Lates Release Manager */
69
	OraDatabase.Parameters.Add "BOM_ID", parBom_id,		ORAPARM_INPUT, ORATYPE_NUMBER 
70
	OraDatabase.Parameters.Add "RTAG_ID", objFormCollector.Item("rtag_id_fk"),		ORAPARM_INPUT, ORATYPE_NUMBER 
71
 
72
	Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("CompareBomWithLatestFromRM.sql"), ORADYN_DEFAULT )
73
 
74
 
75
	'-- Get Rows
76
	If rsQry.RecordCount > 0 Then
77
		aDiffList = rsQry.GetRows()
78
 
79
	Else
80
		'-- No differencses with Release Manager, hence exit
81
		OraDatabase.Parameters.Remove "BOM_ID"
82
		OraDatabase.Parameters.Remove "RTAG_ID"
83
		Exit Sub
84
 
85
	End If
86
 
87
 
88
 
89
	'/* Update Versions */
90
	On Error Resume Next
91
 
92
	OraDatabase.Parameters.Add "OLD_PROD_ID", 	0, 	ORAPARM_INPUT, ORATYPE_NUMBER 
93
	OraDatabase.Parameters.Add "NEW_PROD_ID", 	0, 	ORAPARM_INPUT, ORATYPE_NUMBER 
94
	OraDatabase.Parameters.Add "OS_ID", 		0, 	ORAPARM_INPUT, ORATYPE_NUMBER 
95
	OraDatabase.Parameters.Add "USER_ID", 		objAccessControl.UserId, 	ORAPARM_INPUT, ORATYPE_NUMBER 
96
 
97
	Set OraParameter = OraDatabase.Parameters
98
 
99
 
100
 
101
	objEH.TryORA ( OraSession )
102
 
103
	numOfRows = UBound( aDiffList, 2 )
104
 
105
	For rowNum = 0 To numOfRows
106
 
107
		If Request("update_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( old_prod_id_column, rowNum ) ) <> "" Then
108
			OraParameter("OLD_PROD_ID").Value = aDiffList( old_prod_id_column, rowNum )
109
			OraParameter("NEW_PROD_ID").Value = Request("update_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( old_prod_id_column, rowNum ) )
110
			OraParameter("OS_ID").Value = aDiffList( os_id_column, rowNum )
111
 
112
			OraDatabase.ExecuteSQL "BEGIN   pk_Product.Replace_Product ( :OLD_PROD_ID, :NEW_PROD_ID, :OS_ID, :USER_ID );   END;"
113
		End If
114
 
115
	Next
116
 
117
 
118
	'--- Log Action ---
119
	'objEH.LogAction  _
120
	'objAccessControl.UserId, _
121
	'enumAT_EVENT_COMMENT, _
122
	'"Sub UpdateProducts for OS list="& Request("spos_id_list"), _
123
	'SCRIPT_NAME, _
124
	'"Updated Products with new versions.", _
125
	'OraDatabase
126
 
127
 
128
	objEH.CatchORA ( OraSession )	
129
 
130
	OraDatabase.Parameters.Remove "BOM_ID"
131
	OraDatabase.Parameters.Remove "RTAG_ID"
132
	OraDatabase.Parameters.Remove "OLD_PROD_ID"
133
	OraDatabase.Parameters.Remove "NEW_PROD_ID"
134
	OraDatabase.Parameters.Remove "OS_ID"
135
	OraDatabase.Parameters.Remove "USER_ID"
136
End Sub
137
'----------------------------------------------------------------------------------------------------------------------------------
138
Sub AddPatches()
139
	Dim aDiffList, numOfRows, rowNum, OraParameter
140
	Const os_id_column = 2
141
	Const prod_id_column = 1
142
 
143
	'/* Get Lates Release Manager */
144
	OraDatabase.Parameters.Add "BOM_ID", parBom_id,		ORAPARM_INPUT, ORATYPE_NUMBER 
145
 
146
	Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("NewPatches.sql"), ORADYN_DEFAULT )
147
 
148
 
149
	'-- Get Rows
150
	If rsQry.RecordCount > 0 Then
151
		aDiffList = rsQry.GetRows()
152
 
153
	Else
154
		'-- No differencses with Release Manager, hence exit
155
		Exit Sub
156
	End If
157
 
158
 
159
 
160
	'/* Update Versions */
161
	On Error Resume Next
162
 
163
	OraDatabase.Parameters.Add "NEW_PROD_ID", 	0, 	ORAPARM_INPUT, ORATYPE_NUMBER 
164
	OraDatabase.Parameters.Add "OS_ID", 		0, 	ORAPARM_INPUT, ORATYPE_NUMBER 
165
	OraDatabase.Parameters.Add "USER_ID", 		objAccessControl.UserId, 	ORAPARM_INPUT, ORATYPE_NUMBER 
166
 
167
	Set OraParameter = OraDatabase.Parameters
168
 
169
 
170
 
171
	objEH.TryORA ( OraSession )
172
 
173
	numOfRows = UBound( aDiffList, 2 )
174
 
175
	For rowNum = 0 To numOfRows
176
 
177
		If Request("add_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( prod_id_column, rowNum ) ) <> "" Then
178
			OraParameter("NEW_PROD_ID").Value = Request("add_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( prod_id_column, rowNum ) )
179
			OraParameter("OS_ID").Value = aDiffList( os_id_column, rowNum )
180
 
181
			OraDatabase.ExecuteSQL "BEGIN   pk_Product.Add_Product ( :NEW_PROD_ID, :OS_ID, :USER_ID );   END;"
182
		End If
183
 
184
	Next
185
 
186
 
187
	objEH.CatchORA ( OraSession )	
188
 
189
	OraDatabase.Parameters.Remove "BOM_ID"
190
	OraDatabase.Parameters.Remove "NEW_PROD_ID"
191
	OraDatabase.Parameters.Remove "OS_ID"
192
	OraDatabase.Parameters.Remove "USER_ID"
193
End Sub
194
'----------------------------------------------------------------------------------------------------------------------------------
195
%>
196
<%
197
'------------ RUN BEFORE PAGE RENDER ----------
198
Call GetFormDetails ( parBom_id, objFormCollector )
199
 
200
If Request("action") <> "" Then	
201
	' --- Form is Valid ---
202
	Call UpdateProducts()
203
 
204
	Call AddPatches()
205
 
206
	If objEH.Finally Then
207
		Call OpenInParentWindow ( Request("rfile") &"?UPDATED=OK"& objPMod.ComposeURLWithout("rfile") )
208
		Call CloseWindow()
209
	End If
210
End If
211
 
212
'----------------------------------------------
213
%>
214
 
215
 
216
<html>
217
<head>
218
<SCRIPT LANGUAGE="JavaScript">
219
<!-- Begin
220
var checkflag = "false";
221
function check(field) {
222
if (checkflag == "false") {
223
  for (i = 0; i < field.length; i++) {
224
  field[i].checked = true;}
225
  checkflag = "true";
226
  return "Uncheck all"; }
227
else {
228
  for (i = 0; i < field.length; i++) {
229
  field[i].checked = false; }
230
  checkflag = "false";
231
  return "Check all"; }
232
}
233
//  End -->
234
</script>
235
 
236
 
237
<title>Deployment Manager</title>
238
<meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
239
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
240
<link href="scripts/deployment_manager.css" rel="stylesheet" type="text/css">
241
<script language="JavaScript" src="scripts/common.js"></script>
242
<style type="text/css">
243
<!--
244
.style8 {font-size: 12px}
245
-->
246
</style>
247
</head>
248
 
249
<body background="images/bg_bage_0.gif" leftmargin="0" topmargin="0" onLoad="self.focus();">
250
<table width="100%"  border="0" cellspacing="0" cellpadding="10">
251
  <tr>
252
    <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>
253
    Update Products, selecting the latest from "Release Manager".
254
    </td>
255
  </tr>	
256
<%
257
'-- FROM START --------------------------------------------------------------------------------------------------------------
258
objFormComponent.FormName = "FormName"
259
objFormComponent.Action = SCRIPT_NAME
260
objFormComponent.OnSubmit = "ShowProgress();"
261
Call objFormComponent.FormStart()
262
%>    
263
  <tr>
264
    <td background="images/bg_login.gif"><table width="100%"  border="0" cellspacing="0" cellpadding="0">
265
      <tr>
266
        <td><%=ProgressBar()%>
267
          <input name="btn" type="submit" class="form_btn" value="Update">
268
          <input name="btn" type="reset" class="form_btn" value="Cancel" onClick="self.close();"></td>
269
        <td align="left">&nbsp;        </td>
270
      </tr>
271
    </table></td>
272
  </tr>
273
  <tr>
274
    <td>
275
<!-- PRODUCT NAME RESULTS ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->		
276
	<table width="100%"  border="0" cellspacing="10" cellpadding="0">
277
      <tr>
278
        <td width="100%" valign="top" nowrap class="body_txt">
279
		  <!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ -->	
280
		  <!--#include file="messages/_msg_inline.asp"-->
281
		  <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
282
		  <%
283
		  If objFormCollector.Item("rtag_id_fk") = "" Then
284
			Call Messenger ( "This BOM does not have Release Manager Reference release.<br>Please edit BOM properties first.<br>", 1, "100%" )
285
		  End If
286
		  %>
287
		  <!-- UPDATE PRODUCTS +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
288
		  Select Products and click Update.
289
          <table width="100%"  border="0" cellspacing="3" cellpadding="0">
290
            <tr>
291
			  <td width="1%" nowrap background="images/bg_bage_0h.gif" class="body_col">Update</td>
292
              <td width="40%" align="right" nowrap background="images/bg_bage_0h.gif" class="body_col"><div align="left">Location</div></td>
293
              <td width="20%" align="right" nowrap background="images/bg_bage_0h.gif" class="body_col"><div align="left">Version</div></td>
294
              <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>
295
              </tr>
296
			<%
297
			OraDatabase.Parameters.Add "BOM_ID", parBom_id,		ORAPARM_INPUT, ORATYPE_NUMBER 
298
			OraDatabase.Parameters.Add "RTAG_ID", objFormCollector.Item("rtag_id_fk"),		ORAPARM_INPUT, ORATYPE_NUMBER 
299
 
300
			Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("CompareBomWithLatestFromRM.sql"), ORADYN_DEFAULT )
301
			currPkg_id = 0
302
			%>
303
			<%If rsQry.RecordCount < 1 Then%>
304
			<tr>
305
              <td colspan="4" class="body_row">No Products to Update.                 </td>
306
            </tr>
307
			<%End If%>
308
			<%
309
			While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
310
			%>
311
			<%If currPkg_id <> rsQry("pkg_id") Then%>
312
            <tr>
313
			  <td 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>
314
              <td nowrap></td>
315
              <td nowrap class="body_row">&nbsp;</td>
316
              <td nowrap class="body_row"></td>
317
              </tr>
318
			<tr>
319
              <td colspan="4" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td>
320
            </tr>
321
			<%currPkg_id = rsQry("pkg_id")%>
322
			<%End If%>
323
 
324
            <tr>
325
              <td align="center" nowrap><input type="checkbox" name="update_<%=rsQry("os_id") &"_"& rsQry("prod_id")%>" value="<%=rsQry("latest_prod_id")%>"> </td>
326
              <td nowrap class="body_row"><img hspace="2" src="icons/<%=rsQry("node_icon")%>" align="absmiddle" border="0"><%=rsQry("prod_location")%></td>
327
              <td nowrap class="body_row"><%=rsQry("prod_version")%></td>
328
              <td nowrap class="body_row"><span class="body_txtr"><%=rsQry("rm_latest_version")%></span></td>
329
              </tr>
330
			<tr>
331
              <td colspan="4" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td>
332
            </tr>
333
 
334
            <%rsQry.MoveNext
335
			Wend
336
			%>
337
 
338
		  <!-- NEW PATCHES +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
339
		    <%
340
			Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("NewPatches.sql"), ORADYN_DEFAULT )
341
			currPkg_id = 0
342
			%>
343
 
344
			<%If rsQry.RecordCount > 0 Then%>
345
		    <tr>
346
			  <td nowrap background="images/bg_bage_0h.gif" class="body_col" align="center">Add</td>
347
              <td align="right" nowrap background="images/bg_bage_0h.gif" class="body_col"><div align="left">Location</div></td>
348
			  <td align="right" nowrap background="images/bg_bage_0h.gif" class="body_col"><div align="left">Version</div></td>
349
              <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>
350
              </tr>
351
 
352
			<%
353
			While (NOT rsQry.BOF) AND (NOT rsQry.EOF)
354
			%>
355
			<%If currPkg_id <> rsQry("pkg_id") Then%>
356
            <tr>
357
			  <td colspan="2" 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>
358
              <td nowrap class="body_row">&nbsp;</td>
359
              <td nowrap class="body_row"></td>
360
              </tr>
361
			<tr>
362
              <td colspan="4" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td>
363
            </tr>
364
			<%currPkg_id = rsQry("pkg_id")%>
365
			<%End If%>
366
 
367
            <tr>
368
              <td align="center" nowrap><input type="checkbox" name="add_<%=rsQry("os_id") &"_"& rsQry("prod_id")%>" value="<%=rsQry("prod_id")%>"> </td>
369
              <td nowrap class="body_row"><img hspace="2" src="icons/<%=rsQry("node_icon")%>" align="absmiddle" border="0"><%=rsQry("prod_location")%></td>
370
              <td nowrap class="body_row"><img src="icons/i_patch_small.gif" width="16" height="16" border="0" align="absmiddle"><%=rsQry("prod_version")%></td>
371
              <td nowrap class="body_row"><span class="body_row"><%=rsQry("comments")%></span></td>
372
              </tr>
373
			<tr>
374
              <td colspan="4" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td>
375
            </tr>
376
 
377
            <%rsQry.MoveNext
378
			Wend
379
			%>
380
 
381
			<%End If%>
382
 
383
			<tr>
384
              <td colspan="4" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="3"></td>
385
            </tr>
386
          </table>
387
 
388
 
389
		  <%
390
		  OraDatabase.Parameters.Remove "RTAG_ID"
391
		  OraDatabase.Parameters.Remove "BOM_ID"
392
		  rsQry.Close
393
		  Set rsQry = Nothing
394
		  %>		  </td>
395
        </tr>
396
    </table>
397
	<!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
398
    </td>
399
  </tr>
400
  <%=objPMod.ComposeHiddenTags()%>
401
  <input type="hidden" name="action" value="true">
402
<%
403
Call objFormComponent.FormEnd()
404
'-- FROM END ----------------------------------------------------------------------------------------------------------------
405
%>
406
</table>
407
</body>
408
</html>
409
<%
410
'------------ RUN AFTER PAGE RENDER -----------
411
'----------------------------------------------
412
%><!--#include file="common/globals_destructor.asp"-->