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
This commit is contained in:
hardya
2008-01-28 18:41:24 +00:00
parent 34575be877
commit db78bf5c4c
11 changed files with 394 additions and 197 deletions

View File

@@ -15,17 +15,6 @@ CREATE OR REPLACE PROCEDURE gen_mandatory IS
BEGIN
DELETE FROM data_item_roles;
DELETE FROM data_items;
INSERT INTO data_items
(field_name
,table_name
,description)
(SELECT DISTINCT field_name
,'ENQUIRIES' as table_name
,description
FROM ext_dataitem_roles
WHERE field_name IS NOT NULL);
FOR l_enty IN (SELECT code
FROM enquiry_types) LOOP
@@ -37,13 +26,15 @@ BEGIN
add_sql(l_sql
,' (ENTY_CODE');
add_sql(l_sql
,' ,DI_FIELD_NAME');
,' ,FIELD_NAME');
add_sql(l_sql
,' ,DI_TABLE_NAME');
,' ,TABLE_NAME');
add_sql(l_sql
,' ,CONDITION');
add_sql(l_sql
,' ,DESCRIPTION');
add_sql(l_sql
,' ,DISPLAY_SEQUENCE');
add_sql(l_sql
,' )');
add_sql(l_sql
@@ -51,15 +42,17 @@ BEGIN
add_sql(l_sql
,'SELECT ''' || l_enty.code || '''');
add_sql(l_sql
,' ,''ENQUIRIES'' as field_name');
,' ,field_name');
add_sql(l_sql
,' ,table_name');
,' ,''ENQUIRIES'' as table_name');
add_sql(l_sql
,' ,diri.' || REPLACE(l_enty.code
,' '
,'_'));
add_sql(l_sql
,' ,diri.description');
add_sql(l_sql
,' ,diri.display_sequence');
add_sql(l_sql
,' FROM ext_dataitem_roles diri');
add_sql(l_sql
@@ -89,7 +82,7 @@ BEGIN
END;
END LOOP;
FOR l_tables IN (SELECT DISTINCT di_table_name AS table_name
FOR l_tables IN (SELECT DISTINCT table_name AS table_name
FROM data_item_roles) LOOP
-- create a package, named MIP_'table'_HELPER
-- include functions:
@@ -125,9 +118,24 @@ BEGIN
add_sql(l_sql
,' ');
add_sql(l_sql
,' SUBTYPE T_REC_' || l_tables.table_name || ' IS ' ||
l_tables.table_name || '%ROWTYPE;');
add_sql(l_sql
,' ');
--
-- CHECK_MANDATORY
--
add_sql(l_sql
,'FUNCTION check_mandatory (p_rec in T_REC_' ||
l_tables.table_name);
add_sql(l_sql
,' ,p_mandatory_checks OUT MIP_MANDATORY.T_MANDATORY_CHECKS)');
add_sql(l_sql
,' RETURN BOOLEAN;');
add_sql(l_sql
,' ');
add_sql(l_sql
,'FUNCTION check_mandatory (');
@@ -151,6 +159,7 @@ BEGIN
,' RETURN BOOLEAN;');
add_sql(l_sql
,' ');
--
-- GET_FIELD_LIST
--
@@ -225,6 +234,79 @@ BEGIN
--
-- CHECK_MANDATORY
--
add_sql(l_sql
,'FUNCTION check_mandatory (p_rec in T_REC_' ||
l_tables.table_name);
add_sql(l_sql
,' ,p_mandatory_checks OUT MIP_MANDATORY.T_MANDATORY_CHECKS)');
add_sql(l_sql
,' RETURN BOOLEAN');
add_sql(l_sql
,'IS');
add_sql(l_sql
,' l_mandatory_checks MIP_MANDATORY.T_MANDATORY_CHECKS;');
add_sql(l_sql
,' l_return BOOLEAN;');
add_sql(l_sql
,' ');
add_sql(l_sql
,'BEGIN');
add_sql(l_sql
,' cout_assert.isnotnull(p_rec.id,''NULL enquiry id'');');
add_sql(l_sql
,' cout_assert.isnotnull(p_rec.enty_code,''NULL enquiry ENTY_CODE'');');
FOR l_checks IN (SELECT field_name
,condition
,enty_code
,error_message
FROM data_item_roles) LOOP
IF l_checks.condition = 'M' THEN
add_sql(l_sql
,' IF p_rec.ENTY_CODE = ''' || l_checks.enty_code ||
''' AND p_rec.' || l_checks.field_name ||
' IS NULL THEN');
add_sql(l_sql
,' MIP_MANDATORY.add_error(P_mandatory_checks=>l_mandatory_checks, P_field_name=>''' ||
l_checks.field_name || ''' ,p_error_message=>''' ||
nvl(l_checks.error_message
,'Mandatory Field') || ''');');
add_sql(l_sql
,' END IF;');
add_sql(l_sql
,' ');
END IF;
END LOOP;
add_sql(l_sql
,' ');
add_sql(l_sql
,' MIP_HELPER_SPECIAL_CASES.table_' || l_tables.table_name ||
'(p_rec => p_rec, p_mandatory_checks=>l_mandatory_checks);');
add_sql(l_sql
,' ');
add_sql(l_sql
,' l_return := NOT(l_mandatory_checks.COUNT > 0);');
add_sql(l_sql
,' P_mandatory_checks := l_mandatory_checks;');
add_sql(l_sql
,' ');
-- return the overall boolean response
add_sql(l_sql
,' RETURN l_return;');
add_sql(l_sql
,'END check_mandatory;');
add_sql(l_sql
,' ');
--
-- Check_mandatory - second version
--
add_sql(l_sql
,'FUNCTION check_mandatory (');
@@ -249,11 +331,7 @@ BEGIN
add_sql(l_sql
,'IS');
add_sql(l_sql
,' l_rec ' || l_tables.table_name || '%ROWTYPE;');
add_sql(l_sql
,' l_mandatory_checks MIP_MANDATORY.T_MANDATORY_CHECKS;');
add_sql(l_sql
,' l_return BOOLEAN;');
,' l_rec T_REC_' || l_tables.table_name || ';');
add_sql(l_sql
,'BEGIN');
@@ -279,53 +357,13 @@ BEGIN
,' ;');
add_sql(l_sql
,' ');
FOR l_checks IN (SELECT di_field_name
,condition
,enty_code
,error_message
FROM data_item_roles) LOOP
IF l_checks.condition = 'M' THEN
add_sql(l_sql
,' IF l_rec.ENTY_CODE = ''' || l_checks.enty_code ||
''' AND l_rec.' || l_checks.di_field_name ||
' IS NULL THEN');
add_sql(l_sql
,' MIP_MANDATORY.add_error(P_mandatory_checks=>l_mandatory_checks, P_field_name=>''' ||
l_checks.di_field_name || ''' ,P_error_message=>''' ||
nvl(l_checks.error_message
,'Mandatory Field') || ''');');
add_sql(l_sql
,' END IF;');
add_sql(l_sql
,' ');
END IF;
END LOOP;
,' RETURN CHECK_MANDATORY(p_rec => l_rec, p_mandatory_checks => p_mandatory_checks);');
add_sql(l_sql
,' ');
add_sql(l_sql,
' MIP_HELPER_SPECIAL_CASES.table_'||l_tables.table_name||'(p_rec => l_rec, p_mandatory_checks=>l_mandatory_checks);');
,' ');
add_sql(l_sql
,' ');
,'END CHECK_MANDATORY;');
add_sql(l_sql
,' l_return := NOT(l_mandatory_checks.COUNT > 0);');
add_sql(l_sql
,' P_mandatory_checks := l_mandatory_checks;');
add_sql(l_sql
,' ');
-- return the overall boolean response
add_sql(l_sql
,' RETURN l_return;');
add_sql(l_sql
,'END check_mandatory;');
add_sql(l_sql
,' ');
,' ');
--
-- GET_FIELD_LIST
--
@@ -345,7 +383,7 @@ BEGIN
,' ');
add_sql(l_sql
,' FOR l_checks IN (SELECT di_field_name');
,' FOR l_checks IN (SELECT field_name');
add_sql(l_sql
,' ,condition');
add_sql(l_sql
@@ -359,7 +397,7 @@ BEGIN
add_sql(l_sql
,' ) LOOP');
add_sql(l_sql
,' MIP_MANDATORY.add_field(P_fields=>l_fields,P_field_name=>l_checks.di_field_name);');
,' MIP_MANDATORY.add_field(p_fields=>l_fields,p_field_name=>l_checks.field_name);');
add_sql(l_sql
,' END LOOP;');