Address #484 - Qmax not saving

git-svn-id: http://locode01.ad.dom/svn/WEBMIP/trunk@4754 248e525c-4dfb-0310-94bc-949c084e9493
This commit is contained in:
hardya
2008-04-09 17:44:20 +00:00
parent 1b445a73e1
commit d4ab832e08

View File

@@ -16,7 +16,7 @@ CREATE OR REPLACE PACKAGE mip_enquiry IS
-- Public function and procedure declarations -- Public function and procedure declarations
FUNCTION enquiry_has_quotes(p_enquiryid IN NUMBER) RETURN BOOLEAN; FUNCTION enquiry_has_quotes(p_enquiryid IN NUMBER) RETURN BOOLEAN;
FUNCTION can_enquiry_be_deleted(p_enquiryid IN NUMBER) RETURN BOOLEAN; FUNCTION can_enquiry_be_deleted(p_enquiryid IN NUMBER) RETURN BOOLEAN;
FUNCTION get_enquiry_status(p_enquiryid IN NUMBER) RETURN VARCHAR2; FUNCTION get_enquiry_status(p_enquiryid IN NUMBER) RETURN VARCHAR2;
@@ -118,8 +118,8 @@ CREATE OR REPLACE PACKAGE BODY mip_enquiry IS
-- cursor to get the current enquiry -- cursor to get the current enquiry
CURSOR c_count_all_quotes(cp_enqu_id NUMBER) IS CURSOR c_count_all_quotes(cp_enqu_id NUMBER) IS
SELECT COUNT(id) SELECT COUNT(id)
FROM quotes FROM quotes
WHERE enqu_id = cp_enqu_id; WHERE enqu_id = cp_enqu_id;
l_quotes_num NUMBER := 0; l_quotes_num NUMBER := 0;
BEGIN BEGIN
IF NOT c_count_all_quotes%ISOPEN THEN IF NOT c_count_all_quotes%ISOPEN THEN
@@ -629,16 +629,18 @@ CREATE OR REPLACE PACKAGE BODY mip_enquiry IS
,p_existing_mesc_code meters.mesc_code%TYPE ,p_existing_mesc_code meters.mesc_code%TYPE
,p_required_mesc_code meters.mesc_code%TYPE ,p_required_mesc_code meters.mesc_code%TYPE
,p_existing_metr_code meters.code%TYPE) RETURN BOOLEAN IS ,p_existing_metr_code meters.code%TYPE) RETURN BOOLEAN IS
l_return BOOLEAN := TRUE; l_return BOOLEAN := TRUE;
l_required_mesc_enquiry BOOLEAN; l_existing_qmax BOOLEAN;
l_existing_mesc_enquiry BOOLEAN; l_required_qmax BOOLEAN;
l_dummy NUMBER; l_dummy NUMBER;
BEGIN BEGIN
pl('show_qmax:entry:' || p_enty_code || ':' || p_existing_metr_code || ':' || pl('show_qmax:entry:' || p_enty_code || ':' || p_existing_metr_code || ':' ||
p_existing_mesc_code || ':' || p_required_mesc_code p_existing_mesc_code || ':' || p_required_mesc_code
,$$PLSQL_LINE); ,$$PLSQL_LINE);
IF p_enty_code IS NOT NULL THEN
-- is Qmax set to be hidden?
BEGIN BEGIN
SELECT NULL SELECT NULL
INTO l_dummy INTO l_dummy
@@ -658,61 +660,40 @@ CREATE OR REPLACE PACKAGE BODY mip_enquiry IS
END; END;
IF l_return THEN IF l_return THEN
BEGIN IF p_enty_code IN
SELECT NULL ('OFMAT', 'REMOVE', 'STD REMOVE', 'ADVERSARIAL', 'ADDON') THEN
INTO l_dummy l_existing_qmax := TRUE;
FROM data_item_roles
WHERE enty_code = p_enty_code
AND field_name = 'REQUIRED_MESC_CODE'
AND substr(condition
,1
,1) <> 'H';
l_required_mesc_enquiry := TRUE;
EXCEPTION
WHEN no_data_found THEN
pl('show_qmax:NOT A REQUIRED MESC ENQUIRY'
,$$PLSQL_LINE);
l_required_mesc_enquiry := FALSE;
END;
IF l_required_mesc_enquiry
AND (nvl(p_required_mesc_code
,'OTHER') <> 'OTHER') THEN
pl('show_qmax:REQUIRED MESC NOT OTHER'
,$$PLSQL_LINE);
l_return := FALSE;
ELSE ELSE
BEGIN l_required_qmax := TRUE;
SELECT NULL END IF;
INTO l_dummy
FROM data_item_roles IF l_existing_qmax THEN
WHERE enty_code = p_enty_code IF (nvl(p_existing_metr_code
AND field_name = 'EXISTING_MESC_CODE' ,'OTHER') <> 'OTHER') THEN
AND substr(condition pl('show_qmax:EXISTING_METR_CODE SPECIFIED');
,1 l_return := FALSE;
,1) <> 'H'; ELSIF
l_existing_mesc_enquiry := TRUE;
EXCEPTION (nvl(p_existing_metr_code
WHEN no_data_found THEN ,'OTHER') = 'OTHER' AND
pl('show_qmax:NOT EXISTING MESC ENQUIRY' nvl(p_existing_mesc_code
,$$PLSQL_LINE); ,'OTHER') <> 'OTHER') THEN
l_existing_mesc_enquiry := FALSE; pl('show_qmax:EXISTING_MESC SPECIFIED'
END;
IF l_existing_mesc_enquiry
AND ((nvl(p_existing_metr_code
,'OTHER') <> 'OTHER') OR
(nvl(p_existing_metr_code
,'OTHER') = 'OTHER' AND
nvl(p_existing_mesc_code
,'OTHER') <> 'OTHER')) THEN
pl('show_qmax:EXISTING METR OR MESC NOT OTHER'
,$$PLSQL_LINE); ,$$PLSQL_LINE);
l_return := FALSE; l_return := FALSE;
END IF; END IF;
END IF; END IF;
IF l_required_qmax
AND (nvl(p_required_mesc_code
,'OTHER') <> 'OTHER') THEN
pl('show_qmax:REQUIRED_MESC SPECIFIED'
,$$PLSQL_LINE);
l_return := FALSE;
END IF;
END IF; END IF;
END IF;
pl('show_qmax:exit:' || CASE l_return WHEN TRUE THEN 'TRUE' ELSE pl('show_qmax:exit:' || CASE l_return WHEN TRUE THEN 'TRUE' ELSE
'FALSE' END 'FALSE' END