<%@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 '------------ 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 ("pkg_version") = rsQry("pkg_version") outobjDetails.Item ("product_comments") = rsQry("product_comments") 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 objEH.TryORA ( OraSession ) OraDatabase.ExecuteSQL _ "BEGIN pk_Product.Update_Product ( :OLD_PROD_ID, :NEW_PROD_VERSION, :OS_ID, :SEQ_NUM, :PROD_COMMENTS ); END;" objEH.CatchORA ( OraSession ) 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" 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 objEH.TryORA ( OraSession ) OraDatabase.ExecuteSQL _ "BEGIN pk_Base_Env.Update_Product ( :OLD_PROD_ID, :NEW_PROD_VERSION, :BASE_ENV_ID, :SEQ_NUM, :PROD_COMMENTS ); END;" objEH.CatchORA ( OraSession ) 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" 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()%> <% Call objFormComponent.FormEnd() '-- FROM END ---------------------------------------------------------------------------------------------------------------- %>
 Add New Product Version
Add new product version and click Submit.
<%=ProgressBar%>
<%If NOT objEH.Finally Then%> <%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" )%>
Version <% Call GetProductVersions( aRs, MoreLink ) ForceDropdown = FALSE If IsNull(MoreLink) AND (parFilter_on <> "") Then ForceDropdown = TRUE Response.write objFormComponent.ComboWithTextAndFilter ( "new_prod_version", objForm.GetValue( "new_prod_version", objFormCollector.Item("pkg_version")), aRs, "size='30' class='form_ivalue'", MoreLink, ForceDropdown ) %>
Comments <%=objFormComponent.TextArea ("product_comments", objForm.GetValue ( "product_comments", objFormCollector.Item("product_comments")), 22, 80, "class='form_ivalue'" )%> <%=objForm.Validate ("product_comments")%>