Changed mandatory packages (mip_mandatory.pck and gen_mandatory.prc) to produce label conditions for the enquiry screen.

Expose addon_allowed in mip_tripartite.pck.

git-svn-id: http://locode01.ad.dom/svn/WEBMIP/trunk@3957 248e525c-4dfb-0310-94bc-949c084e9493
This commit is contained in:
hardya
2008-03-12 14:16:55 +00:00
parent 99aaa74017
commit 1190dfb87e
4 changed files with 145 additions and 40 deletions

View File

@@ -63,7 +63,7 @@ BEGIN
add_sql(l_sql
,' ,1');
add_sql(l_sql
,' ,1) IN (''M'',''O'')');
,' ,1) IN (''M'',''O'',''H'')');
add_sql(l_sql
,')');
--dbms_output.put_line(l_sql);
@@ -197,7 +197,22 @@ BEGIN
,' RETURN BOOLEAN;');
add_sql(l_sql
,' ');
add_sql(l_sql
,'FUNCTION check_condition (p_enty_code in enquiries.enty_code%type');
add_sql(l_sql
,' ,p_field_name IN data_item_roles.field_name%type)');
add_sql(l_sql
,' RETURN data_item_roles.condition%TYPE;');
add_sql(l_sql
,' ');
add_sql(l_sql
,'FUNCTION label_condition (p_enty_code in enquiries.enty_code%type');
add_sql(l_sql
,' ,p_field_name IN data_item_roles.field_name%type)');
add_sql(l_sql
,' RETURN VARCHAR2;');
add_sql(l_sql
,' ');
add_sql(l_sql
,'END MIP_' || l_tables.table_name || '_HELPER;');
@@ -259,26 +274,25 @@ BEGIN
add_sql(l_sql
,' cout_assert.isnotnull(p_rec.enty_code,''NULL enquiry ENTY_CODE'');');
FOR l_checks IN (SELECT field_name
,condition
,substr(condition
,1
,1)
,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;
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 LOOP;
add_sql(l_sql
@@ -385,7 +399,7 @@ BEGIN
add_sql(l_sql
,' FOR l_checks IN (SELECT field_name');
add_sql(l_sql
,' ,condition');
,' ,substr(condition,1,1) as condition');
add_sql(l_sql
,' ,enty_code');
add_sql(l_sql
@@ -397,7 +411,7 @@ BEGIN
add_sql(l_sql
,' ) LOOP');
add_sql(l_sql
,' MIP_MANDATORY.add_field(p_fields=>l_fields,p_field_name=>l_checks.field_name);');
,' MIP_MANDATORY.add_field(p_fields=>l_fields,p_field_name=>l_checks.field_name, p_field_condition=>l_checks.condition);');
add_sql(l_sql
,' END LOOP;');
@@ -474,6 +488,82 @@ BEGIN
,'END record_exists;');
add_sql(l_sql
,' ');
--
-- CHECK_CONDITION
--
add_sql(l_sql
,'FUNCTION check_condition (p_enty_code in enquiries.enty_code%type');
add_sql(l_sql
,' ,p_field_name IN data_item_roles.field_name%type)');
add_sql(l_sql
,' RETURN data_item_roles.condition%TYPE');
add_sql(l_sql
,'IS');
add_sql(l_sql
,' l_return data_item_roles.condition%TYPE;');
add_sql(l_sql
,' ');
add_sql(l_sql
,'BEGIN');
add_sql(l_sql
,' cout_assert.isnotnull(p_field_name,''NULL enquiry FIELD_NAME'');');
FOR l_checks IN (SELECT upper(field_name) AS field_name
,substr(condition
,1
,2) AS condition
,enty_code
,error_message
FROM data_item_roles) LOOP
add_sql(l_sql
,' IF p_enty_code = ''' || l_checks.enty_code ||
''' AND p_field_name = ''' || l_checks.field_name ||
''' THEN');
add_sql(l_sql
,' l_return := ''' || l_checks.condition || ''';');
add_sql(l_sql
,' END IF;');
add_sql(l_sql
,' ');
END LOOP;
add_sql(l_sql
,' ');
-- return the overall response
add_sql(l_sql
,' RETURN l_return;');
add_sql(l_sql
,'END check_condition;');
add_sql(l_sql
,' ');
add_sql(l_sql
,'FUNCTION label_condition (p_enty_code in enquiries.enty_code%type');
add_sql(l_sql
,' ,p_field_name IN data_item_roles.field_name%type)');
add_sql(l_sql
,' RETURN VARCHAR2');
add_sql(l_sql
,'IS');
add_sql(l_sql,'BEGIN');
add_sql(l_sql,' RETURN (');
add_sql(l_sql,' CASE mip_enquiries_helper.check_condition(p_enty_code, p_field_name)');
add_sql(l_sql,' WHEN ''M'' THEN ''*''');
add_sql(l_sql,' WHEN ''O-'' THEN ''+''');
add_sql(l_sql,' WHEN ''O'' THEN '' ''');
add_sql(l_sql,' WHEN ''H'' THEN ''H''');
add_sql(l_sql,' END');
add_sql(l_sql,' );');
add_sql(l_sql,'END label_condition;');
add_sql(l_sql
,' ');
add_sql(l_sql
,'END MIP_' || l_tables.table_name || '_HELPER;');