Rev 5961 | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%@LANGUAGE="VBSCRIPT"%><%'====================================================='| |'| wSyncProducts |'| |'=====================================================%><%Option explicitResponse.Expires = 0%><%'To enable the script timeout to 10 minsServer.ScriptTimeout=360%><!--#include file="common/globals.asp"--><!--#include file="common/config.asp"--><!--#include file="common/common_subs.asp"--><!--#include file="common/_popup_window_common.asp"--><%'------------ ACCESS CONTROL ------------------%><!--#include file="_access_control_general.asp"--><%'------------ VARIABLE DEFINITION -------------Dim rsQryDim aProductsDim numOfRowsDim rowNumDim objFormCollectorDim currPkg_idDim Query_StringDim errorMessageDim objListDim objHideListDim key'------------ CONSTANTS DECLARATION -----------'------------ VARIABLE INIT -------------------parBom_id = Request("bom_id")Set objFormCollector = CreateObject("Scripting.Dictionary")Set objList = CreateObject("Scripting.Dictionary")Set objHideList = CreateObject("Scripting.Dictionary")'------------ CONDITIONS ----------------------'----------------------------------------------%><%'----------------------------------------------------------------------------------------------------------------------------------' Get some basic information required by the form'Sub GetFormDetails ( nBom_id, ByRef outobjDetails )Dim rsQry, queryOraDatabase.Parameters.Add "BOM_ID", nBom_id, ORAPARM_INPUT, ORATYPE_NUMBERquery = _" SELECT rt.RTAG_ID, "&_" rt.RTAG_NAME, "&_" rt.PRODUCT_STATE_USED "&_" FROM RELEASE_TAGS rt,"&_" BOMS bo"&_" WHERE bo.RTAG_ID_FK = rt.RTAG_ID"&_" AND bo.BOM_ID = :BOM_ID"Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT )If (NOT rsQry.BOF) AND (NOT rsQry.EOF)ThenoutobjDetails.Item ("rtag_id_fk") = rsQry("rtag_id")outobjDetails.Item ("rtag_name") = rsQry("rtag_name")outobjDetails.Item ("product_state_used") = rsQry("product_state_used")End IfOraDatabase.Parameters.Remove "BOM_ID"rsQry.CloseSet rsQry = NothingEnd Sub'----------------------------------------------------------------------------------------------------------------------------------Sub UpdateProducts()Dim aDiffList, numOfRows, rowNum, OraParameterConst os_id_column = 2Const old_prod_id_column = 1'/* Get Latest From Release Manager */OraDatabase.Parameters.Add "BOM_ID", parBom_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "RTAG_ID", objFormCollector.Item("rtag_id_fk"), ORAPARM_INPUT, ORATYPE_NUMBERQuery_String = ReadFile( rootPath & "queries\CompareBomWithLatestFromRM.sql" )If objFormCollector.Item ("product_state_used") = "Y" ThenQuery_String = Replace( Query_String, "/* AND rc.PRODUCT_STATE = 3 */", " AND rc.PRODUCT_STATE = 3")End IfSet rsQry = OraDatabase.DbCreateDynaset( Query_String, ORADYN_DEFAULT )OraDatabase.Parameters.Remove "BOM_ID"OraDatabase.Parameters.Remove "RTAG_ID"'-- Get RowsIf rsQry.RecordCount > 0 ThenaDiffList = rsQry.GetRows()Else'-- No differencses with Release Manager, hence exitExit SubEnd If' Get the project id so we can filter out PopulateSBOMField() for SSW later.Dim rsProjId, proj_idSet 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))proj_id = rsProjId("proj_id")rsProjId.Close()Set rsProjId = nothing'/* Update Versions */OraDatabase.Parameters.Add "BOM_ID", parBom_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "OLD_PROD_ID", 0, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "NEW_PROD_ID", 0, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "OS_ID", 0, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "USER_ID", objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBERSet OraParameter = OraDatabase.Parameters' Try the database operations' Must have On Error Resume Next in effect in order for the objEH.CatchORA to operate'objEH.TryORA ( OraSession )On Error Resume NextnumOfRows = UBound( aDiffList, 2 )For rowNum = 0 To numOfRowsIf Request("update_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( old_prod_id_column, rowNum ) ) <> "" ThenOraParameter("OLD_PROD_ID").Value = aDiffList( old_prod_id_column, rowNum )OraParameter("NEW_PROD_ID").Value = Request("update_" & aDiffList( os_id_column, rowNum ) &"_"& aDiffList( old_prod_id_column, rowNum ) )OraParameter("OS_ID").Value = aDiffList( os_id_column, rowNum )'******************************************************************************' This is causing problems for SSW, VTK and SEA and they don't use it, so it' has been disabled for those projects until a fix is found.'******************************************************************************If proj_id <> 421 AND proj_id <> 361 AND proj_id <> 122 AND proj_id <> 164 AND proj_id <> 581 Then' Needs :BOM_ID, but not for any good reason that I can seeCall PopulateSBOMField(parBom_id, Request("update_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( old_prod_id_column, rowNum ) ), NULL, NULL )End If'Response.Write("<script>alert('" &_' "OLD_PROD_ID=" & OraParameter("OLD_PROD_ID").Value & "\n" &_' "NEW_PROD_ID=" & OraParameter("NEW_PROD_ID").Value & "\n" &_' "OS_ID=" & OraParameter("OS_ID").Value & "\n" &_' "USER_ID=" & OraParameter("USER_ID").Value & "\n" &_' "rtag_id_fk=" & objFormCollector.Item("rtag_id_fk") & "\n" &_' "update_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( old_prod_id_column, rowNum ) &_' "')</script>")OraDatabase.ExecuteSQL "BEGIN pk_Product.Replace_Product ( :OLD_PROD_ID, :NEW_PROD_ID, :OS_ID, :USER_ID ); END;"End IfNext'--- Log Action ---'objEH.LogAction _'objAccessControl.UserId, _'enumAT_EVENT_COMMENT, _'"Sub UpdateProducts for OS list="& Request("spos_id_list"), _'SCRIPT_NAME, _'"Updated Products with new versions.", _'OraDatabaseOraDatabase.Parameters.Remove "BOM_ID"OraDatabase.Parameters.Remove "OLD_PROD_ID"OraDatabase.Parameters.Remove "NEW_PROD_ID"OraDatabase.Parameters.Remove "OS_ID"OraDatabase.Parameters.Remove "USER_ID"objEH.CatchORA ( OraSession )End Sub'----------------------------------------------------------------------------------------------------------------------------------Sub AddPatches()Dim aDiffList, numOfRows, rowNum, OraParameterConst os_id_column = 2Const prod_id_column = 1'/* Get Lates Release Manager */OraDatabase.Parameters.Add "BOM_ID", parBom_id, ORAPARM_INPUT, ORATYPE_NUMBERSet rsQry = OraDatabase.DbCreateDynaset( GetQuery ("NewPatches.sql"), ORADYN_DEFAULT )OraDatabase.Parameters.Remove "BOM_ID"'-- Get RowsIf rsQry.RecordCount > 0 ThenaDiffList = rsQry.GetRows()Else'-- No differences with Release Manager, hence exitExit SubEnd If'/* Update Versions */OraDatabase.Parameters.Add "NEW_PROD_ID", 0, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "OS_ID", 0, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "USER_ID", objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBERSet OraParameter = OraDatabase.ParametersobjEH.TryORA ( OraSession )On Error Resume NextnumOfRows = UBound( aDiffList, 2 )For rowNum = 0 To numOfRowsIf Request("add_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( prod_id_column, rowNum ) ) <> "" ThenOraParameter("NEW_PROD_ID").Value = Request("add_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( prod_id_column, rowNum ) )OraParameter("OS_ID").Value = aDiffList( os_id_column, rowNum )OraDatabase.ExecuteSQL "BEGIN pk_Product.Add_Product ( :NEW_PROD_ID, :OS_ID, :USER_ID ); END;"End IfNextOraDatabase.Parameters.Remove "NEW_PROD_ID"OraDatabase.Parameters.Remove "OS_ID"OraDatabase.Parameters.Remove "USER_ID"objEH.CatchORA ( OraSession )End Sub'----------------------------------------------------------------------------------------------------------------------------------Sub HideProducts()Dim aDiffList, numOfRows, rowNum, OraParameterConst os_id_column = 2Const old_prod_id_column = 1'/* Get Latest from Release Manager */OraDatabase.Parameters.Add "BOM_ID", parBom_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "RTAG_ID", objFormCollector.Item("rtag_id_fk"), ORAPARM_INPUT, ORATYPE_NUMBERQuery_String = ReadFile( rootPath & "queries\CompareBomWithLatestFromRM.sql" )If objFormCollector.Item ("product_state_used") = "Y" ThenQuery_String = Replace( Query_String, "/* AND rc.PRODUCT_STATE IN (3, 5) */", " AND rc.PRODUCT_STATE IN (3, 5)")End IfSet rsQry = OraDatabase.DbCreateDynaset( Query_String, ORADYN_DEFAULT )OraDatabase.Parameters.Remove "BOM_ID"OraDatabase.Parameters.Remove "RTAG_ID"'-- Get RowsIf rsQry.RecordCount > 0 ThenaDiffList = rsQry.GetRows()Else'-- No differences with Release Manager, hence exitExit SubEnd If'/* Hide Versions */OraDatabase.Parameters.Add "NEW_PROD_ID", 0, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "OS_ID", 0, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "USER_ID", objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBERSet OraParameter = OraDatabase.ParametersOn Error Resume NextobjEH.TryORA ( OraSession )numOfRows = UBound( aDiffList, 2 )For rowNum = 0 To numOfRowsIf Request("hide_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( old_prod_id_column, rowNum ) ) <> "" ThenOraParameter("NEW_PROD_ID").Value = Request("hide_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( old_prod_id_column, rowNum ) )OraParameter("OS_ID").Value = aDiffList( os_id_column, rowNum )OraDatabase.ExecuteSQL "BEGIN pk_Product.Hide_Product ( :NEW_PROD_ID, :OS_ID, :USER_ID ); END;"End IfNext'--- Log Action ---'objEH.LogAction _'objAccessControl.UserId, _'enumAT_EVENT_COMMENT, _'"Sub UpdateProducts for OS list="& Request("spos_id_list"), _'SCRIPT_NAME, _'"Updated Products with new versions.", _'OraDatabaseOraDatabase.Parameters.Remove "NEW_PROD_ID"OraDatabase.Parameters.Remove "OS_ID"OraDatabase.Parameters.Remove "USER_ID"objEH.CatchORA ( OraSession )End Sub'----------------------------------------------------------------------------------------------------------------------------------Sub HidePatches()Dim aDiffList, numOfRows, rowNum, OraParameterConst os_id_column = 2Const prod_id_column = 1'/* Get Latest from Release Manager */OraDatabase.Parameters.Add "BOM_ID", parBom_id, ORAPARM_INPUT, ORATYPE_NUMBERSet rsQry = OraDatabase.DbCreateDynaset( GetQuery ("NewPatches.sql"), ORADYN_DEFAULT )OraDatabase.Parameters.Remove "BOM_ID"'-- Get RowsIf rsQry.RecordCount > 0 ThenaDiffList = rsQry.GetRows()Else'-- No differencses with Release Manager, hence exitExit SubEnd If'/* Hide Versions */OraDatabase.Parameters.Add "NEW_PROD_ID", 0, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "OS_ID", 0, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "USER_ID", objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBERSet OraParameter = OraDatabase.ParametersobjEH.TryORA ( OraSession )On Error Resume NextnumOfRows = UBound( aDiffList, 2 )For rowNum = 0 To numOfRowsIf Request("hide_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( prod_id_column, rowNum ) ) <> "" ThenOraParameter("NEW_PROD_ID").Value = Request("hide_"& aDiffList( os_id_column, rowNum ) &"_"& aDiffList( prod_id_column, rowNum ) )OraParameter("OS_ID").Value = aDiffList( os_id_column, rowNum )OraDatabase.ExecuteSQL "BEGIN pk_Product.Hide_Product ( :NEW_PROD_ID, :OS_ID, :USER_ID ); END;"End IfNextOraDatabase.Parameters.Remove "NEW_PROD_ID"OraDatabase.Parameters.Remove "OS_ID"OraDatabase.Parameters.Remove "USER_ID"objEH.CatchORA ( OraSession )End Sub'----------------------------------------------------------------------------------------------------------------------------------%><%'------------ RUN BEFORE PAGE RENDER ----------Call GetFormDetails ( parBom_id, objFormCollector )If Request("action") <> "" Then' -- Need to provide some level of validation' Cannot handle multiple updates to the same package' These can be detected by examining all the Update requests that have badly formed valuesDim ItemFor Each Item In Request.FormIf InStr(1, Item, "update_" , 1) = 1 ThenIf InStr( 1, Request.Form(Item), ",", 1) <> 0 ThenerrorMessage = "The selected set of packages to be updated is incorrect<br>" &_"The selection attempts to update a target package with more than one version of a package"Exit ForEnd IfEnd IfNext' --- Form is Valid ---If isEmpty(errorMessage) ThenCall UpdateProducts()Call AddPatches()Call HideProducts()Call HidePatches()If objEH.Finally ThenCall OpenInParentWindow ("Bom_Home.asp?UPDATED=OK"& objPMod.ComposeURLWithout("rfile") )Call CloseWindow()End IfElseResponse.Write ("WTF")End IfEnd If'----------------------------------------------%><html><head><SCRIPT LANGUAGE="JavaScript"><!-- Beginvar checkflag = "false";function check(field) {if (checkflag == "false") {for (i = 0; i < field.length; i++) {field[i].checked = true;}checkflag = "true";return "Uncheck all";}else {for (i = 0; i < field.length; i++) {field[i].checked = false;}checkflag = "false";return "Check all";}}// End --></script><script language="javascript">function checkAllHide(){var args = arguments;start_point:for (var i=0;i<document.forms[0].elements.length;i++) {found = false;var e=document.forms[0].elements[i];if ((e.name != 'checkall') && (e.type=='checkbox')) {for (var j = 0; j < args.length; j++)if (args[j] == e.name) {e.checked=document.forms[0].checkallhide.checked;}}}}function checkAllAdd(){var args = arguments;start_point:for (var i=0;i<document.forms[0].elements.length;i++) {found = false;var e=document.forms[0].elements[i];if ((e.name != 'checkall') && (e.type=='checkbox')) {for (var j = 0; j < args.length; j++)if (args[j] == e.name) {e.checked=document.forms[0].checkalladd.checked;}}}}// Toggle all checkboxes whose name begins with any strings listed as args to the function.function toggleAll(elem){var args = arguments;start_point:for (var i=0;i<document.forms[0].elements.length;i++) {var e=document.forms[0].elements[i];if (e.type=='checkbox') {for (var j = 1; j < args.length; j++)if (e.name.indexOf(args[j]) == 0) {e.checked=elem.checked;}}}return true;}</script><title>Deployment Manager</title><link rel="shortcut icon" href="<%=FavIcon%>"/><meta HTTP-EQUIV="Pragma" CONTENT="no-cache"><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><link href="scripts/deployment_manager.css?ver=<%=VixVerNum%>" rel="stylesheet" type="text/css"><script language="JavaScript" src="scripts/common.js?ver=<%=VixVerNum%>"></script><style type="text/css"><!--.style8 {font-size: 12px}--></style></head><body background="images/bg_bage_0.gif" leftmargin="0" topmargin="0" onLoad="self.focus();"><table width="100%" border="0" cellspacing="0" cellpadding="10"><tr><td bgcolor="#FFFFFF" class="body_txt"><span class="body_h1"><img src="icons/i_linkarrow_black.gif" width="11" height="11" align="absmiddle"> Update Products </span> <br>Update Products, selecting the latest from "Release Manager".</td></tr><%'-- FROM START --------------------------------------------------------------------------------------------------------------objFormComponent.FormName = "FormName"objFormComponent.Action = SCRIPT_NAMEobjFormComponent.OnSubmit = "ShowProgress();"Call objFormComponent.FormStart()%><tr><td background="images/bg_login.gif"><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td><%=ProgressBar()%><input name="btn" type="submit" class="form_btn" value="Update Selected"><input name="btn" type="reset" class="form_btn" value="Cancel" onClick="self.close();"></td><td align="left"> </td></tr></table></td></tr><tr><td><!-- PRODUCT NAME RESULTS ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --><table width="100%" border="0" cellspacing="10" cellpadding="0"><tr><td width="100%" valign="top" nowrap class="body_txt"><!-- MESSAGE +++++++++++++++++++++++++++++++++++++++++++++++++++ --><!--#include file="messages/_msg_inline.asp"--><!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --><%If objFormCollector.Item("rtag_id_fk") = "" ThenCall Messenger ( "This BOM does not have Release Manager Reference release.<br>Please edit BOM properties first.<br>", 1, "100%" )End IfIf NOT isEmpty(errorMessage) ThenCall Messenger ( errorMessage, 1, "100%" )End If%><!-- UPDATE PRODUCTS +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->Select Products and click Update.<table width="100%" border="0" cellspacing="3" cellpadding="0"><tr><td width="1%" nowrap background="images/bg_bage_0h.gif" class="body_col" style="padding-right: 0px;">Update <input type="checkbox" onclick="toggleAll(this, 'add_','update_')"></td><td width="1%" nowrap background="images/bg_bage_0h.gif" class="body_col"></td><td width="40%" align="right" nowrap background="images/bg_bage_0h.gif" class="body_col"><div align="left">Location</div></td><td width="20%" align="right" nowrap background="images/bg_bage_0h.gif" class="body_col"><div align="left">Version</div></td><td align="right" background="images/bg_bage_0h.gif" class="body_col"><div align="center">Hide</div></td><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></tr><%OraDatabase.Parameters.Add "BOM_ID", parBom_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "RTAG_ID", objFormCollector.Item("rtag_id_fk"), ORAPARM_INPUT, ORATYPE_NUMBERQuery_String = ReadFile( rootPath & "queries\CompareBomWithLatestFromRM.sql" )If objFormCollector.Item ("product_state_used") = "Y" ThenQuery_String = Replace( Query_String, "/* AND rc.PRODUCT_STATE = 3 */", " AND rc.PRODUCT_STATE = 3")End IfSet rsQry = OraDatabase.DbCreateDynaset( Query_String, ORADYN_DEFAULT )Dim rsTempDim hideResult()Dim numHiddenProductsDim len_hideResultDim i_hideResult' Evaluate hidden status of products' Create a hask of 'keys' to assist in identifying packages with multiple updatesnumHiddenProducts = 0len_hideResult = 0While (NOT rsQry.BOF) AND (NOT rsQry.EOF)key = rsQry("os_id") & "_" & rsQry("prod_id")objList.Item(key) = objList.Item(key) + 1Set rsTemp = OraDatabase.DbCreateDynaset( "SELECT * FROM HIDE_PRODUCTS WHERE OS_ID="& rsQry("os_id") &" AND PROD_ID="& rsQry("prod_id"), ORADYN_DEFAULT )len_hideResult = len_hideResult + 1ReDim Preserve hideResult(len_hideResult)If rsTemp.RecordCount = 0 ThenhideResult(len_hideResult - 1) = FalseElsehideResult(len_hideResult - 1) = TruenumHiddenProducts = numHiddenProducts + 1End IfrsTemp.Close()Set rsTemp = nothingrsQry.MoveNextWendIf (rsQry.RecordCount = numHiddenProducts) Then%><tr><td colspan="6" class="body_row">No Products to Update (some products are hidden and status of those has not been shown)</td></tr><%ElseIf (rsQry.RecordCount < 1) Then%><tr><td colspan="6" class="body_row">No Products to Update.</td></tr><%End If' Now render the product rows themselves' Have a hask of products with issuescurrPkg_id = 0rsQry.MoveFirsti_hideResult = 0While (NOT rsQry.BOF) AND (NOT rsQry.EOF)key = rsQry("os_id") & "_" & rsQry("prod_id")If hideResult(i_hideResult) = False ThenIf currPkg_id <> rsQry("pkg_id") Then%><tr><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></tr><tr><td colspan="6" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><%currPkg_id = rsQry("pkg_id")End If%><tr><td align="right" nowrap><input type="checkbox" name="update_<%=rsQry("os_id") &"_"& rsQry("prod_id")%>" value="<%=rsQry("latest_prod_id")%>"></td><td align="left" nowrap><%If objList.Item(key) > 1 Then%><img hspace="2" src="icons/s_warning.gif" align="absmiddle" border="0" title="Package has multiple versions. Only one can be updated"><%End If%></td><td nowrap class="body_row"><img hspace="2" src="icons/<%=rsQry("node_icon")%>" align="absmiddle" border="0"><%=rsQry("prod_location")%></td><td nowrap class="body_row"><%=rsQry("prod_version")%></td><td align="center" nowrap><%If NOT objHideList.Exists(key) Then%><input type="checkbox" name="hide_<%=rsQry("os_id") &"_"& rsQry("prod_id")%>" value="<%=rsQry("prod_id")%>"><%End If%><%objHideList.Item(key) = 1%></td><td nowrap class="body_row"><span class="body_txtr"><%=rsQry("rm_latest_version")%></span></td></tr><tr><td colspan="6" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><%End IfrsQry.MoveNexti_hideResult = i_hideResult + 1Wend%><!-- NEW PATCHES +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --><%Dim strAdd, rsAdd, strHideSet rsQry = OraDatabase.DbCreateDynaset( GetQuery ("NewPatches.sql"), ORADYN_DEFAULT )Set rsAdd = OraDatabase.DbCreateDynaset( GetQuery ("NewPatches.sql"), ORADYN_DEFAULT )currPkg_id = 0If rsQry.RecordCount > 0 ThenWhile (NOT rsAdd.BOF) AND (NOT rsAdd.EOF)Set rsTemp = OraDatabase.DbCreateDynaset( "SELECT * FROM HIDE_PRODUCTS WHERE OS_ID="& rsAdd("os_id") &" AND PROD_ID="& rsAdd("prod_id"), ORADYN_DEFAULT )If rsTemp.RecordCount = 0 ThenstrAdd = strAdd + "'add_"&rsAdd("os_id") &"_"& rsAdd("prod_id")&"',"strHide = strHide + "'hide_"&rsAdd("os_id") &"_"& rsAdd("prod_id")&"',"End IfrsAdd.MoveNextWendrsAdd.Close()rsTemp.Close()Set rsAdd = nothingSet rsTemp = nothingIf NOT IsEmpty(strAdd) ThenstrAdd = Mid(strAdd, 1, Len(strAdd)-1) + ", 'checkalladd'"End IfIf NOT IsEmpty(strHide) ThenstrHide = Mid(strHide, 1, Len(strHide)-1) + ", 'checkallhide'"End If%><tr><td nowrap background="images/bg_bage_0h.gif" class="body_col" align="center">Add</td><td nowrap class="body_col"> </td><td align="right" nowrap background="images/bg_bage_0h.gif" class="body_col"><div align="left">Location</div></td><td align="right" nowrap background="images/bg_bage_0h.gif" class="body_col"><div align="left">Version</div></td><td align="right" background="images/bg_bage_0h.gif" class="body_col"><div align="center">Hide</div></td><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></tr><%If NOT IsEmpty(strAdd) Then%><tr><td align="center" nowrap><INPUT type=checkbox name="checkalladd" value="Check All" onClick="checkAllAdd(<%=strAdd%>);"></td><td nowrap class="body_row"> </td><td nowrap class="body_row"> </td><td nowrap class="body_row"> </td><td align="center" nowrap><INPUT type=checkbox name="checkallhide" value="Check All" onClick="checkAllHide(<%=strHide%>);"></td><td nowrap class="body_row"> </td></tr><%End IfWhile (NOT rsQry.BOF) AND (NOT rsQry.EOF)Set rsTemp = OraDatabase.DbCreateDynaset( "SELECT * FROM HIDE_PRODUCTS WHERE OS_ID="& rsQry("os_id") &" AND PROD_ID="& rsQry("prod_id"), ORADYN_DEFAULT )If rsTemp.RecordCount = 0 ThenIf currPkg_id <> rsQry("pkg_id") Then%><tr><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><td nowrap class="body_row"> </td><td nowrap class="body_row"><div align="center"></div></td><td nowrap class="body_row"></td></tr><tr><td colspan="6" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><%currPkg_id = rsQry("pkg_id")End If%><tr><td align="center" nowrap><input type="checkbox" name="add_<%=rsQry("os_id") &"_"& rsQry("prod_id")%>" value="<%=rsQry("prod_id")%>"> </td><td nowrap class="body_row"></td><td nowrap class="body_row"><img hspace="2" src="icons/<%=rsQry("node_icon")%>" align="absmiddle" border="0"><%=rsQry("prod_location")%></td><td nowrap class="body_row"><img src="icons/i_patch_small.gif" width="16" height="16" border="0" align="absmiddle"><%=rsQry("prod_version")%></td><td align="center" nowrap><input type="checkbox" name="hide_<%=rsQry("os_id") &"_"& rsQry("prod_id")%>" value="<%=rsQry("prod_id")%>"> </td><td nowrap class="body_row"><span class="body_row"><%=rsQry("comments")%></span></td></tr><tr><td colspan="6" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="1"></td></tr><%End IfrsTemp.Close()Set rsTemp = nothingrsQry.MoveNextWendEnd If%><tr><td colspan="6" background="images/bg_table_border.gif"><img src="images/spacer.gif" width="1" height="3"></td></tr></table><%OraDatabase.Parameters.Remove "RTAG_ID"OraDatabase.Parameters.Remove "BOM_ID"rsQry.CloseSet rsQry = Nothing%></td></tr></table><!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --></td></tr><%=objPMod.ComposeHiddenTags()%><input type="hidden" name="action" value="true"><%Call objFormComponent.FormEnd()'-- FROM END ----------------------------------------------------------------------------------------------------------------%></table></body></html><!--#include file="common/globals_destructor.asp"-->