%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
'| |
'| wFormApproval |
'| |
'=====================================================
%>
<%
Option explicit
Response.Expires = 0
%>
<%
'------------ ACCESS CONTROL ------------------
%>
<%
'------------ VARIABLE DEFINITION -------------
Dim objFormCollector
Dim aRs
Dim MoreLink
Dim parFilter_on
Dim ForceDropdown
Dim rsQry
'------------ CONSTANTS DECLARATION -----------
'------------ VARIABLE INIT -------------------
parProd_id = Request("pv_id")
parBom_id = Request("bom_id")
Set objFormCollector = CreateObject("Scripting.Dictionary")
'------------ CONDITIONS ----------------------
'----------------------------------------------
%>
<%
'--------------------------------------------------------------------------------------------------------------------------
Sub GetFormDetails ( parProd_id, parBom_id, ByRef outobjDetails )
Dim rsQry, query
If parProd_id <> "" Then
Set rsQry = OraDatabase.DbCreateDynaset( "select * from packages pkg, package_versions pv where pv.pkg_id = pkg.pkg_id and pv.pv_id="&parProd_id, ORADYN_DEFAULT )
If rsQry.RecordCount > 0 Then
outobjDetails.Item ("pkg_version") = rsQry("pkg_version")
outobjDetails.Item ("pkg_name") = rsQry("pkg_name")
Else
Err.Raise 8, "Sub GetFormDetails", "Empty record set returned. nProd_id="& parProd_id
End If
rsQry.Close
Set rsQry = Nothing
End If
End Sub
'--------------------------------------------------------------------------------------------------------------------------
'--------------------------------------------------------------------------------------------------------------------------
Sub TesterApproval ()
On Error Resume Next
Set rsQry = OraDatabase.DbCreateDynaset("SELECT * FROM PACKAGE_VERSIONS WHERE PV_ID="&Request("pv_id"), ORADYN_DEFAULT)
OraDatabase.Parameters.Add "PV_ID", Request("pv_id"), ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "PKG_ID", rsQry("pkg_id"), ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "BOM_ID", parBom_id, ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "TESTER_ID", objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "TESTER_COMMENTS", Request("tester_comments"), ORAPARM_INPUT, ORATYPE_VARCHAR2
If Request("approval") = "R" Then
OraDatabase.Parameters.Add "COMMENT", "Version: "&rsQry("pkg_version")&" - Rejected By Tester" , ORAPARM_INPUT, ORATYPE_VARCHAR2
objEH.TryORA ( OraSession )
OraDatabase.ExecuteSQL _
"BEGIN pk_Production.Reject_Product ( :PV_ID, :TESTER_ID, :TESTER_COMMENTS ); END;"
objEH.CatchORA ( OraSession )
Else
OraDatabase.Parameters.Add "COMMENT", "Version: "&rsQry("pkg_version")&" - Approved By Tester" , ORAPARM_INPUT, ORATYPE_VARCHAR2
End If
objEH.TryORA ( OraSession )
OraDatabase.ExecuteSQL _
"BEGIN pk_Production.Release_Authorisation_Tester ( :PV_ID, :BOM_ID, :TESTER_ID, :TESTER_COMMENTS ); END;"
objEH.CatchORA ( OraSession )
objEH.TryORA ( OraSession )
OraDatabase.ExecuteSQL _
"BEGIN pk_Production.Log_Pkg_Trail ( :PKG_ID, :COMMENT, :TESTER_ID ); END;"
objEH.CatchORA ( OraSession )
OraDatabase.Parameters.Remove "PV_ID"
OraDatabase.Parameters.Remove "PKG_ID"
OraDatabase.Parameters.Remove "BOM_ID"
OraDatabase.Parameters.Remove "TESTER_ID"
OraDatabase.Parameters.Remove "TESTER_COMMENTS"
OraDatabase.Parameters.Remove "COMMENT"
rsQry.Close()
Set rsQry = nothing
End Sub
'--------------------------------------------------------------------------------------------------------------------------
Sub ManagerApproval ()
On Error Resume Next
Set rsQry = OraDatabase.DbCreateDynaset("SELECT * FROM PACKAGE_VERSIONS WHERE PV_ID="&Request("pv_id"), ORADYN_DEFAULT)
OraDatabase.Parameters.Add "PV_ID", Request("pv_id"), ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "PKG_ID", rsQry("pkg_id"), ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "BOM_ID", parBom_id, ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "MANAGER_ID", objAccessControl.UserId, ORAPARM_INPUT, ORATYPE_NUMBER
OraDatabase.Parameters.Add "MANAGER_COMMENTS", Request("manager_comments"), ORAPARM_INPUT, ORATYPE_VARCHAR2
OraDatabase.Parameters.Add "COMMENT", "Version: "&rsQry("pkg_version")&" - Approved By Manager" , ORAPARM_INPUT, ORATYPE_VARCHAR2
objEH.TryORA ( OraSession )
OraDatabase.ExecuteSQL _
"BEGIN pk_Production.Release_Authorisation_Manager ( :PV_ID, :BOM_ID, :MANAGER_ID, :MANAGER_COMMENTS ); END;"
objEH.CatchORA ( OraSession )
objEH.TryORA ( OraSession )
OraDatabase.ExecuteSQL _
"BEGIN pk_Production.Log_Pkg_Trail ( :PKG_ID, :COMMENT, :MANAGER_ID ); END;"
objEH.CatchORA ( OraSession )
OraDatabase.Parameters.Remove "PV_ID"
OraDatabase.Parameters.Remove "PKG_ID"
OraDatabase.Parameters.Remove "BOM_ID"
OraDatabase.Parameters.Remove "MANAGER_ID"
OraDatabase.Parameters.Remove "MANAGER_COMMENTS"
rsQry.Close()
Set rsQry = nothing
End Sub
'--------------------------------------------------------------------------------------------------------------------------
%>
<%
'------------ RUN BEFORE PAGE RENDER ----------
'objPMod.PersistInQryString ( Array("base_env_id") )
' --- Get Form details from DB ---
Call GetFormDetails ( parProd_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("btn") = "Submit" Then
If objAccessControl.IsActive("ApprovedByTester") Then
Call TesterApproval()
ElseIf objAccessControl.IsActive("ApprovedByManager") Then
Call ManagerApproval()
End If
If objEH.Finally Then
Call OpenInParentWindow ( "bom_home.asp?bom_id="&parBom_id )
Call CloseWindow()
End If
End If
'----------------------------------------------
%>
Production Manager
Software Release Authorisation Form For <%=objFormCollector.Item("pkg_name")%> <%=objFormCollector.Item("pkg_version")%>
<%
If objAccessControl.IsActive("ApprovedByTester") Then
'-- FROM START ---------------------------------------------------------------------------------------------------------
objFormComponent.FormName = "FormName"
objFormComponent.Action = SCRIPT_NAME
objFormComponent.OnSubmit = "ShowProgress();"
Call objFormComponent.FormStart()
%>
<%=objPMod.ComposeHiddenTags()%>
<%
Call objFormComponent.FormEnd()
'-- FROM END ----------------------------------------------------------------------------------------------------------------
Else
'-- FROM START ---------------------------------------------------------------------------------------------------------
objFormComponent.FormName = "FormName"
objFormComponent.Action = SCRIPT_NAME
objFormComponent.OnSubmit = "ShowProgress();"
Call objFormComponent.FormStart()
%>
<%
Dim rsTemp
Set rsTemp = OraDatabase.DbCreateDynaset("SELECT * FROM RELEASE_AUTHORISATION, USERS WHERE PV_ID="&parProd_id&" AND BOM_ID="&parBom_id&" AND USERS.USER_ID = RELEASE_AUTHORISATION.TESTER_ID", ORADYN_DEFAULT)
%>
Release Tested By <%=rsTemp("full_name")%> (Regional Tester) On <%= rsTemp("tester_datestamp") %>
Comments
<%=objFormComponent.TextArea ("tester_comments", rsTemp("tester_comments"), 5, 80, "class='form_ivalue' readonly" )%>
<%
rsTemp.Close()
Set rsTemp = nothing
%>
Release Authorised By <%=objAccessControl.FullName%> (Regional Manager) On <%= FormatDateTime(Date, 0) %>
Comments
<%=objFormComponent.TextArea ("manager_comments", NULL, 5, 80, "class='form_ivalue'" )%>
<%=objPMod.ComposeHiddenTags()%>
<%
Call objFormComponent.FormEnd()
End If
%>
<%
'------------ RUN AFTER PAGE RENDER -----------
Set objFormCollector = Nothing
'----------------------------------------------
%>