From d17dab19937e962b8ea166c81b78729f057c6808 Mon Sep 17 00:00:00 2001 From: hardya Date: Thu, 3 Apr 2008 10:19:33 +0000 Subject: [PATCH] Address #448 - Tripartite agreement and addons. git-svn-id: http://locode01.ad.dom/svn/WEBMIP/trunk@4713 248e525c-4dfb-0310-94bc-949c084e9493 --- Modules/mip_tripartite.pck | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/Modules/mip_tripartite.pck b/Modules/mip_tripartite.pck index ce99478..44ab77e 100644 --- a/Modules/mip_tripartite.pck +++ b/Modules/mip_tripartite.pck @@ -43,6 +43,20 @@ CREATE OR REPLACE PACKAGE mip_tripartite IS ,p_tab_messages IN OUT t_tab_messages) RETURN BOOLEAN; + /** Are the addons restricted under the under Tripartite arrangements? + %param p_amr_required YES/NO + %param p_ems_required YES/NO + %param p_bypass_required YES/NO + %param p_regi_code potential tripartite region + %return TRUE if the enquiry is allowed + */ + FUNCTION addons_allowed(p_amr_required IN enquiries.amr_required%TYPE + ,p_ems_required IN enquiries.ems_required%TYPE + ,p_bypass_required IN enquiries.bypass_required%TYPE + ,p_regi_code IN regions.code%TYPE + ,p_tab_messages IN OUT t_tab_messages) + RETURN BOOLEAN; + /** Is the given addon allowed to non-Tripartite members %param p_addit_code the addon to be checked %param p_regi_code the region to be checked against @@ -221,9 +235,12 @@ CREATE OR REPLACE PACKAGE BODY mip_tripartite IS ,p_regi_code IN regions.code%TYPE ,p_tab_messages IN OUT t_tab_messages) RETURN BOOLEAN IS - l_valid BOOLEAN DEFAULT TRUE; + l_bypass_required VARCHAR2(3) := CASE nvl(p_bypass_required + ,'Not required') WHEN 'Not required' THEN 'NO' ELSE 'YES' END; + l_valid BOOLEAN DEFAULT TRUE; BEGIN - + pl('addons_allowed:entry:' || p_amr_required || ':' || p_ems_required || ':' || + p_bypass_required || ':' || p_regi_code); IF p_amr_required = 'YES' AND NOT addon_allowed(p_adit_code => 'AMR' ,p_regi_code => p_regi_code) THEN @@ -238,7 +255,7 @@ CREATE OR REPLACE PACKAGE BODY mip_tripartite IS al('Tripartite Agreement prevents EMS being requested. ' ,p_tab_messages); END IF; - IF p_bypass_required = 'YES' + IF l_bypass_required = 'YES' AND NOT addon_allowed(p_adit_code => 'BYPASS' ,p_regi_code => p_regi_code) THEN l_valid := FALSE; @@ -246,6 +263,8 @@ CREATE OR REPLACE PACKAGE BODY mip_tripartite IS ,p_tab_messages); END IF; + pl('addons_allowed:exit:' || CASE l_valid WHEN TRUE THEN 'TRUE' ELSE + 'FALSE' END); RETURN l_valid; END addons_allowed;