Updated 'mandatory' field checks.

git-svn-id: http://locode01.ad.dom/svn/WEBMIP/trunk@3322 248e525c-4dfb-0310-94bc-949c084e9493
This commit is contained in:
hardya
2008-01-21 18:56:25 +00:00
parent 4c1959004d
commit 32dac70391
6 changed files with 557 additions and 199 deletions

View File

@@ -0,0 +1,74 @@
CREATE OR REPLACE PACKAGE mip_helper_special_cases IS
-- Author : HARDYA
-- Created : 21/01/2008 11:40:25
-- Purpose : helper package to support special cases not provided through mip_'tablename'_helper.
PROCEDURE table_enquiries(p_rec IN enquiries%ROWTYPE
,p_mandatory_checks IN OUT mip_mandatory.t_mandatory_checks);
END mip_helper_special_cases;
/
CREATE OR REPLACE PACKAGE BODY mip_helper_special_cases IS
PROCEDURE table_enquiries(p_rec IN enquiries%ROWTYPE
,p_mandatory_checks IN OUT mip_mandatory.t_mandatory_checks) IS
BEGIN
-- OM-1
IF p_rec.install_building IS NULL
AND p_rec.install_sub_building IS NULL THEN
mip_mandatory.add_error(p_mandatory_checks => p_mandatory_checks
,p_field_name => 'INSTALL_BUILDING'
,p_error_message => 'At least one of Building or Sub-Building must be completed.');
mip_mandatory.add_error(p_mandatory_checks => p_mandatory_checks
,p_field_name => 'INSTALL_SUB_BUILDING'
,p_error_message => 'At least one of Building or Sub-Building must be completed.');
END IF;
-- OM-2
IF p_rec.enty_code IN ('STD INSTALL', 'STD EXCHANGE')
AND (p_rec.required_mesc_code IS NULL AND p_rec.qmax IS NULL) THEN
mip_mandatory.add_error(p_mandatory_checks => p_mandatory_checks
,p_field_name => 'QMAX'
,p_error_message => 'At least one of Qmax or Meter Size must be completed.');
mip_mandatory.add_error(p_mandatory_checks => p_mandatory_checks
,p_field_name => 'REQUIRED_MESC_CODE'
,p_error_message => 'At least one of Qmax or Meter Size must be completed.');
END IF;
-- OM-3
IF p_rec.enty_code IN
('INSTALL', 'OFMAT', 'REMOVE', 'ADVERSARIAL', 'ALTERATION',
'CAPACITY CHANGE', 'ADDON', 'OTHER')
AND p_rec.required_svcp_code = 'IP'
AND
(p_rec.required_ip_mbar IS NULL OR p_rec.required_ip_details IS NULL) THEN
mip_mandatory.add_error(p_mandatory_checks => p_mandatory_checks
,p_field_name => 'REQUIRED_SVCP_CODE'
,p_error_message => 'Required IP Details must be completed when a Service Pressure of ''IP'' is requested.');
mip_mandatory.add_error(p_mandatory_checks => p_mandatory_checks
,p_field_name => 'REQUIRED_IP_DETAILS'
,p_error_message => 'Required IP Details must be completed when a Service Pressure of ''IP'' is requested.');
END IF;
-- OM-4
IF p_rec.enty_code IN
('INSTALL', 'STD INSTALL')
AND
(p_rec.required_ip_mbar IS NULL AND p_rec.required_ip_details IS NULL) THEN
mip_mandatory.add_error(p_mandatory_checks => p_mandatory_checks
,p_field_name => 'MPRN'
,p_error_message => 'Either MPRN or Additional Information must be completed.');
mip_mandatory.add_error(p_mandatory_checks => p_mandatory_checks
,p_field_name => 'MPRN_ALT'
,p_error_message => 'Either MPRN or Additional Information must be completed.');
END IF;
END table_enquiries;
BEGIN
-- Initialization
NULL;
END mip_helper_special_cases;
/