%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
'| |
'| AddBlankBom |
'| |
'=====================================================
%>
<%
Option explicit
Response.Expires = 0
%>
<%
'------------ ACCESS CONTROL ------------------
%>
<%
'------------ VARIABLE DEFINITION -------------
Dim rsQry
'------------ CONSTANTS DECLARATION -----------
'------------ VARIABLE INIT -------------------
Call GetMainDBParameters ( dbPARproj_id, dbPARbranch_id, dbPARbom_id, dbPARnode_id, dbPARos_id, dbPARprod_id )
parProj_id = Request("proj_id")
parBranch_id = Request("branch_id")
'------------ CONDITIONS ----------------------
'----------------------------------------------
%>
<%
'--------------------------------------------------------------------------------------------------------------------------
Sub GetFormDetails ( nBom_id, ByRef outobjDetails )
Dim rsQry, query
OraDatabase.Parameters.Add "BOM_ID", nBom_id, ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "BASE_ENV_ID", NULL, ORAPARM_INPUT, ORATYPE_NUMBER
'Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("BomBaseEnvList.sql"), ORADYN_DEFAULT )
If rsQry.RecordCount > 0 Then
outobjDetails.Item ("bom_base_env") = TRUE
Else
outobjDetails.Item ("bom_base_env") = FALSE
End If
OraDatabase.Parameters.Remove "BOM_ID"
OraDatabase.Parameters.Remove "BASE_ENV_ID"
rsQry.Close
Set rsQry = Nothing
End Sub
'--------------------------------------------------------------------------------------------------------------------------
Function GetRMReleaseList ( nRtagId, nProjId )
Dim rsQry, query
OraDatabase.Parameters.Add "RTAG_ID", nRtagId, ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "PROJ_ID", nProjId, ORAPARM_INPUT, ORATYPE_NUMBER
Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("RMReleasesCombo.sql"), ORADYN_DEFAULT )
If rsQry.RecordCount > 0 Then
GetRMReleaseList = rsQry.GetRows()
Else
GetRMReleaseList = NULL
End If
OraDatabase.Parameters.Remove "RTAG_ID"
OraDatabase.Parameters.Remove "PROJ_ID"
rsQry.Close
Set rsQry = Nothing
End Function
'--------------------------------------------------------------------------------------------------------------------------
Function GetBomNames ( nProj_id )
Dim rsQry
OraDatabase.Parameters.Add "PROJ_ID", nProj_id, ORAPARM_INPUT, ORATYPE_NUMBER
Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("BomNamesList.sql"), ORADYN_DEFAULT )
If rsQry.RecordCount > 0 Then
GetBomNames = rsQry.GetRows()
Else
GetBomNames = NULL
End If
OraDatabase.Parameters.Remove "PROJ_ID"
End Function
'--------------------------------------------------------------------------------------------------------------------------
Sub AddBom ()
On Error Resume Next
OraDatabase.Parameters.Add "BOM_NAME", Request("bom_name"), ORAPARM_INPUT, ORATYPE_VARCHAR2
OraDatabase.Parameters.Add "BRANCH_ID", Request("branch_id"), ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "BOM_VERSION", Request("bom_version"), ORAPARM_INPUT, ORATYPE_VARCHAR2
OraDatabase.Parameters.Add "BOM_LIFECYCLE", Request("bom_lifecycle"), ORAPARM_INPUT, ORATYPE_VARCHAR2
OraDatabase.Parameters.Add "BOM_COMMENTS", Request("bom_comments"), ORAPARM_INPUT, ORATYPE_VARCHAR2
OraDatabase.Parameters.Add "RTAG_ID_FK", Request("rtag_id_fk"), ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "USER_ID", objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBER
objEH.TryORA ( OraSession )
OraDatabase.ExecuteSQL _
"BEGIN pk_Bom.Add_Bom ( :BOM_NAME, :BOM_VERSION, :BOM_LIFECYCLE, :BOM_COMMENTS, :BRANCH_ID, NULL, :RTAG_ID_FK, :USER_ID ); END;"
objEH.CatchORA ( OraSession )
OraDatabase.Parameters.Remove "BOM_VERSION"
OraDatabase.Parameters.Remove "BOM_LIFECYCLE"
OraDatabase.Parameters.Remove "BOM_NAME"
OraDatabase.Parameters.Remove "BRANCH_ID"
OraDatabase.Parameters.Remove "BOM_COMMENTS"
OraDatabase.Parameters.Remove "RTAG_ID_FK"
OraDatabase.Parameters.Remove "USER_ID"
End Sub
'--------------------------------------------------------------------------------------------------------------------------
%>
<%
'------------ RUN BEFORE PAGE RENDER ----------
objPMod.PersistInQryString ( Array("bom_id_list", "state_id") )
' --- Get Form details from DB ---
' --- Load Validation Rules ---
Call objForm.LoadValidationRules ( Array("bom_name","bom_comments"), OraDatabase ) ' Load Validation Rules
Call objForm.LoadValidationRules ( Array("bom_version"), OraDatabase ) ' Load Validation Rules
Call objForm.LoadValidationRules ( Array("bom_lifecycle"), OraDatabase ) ' Load Validation Rules
' --- Enter Form Validation Rule Changes here... ----
'----------------------------------------------------
' --- RUN onPostBack ---
If Request("action") <> "" Then
If objForm.IsValidOnPostBack Then
' --- Form is Valid ---
Set rsQry = OraDatabase.DbCreateDynaset( "SELECT * FROM BOMS WHERE BOM_VERSION='"& Request("bom_version") &"' AND BRANCH_ID = "& Request("branch_id") &" AND BOM_LIFECYCLE='"& Request("bom_lifecycle") &"'" , ORADYN_DEFAULT )
If rsQry.RecordCount = 0 Then
Call AddBom()
If objEH.Finally Then
Call OpenInWindow ( Request("rfile") &"?DONE=OK"& objPMod.ComposeURLWithout("rfile") )
End If
Else
Call Messenger ("Cannot create SBOM! The selected sbom version and lifecycle exists in this branch.", 1, "100%")
rsQry.Close
Set rsQry = nothing
End If
End If
End If
'----------------------------------------------
%>
Deployment Manager
<%
'-- FROM START ---------------------------------------------------------------------------------------------------------
objFormComponent.FormName = "FormName"
objFormComponent.Action = SCRIPT_NAME
objFormComponent.OnSubmit = "ShowProgress();"
Call objFormComponent.FormStart()
%>
New BOM
Enter BOM Name or select from available BOM names.
BOM Name
<%=objFormComponent.ComboWithText ( "bom_name", NULL, GetBomNames( parProj_id ), "class='form_ivalue' size='60'" )%>
<%=objForm.Validate ("bom_name")%>
BOM Version
<%=objFormComponent.TextBox ( "bom_version", Request("bom_version") , "class='form_ivalue' size='60' " )%>
<%=objForm.Validate ("bom_version")%>
BOM Lifecycle
<%=objFormComponent.TextBox ( "bom_lifecycle", Request("bom_lifecycle") , "class='form_ivalue' size='60' " )%>
<%=objForm.Validate ("bom_lifecycle")%>
Release Manager Reference
<%=objFormComponent.Combo ( "rtag_id_fk", GetRMReleaseList( objForm.GetValue( "rtag_id_fk", objFormCollector.Item("rtag_id_fk") ), dbPARproj_id ) , TRUE, "class='form_ivalue' " )%>
Comments
<%=objFormComponent.TextArea ( "bom_comments", Request("bom_comments"), 10, 60, "class='form_ivalue'" )%>
<%=objForm.Validate ("bom_comments")%>
<%=objFormComponent.SubmitButton ( "Submit", "class='form_btn'" )%>
<%=objFormComponent.CancelButton ( "Cancel", "class='form_btn'", Request("rfile") &"?CANCEL=OK"& objPMod.ComposeURLWithout("rfile") )%>
<%=objPMod.ComposeHiddenTagsWithout("branch_id")%>
<%
Call objFormComponent.FormEnd()
'-- FROM END ----------------------------------------------------------------------------------------------------------------
%>