<%@LANGUAGE="VBSCRIPT"%> <% '===================================================== '| | '| wEditProd | '| | '===================================================== %> <% Option explicit Response.Expires = 0 %> <% '------------ ACCESS CONTROL ------------------ %> <% '------------ VARIABLE DEFINITION ------------- Dim objFormCollector Dim aRs Dim MoreLink Dim parFilter_on Dim ForceDropdown Dim parBase_env_id Dim rsTemp '------------ CONSTANTS DECLARATION ----------- '------------ VARIABLE INIT ------------------- parProd_id = Request("prod_id_list") parOs_id = Request("os_id") parBom_id = Request("bom_id") parFilter_on = Request("filter_on") parBase_env_id = Request("base_env_id") Set objFormCollector = CreateObject("Scripting.Dictionary") '------------ CONDITIONS ---------------------- '---------------------------------------------- %> <% '-------------------------------------------------------------------------------------------------------------------------- Sub GetFormDetails ( nProd_id, nOs_id, nBaseEnvId, nBom_id, ByRef outobjDetails ) Dim rsQry, query OraDatabase.Parameters.Add "PROD_ID", nProd_id, ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "BOM_ID", nBom_id, ORAPARM_INPUT, ORATYPE_NUMBER If nBaseEnvId = "" Then OraDatabase.Parameters.Add "OS_ID", nOs_id, ORAPARM_INPUT, ORATYPE_NUMBER query = GetQuery("ProductDetailsAtOs.sql") Else OraDatabase.Parameters.Add "BASE_ENV_ID", nBaseEnvId, ORAPARM_INPUT, ORATYPE_NUMBER query = GetQuery("ProductDetailsAtBaseEnv.sql") End If Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT ) If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then outobjDetails.Item ("seq_num") = rsQry("seq_num") outobjDetails.Item ("prod_id") = rsQry("prod_id") outobjDetails.Item ("pkg_id") = rsQry("pkg_id") outobjDetails.Item ("pkg_name") = rsQry("pkg_name") outobjDetails.Item ("is_node_spec") = rsQry("is_node_spec") outobjDetails.Item ("sunos_electronic_name") = rsQry("sunos_electronic_name") outobjDetails.Item ("win_electronic_name") = rsQry("win_electronic_name") outobjDetails.Item ("pkg_version") = rsQry("pkg_version") outobjDetails.Item ("product_comments") = rsQry("product_comments") outobjDetails.Item ("not_xml") = rsQry("not_xml") outobjDetails.Item ("is_patch") = rsQry("is_patch") outobjDetails.Item ("patch_electronic_name") = rsQry("patch_electronic_name") If nBaseEnvId = "" Then outobjDetails.Item ("os_id") = rsQry("os_id") Else outobjDetails.Item ("base_env_id") = rsQry("base_env_id") End If Else Err.Raise 8, "Sub GetFormDetails", "Empty record set returned. nProd_id="& nProd_id &", nOs_id="& nOs_id End If rsQry.Close Set rsQry = Nothing '/* Get Project Details */ query = _ " SELECT proj.RM_PROJECTS_FK"&_ " FROM BOMS bo,"&_ " BRANCHES br,"&_ " DM_PROJECTS proj"&_ " WHERE br.PROJ_ID = proj.PROJ_ID"&_ " AND bo.BRANCH_ID = br.BRANCH_ID"&_ " AND bo.BOM_ID = :BOM_ID" Set rsQry = OraDatabase.DbCreateDynaset( query , ORADYN_DEFAULT ) If ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Then outobjDetails.Item ("rm_projects_fk") = rsQry("rm_projects_fk") Else Err.Raise 8, "Sub GetFormDetails", "Empty record set returned. nBom_id="& nBom_id End If OraDatabase.Parameters.Remove "PROD_ID" OraDatabase.Parameters.Remove "OS_ID" OraDatabase.Parameters.Remove "BASE_ENV_ID" OraDatabase.Parameters.Remove "BOM_ID" rsQry.Close Set rsQry = Nothing End Sub '-------------------------------------------------------------------------------------------------------------------------- Sub GetProductVersions ( aRs, outMore ) Dim rsQry, OraParameter, CurrentRecordCount, TotalRecordCount OraDatabase.Parameters.Add "PKG_ID", objFormCollector.Item("pkg_id"), ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "PROJ_ID", objFormCollector.Item("rm_projects_fk"), ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "FILTER_ON", 1, ORAPARM_INPUT, ORATYPE_NUMBER '-- Get all Ora Parameters Set OraParameter = OraDatabase.Parameters '-- Clear Filter if user require If parFilter_on <> "" Then OraParameter("FILTER_ON").Value = 0 '-- Get Record Set Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("ProductVersionsList.sql"), ORADYN_DEFAULT ) CurrentRecordCount = rsQry.RecordCount If (NOT rsQry.BOF) AND (NOT rsQry.EOF) Then aRs = rsQry.GetRows() Else aRs = NULL End If rsQry.Close Set rsQry = Nothing '-- Get Total Record Count OraParameter("FILTER_ON").Value = 0 Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("ProductVersionsList.sql"), ORADYN_DEFAULT ) TotalRecordCount = rsQry.RecordCount rsQry.Close Set rsQry = Nothing '-- Create More... linke if needed outMore = NULL If CurrentRecordCount < TotalRecordCount Then outMore = "javascript:go_submit( document.FormName, ""filter_off"" );ShowProgress();" End If Set OraParameter = Nothing OraDatabase.Parameters.Remove "PKG_ID" OraDatabase.Parameters.Remove "PROJ_ID" OraDatabase.Parameters.Remove "FILTER_ON" End Sub '-------------------------------------------------------------------------------------------------------------------------- Function GetSeqNumList ( nSeq_num ) Dim rsQry, query OraDatabase.Parameters.Add "SEQ_NUM", nSeq_num, ORAPARM_INPUT, ORATYPE_NUMBER If parBase_env_id = "" Then OraDatabase.Parameters.Add "OS_ID", parOs_id, ORAPARM_INPUT, ORATYPE_NUMBER query = GetQuery ("InstallOrderComboAtOs.sql") Else OraDatabase.Parameters.Add "BASE_ENV_ID", parBase_env_id, ORAPARM_INPUT, ORATYPE_NUMBER query = GetQuery ("InstallOrderComboAtBaseEnv.sql") End If Set rsQry = OraDatabase.DbCreateDynaset( query, ORADYN_DEFAULT ) If (NOT rsQry.BOF) AND (NOT rsQry.EOF) Then GetSeqNumList = rsQry.GetRows() Else GetSeqNumList = NULL End If rsQry.Close Set rsQry = Nothing OraDatabase.Parameters.Remove "OS_ID" OraDatabase.Parameters.Remove "BASE_ENV_ID" OraDatabase.Parameters.Remove "SEQ_NUM" End Function '-------------------------------------------------------------------------------------------------------------------------- Sub UpdateProdAtOs () On Error Resume Next OraDatabase.Parameters.Add "OLD_PROD_ID", Request("prod_id_list"), ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "NEW_PROD_VERSION", Request("new_prod_version"), ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "OS_ID", Request("os_id"), ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "SEQ_NUM", Request("seq_num"), ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "PROD_COMMENTS", Request("product_comments"),ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "SUNOS_ELECTRONIC_NAME", Request("sunos_electronic_name"),ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "WIN_ELECTRONIC_NAME", Request("win_electronic_name"),ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "IS_NODE_SPEC", Request("is_node_spec"),ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "NOT_XML", Request("not_xml"), ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "PATCH_ELECTRONIC_NAME", Request("patch_electronic_name"),ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "USER_ID", objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "COMMENT", "Updated Package "&objFormCollector.Item("pkg_name")&" to Version:"&Request("new_prod_version"),ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "PKG_NAME", "", ORAPARM_OUTPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "BOM_ID", parBom_id, ORAPARM_INPUT, ORATYPE_NUMBER objEH.TryORA ( OraSession ) OraDatabase.ExecuteSQL _ "BEGIN pk_Product.Update_Product ( :OLD_PROD_ID, :NEW_PROD_VERSION, :OS_ID, :SEQ_NUM, :PROD_COMMENTS, :SUNOS_ELECTRONIC_NAME, :WIN_ELECTRONIC_NAME, :IS_NODE_SPEC, :NOT_XML, :PATCH_ELECTRONIC_NAME, :USER_ID, :PKG_NAME ); END;" objEH.CatchORA ( OraSession ) objEH.TryORA ( OraSession ) OraDatabase.ExecuteSQL _ "BEGIN pk_Bom.Log_Os_Trail ( :OS_ID, :COMMENT, :USER_ID ); END;" objEH.CatchORA ( OraSession ) Call PopulateSBOMField( parBom_id, NULL, objFormCollector.Item("pkg_name"), Request("new_prod_version") ) OraDatabase.Parameters.Remove "OLD_PROD_ID" OraDatabase.Parameters.Remove "NEW_PROD_VERSION" OraDatabase.Parameters.Remove "OS_ID" OraDatabase.Parameters.Remove "SEQ_NUM" OraDatabase.Parameters.Remove "PROD_COMMENTS" OraDatabase.Parameters.Remove "SUNOS_ELECTRONIC_NAME" OraDatabase.Parameters.Remove "WIN_ELECTRONIC_NAME" OraDatabase.Parameters.Remove "IS_NODE_SPEC" OraDatabase.Parameters.Remove "NOT_XML" OraDatabase.Parameters.Remove "PATCH_ELECTRONIC_NAME" OraDatabase.Parameters.Remove "USER_ID" OraDatabase.Parameters.Remove "COMMENT" OraDatabase.Parameters.Remove "PKG_NAME" OraDatabase.Parameters.Remove "BOM_ID" End Sub '-------------------------------------------------------------------------------------------------------------------------- Sub UpdateProdAtBaseEnv () On Error Resume Next OraDatabase.Parameters.Add "OLD_PROD_ID", Request("prod_id_list"), ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "NEW_PROD_VERSION", Request("new_prod_version"), ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "BASE_ENV_ID", Request("base_env_id"), ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "SEQ_NUM", Request("seq_num"), ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "PROD_COMMENTS", Request("product_comments"),ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "SUNOS_ELECTRONIC_NAME", Request("sunos_electronic_name"),ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "WIN_ELECTRONIC_NAME", Request("win_electronic_name"),ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "NOT_XML", Request("not_xml"), ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "PATCH_ELECTRONIC_NAME", Request("patch_electronic_name"),ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "USER_ID", objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "COMMENT", "Updated Package "&objFormCollector.Item("pkg_name")&" to Version:"&Request("new_prod_version"),ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "OS_ID", Request("os_id"), ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "PKG_NAME", "", ORAPARM_OUTPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "BOM_ID", parBom_id, ORAPARM_INPUT, ORATYPE_NUMBER objEH.TryORA ( OraSession ) OraDatabase.ExecuteSQL _ "BEGIN pk_Base_Env.Update_Product ( :OLD_PROD_ID, :NEW_PROD_VERSION, :BASE_ENV_ID, :SEQ_NUM, :PROD_COMMENTS, :SUNOS_ELECTRONIC_NAME, :WIN_ELECTRONIC_NAME, :NOT_XML, :PATCH_ELECTRONIC_NAME, :USER_ID, :PKG_NAME ); END;" objEH.CatchORA ( OraSession ) objEH.TryORA ( OraSession ) OraDatabase.ExecuteSQL _ "BEGIN pk_Bom.Log_Os_Trail ( :OS_ID, :COMMENT, :USER_ID ); END;" objEH.CatchORA ( OraSession ) Call PopulateSBOMField( parBom_id, NULL, objFormCollector.Item("pkg_name"), Request("new_prod_version") ) OraDatabase.Parameters.Remove "OLD_PROD_ID" OraDatabase.Parameters.Remove "NEW_PROD_VERSION" OraDatabase.Parameters.Remove "BASE_ENV_ID" OraDatabase.Parameters.Remove "SEQ_NUM" OraDatabase.Parameters.Remove "PROD_COMMENTS" OraDatabase.Parameters.Remove "SUNOS_ELECTRONIC_NAME" OraDatabase.Parameters.Remove "WIN_ELECTRONIC_NAME" OraDatabase.Parameters.Remove "NOT_XML" OraDatabase.Parameters.Remove "PATCH_ELECTRONIC_NAME" OraDatabase.Parameters.Remove "USER_ID" OraDatabase.Parameters.Remove "COMMENT" OraDatabase.Parameters.Remove "OS_ID" OraDatabase.Parameters.Remove "PKG_NAME" OraDatabase.Parameters.Remove "BOM_ID" End Sub '-------------------------------------------------------------------------------------------------------------------------- %> <% '------------ RUN BEFORE PAGE RENDER ---------- objPMod.PersistInQryString ( Array("base_env_id") ) ' --- Get Form details from DB --- Call GetFormDetails ( parProd_id, parOs_id, parBase_env_id, parBom_id, objFormCollector ) ' --- Load Validation Rules --- Call objForm.LoadValidationRules ( Array("product_comments"), OraDatabase ) ' Load Validation Rules ' --- Enter Form Validation Rule Changes here... ---- '---------------------------------------------------- If Request("action") = "true" Then If objForm.IsValidOnPostBack Then ' --- Form is Valid --- If parBase_env_id = "" Then Call UpdateProdAtOs() Else Call UpdateProdAtBaseEnv() End If If objEH.Finally Then Call OpenInParentWindow ( Request("rfile") &"?UPDATED=OK"& objPMod.ComposeURLWithout("rfile") ) Call CloseWindow() End If End If ElseIf Request("action") = "filter_off" Then parFilter_on = 0 End If '---------------------------------------------- %> Deployment Manager <% '-- FROM START --------------------------------------------------------------------------------------------------------- objFormComponent.FormName = "FormName" objFormComponent.Action = SCRIPT_NAME objFormComponent.OnSubmit = "ShowProgress();" Call objFormComponent.FormStart() %> <%=objPMod.ComposeHiddenTags()%> <% OraDatabase.Parameters.Remove "PV_ID" OraDatabase.Parameters.Remove "OS_ID" rsTemp.Close() Set rsTemp = nothing Call objFormComponent.FormEnd() '-- FROM END ---------------------------------------------------------------------------------------------------------------- %>
 Edit Product
Update product details and click Submit.
<%=ProgressBar%>
<%If NOT objEH.Finally Then%> <%End If%> <%If IsNull(objFormCollector.Item("is_patch")) Then%> <%Else%> "> "> <%End If%> <%If IsNull(objFormCollector.Item("is_node_spec")) Then%> <%Else%> <%End If%> <%If IsNull(objFormCollector.Item("not_xml")) Then%> <%Else%> <%End If%>
  <%objEH.DisplayMessage()%>
Install Order <%=objFormComponent.Combo ( "seq_num", GetSeqNumList( objForm.GetValue ( "seq_num", objFormCollector.Item("seq_num"))), FALSE, "class='form_ivalue'" )%>
Product Name <%=objFormComponent.TextBox ( "pkg_name", objFormCollector.Item("pkg_name"), "size='70' class='form_ivalue' disabled" )%>
SunOS Electronic Name <%=objFormComponent.TextBox ( "sunos_electronic_name", objFormCollector.Item("sunos_electronic_name"), "size='70' class='form_ivalue'" )%>
Windows Electronic Name <%=objFormComponent.TextBox ( "win_electronic_name", objFormCollector.Item("win_electronic_name"), "size='70' class='form_ivalue'" )%>
Patch Electronic Name <%=objFormComponent.TextBox ( "patch_electronic_name", objFormCollector.Item("patch_electronic_name"), "size='70' class='form_ivalue'" )%>
Include In Node Spec File
Checked If Not Required In XML
Version <% Call GetProductVersions( aRs, MoreLink ) ForceDropdown = FALSE If IsNull(MoreLink) AND (parFilter_on <> "") Then ForceDropdown = TRUE OraDatabase.Parameters.Add "PV_ID", parProd_id, ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "OS_ID", parOs_id, ORAPARM_INPUT, ORATYPE_NUMBER Set rsTemp = OraDatabase.DbCreateDynaset( GetQuery ("Package_Patches.sql"), ORADYN_DEFAULT ) If rsTemp.RecordCount = 0 Then Response.write objFormComponent.ComboWithTextAndFilter ( "new_prod_version", objForm.GetValue( "new_prod_version", objFormCollector.Item("pkg_version")), aRs, "size='30' class='form_ivalue'", MoreLink, ForceDropdown ) Else Response.write objFormComponent.TextBox ( "new_prod_version", objFormCollector.Item("pkg_version"), "size='30' class='form_ivalue' readonly" ) End If %>
Comments <%=objFormComponent.TextArea ("product_comments", objForm.GetValue ( "product_comments", objFormCollector.Item("product_comments")), 22, 80, "class='form_ivalue'" )%> <%=objForm.Validate ("product_comments")%>
   
<% '------------ RUN AFTER PAGE RENDER ----------- Set objFormCollector = Nothing '---------------------------------------------- %>