Files
mip/Modules/cout_assert.pck
hardya db78bf5c4c DatabaseItemToFunctionalSpecificationReference.xls - renamed METY_CODE to EXISTING_METY_CODE, included DISPLAY_SEQUENCE to be used in the generation of emails, etc.
Minor internal changes to operation of cout_assert.pck and cout_err.pck.
mip_quotation.pck - made validation routines open to external processes. Added enquiry entry details to manual quotes.

Schema - Removed data_items table and amended data_item_roles to support display_sequence requirements.



git-svn-id: http://locode01.ad.dom/svn/WEBMIP/trunk@3407 248e525c-4dfb-0310-94bc-949c084e9493
2008-01-28 18:41:24 +00:00

183 lines
8.6 KiB
Plaintext

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;
g_default_exception_number NUMBER := -20000;
/**
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 := g_default_exception_number
,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 := g_default_exception_number
,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 := g_default_exception_number
,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 := g_default_exception_number
,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 := g_default_exception_number
,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 := g_default_exception_number
,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 := g_default_exception_number
,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 := g_default_exception_number
,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 := g_default_exception_number
,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 := g_default_exception_number
,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;
/