%@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
Edit Product
Update product details and click Submit.
|
<%
'-- FROM START ---------------------------------------------------------------------------------------------------------
objFormComponent.FormName = "FormName"
objFormComponent.Action = SCRIPT_NAME
objFormComponent.OnSubmit = "ShowProgress();"
Call objFormComponent.FormStart()
%>
|
<%If NOT objEH.Finally Then%>
| |
<%objEH.DisplayMessage()%>
|
|
<%End If%>
| 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" )%> |
|
<%If IsNull(objFormCollector.Item("is_patch")) Then%>
| 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'" )%> |
|
<%Else%>
| Patch Electronic Name |
<%=objFormComponent.TextBox ( "patch_electronic_name", objFormCollector.Item("patch_electronic_name"), "size='70' class='form_ivalue'" )%> |
|
">
">
<%End If%>
| Include In Node Spec File |
<%If IsNull(objFormCollector.Item("is_node_spec")) Then%>
|
<%Else%>
|
<%End If%>
|
| Checked If Not Required In XML |
<%If IsNull(objFormCollector.Item("not_xml")) Then%>
|
<%Else%>
|
<%End If%>
|
| 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")%>
|
| |
|
|
|
<%=objPMod.ComposeHiddenTags()%>
<%
OraDatabase.Parameters.Remove "PV_ID"
OraDatabase.Parameters.Remove "OS_ID"
rsTemp.Close()
Set rsTemp = nothing
Call objFormComponent.FormEnd()
'-- FROM END ----------------------------------------------------------------------------------------------------------------
%>
<%
'------------ RUN AFTER PAGE RENDER -----------
Set objFormCollector = Nothing
'----------------------------------------------
%>