Added cout_assert.pck - provides assertion utilities.
Added cout_err.pck - 'standard' error logging utilities.
Added gen_mandatory.prc - generates packages to provided mandatory field checks.

Schema:
Changed primary key of ENQUIRIES to an ID (also made sequence ENQU_SEQ available).
Changes ENQUIRIES.CONSUMER_NAME to FIRST_CONTACT_NAME.
Added tables DATA_ITEMS and DATA_ITEM_ROLES to support Modules/gen_mandatory.prc.

git-svn-id: http://locode01.ad.dom/svn/WEBMIP/trunk@2865 248e525c-4dfb-0310-94bc-949c084e9493
This commit is contained in:
hardya
2007-11-16 16:43:58 +00:00
parent bc54399097
commit b736bb6136
13 changed files with 1460 additions and 120 deletions

180
Modules/cout_assert.pck Normal file
View File

@@ -0,0 +1,180 @@
CREATE OR REPLACE PACKAGE cout_assert IS
/**
-- Package of assertion routines to make it easy to validate assumptions in a declarative fashion.
--
*/
SUBTYPE g_t_substitution_list IS cout_err.g_t_substitution_list;
c_empty_substitution_list g_t_substitution_list;
/**
Asserts whether the given p_condition is true
#param p_condition The condition to be asserted as TRUE
#param p_message The message to be displayed when the assertion is NOT TRUE
#param p_raise_exception Requests that an exception be raised if the assertion is NOT TRUE
#param p_exception The exception to be raised, if requested
#param p_subsitution_list Table of values to be substituted into the generated exception message
#param p_helper_call_level If being used by a 'helper' procedure, indicates the call above the curremt call to be reported
#usage cout_assert.istrue(p_inmo_type IN ('CR', 'CU', 'INMO', 'CA', 'CT'),p_message => 'Invalid inmo_type passed');
*/
PROCEDURE istrue(p_condition IN BOOLEAN
,p_message IN VARCHAR2
,p_raise_exception IN BOOLEAN := TRUE
,p_exception IN NUMBER := -6502
,p_substitution_list IN g_t_substitution_list := c_empty_substitution_list
,p_helper_call_level IN NUMBER := 1);
/**
Asserts whether the given p_value IS NOT NULL
#param p_condition The condition to be asserted as TRUE
#param p_message The message to be displayed when the assertion is NOT TRUE
#param p_raise_exception Requests that an exception be raised if the assertion is NOT TRUE
#param p_exception The exception to be raised, if requested
#param p_subsitution_list Table of values to be substituted into the generated exception message
#usage cout_assert.isnotnull(p_value => l_inst_id,p_message => 'Inventory statement not found');
*/
PROCEDURE isnotnull(p_value IN VARCHAR2
,p_message IN VARCHAR2
,p_raise_exception IN BOOLEAN := TRUE
,p_exception IN NUMBER := -6502
,p_substitution_list IN g_t_substitution_list := c_empty_substitution_list);
/**
Asserts whether the given p_value IS NOT NULL
#param p_condition The condition to be asserted as TRUE
#param p_message The message to be displayed when the assertion is NOT TRUE
#param p_raise_exception Requests that an exception be raised if the assertion is NOT TRUE
#param p_exception The exception to be raised, if requested
#param p_subsitution_list Table of values to be substituted into the generated exception message
*/
PROCEDURE isnotnull(p_value IN DATE
,p_message IN VARCHAR2
,p_raise_exception IN BOOLEAN := TRUE
,p_exception IN NUMBER := -6502
,p_substitution_list IN g_t_substitution_list := c_empty_substitution_list);
/**
Asserts whether the given p_value IS NOT NULL
#param p_condition The condition to be asserted as TRUE
#param p_message The message to be displayed when the assertion is NOT TRUE
#param p_raise_exception Requests that an exception be raised if the assertion is NOT TRUE
#param p_exception The exception to be raised, if requested
#param p_subsitution_list Table of values to be substituted into the generated exception message
*/
PROCEDURE isnotnull(p_value IN NUMBER
,p_message IN VARCHAR2
,p_raise_exception IN BOOLEAN := TRUE
,p_exception IN NUMBER := -6502
,p_substitution_list IN g_t_substitution_list := c_empty_substitution_list);
/**
Asserts whether the given p_value IS NOT NULL
#param p_condition The condition to be asserted as TRUE
#param p_message The message to be displayed when the assertion is NOT TRUE
#param p_raise_exception Requests that an exception be raised if the assertion is NOT TRUE
#param p_exception The exception to be raised, if requested
#param p_subsitution_list Table of values to be substituted into the generated exception message
*/
PROCEDURE isnotnull(p_value IN BOOLEAN
,p_message IN VARCHAR2
,p_raise_exception IN BOOLEAN := TRUE
,p_exception IN NUMBER := -6502
,p_substitution_list IN g_t_substitution_list := c_empty_substitution_list);
END cout_assert;
/
CREATE OR REPLACE PACKAGE BODY cout_assert IS
g_header CONSTANT VARCHAR2(160) := '$Header: /Isle Of Grain/database/PLSQL/cout_assert.pck 1 7/01/05 12:54 Gilberta $';
g_revision CONSTANT VARCHAR2(160) := '$Revision: 1 $';
PROCEDURE pl(p_msg VARCHAR2) IS
l_start NUMBER := 1;
l_len CONSTANT NUMBER := 255;
BEGIN
WHILE l_start <= length(p_msg) LOOP
dbms_output.put_line(substr(p_msg
,l_start
,l_len));
l_start := l_start + l_len;
END LOOP;
END pl;
PROCEDURE istrue(p_condition IN BOOLEAN
,p_message IN VARCHAR2
,p_raise_exception IN BOOLEAN := TRUE
,p_exception IN NUMBER := -6502
,p_substitution_list IN g_t_substitution_list := c_empty_substitution_list
,p_helper_call_level IN NUMBER := 1) IS
BEGIN
IF NOT p_condition
OR p_condition IS NULL THEN
pl('Assertion Failure!');
pl(p_message);
IF p_raise_exception THEN
cout_err.report_and_stop(p_exception_number => p_exception
,p_exception_message => 'Assertion Failure:' ||
p_message
,p_substitution_list => p_substitution_list
,p_helper_call_level => p_helper_call_level);
ELSE
cout_err.report_and_go(p_exception_number => p_exception
,p_exception_message => p_message
,p_substitution_list => p_substitution_list
,p_helper_call_level => p_helper_call_level);
END IF;
END IF;
END istrue;
PROCEDURE isnotnull(p_value IN VARCHAR2
,p_message IN VARCHAR2
,p_raise_exception IN BOOLEAN := TRUE
,p_exception IN NUMBER := -6502
,p_substitution_list IN g_t_substitution_list := c_empty_substitution_list) IS
BEGIN
istrue(p_value IS NOT NULL
,p_message
,p_raise_exception
,p_exception
,p_substitution_list
,2);
END;
PROCEDURE isnotnull(p_value IN DATE
,p_message IN VARCHAR2
,p_raise_exception IN BOOLEAN := TRUE
,p_exception IN NUMBER := -6502
,p_substitution_list IN g_t_substitution_list := c_empty_substitution_list) IS
BEGIN
istrue(p_value IS NOT NULL
,p_message
,p_raise_exception
,p_exception
,p_substitution_list
,2);
END;
PROCEDURE isnotnull(p_value IN NUMBER
,p_message IN VARCHAR2
,p_raise_exception IN BOOLEAN := TRUE
,p_exception IN NUMBER := -6502
,p_substitution_list IN g_t_substitution_list := c_empty_substitution_list) IS
BEGIN
istrue(p_value IS NOT NULL
,p_message
,p_raise_exception
,p_exception
,p_substitution_list
,2);
END;
PROCEDURE isnotnull(p_value IN BOOLEAN
,p_message IN VARCHAR2
,p_raise_exception IN BOOLEAN := TRUE
,p_exception IN NUMBER := -6502
,p_substitution_list IN g_t_substitution_list := c_empty_substitution_list) IS
BEGIN
istrue(p_value IS NOT NULL
,p_message
,p_raise_exception
,p_exception
,p_substitution_list
,2);
END;
END cout_assert;
/