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:
@@ -63,7 +63,7 @@ BEGIN
|
|||||||
add_sql(l_sql
|
add_sql(l_sql
|
||||||
,' ,1');
|
,' ,1');
|
||||||
add_sql(l_sql
|
add_sql(l_sql
|
||||||
,' ,1) IN (''M'',''O'')');
|
,' ,1) IN (''M'',''O'',''H'')');
|
||||||
add_sql(l_sql
|
add_sql(l_sql
|
||||||
,')');
|
,')');
|
||||||
--dbms_output.put_line(l_sql);
|
--dbms_output.put_line(l_sql);
|
||||||
@@ -197,7 +197,22 @@ BEGIN
|
|||||||
,' RETURN BOOLEAN;');
|
,' RETURN BOOLEAN;');
|
||||||
add_sql(l_sql
|
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
|
add_sql(l_sql
|
||||||
,'END MIP_' || l_tables.table_name || '_HELPER;');
|
,'END MIP_' || l_tables.table_name || '_HELPER;');
|
||||||
|
|
||||||
@@ -259,16 +274,16 @@ BEGIN
|
|||||||
add_sql(l_sql
|
add_sql(l_sql
|
||||||
,' cout_assert.isnotnull(p_rec.enty_code,''NULL enquiry ENTY_CODE'');');
|
,' cout_assert.isnotnull(p_rec.enty_code,''NULL enquiry ENTY_CODE'');');
|
||||||
FOR l_checks IN (SELECT field_name
|
FOR l_checks IN (SELECT field_name
|
||||||
,condition
|
,substr(condition
|
||||||
|
,1
|
||||||
|
,1)
|
||||||
,enty_code
|
,enty_code
|
||||||
,error_message
|
,error_message
|
||||||
FROM data_item_roles) LOOP
|
FROM data_item_roles) LOOP
|
||||||
|
|
||||||
IF l_checks.condition = 'M' THEN
|
|
||||||
add_sql(l_sql
|
add_sql(l_sql
|
||||||
,' IF p_rec.ENTY_CODE = ''' || l_checks.enty_code ||
|
,' IF p_rec.ENTY_CODE = ''' || l_checks.enty_code ||
|
||||||
''' AND p_rec.' || l_checks.field_name ||
|
''' AND p_rec.' || l_checks.field_name || ' IS NULL THEN');
|
||||||
' IS NULL THEN');
|
|
||||||
add_sql(l_sql
|
add_sql(l_sql
|
||||||
,' MIP_MANDATORY.add_error(P_mandatory_checks=>l_mandatory_checks, P_field_name=>''' ||
|
,' MIP_MANDATORY.add_error(P_mandatory_checks=>l_mandatory_checks, P_field_name=>''' ||
|
||||||
l_checks.field_name || ''' ,p_error_message=>''' ||
|
l_checks.field_name || ''' ,p_error_message=>''' ||
|
||||||
@@ -278,7 +293,6 @@ BEGIN
|
|||||||
,' END IF;');
|
,' END IF;');
|
||||||
add_sql(l_sql
|
add_sql(l_sql
|
||||||
,' ');
|
,' ');
|
||||||
END IF;
|
|
||||||
END LOOP;
|
END LOOP;
|
||||||
|
|
||||||
add_sql(l_sql
|
add_sql(l_sql
|
||||||
@@ -385,7 +399,7 @@ BEGIN
|
|||||||
add_sql(l_sql
|
add_sql(l_sql
|
||||||
,' FOR l_checks IN (SELECT field_name');
|
,' FOR l_checks IN (SELECT field_name');
|
||||||
add_sql(l_sql
|
add_sql(l_sql
|
||||||
,' ,condition');
|
,' ,substr(condition,1,1) as condition');
|
||||||
add_sql(l_sql
|
add_sql(l_sql
|
||||||
,' ,enty_code');
|
,' ,enty_code');
|
||||||
add_sql(l_sql
|
add_sql(l_sql
|
||||||
@@ -397,7 +411,7 @@ BEGIN
|
|||||||
add_sql(l_sql
|
add_sql(l_sql
|
||||||
,' ) LOOP');
|
,' ) LOOP');
|
||||||
add_sql(l_sql
|
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
|
add_sql(l_sql
|
||||||
,' END LOOP;');
|
,' END LOOP;');
|
||||||
|
|
||||||
@@ -474,6 +488,82 @@ BEGIN
|
|||||||
,'END record_exists;');
|
,'END record_exists;');
|
||||||
add_sql(l_sql
|
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
|
add_sql(l_sql
|
||||||
,'END MIP_' || l_tables.table_name || '_HELPER;');
|
,'END MIP_' || l_tables.table_name || '_HELPER;');
|
||||||
|
|
||||||
|
|||||||
@@ -14,19 +14,17 @@ END mip_friendly_messages;
|
|||||||
/
|
/
|
||||||
CREATE OR REPLACE PACKAGE BODY mip_friendly_messages IS
|
CREATE OR REPLACE PACKAGE BODY mip_friendly_messages IS
|
||||||
|
|
||||||
PROCEDURE pl(p_in VARCHAR2) IS
|
PROCEDURE pl(p_in VARCHAR2
|
||||||
l_fh utl_file.file_type;
|
,p_line IN NUMBER DEFAULT NULL) IS
|
||||||
BEGIN
|
BEGIN
|
||||||
dbms_application_info.set_module('MIP_FRIENDLY_MESSAGES'
|
NULL;
|
||||||
,p_in);
|
/* $IF mip_debug_constants.debugging OR mip_debug_constants.friendly_messages
|
||||||
l_fh := utl_file.fopen(location => 'WEBMIP_BULK_LOAD'
|
$THEN*/
|
||||||
,filename => 'MIP_FRIENDLY_MESSAGES.txt'
|
mip_debug.pl(p_unit => $$PLSQL_UNIT
|
||||||
,open_mode => 'A');
|
,p_line => p_line
|
||||||
utl_file.put_line(l_fh
|
,p_in => p_in);
|
||||||
,to_char(SYSDATE
|
/* $END*/
|
||||||
,'DD/MM/YYYY HH24:MI:SS') || ',' || p_in);
|
END pl;
|
||||||
utl_file.fclose(l_fh);
|
|
||||||
END pl;
|
|
||||||
|
|
||||||
FUNCTION get_constraint_message(p_ora_msg IN VARCHAR2) RETURN VARCHAR2 IS
|
FUNCTION get_constraint_message(p_ora_msg IN VARCHAR2) RETURN VARCHAR2 IS
|
||||||
c_marker CONSTANT VARCHAR2(30) := 'constraint (';
|
c_marker CONSTANT VARCHAR2(30) := 'constraint (';
|
||||||
@@ -81,9 +79,11 @@ CREATE OR REPLACE PACKAGE BODY mip_friendly_messages IS
|
|||||||
l_sqlcode NUMBER;
|
l_sqlcode NUMBER;
|
||||||
l_msg VARCHAR2(2000);
|
l_msg VARCHAR2(2000);
|
||||||
BEGIN
|
BEGIN
|
||||||
|
pl('get_friendly_message:entry:'||p_ora_msg);
|
||||||
l_sqlcode := substr(l_ora_msg
|
l_sqlcode := substr(l_ora_msg
|
||||||
,1
|
,1
|
||||||
,5);
|
,5);
|
||||||
|
|
||||||
IF instr(l_ora_msg
|
IF instr(l_ora_msg
|
||||||
,'constraint (') > 0 THEN
|
,'constraint (') > 0 THEN
|
||||||
l_msg := nvl(get_constraint_message(l_ora_msg)
|
l_msg := nvl(get_constraint_message(l_ora_msg)
|
||||||
@@ -92,6 +92,7 @@ CREATE OR REPLACE PACKAGE BODY mip_friendly_messages IS
|
|||||||
l_msg := l_ora_msg;
|
l_msg := l_ora_msg;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
|
pl('get_friendly_message:exit:'||l_msg);
|
||||||
return(l_msg);
|
return(l_msg);
|
||||||
END get_friendly_message;
|
END get_friendly_message;
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,11 @@ CREATE OR REPLACE PACKAGE mip_mandatory IS
|
|||||||
|
|
||||||
TYPE t_mandatory_checks IS TABLE OF t_mandatory_check INDEX BY BINARY_INTEGER;
|
TYPE t_mandatory_checks IS TABLE OF t_mandatory_check INDEX BY BINARY_INTEGER;
|
||||||
|
|
||||||
TYPE t_fields IS TABLE OF VARCHAR2(80) INDEX BY BINARY_INTEGER;
|
TYPE t_field IS RECORD(
|
||||||
|
field_name VARCHAR2(80)
|
||||||
|
,field_condition VARCHAR2(1));
|
||||||
|
|
||||||
|
TYPE t_fields IS TABLE OF t_field INDEX BY BINARY_INTEGER;
|
||||||
|
|
||||||
-- Public function and procedure declarations
|
-- Public function and procedure declarations
|
||||||
|
|
||||||
@@ -20,10 +24,11 @@ CREATE OR REPLACE PACKAGE mip_mandatory IS
|
|||||||
,p_error_message IN VARCHAR2);
|
,p_error_message IN VARCHAR2);
|
||||||
|
|
||||||
PROCEDURE add_field(p_fields IN OUT t_fields
|
PROCEDURE add_field(p_fields IN OUT t_fields
|
||||||
,p_field_name IN VARCHAR2);
|
,p_field_name IN VARCHAR2
|
||||||
|
,p_field_condition IN VARCHAR2);
|
||||||
END mip_mandatory;
|
END mip_mandatory;
|
||||||
/
|
/
|
||||||
CREATE OR REPLACE PACKAGE BODY MIP_MANDATORY IS
|
CREATE OR REPLACE PACKAGE BODY mip_mandatory IS
|
||||||
|
|
||||||
PROCEDURE add_error(p_mandatory_checks IN OUT t_mandatory_checks
|
PROCEDURE add_error(p_mandatory_checks IN OUT t_mandatory_checks
|
||||||
,p_field_name IN VARCHAR2
|
,p_field_name IN VARCHAR2
|
||||||
@@ -35,14 +40,16 @@ CREATE OR REPLACE PACKAGE BODY MIP_MANDATORY IS
|
|||||||
END;
|
END;
|
||||||
|
|
||||||
PROCEDURE add_field(p_fields IN OUT t_fields
|
PROCEDURE add_field(p_fields IN OUT t_fields
|
||||||
,p_field_name IN VARCHAR2) IS
|
,p_field_name IN VARCHAR2
|
||||||
|
,p_field_condition IN VARCHAR2) IS
|
||||||
l_idx NUMBER := p_fields.COUNT + 1;
|
l_idx NUMBER := p_fields.COUNT + 1;
|
||||||
BEGIN
|
BEGIN
|
||||||
p_fields(l_idx) := p_field_name;
|
p_fields(l_idx).field_name := p_field_name;
|
||||||
|
p_fields(l_idx).field_condition := p_field_condition;
|
||||||
END add_field;
|
END add_field;
|
||||||
|
|
||||||
BEGIN
|
BEGIN
|
||||||
-- Initialization
|
-- Initialization
|
||||||
NULL;
|
NULL;
|
||||||
END MIP_MANDATORY;
|
END mip_mandatory;
|
||||||
/
|
/
|
||||||
|
|||||||
@@ -43,6 +43,13 @@ CREATE OR REPLACE PACKAGE mip_tripartite IS
|
|||||||
,p_tab_messages IN OUT t_tab_messages)
|
,p_tab_messages IN OUT t_tab_messages)
|
||||||
RETURN BOOLEAN;
|
RETURN BOOLEAN;
|
||||||
|
|
||||||
|
/** Is the given addon allowed to non-Tripartite members
|
||||||
|
%param p_addit_code the addon to be checked
|
||||||
|
%param p_regi_code the region to be checked against
|
||||||
|
%return TRUE if the addon is allowed
|
||||||
|
*/
|
||||||
|
FUNCTION addon_allowed(p_adit_code IN additional_items.code%TYPE
|
||||||
|
,p_regi_code IN regions.code%TYPE) RETURN BOOLEAN;
|
||||||
/** Is the given enquiry valid with respect to the Tripartite arrangements?
|
/** Is the given enquiry valid with respect to the Tripartite arrangements?
|
||||||
%param p_enqu_id the id of the enquiry to be checked
|
%param p_enqu_id the id of the enquiry to be checked
|
||||||
%param p_tab_messages reasons for the enquiry not being valid
|
%param p_tab_messages reasons for the enquiry not being valid
|
||||||
|
|||||||
Reference in New Issue
Block a user