%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
'| |
'| AddBlankBom |
'| |
'=====================================================
%>
<%
Option explicit
Response.Expires = 0
%>
<%
'------------ ACCESS CONTROL ------------------
%>
<%
'------------ VARIABLE DEFINITION -------------
Dim rsQry
Dim parFrom_Bom_id
'------------ CONSTANTS DECLARATION -----------
'------------ VARIABLE INIT -------------------
Call GetMainDBParameters ( dbPARproj_id, dbPARbranch_id, dbPARbom_id, dbPARnode_id, dbPARos_id, dbPARprod_id )
parProj_id = Request("proj_id")
parFrom_Bom_id = Request("from_bom_id")
'------------ CONDITIONS ----------------------
'------------ CONDITIONS ----------------------
'----------------------------------------------
%>
<%
'--------------------------------------------------------------------------------------------------------------------------
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
'--------------------------------------------------------------------------------------------------------------------------
Sub GetFormDetails ( nBom_id, ByRef outobjDetails )
Dim rsQry, query
OraDatabase.Parameters.Add "BOM_ID", nBom_id, ORAPARM_INPUT, ORATYPE_NUMBER
Set rsQry = OraDatabase.DbCreateDynaset( GetQuery ("BomLocationDetails.sql"), ORADYN_DEFAULT )
If rsQry.RecordCount > 0 Then
outobjDetails.Item ("bom_id") = rsQry("bom_id")
outobjDetails.Item ("bom_name") = rsQry("bom_name")
outobjDetails.Item ("bom_version") = rsQry("bom_version")
outobjDetails.Item ("bom_lifecycle") = rsQry("bom_lifecycle")
outobjDetails.Item ("proj_name") = rsQry("proj_name")
outobjDetails.Item ("branch_name") = rsQry("branch_name")
Else
Err.Raise 8, "Sub GetFormDetails in "& SCRIPT_NAME, "Empty record set returned. nBom_id="& nBom_id
End If
OraDatabase.Parameters.Remove "BOM_ID"
rsQry.Close
Set rsQry = Nothing
End Sub
'--------------------------------------------------------------------------------------------------------------------------
Sub AddBomRequirements ()
On Error Resume Next
OraDatabase.Parameters.Add "FROM_BOM_ID", Request("from_bom_id"), ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "TO_BRANCH_ID", Request("branch_id"), ORAPARM_INPUT, ORATYPE_NUMBER
objEH.TryORA ( OraSession )
OraDatabase.ExecuteSQL _
"BEGIN pk_Requirements.Add_Bom ( :FROM_BOM_ID, :TO_BRANCH_ID ); END;"
objEH.CatchORA ( OraSession )
OraDatabase.Parameters.Remove "FROM_BOM_ID"
OraDatabase.Parameters.Remove "BRANCH_ID"
End Sub
'--------------------------------------------------------------------------------------------------------------------------
Sub AddBomFrom ()
On Error Resume Next
OraDatabase.Parameters.Add "FROM_BOM_ID", Request("from_bom_id"), ORAPARM_INPUT, ORATYPE_NUMBER
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 )
'Response.write Request("from_bom_id") &"-"& Request("branch_id")
OraDatabase.ExecuteSQL _
"BEGIN pk_Bom.Add_Bom (NULL, :BOM_VERSION, :BOM_LIFECYCLE, :BOM_COMMENTS, :BRANCH_ID, :FROM_BOM_ID, :RTAG_ID_FK, :USER_ID ); END;"
objEH.CatchORA ( OraSession )
OraDatabase.Parameters.Remove "BOM_VERSION"
OraDatabase.Parameters.Remove "BOM_LIFECYCLE"
OraDatabase.Parameters.Remove "FROM_BOM_ID"
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 ----------
' --- Get Form details from DB ---
Call GetFormDetails ( parFrom_Bom_id, objFormCollector )
Call GetBomDetails ( parFrom_Bom_id, objFormCollector )
' --- Load Validation Rules ---
Call objForm.LoadValidationRules ( Array("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 AddBomFrom()
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
Else
'-- Check if can create bom from this version
'-- This is causing problems for VT so they are currently being excluded from this limitation. This will be looked into further in the future.
If parProj_id <> 122 Then
Call AddBomRequirements ()
End If
End If
'----------------------------------------------
%>
Deployment Manager
<%
'-- FROM START ---------------------------------------------------------------------------------------------------------
objFormComponent.FormName = "FormName"
objFormComponent.Action = SCRIPT_NAME
objFormComponent.OnSubmit = "ShowProgress();"
Call objFormComponent.FormStart()
%>
New BOM
Enter optional BOM comments and click Submit.
<%Call Messenger ( "New BOM will be created from "& _
objFormCollector.Item("proj_name") &" / "& objFormCollector.Item("branch_name") &" / "& _
objFormCollector.Item("bom_name") &" "& objFormCollector.Item("bom_version") &"."& objFormCollector.Item("bom_lifecycle") , 3, "100%" )%>
BOM Name
<%=objFormComponent.TextBox ( "bom_name", objFormCollector.Item("bom_name"), "class='form_ivalue' size='60' disabled" )%>
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.ComposeHiddenTags()%>
<%
Call objFormComponent.FormEnd()
'-- FROM END ----------------------------------------------------------------------------------------------------------------
%>
<%
'------------ RUN AFTER PAGE RENDER -----------
Set objPMod = Nothing
'----------------------------------------------
%>