Address #448 - Tripartite agreement and addons.

git-svn-id: http://locode01.ad.dom/svn/WEBMIP/trunk@4713 248e525c-4dfb-0310-94bc-949c084e9493
This commit is contained in:
hardya
2008-04-03 10:19:33 +00:00
parent fde2af4036
commit d17dab1993

View File

@@ -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;