diff --git a/Modules/gen_mandatory.prc b/Modules/gen_mandatory.prc index f7ddb46..47f6e62 100644 --- a/Modules/gen_mandatory.prc +++ b/Modules/gen_mandatory.prc @@ -212,7 +212,7 @@ BEGIN add_sql(l_sql ,' RETURN VARCHAR2;'); add_sql(l_sql - ,' '); + ,' '); add_sql(l_sql ,'END MIP_' || l_tables.table_name || '_HELPER;'); @@ -276,23 +276,25 @@ BEGIN FOR l_checks IN (SELECT field_name ,substr(condition ,1 - ,1) + ,1) AS condition ,enty_code ,error_message FROM data_item_roles) LOOP - 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 - ,' '); + 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 @@ -500,15 +502,10 @@ BEGIN ,' 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'');'); @@ -519,29 +516,30 @@ BEGIN ,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 || ''';'); + ,' RETURN (''' || l_checks.condition || ''');'); add_sql(l_sql ,' END IF;'); add_sql(l_sql ,' '); END LOOP; - - add_sql(l_sql + + add_sql(l_sql ,' '); -- return the overall response add_sql(l_sql - ,' RETURN l_return;'); + ,' RETURN NULL;'); 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 @@ -550,17 +548,27 @@ BEGIN ,' 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 + ,'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 ,' ');