<%@LANGUAGE="VBSCRIPT"%> <% '===================================================== '| | '| wAddProdNew | '| | '===================================================== %> <% Option explicit Response.Expires = 0 %> <% '------------ ACCESS CONTROL ------------------ %> <% '------------ VARIABLE DEFINITION ------------- Dim rsQry Dim objFormCollector Dim sMessage '------------ CONSTANTS DECLARATION ----------- '------------ VARIABLE INIT ------------------- sMessage = NULL parBom_id = Request("bom_id") parOs_id = Request("os_id") Set objFormCollector = CreateObject("Scripting.Dictionary") '------------ CONDITIONS ---------------------- '---------------------------------------------- '-------------------------------------------------------------------------------------------------------------------------- Function HasSimilarNames ( sProdName ) Dim rsQry HasSimilarNames = FALSE OraDatabase.Parameters.Add "PROD_NAME", sProdName, ORAPARM_INPUT, ORATYPE_VARCHAR2 Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("SimilarProductNames.sql"), ORADYN_DEFAULT ) If rsQry.RecordCount > 0 Then HasSimilarNames = TRUE End If OraDatabase.Parameters.Remove "PROD_NAME" rsQry.Close Set rsQry = Nothing End Function '-------------------------------------------------------------------------------------------------------------------------- Sub AddProdToOs () On Error Resume Next OraDatabase.Parameters.Add "PROD_NAME", Request("prod_name"), ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "PROD_VERSION", Request("prod_version"), ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "OS_ID", Request("os_id"), ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "USER_ID", objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBER objEH.TryORA ( OraSession ) OraDatabase.ExecuteSQL _ "DECLARE "&_ " outProdId NUMBER;"&_ "BEGIN "&_ " pk_Product.New_Product ( :PROD_NAME, :PROD_VERSION, :USER_ID, outProdId );"&_ " pk_Product.Add_Product ( outProdId, :OS_ID, :USER_ID );"&_ "END;" objEH.CatchORA ( OraSession ) OraDatabase.Parameters.Remove "PROD_NAME" OraDatabase.Parameters.Remove "PROD_VERSION" OraDatabase.Parameters.Remove "OS_ID" OraDatabase.Parameters.Remove "USER_ID" End Sub '-------------------------------------------------------------------------------------------------------------------------- Sub AddProdToBaseEnv () On Error Resume Next OraDatabase.Parameters.Add "PROD_NAME", Request("prod_name"), ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "PROD_VERSION", Request("prod_version"), ORAPARM_INPUT, ORATYPE_VARCHAR2 OraDatabase.Parameters.Add "BASE_ENV_ID", Request("base_env_id"), ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "OS_ID", Request("os_id"), ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "USER_ID", objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBER objEH.TryORA ( OraSession ) OraDatabase.ExecuteSQL _ "DECLARE "&_ " outProdId NUMBER;"&_ "BEGIN "&_ " pk_Product.New_Product ( :PROD_NAME, :PROD_VERSION, :USER_ID, outProdId );"&_ " pk_Base_Env.Add_Product ( outProdId, :BASE_ENV_ID, :OS_ID, :USER_ID );"&_ "END;" objEH.CatchORA ( OraSession ) OraDatabase.Parameters.Remove "PROD_NAME" OraDatabase.Parameters.Remove "PROD_VERSION" OraDatabase.Parameters.Remove "BASE_ENV_ID" OraDatabase.Parameters.Remove "OS_ID" OraDatabase.Parameters.Remove "USER_ID" End Sub '-------------------------------------------------------------------------------------------------------------------------- Sub AddProdNew () If Request("skip_similar_names") = "" Then If HasSimilarNames( Request("prod_name") ) Then Call OpenInWindow ( "wAddProdSimilarNames.asp?prod_name="& Request("prod_name") &"&prod_version="& Request("prod_version") &"&"& objPMod.ComposeURL() ) End If End If '-- Now add product If Request("base_env_id") = "" Then '-- Add to OS Call AddProdToOs() Else '-- Add to Base Env Call AddProdToBaseEnv() End If End Sub '-------------------------------------------------------------------------------------------------------------------------- %> <% '------------ RUN BEFORE PAGE RENDER ---------- objPMod.PersistInQryString ( Array("base_env_id") ) ' --- Get Form details from DB --- ' --- Load Validation Rules --- Call objForm.LoadValidationRules ( Array("prod_name","prod_version"), OraDatabase ) ' Load Validation Rules ' --- Enter Form Validation Rule Changes here... ---- 'If Request("base_env_id") <> "" Then ' /* There is a problem if you want to add 3rd party product in OS and the Product Name is not to ERG standards. ' I will allow entry of any kind of names and versions for now. */ objForm.UpdateRules ("id='prod_name' RegExp=''") objForm.UpdateRules ("id='prod_version' RegExp=''") 'End If '---------------------------------------------------- If CBool(Request("action")) Then If objForm.IsValidOnPostBack Then '-- Add Product Call AddProdNew() If objEH.Finally Then Call OpenInParentWindow ( Request("rfile") &"?ADDED=OK"& objPMod.ComposeURLWithout("rfile") ) Call CloseWindow() End If End If 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 Product
Enter Product Name and Version.
<%=ProgressBar()%>   
Product Name <%=objFormComponent.TextBox ( "prod_name", objForm.GetValue( "prod_name", objFormCollector.Item("prod_name") ), "size='60' class='form_ivalue'" )%> <%=objForm.Validate ("prod_name")%>
Product Version <%=objFormComponent.TextBox ( "prod_version", objForm.GetValue( "prod_version", objFormCollector.Item("prod_version") ), "size='60' class='form_ivalue'" )%> <%=objForm.Validate ("prod_version")%>