102: END search_delimiter_comment ;
103:
104:
105: -- split the long sql statement into pieces less than 80 characters and return the position
106: PROCEDURE split_long_sql ( body_code IN OUT NOCOPY cn_utils.code_type,
107: p_input_str VARCHAR2 ,
108: sql_type VARCHAR2 )
109: IS
110: l_length NUMBER; /* total length of input string */
151:
152: END LOOP;
153:
154: IF sql_type = 'COMMENT' THEN
155: cn_utils.appindcr(body_code, '-- ' || substr(p_input_str, l_start,
156: l_next_prev - l_start) );
157: ELSE
158: cn_utils.appindcr(body_code, substr(p_input_str, l_start,
159: l_next_prev - l_start));
154: IF sql_type = 'COMMENT' THEN
155: cn_utils.appindcr(body_code, '-- ' || substr(p_input_str, l_start,
156: l_next_prev - l_start) );
157: ELSE
158: cn_utils.appindcr(body_code, substr(p_input_str, l_start,
159: l_next_prev - l_start));
160: END IF;
161:
162: l_start := l_next_prev ;
167: END IF;
168: END LOOP;
169:
170: IF sql_type = 'COMMENT' THEN
171: cn_utils.appindcr(body_code, '--' || substr(p_input_str, l_start,
172: l_length - l_start + 1));
173: ELSE
174: cn_utils.appindcr(body_code, substr(p_input_str, l_start,
175: l_length - l_start + 1));
170: IF sql_type = 'COMMENT' THEN
171: cn_utils.appindcr(body_code, '--' || substr(p_input_str, l_start,
172: l_length - l_start + 1));
173: ELSE
174: cn_utils.appindcr(body_code, substr(p_input_str, l_start,
175: l_length - l_start + 1));
176: END IF;
177: END split_long_sql;
178:
196: AND object_type = x_object_type;
197: --
198: IF (dummy = 0) THEN
199: --
200: x_object_id := cn_utils.get_object_id;
201: cn_objects_pkg.insert_row( x_rowid => x_rowid,
202: x_object_id => x_object_id,
203: x_org_id => g_org_id,
204: x_dependency_map_complete => 'N',
226: RAISE;
227: END check_create_object;
228: --
229: PROCEDURE pkg_init_boilerplate (
230: code IN OUT NOCOPY cn_utils.code_type,
231: package_name IN cn_obj_packages_v.name%TYPE,
232: description IN cn_obj_packages_v.description%TYPE,
233: object_type IN VARCHAR2)
234: IS
237: SELECT user
238: INTO x_userid
239: FROM sys.dual;
240:
241: cn_utils.appendcr(code, '--+============================================================================+');
242: cn_utils.appendcr(code, '-- Copyright (c) 1993 Oracle Corporation');
243: cn_utils.appendcr(code, '-- Redwood Shores, California, USA');
244: cn_utils.appendcr(code, '-- All rights reserved.');
245: cn_utils.appendcr(code, '--+============================================================================+');
238: INTO x_userid
239: FROM sys.dual;
240:
241: cn_utils.appendcr(code, '--+============================================================================+');
242: cn_utils.appendcr(code, '-- Copyright (c) 1993 Oracle Corporation');
243: cn_utils.appendcr(code, '-- Redwood Shores, California, USA');
244: cn_utils.appendcr(code, '-- All rights reserved.');
245: cn_utils.appendcr(code, '--+============================================================================+');
246: cn_utils.appendcr(code, '-- Package Name');
239: FROM sys.dual;
240:
241: cn_utils.appendcr(code, '--+============================================================================+');
242: cn_utils.appendcr(code, '-- Copyright (c) 1993 Oracle Corporation');
243: cn_utils.appendcr(code, '-- Redwood Shores, California, USA');
244: cn_utils.appendcr(code, '-- All rights reserved.');
245: cn_utils.appendcr(code, '--+============================================================================+');
246: cn_utils.appendcr(code, '-- Package Name');
247: cn_utils.appendcr(code, '-- '||package_name);
240:
241: cn_utils.appendcr(code, '--+============================================================================+');
242: cn_utils.appendcr(code, '-- Copyright (c) 1993 Oracle Corporation');
243: cn_utils.appendcr(code, '-- Redwood Shores, California, USA');
244: cn_utils.appendcr(code, '-- All rights reserved.');
245: cn_utils.appendcr(code, '--+============================================================================+');
246: cn_utils.appendcr(code, '-- Package Name');
247: cn_utils.appendcr(code, '-- '||package_name);
248: cn_utils.appendcr(code, '-- Purpose');
241: cn_utils.appendcr(code, '--+============================================================================+');
242: cn_utils.appendcr(code, '-- Copyright (c) 1993 Oracle Corporation');
243: cn_utils.appendcr(code, '-- Redwood Shores, California, USA');
244: cn_utils.appendcr(code, '-- All rights reserved.');
245: cn_utils.appendcr(code, '--+============================================================================+');
246: cn_utils.appendcr(code, '-- Package Name');
247: cn_utils.appendcr(code, '-- '||package_name);
248: cn_utils.appendcr(code, '-- Purpose');
249: cn_utils.appendcr(code, '-- '||description);
242: cn_utils.appendcr(code, '-- Copyright (c) 1993 Oracle Corporation');
243: cn_utils.appendcr(code, '-- Redwood Shores, California, USA');
244: cn_utils.appendcr(code, '-- All rights reserved.');
245: cn_utils.appendcr(code, '--+============================================================================+');
246: cn_utils.appendcr(code, '-- Package Name');
247: cn_utils.appendcr(code, '-- '||package_name);
248: cn_utils.appendcr(code, '-- Purpose');
249: cn_utils.appendcr(code, '-- '||description);
250: cn_utils.appendcr(code, '-- History');
243: cn_utils.appendcr(code, '-- Redwood Shores, California, USA');
244: cn_utils.appendcr(code, '-- All rights reserved.');
245: cn_utils.appendcr(code, '--+============================================================================+');
246: cn_utils.appendcr(code, '-- Package Name');
247: cn_utils.appendcr(code, '-- '||package_name);
248: cn_utils.appendcr(code, '-- Purpose');
249: cn_utils.appendcr(code, '-- '||description);
250: cn_utils.appendcr(code, '-- History');
251: cn_utils.appendcr(code, '-- '||SYSDATE||' '||x_userid ||' Created');
244: cn_utils.appendcr(code, '-- All rights reserved.');
245: cn_utils.appendcr(code, '--+============================================================================+');
246: cn_utils.appendcr(code, '-- Package Name');
247: cn_utils.appendcr(code, '-- '||package_name);
248: cn_utils.appendcr(code, '-- Purpose');
249: cn_utils.appendcr(code, '-- '||description);
250: cn_utils.appendcr(code, '-- History');
251: cn_utils.appendcr(code, '-- '||SYSDATE||' '||x_userid ||' Created');
252: cn_utils.appendcr(code, '--+============================================================================+');
245: cn_utils.appendcr(code, '--+============================================================================+');
246: cn_utils.appendcr(code, '-- Package Name');
247: cn_utils.appendcr(code, '-- '||package_name);
248: cn_utils.appendcr(code, '-- Purpose');
249: cn_utils.appendcr(code, '-- '||description);
250: cn_utils.appendcr(code, '-- History');
251: cn_utils.appendcr(code, '-- '||SYSDATE||' '||x_userid ||' Created');
252: cn_utils.appendcr(code, '--+============================================================================+');
253:
246: cn_utils.appendcr(code, '-- Package Name');
247: cn_utils.appendcr(code, '-- '||package_name);
248: cn_utils.appendcr(code, '-- Purpose');
249: cn_utils.appendcr(code, '-- '||description);
250: cn_utils.appendcr(code, '-- History');
251: cn_utils.appendcr(code, '-- '||SYSDATE||' '||x_userid ||' Created');
252: cn_utils.appendcr(code, '--+============================================================================+');
253:
254: ----+
247: cn_utils.appendcr(code, '-- '||package_name);
248: cn_utils.appendcr(code, '-- Purpose');
249: cn_utils.appendcr(code, '-- '||description);
250: cn_utils.appendcr(code, '-- History');
251: cn_utils.appendcr(code, '-- '||SYSDATE||' '||x_userid ||' Created');
252: cn_utils.appendcr(code, '--+============================================================================+');
253:
254: ----+
255: -- Check For Package type, based on PKS(spec) or PKB(body) generate init section
248: cn_utils.appendcr(code, '-- Purpose');
249: cn_utils.appendcr(code, '-- '||description);
250: cn_utils.appendcr(code, '-- History');
251: cn_utils.appendcr(code, '-- '||SYSDATE||' '||x_userid ||' Created');
252: cn_utils.appendcr(code, '--+============================================================================+');
253:
254: ----+
255: -- Check For Package type, based on PKS(spec) or PKB(body) generate init section
256: -- Of your code accordingly
256: -- Of your code accordingly
257: ----+
258: IF (object_type = 'PKS')
259: THEN
260: cn_utils.appendcr(code, 'CREATE OR REPLACE PACKAGE ' ||package_name||' AS');
261: ELSE
262: cn_utils.appendcr(code, 'CREATE OR REPLACE PACKAGE BODY ' ||package_name||' AS');
263: END IF;
264:
258: IF (object_type = 'PKS')
259: THEN
260: cn_utils.appendcr(code, 'CREATE OR REPLACE PACKAGE ' ||package_name||' AS');
261: ELSE
262: cn_utils.appendcr(code, 'CREATE OR REPLACE PACKAGE BODY ' ||package_name||' AS');
263: END IF;
264:
265: cn_utils.appendcr(code);
266:
261: ELSE
262: cn_utils.appendcr(code, 'CREATE OR REPLACE PACKAGE BODY ' ||package_name||' AS');
263: END IF;
264:
265: cn_utils.appendcr(code);
266:
267: END pkg_init_boilerplate;
268: --
269: PROCEDURE pkg_init (
272: package_spec_id IN OUT NOCOPY cn_obj_packages_v.package_id%TYPE,
273: package_body_id IN OUT NOCOPY cn_obj_packages_v.package_id%TYPE,
274: package_spec_desc IN OUT NOCOPY cn_obj_packages_v.description%TYPE,
275: package_body_desc IN OUT NOCOPY cn_obj_packages_v.description%TYPE,
276: spec_code IN OUT NOCOPY cn_utils.code_type,
277: body_code IN OUT NOCOPY cn_utils.code_type) IS
278:
279: x_rowid ROWID;
280: null_id NUMBER;
273: package_body_id IN OUT NOCOPY cn_obj_packages_v.package_id%TYPE,
274: package_spec_desc IN OUT NOCOPY cn_obj_packages_v.description%TYPE,
275: package_body_desc IN OUT NOCOPY cn_obj_packages_v.description%TYPE,
276: spec_code IN OUT NOCOPY cn_utils.code_type,
277: body_code IN OUT NOCOPY cn_utils.code_type) IS
278:
279: x_rowid ROWID;
280: null_id NUMBER;
281:
280: null_id NUMBER;
281:
282: BEGIN
283: -- Find the package objects
284: cn_utils.find_object(package_name,'PKS',package_spec_id, package_spec_desc, g_org_id);
285: cn_utils.find_object(package_name,'PKB',package_body_id, package_body_desc, g_org_id);
286:
287: -- Delete module source code from cn_source
288: -- Delete module object dependencies for this module
281:
282: BEGIN
283: -- Find the package objects
284: cn_utils.find_object(package_name,'PKS',package_spec_id, package_spec_desc, g_org_id);
285: cn_utils.find_object(package_name,'PKB',package_body_id, package_body_desc, g_org_id);
286:
287: -- Delete module source code from cn_source
288: -- Delete module object dependencies for this module
289: cn_utils.delete_module(module_id, package_spec_id, package_body_id, g_org_id);
285: cn_utils.find_object(package_name,'PKB',package_body_id, package_body_desc, g_org_id);
286:
287: -- Delete module source code from cn_source
288: -- Delete module object dependencies for this module
289: cn_utils.delete_module(module_id, package_spec_id, package_body_id, g_org_id);
290:
291: cn_utils.init_code (package_spec_id, spec_code);
292: cn_utils.init_code (package_body_id, body_code);
293:
287: -- Delete module source code from cn_source
288: -- Delete module object dependencies for this module
289: cn_utils.delete_module(module_id, package_spec_id, package_body_id, g_org_id);
290:
291: cn_utils.init_code (package_spec_id, spec_code);
292: cn_utils.init_code (package_body_id, body_code);
293:
294: pkg_init_boilerplate(spec_code, package_name, package_spec_desc, 'PKS');
295: pkg_init_boilerplate(body_code, package_name, package_body_desc, 'PKB');
288: -- Delete module object dependencies for this module
289: cn_utils.delete_module(module_id, package_spec_id, package_body_id, g_org_id);
290:
291: cn_utils.init_code (package_spec_id, spec_code);
292: cn_utils.init_code (package_body_id, body_code);
293:
294: pkg_init_boilerplate(spec_code, package_name, package_spec_desc, 'PKS');
295: pkg_init_boilerplate(body_code, package_name, package_body_desc, 'PKB');
296:
293:
294: pkg_init_boilerplate(spec_code, package_name, package_spec_desc, 'PKS');
295: pkg_init_boilerplate(body_code, package_name, package_body_desc, 'PKB');
296:
297: cn_utils.indent(spec_code, 1);
298: cn_utils.indent(body_code, 1);
299:
300: END pkg_init;
301: --
294: pkg_init_boilerplate(spec_code, package_name, package_spec_desc, 'PKS');
295: pkg_init_boilerplate(body_code, package_name, package_body_desc, 'PKB');
296:
297: cn_utils.indent(spec_code, 1);
298: cn_utils.indent(body_code, 1);
299:
300: END pkg_init;
301: --
302: -- initialize the procedure boilerplate
299:
300: END pkg_init;
301: --
302: -- initialize the procedure boilerplate
303: PROCEDURE proc_init_boilerplate (code IN OUT NOCOPY cn_utils.code_type,
304: procedure_name cn_obj_procedures_v.name%TYPE,
305: description cn_obj_procedures_v.description%TYPE)
306: IS
307: X_userid VARCHAR2(20);
307: X_userid VARCHAR2(20);
308: BEGIN
309: SELECT user INTO X_userid FROM sys.dual;
310:
311: cn_utils.appendcr(code, '--');
312: cn_utils.appendcr(code, '-- Procedure Name');
313: cn_utils.appendcr(code, '-- ' || procedure_name);
314: cn_utils.appendcr(code, '-- Purpose');
315: split_long_sql(code, description, 'COMMENT');
308: BEGIN
309: SELECT user INTO X_userid FROM sys.dual;
310:
311: cn_utils.appendcr(code, '--');
312: cn_utils.appendcr(code, '-- Procedure Name');
313: cn_utils.appendcr(code, '-- ' || procedure_name);
314: cn_utils.appendcr(code, '-- Purpose');
315: split_long_sql(code, description, 'COMMENT');
316: cn_utils.appendcr(code, '-- History');
309: SELECT user INTO X_userid FROM sys.dual;
310:
311: cn_utils.appendcr(code, '--');
312: cn_utils.appendcr(code, '-- Procedure Name');
313: cn_utils.appendcr(code, '-- ' || procedure_name);
314: cn_utils.appendcr(code, '-- Purpose');
315: split_long_sql(code, description, 'COMMENT');
316: cn_utils.appendcr(code, '-- History');
317: cn_utils.appendcr(code, '-- ' || SYSDATE || ' ' || X_userid || ' Created');
310:
311: cn_utils.appendcr(code, '--');
312: cn_utils.appendcr(code, '-- Procedure Name');
313: cn_utils.appendcr(code, '-- ' || procedure_name);
314: cn_utils.appendcr(code, '-- Purpose');
315: split_long_sql(code, description, 'COMMENT');
316: cn_utils.appendcr(code, '-- History');
317: cn_utils.appendcr(code, '-- ' || SYSDATE || ' ' || X_userid || ' Created');
318: cn_utils.appendcr(code, '--');
312: cn_utils.appendcr(code, '-- Procedure Name');
313: cn_utils.appendcr(code, '-- ' || procedure_name);
314: cn_utils.appendcr(code, '-- Purpose');
315: split_long_sql(code, description, 'COMMENT');
316: cn_utils.appendcr(code, '-- History');
317: cn_utils.appendcr(code, '-- ' || SYSDATE || ' ' || X_userid || ' Created');
318: cn_utils.appendcr(code, '--');
319: END proc_init_boilerplate;
320:
313: cn_utils.appendcr(code, '-- ' || procedure_name);
314: cn_utils.appendcr(code, '-- Purpose');
315: split_long_sql(code, description, 'COMMENT');
316: cn_utils.appendcr(code, '-- History');
317: cn_utils.appendcr(code, '-- ' || SYSDATE || ' ' || X_userid || ' Created');
318: cn_utils.appendcr(code, '--');
319: END proc_init_boilerplate;
320:
321: -- initialize the procedure
314: cn_utils.appendcr(code, '-- Purpose');
315: split_long_sql(code, description, 'COMMENT');
316: cn_utils.appendcr(code, '-- History');
317: cn_utils.appendcr(code, '-- ' || SYSDATE || ' ' || X_userid || ' Created');
318: cn_utils.appendcr(code, '--');
319: END proc_init_boilerplate;
320:
321: -- initialize the procedure
322: PROCEDURE proc_init(procedure_name cn_obj_procedures_v.name%TYPE,
325: procedure_type cn_obj_procedures_v.procedure_type%TYPE,
326: return_type cn_obj_procedures_v.return_type%TYPE,
327: package_id cn_obj_procedures_v.package_id%TYPE,
328: repository_id cn_obj_procedures_v.repository_id%TYPE,
329: spec_code IN OUT NOCOPY cn_utils.code_type,
330: body_code IN OUT NOCOPY cn_utils.code_type) IS
331: BEGIN
332: -- Generate boilerplate comments
333: proc_init_boilerplate(spec_code, procedure_name, description);
326: return_type cn_obj_procedures_v.return_type%TYPE,
327: package_id cn_obj_procedures_v.package_id%TYPE,
328: repository_id cn_obj_procedures_v.repository_id%TYPE,
329: spec_code IN OUT NOCOPY cn_utils.code_type,
330: body_code IN OUT NOCOPY cn_utils.code_type) IS
331: BEGIN
332: -- Generate boilerplate comments
333: proc_init_boilerplate(spec_code, procedure_name, description);
334: proc_init_boilerplate(body_code, procedure_name, description);
340: ' (' || parameter_list || ')', 'FROM');
341: split_long_sql(body_code, 'PROCEDURE ' || procedure_name ||
342: ' (' || parameter_list || ')', 'FROM');
343: ELSE
344: cn_utils.appendcr(spec_code, 'PROCEDURE ' || procedure_name);
345: cn_utils.appendcr(body_code, 'PROCEDURE ' || procedure_name);
346: END IF;
347: ELSIF (procedure_type = 'F') THEN
348: IF (parameter_list IS NOT NULL) THEN
341: split_long_sql(body_code, 'PROCEDURE ' || procedure_name ||
342: ' (' || parameter_list || ')', 'FROM');
343: ELSE
344: cn_utils.appendcr(spec_code, 'PROCEDURE ' || procedure_name);
345: cn_utils.appendcr(body_code, 'PROCEDURE ' || procedure_name);
346: END IF;
347: ELSIF (procedure_type = 'F') THEN
348: IF (parameter_list IS NOT NULL) THEN
349: split_long_sql(spec_code, 'FUNCTION ' || procedure_name ||
350: ' (' || parameter_list || ')', 'FROM');
351: split_long_sql(body_code, 'FUNCTION ' || procedure_name ||
352: ' (' || parameter_list || ')', 'FROM');
353: ELSE
354: cn_utils.appendcr(spec_code, 'FUNCTION ' || procedure_name);
355: cn_utils.appendcr(body_code, 'FUNCTION ' || procedure_name);
356: END IF;
357: END IF;
358:
351: split_long_sql(body_code, 'FUNCTION ' || procedure_name ||
352: ' (' || parameter_list || ')', 'FROM');
353: ELSE
354: cn_utils.appendcr(spec_code, 'FUNCTION ' || procedure_name);
355: cn_utils.appendcr(body_code, 'FUNCTION ' || procedure_name);
356: END IF;
357: END IF;
358:
359: IF (procedure_type = 'F') THEN
356: END IF;
357: END IF;
358:
359: IF (procedure_type = 'F') THEN
360: cn_utils.appendcr(spec_code, ' RETURN ' || return_type);
361: cn_utils.appendcr(body_code, ' RETURN ' || return_type);
362: END IF;
363:
364: cn_utils.appendcr(spec_code, ';');
357: END IF;
358:
359: IF (procedure_type = 'F') THEN
360: cn_utils.appendcr(spec_code, ' RETURN ' || return_type);
361: cn_utils.appendcr(body_code, ' RETURN ' || return_type);
362: END IF;
363:
364: cn_utils.appendcr(spec_code, ';');
365: cn_utils.appendcr(spec_code);
360: cn_utils.appendcr(spec_code, ' RETURN ' || return_type);
361: cn_utils.appendcr(body_code, ' RETURN ' || return_type);
362: END IF;
363:
364: cn_utils.appendcr(spec_code, ';');
365: cn_utils.appendcr(spec_code);
366: cn_utils.appendcr(body_code, ' IS');
367: END proc_init;
368:
361: cn_utils.appendcr(body_code, ' RETURN ' || return_type);
362: END IF;
363:
364: cn_utils.appendcr(spec_code, ';');
365: cn_utils.appendcr(spec_code);
366: cn_utils.appendcr(body_code, ' IS');
367: END proc_init;
368:
369:
362: END IF;
363:
364: cn_utils.appendcr(spec_code, ';');
365: cn_utils.appendcr(spec_code);
366: cn_utils.appendcr(body_code, ' IS');
367: END proc_init;
368:
369:
370: -- create the code of the procedure get_winning rule
368:
369:
370: -- create the code of the procedure get_winning rule
371: PROCEDURE populate_matches (
372: spec_code IN OUT NOCOPY cn_utils.code_type,
373: body_code IN OUT NOCOPY cn_utils.code_type ,
374: x_transaction_source IN cn_sca_rule_attributes.transaction_source%TYPE) IS
375: --
376: procedure_name cn_obj_procedures_v.name%TYPE;
369:
370: -- create the code of the procedure get_winning rule
371: PROCEDURE populate_matches (
372: spec_code IN OUT NOCOPY cn_utils.code_type,
373: body_code IN OUT NOCOPY cn_utils.code_type ,
374: x_transaction_source IN cn_sca_rule_attributes.transaction_source%TYPE) IS
375: --
376: procedure_name cn_obj_procedures_v.name%TYPE;
377: procedure_desc cn_obj_procedures_v.description%TYPE;
435: --
436: proc_init(procedure_name, procedure_desc, parameter_list,'P', 'NUMBER' ,
437: package_spec_id, x_repository_id,spec_code, body_code);
438: --
439: cn_utils.appendcr(body_code, '--+');
440: cn_utils.appendcr(body_code, '-- Variables Section');
441: cn_utils.appendcr(body_code, '--+');
442: cn_utils.appendcr(body_code, ' l_comb_counter NUMBER := 0;');
443: cn_utils.appendcr(body_code, ' l_comb_value_id NUMBER := 0;');
436: proc_init(procedure_name, procedure_desc, parameter_list,'P', 'NUMBER' ,
437: package_spec_id, x_repository_id,spec_code, body_code);
438: --
439: cn_utils.appendcr(body_code, '--+');
440: cn_utils.appendcr(body_code, '-- Variables Section');
441: cn_utils.appendcr(body_code, '--+');
442: cn_utils.appendcr(body_code, ' l_comb_counter NUMBER := 0;');
443: cn_utils.appendcr(body_code, ' l_comb_value_id NUMBER := 0;');
444: --cn_utils.appendcr(body_code, ' l_row_num NUMBER := 0;');
437: package_spec_id, x_repository_id,spec_code, body_code);
438: --
439: cn_utils.appendcr(body_code, '--+');
440: cn_utils.appendcr(body_code, '-- Variables Section');
441: cn_utils.appendcr(body_code, '--+');
442: cn_utils.appendcr(body_code, ' l_comb_counter NUMBER := 0;');
443: cn_utils.appendcr(body_code, ' l_comb_value_id NUMBER := 0;');
444: --cn_utils.appendcr(body_code, ' l_row_num NUMBER := 0;');
445: --cn_utils.appendcr(body_code, ' l_rule_attribute_id NUMBER := 0;');
438: --
439: cn_utils.appendcr(body_code, '--+');
440: cn_utils.appendcr(body_code, '-- Variables Section');
441: cn_utils.appendcr(body_code, '--+');
442: cn_utils.appendcr(body_code, ' l_comb_counter NUMBER := 0;');
443: cn_utils.appendcr(body_code, ' l_comb_value_id NUMBER := 0;');
444: --cn_utils.appendcr(body_code, ' l_row_num NUMBER := 0;');
445: --cn_utils.appendcr(body_code, ' l_rule_attribute_id NUMBER := 0;');
446: cn_utils.appendcr(body_code, '--+');
439: cn_utils.appendcr(body_code, '--+');
440: cn_utils.appendcr(body_code, '-- Variables Section');
441: cn_utils.appendcr(body_code, '--+');
442: cn_utils.appendcr(body_code, ' l_comb_counter NUMBER := 0;');
443: cn_utils.appendcr(body_code, ' l_comb_value_id NUMBER := 0;');
444: --cn_utils.appendcr(body_code, ' l_row_num NUMBER := 0;');
445: --cn_utils.appendcr(body_code, ' l_rule_attribute_id NUMBER := 0;');
446: cn_utils.appendcr(body_code, '--+');
447: cn_utils.appendcr(body_code, '-- PL/SQL Tables/Records Section');
440: cn_utils.appendcr(body_code, '-- Variables Section');
441: cn_utils.appendcr(body_code, '--+');
442: cn_utils.appendcr(body_code, ' l_comb_counter NUMBER := 0;');
443: cn_utils.appendcr(body_code, ' l_comb_value_id NUMBER := 0;');
444: --cn_utils.appendcr(body_code, ' l_row_num NUMBER := 0;');
445: --cn_utils.appendcr(body_code, ' l_rule_attribute_id NUMBER := 0;');
446: cn_utils.appendcr(body_code, '--+');
447: cn_utils.appendcr(body_code, '-- PL/SQL Tables/Records Section');
448: cn_utils.appendcr(body_code, '--+');
441: cn_utils.appendcr(body_code, '--+');
442: cn_utils.appendcr(body_code, ' l_comb_counter NUMBER := 0;');
443: cn_utils.appendcr(body_code, ' l_comb_value_id NUMBER := 0;');
444: --cn_utils.appendcr(body_code, ' l_row_num NUMBER := 0;');
445: --cn_utils.appendcr(body_code, ' l_rule_attribute_id NUMBER := 0;');
446: cn_utils.appendcr(body_code, '--+');
447: cn_utils.appendcr(body_code, '-- PL/SQL Tables/Records Section');
448: cn_utils.appendcr(body_code, '--+');
449: cn_utils.appendcr(body_code, ' TYPE comb_value_tbl_type IS ');
442: cn_utils.appendcr(body_code, ' l_comb_counter NUMBER := 0;');
443: cn_utils.appendcr(body_code, ' l_comb_value_id NUMBER := 0;');
444: --cn_utils.appendcr(body_code, ' l_row_num NUMBER := 0;');
445: --cn_utils.appendcr(body_code, ' l_rule_attribute_id NUMBER := 0;');
446: cn_utils.appendcr(body_code, '--+');
447: cn_utils.appendcr(body_code, '-- PL/SQL Tables/Records Section');
448: cn_utils.appendcr(body_code, '--+');
449: cn_utils.appendcr(body_code, ' TYPE comb_value_tbl_type IS ');
450: cn_utils.appendcr(body_code, ' TABLE OF NUMBER(15) INDEX BY BINARY_INTEGER; ');
443: cn_utils.appendcr(body_code, ' l_comb_value_id NUMBER := 0;');
444: --cn_utils.appendcr(body_code, ' l_row_num NUMBER := 0;');
445: --cn_utils.appendcr(body_code, ' l_rule_attribute_id NUMBER := 0;');
446: cn_utils.appendcr(body_code, '--+');
447: cn_utils.appendcr(body_code, '-- PL/SQL Tables/Records Section');
448: cn_utils.appendcr(body_code, '--+');
449: cn_utils.appendcr(body_code, ' TYPE comb_value_tbl_type IS ');
450: cn_utils.appendcr(body_code, ' TABLE OF NUMBER(15) INDEX BY BINARY_INTEGER; ');
451: cn_utils.appendcr(body_code, ' l_comb_value comb_value_tbl_type; ');
444: --cn_utils.appendcr(body_code, ' l_row_num NUMBER := 0;');
445: --cn_utils.appendcr(body_code, ' l_rule_attribute_id NUMBER := 0;');
446: cn_utils.appendcr(body_code, '--+');
447: cn_utils.appendcr(body_code, '-- PL/SQL Tables/Records Section');
448: cn_utils.appendcr(body_code, '--+');
449: cn_utils.appendcr(body_code, ' TYPE comb_value_tbl_type IS ');
450: cn_utils.appendcr(body_code, ' TABLE OF NUMBER(15) INDEX BY BINARY_INTEGER; ');
451: cn_utils.appendcr(body_code, ' l_comb_value comb_value_tbl_type; ');
452:
445: --cn_utils.appendcr(body_code, ' l_rule_attribute_id NUMBER := 0;');
446: cn_utils.appendcr(body_code, '--+');
447: cn_utils.appendcr(body_code, '-- PL/SQL Tables/Records Section');
448: cn_utils.appendcr(body_code, '--+');
449: cn_utils.appendcr(body_code, ' TYPE comb_value_tbl_type IS ');
450: cn_utils.appendcr(body_code, ' TABLE OF NUMBER(15) INDEX BY BINARY_INTEGER; ');
451: cn_utils.appendcr(body_code, ' l_comb_value comb_value_tbl_type; ');
452:
453: cn_utils.appendcr(body_code, '--+');
446: cn_utils.appendcr(body_code, '--+');
447: cn_utils.appendcr(body_code, '-- PL/SQL Tables/Records Section');
448: cn_utils.appendcr(body_code, '--+');
449: cn_utils.appendcr(body_code, ' TYPE comb_value_tbl_type IS ');
450: cn_utils.appendcr(body_code, ' TABLE OF NUMBER(15) INDEX BY BINARY_INTEGER; ');
451: cn_utils.appendcr(body_code, ' l_comb_value comb_value_tbl_type; ');
452:
453: cn_utils.appendcr(body_code, '--+');
454: cn_utils.appendcr(body_code, '-- Cursor to get Rule Attribute Combinations');
447: cn_utils.appendcr(body_code, '-- PL/SQL Tables/Records Section');
448: cn_utils.appendcr(body_code, '--+');
449: cn_utils.appendcr(body_code, ' TYPE comb_value_tbl_type IS ');
450: cn_utils.appendcr(body_code, ' TABLE OF NUMBER(15) INDEX BY BINARY_INTEGER; ');
451: cn_utils.appendcr(body_code, ' l_comb_value comb_value_tbl_type; ');
452:
453: cn_utils.appendcr(body_code, '--+');
454: cn_utils.appendcr(body_code, '-- Cursor to get Rule Attribute Combinations');
455: cn_utils.appendcr(body_code, '--+');
449: cn_utils.appendcr(body_code, ' TYPE comb_value_tbl_type IS ');
450: cn_utils.appendcr(body_code, ' TABLE OF NUMBER(15) INDEX BY BINARY_INTEGER; ');
451: cn_utils.appendcr(body_code, ' l_comb_value comb_value_tbl_type; ');
452:
453: cn_utils.appendcr(body_code, '--+');
454: cn_utils.appendcr(body_code, '-- Cursor to get Rule Attribute Combinations');
455: cn_utils.appendcr(body_code, '--+');
456: cn_utils.appendcr(body_code, ' CURSOR comb_cur IS ');
457: cn_utils.appendcr(body_code, ' SELECT DISTINCT rule_attr_comb_value ');
450: cn_utils.appendcr(body_code, ' TABLE OF NUMBER(15) INDEX BY BINARY_INTEGER; ');
451: cn_utils.appendcr(body_code, ' l_comb_value comb_value_tbl_type; ');
452:
453: cn_utils.appendcr(body_code, '--+');
454: cn_utils.appendcr(body_code, '-- Cursor to get Rule Attribute Combinations');
455: cn_utils.appendcr(body_code, '--+');
456: cn_utils.appendcr(body_code, ' CURSOR comb_cur IS ');
457: cn_utils.appendcr(body_code, ' SELECT DISTINCT rule_attr_comb_value ');
458: cn_utils.appendcr(body_code, ' FROM cn_sca_combinations sc ');
451: cn_utils.appendcr(body_code, ' l_comb_value comb_value_tbl_type; ');
452:
453: cn_utils.appendcr(body_code, '--+');
454: cn_utils.appendcr(body_code, '-- Cursor to get Rule Attribute Combinations');
455: cn_utils.appendcr(body_code, '--+');
456: cn_utils.appendcr(body_code, ' CURSOR comb_cur IS ');
457: cn_utils.appendcr(body_code, ' SELECT DISTINCT rule_attr_comb_value ');
458: cn_utils.appendcr(body_code, ' FROM cn_sca_combinations sc ');
459: cn_utils.appendcr(body_code, ' WHERE transaction_source = p_transaction_source');
452:
453: cn_utils.appendcr(body_code, '--+');
454: cn_utils.appendcr(body_code, '-- Cursor to get Rule Attribute Combinations');
455: cn_utils.appendcr(body_code, '--+');
456: cn_utils.appendcr(body_code, ' CURSOR comb_cur IS ');
457: cn_utils.appendcr(body_code, ' SELECT DISTINCT rule_attr_comb_value ');
458: cn_utils.appendcr(body_code, ' FROM cn_sca_combinations sc ');
459: cn_utils.appendcr(body_code, ' WHERE transaction_source = p_transaction_source');
460: cn_utils.appendcr(body_code, ' AND org_id = p_org_id;'); -- vensrini
453: cn_utils.appendcr(body_code, '--+');
454: cn_utils.appendcr(body_code, '-- Cursor to get Rule Attribute Combinations');
455: cn_utils.appendcr(body_code, '--+');
456: cn_utils.appendcr(body_code, ' CURSOR comb_cur IS ');
457: cn_utils.appendcr(body_code, ' SELECT DISTINCT rule_attr_comb_value ');
458: cn_utils.appendcr(body_code, ' FROM cn_sca_combinations sc ');
459: cn_utils.appendcr(body_code, ' WHERE transaction_source = p_transaction_source');
460: cn_utils.appendcr(body_code, ' AND org_id = p_org_id;'); -- vensrini
461: --
454: cn_utils.appendcr(body_code, '-- Cursor to get Rule Attribute Combinations');
455: cn_utils.appendcr(body_code, '--+');
456: cn_utils.appendcr(body_code, ' CURSOR comb_cur IS ');
457: cn_utils.appendcr(body_code, ' SELECT DISTINCT rule_attr_comb_value ');
458: cn_utils.appendcr(body_code, ' FROM cn_sca_combinations sc ');
459: cn_utils.appendcr(body_code, ' WHERE transaction_source = p_transaction_source');
460: cn_utils.appendcr(body_code, ' AND org_id = p_org_id;'); -- vensrini
461: --
462: cn_utils.appendcr(body_code, 'BEGIN ');
455: cn_utils.appendcr(body_code, '--+');
456: cn_utils.appendcr(body_code, ' CURSOR comb_cur IS ');
457: cn_utils.appendcr(body_code, ' SELECT DISTINCT rule_attr_comb_value ');
458: cn_utils.appendcr(body_code, ' FROM cn_sca_combinations sc ');
459: cn_utils.appendcr(body_code, ' WHERE transaction_source = p_transaction_source');
460: cn_utils.appendcr(body_code, ' AND org_id = p_org_id;'); -- vensrini
461: --
462: cn_utils.appendcr(body_code, 'BEGIN ');
463: --
456: cn_utils.appendcr(body_code, ' CURSOR comb_cur IS ');
457: cn_utils.appendcr(body_code, ' SELECT DISTINCT rule_attr_comb_value ');
458: cn_utils.appendcr(body_code, ' FROM cn_sca_combinations sc ');
459: cn_utils.appendcr(body_code, ' WHERE transaction_source = p_transaction_source');
460: cn_utils.appendcr(body_code, ' AND org_id = p_org_id;'); -- vensrini
461: --
462: cn_utils.appendcr(body_code, 'BEGIN ');
463: --
464: cn_utils.appendcr(body_code, ' --+');
458: cn_utils.appendcr(body_code, ' FROM cn_sca_combinations sc ');
459: cn_utils.appendcr(body_code, ' WHERE transaction_source = p_transaction_source');
460: cn_utils.appendcr(body_code, ' AND org_id = p_org_id;'); -- vensrini
461: --
462: cn_utils.appendcr(body_code, 'BEGIN ');
463: --
464: cn_utils.appendcr(body_code, ' --+');
465: cn_utils.appendcr(body_code, ' -- Populate Combinations into a PL/SQL Table');
466: cn_utils.appendcr(body_code, ' --+');
460: cn_utils.appendcr(body_code, ' AND org_id = p_org_id;'); -- vensrini
461: --
462: cn_utils.appendcr(body_code, 'BEGIN ');
463: --
464: cn_utils.appendcr(body_code, ' --+');
465: cn_utils.appendcr(body_code, ' -- Populate Combinations into a PL/SQL Table');
466: cn_utils.appendcr(body_code, ' --+');
467: cn_utils.appendcr(body_code, ' FOR rec IN comb_cur ');
468: cn_utils.appendcr(body_code, ' LOOP ');
461: --
462: cn_utils.appendcr(body_code, 'BEGIN ');
463: --
464: cn_utils.appendcr(body_code, ' --+');
465: cn_utils.appendcr(body_code, ' -- Populate Combinations into a PL/SQL Table');
466: cn_utils.appendcr(body_code, ' --+');
467: cn_utils.appendcr(body_code, ' FOR rec IN comb_cur ');
468: cn_utils.appendcr(body_code, ' LOOP ');
469: cn_utils.appendcr(body_code, ' l_comb_counter := l_comb_counter + 1; ');
462: cn_utils.appendcr(body_code, 'BEGIN ');
463: --
464: cn_utils.appendcr(body_code, ' --+');
465: cn_utils.appendcr(body_code, ' -- Populate Combinations into a PL/SQL Table');
466: cn_utils.appendcr(body_code, ' --+');
467: cn_utils.appendcr(body_code, ' FOR rec IN comb_cur ');
468: cn_utils.appendcr(body_code, ' LOOP ');
469: cn_utils.appendcr(body_code, ' l_comb_counter := l_comb_counter + 1; ');
470: cn_utils.appendcr(body_code, ' l_comb_value(l_comb_counter) := rec.rule_attr_comb_value; ');
463: --
464: cn_utils.appendcr(body_code, ' --+');
465: cn_utils.appendcr(body_code, ' -- Populate Combinations into a PL/SQL Table');
466: cn_utils.appendcr(body_code, ' --+');
467: cn_utils.appendcr(body_code, ' FOR rec IN comb_cur ');
468: cn_utils.appendcr(body_code, ' LOOP ');
469: cn_utils.appendcr(body_code, ' l_comb_counter := l_comb_counter + 1; ');
470: cn_utils.appendcr(body_code, ' l_comb_value(l_comb_counter) := rec.rule_attr_comb_value; ');
471: cn_utils.appendcr(body_code, ' END LOOP; ');
464: cn_utils.appendcr(body_code, ' --+');
465: cn_utils.appendcr(body_code, ' -- Populate Combinations into a PL/SQL Table');
466: cn_utils.appendcr(body_code, ' --+');
467: cn_utils.appendcr(body_code, ' FOR rec IN comb_cur ');
468: cn_utils.appendcr(body_code, ' LOOP ');
469: cn_utils.appendcr(body_code, ' l_comb_counter := l_comb_counter + 1; ');
470: cn_utils.appendcr(body_code, ' l_comb_value(l_comb_counter) := rec.rule_attr_comb_value; ');
471: cn_utils.appendcr(body_code, ' END LOOP; ');
472: cn_utils.appendcr(body_code, ' --+');
465: cn_utils.appendcr(body_code, ' -- Populate Combinations into a PL/SQL Table');
466: cn_utils.appendcr(body_code, ' --+');
467: cn_utils.appendcr(body_code, ' FOR rec IN comb_cur ');
468: cn_utils.appendcr(body_code, ' LOOP ');
469: cn_utils.appendcr(body_code, ' l_comb_counter := l_comb_counter + 1; ');
470: cn_utils.appendcr(body_code, ' l_comb_value(l_comb_counter) := rec.rule_attr_comb_value; ');
471: cn_utils.appendcr(body_code, ' END LOOP; ');
472: cn_utils.appendcr(body_code, ' --+');
473: cn_utils.appendcr(body_code, ' -- For Each Rule Attribute Combination, execute the appropriate SQL');
466: cn_utils.appendcr(body_code, ' --+');
467: cn_utils.appendcr(body_code, ' FOR rec IN comb_cur ');
468: cn_utils.appendcr(body_code, ' LOOP ');
469: cn_utils.appendcr(body_code, ' l_comb_counter := l_comb_counter + 1; ');
470: cn_utils.appendcr(body_code, ' l_comb_value(l_comb_counter) := rec.rule_attr_comb_value; ');
471: cn_utils.appendcr(body_code, ' END LOOP; ');
472: cn_utils.appendcr(body_code, ' --+');
473: cn_utils.appendcr(body_code, ' -- For Each Rule Attribute Combination, execute the appropriate SQL');
474: cn_utils.appendcr(body_code, ' --+');
467: cn_utils.appendcr(body_code, ' FOR rec IN comb_cur ');
468: cn_utils.appendcr(body_code, ' LOOP ');
469: cn_utils.appendcr(body_code, ' l_comb_counter := l_comb_counter + 1; ');
470: cn_utils.appendcr(body_code, ' l_comb_value(l_comb_counter) := rec.rule_attr_comb_value; ');
471: cn_utils.appendcr(body_code, ' END LOOP; ');
472: cn_utils.appendcr(body_code, ' --+');
473: cn_utils.appendcr(body_code, ' -- For Each Rule Attribute Combination, execute the appropriate SQL');
474: cn_utils.appendcr(body_code, ' --+');
475: cn_utils.appendcr(body_code, ' FOR i IN 1..l_comb_value.COUNT ');
468: cn_utils.appendcr(body_code, ' LOOP ');
469: cn_utils.appendcr(body_code, ' l_comb_counter := l_comb_counter + 1; ');
470: cn_utils.appendcr(body_code, ' l_comb_value(l_comb_counter) := rec.rule_attr_comb_value; ');
471: cn_utils.appendcr(body_code, ' END LOOP; ');
472: cn_utils.appendcr(body_code, ' --+');
473: cn_utils.appendcr(body_code, ' -- For Each Rule Attribute Combination, execute the appropriate SQL');
474: cn_utils.appendcr(body_code, ' --+');
475: cn_utils.appendcr(body_code, ' FOR i IN 1..l_comb_value.COUNT ');
476: cn_utils.appendcr(body_code, ' LOOP');
469: cn_utils.appendcr(body_code, ' l_comb_counter := l_comb_counter + 1; ');
470: cn_utils.appendcr(body_code, ' l_comb_value(l_comb_counter) := rec.rule_attr_comb_value; ');
471: cn_utils.appendcr(body_code, ' END LOOP; ');
472: cn_utils.appendcr(body_code, ' --+');
473: cn_utils.appendcr(body_code, ' -- For Each Rule Attribute Combination, execute the appropriate SQL');
474: cn_utils.appendcr(body_code, ' --+');
475: cn_utils.appendcr(body_code, ' FOR i IN 1..l_comb_value.COUNT ');
476: cn_utils.appendcr(body_code, ' LOOP');
477:
470: cn_utils.appendcr(body_code, ' l_comb_value(l_comb_counter) := rec.rule_attr_comb_value; ');
471: cn_utils.appendcr(body_code, ' END LOOP; ');
472: cn_utils.appendcr(body_code, ' --+');
473: cn_utils.appendcr(body_code, ' -- For Each Rule Attribute Combination, execute the appropriate SQL');
474: cn_utils.appendcr(body_code, ' --+');
475: cn_utils.appendcr(body_code, ' FOR i IN 1..l_comb_value.COUNT ');
476: cn_utils.appendcr(body_code, ' LOOP');
477:
478: FOR comb_rec IN comb_cur
471: cn_utils.appendcr(body_code, ' END LOOP; ');
472: cn_utils.appendcr(body_code, ' --+');
473: cn_utils.appendcr(body_code, ' -- For Each Rule Attribute Combination, execute the appropriate SQL');
474: cn_utils.appendcr(body_code, ' --+');
475: cn_utils.appendcr(body_code, ' FOR i IN 1..l_comb_value.COUNT ');
476: cn_utils.appendcr(body_code, ' LOOP');
477:
478: FOR comb_rec IN comb_cur
479: LOOP
472: cn_utils.appendcr(body_code, ' --+');
473: cn_utils.appendcr(body_code, ' -- For Each Rule Attribute Combination, execute the appropriate SQL');
474: cn_utils.appendcr(body_code, ' --+');
475: cn_utils.appendcr(body_code, ' FOR i IN 1..l_comb_value.COUNT ');
476: cn_utils.appendcr(body_code, ' LOOP');
477:
478: FOR comb_rec IN comb_cur
479: LOOP
480: l_row_num := 0;
479: LOOP
480: l_row_num := 0;
481: --
482: IF (l_if_counter = 1) THEN
483: cn_utils.appendcr(body_code, ' IF (l_comb_value(i)='||
484: comb_rec.rule_attr_comb_value||') THEN');
485: ELSE
486: cn_utils.appendcr(body_code, ' ELSIF (l_comb_value(i)='||
487: comb_rec.rule_attr_comb_value||') THEN');
482: IF (l_if_counter = 1) THEN
483: cn_utils.appendcr(body_code, ' IF (l_comb_value(i)='||
484: comb_rec.rule_attr_comb_value||') THEN');
485: ELSE
486: cn_utils.appendcr(body_code, ' ELSIF (l_comb_value(i)='||
487: comb_rec.rule_attr_comb_value||') THEN');
488: END IF;
489: --
490: cn_utils.appendcr(body_code, 'l_comb_value_id := l_comb_value(i);');
486: cn_utils.appendcr(body_code, ' ELSIF (l_comb_value(i)='||
487: comb_rec.rule_attr_comb_value||') THEN');
488: END IF;
489: --
490: cn_utils.appendcr(body_code, 'l_comb_value_id := l_comb_value(i);');
491: cn_utils.appendcr(body_code, 'INSERT /*+ APPEND */ INTO cn_sca_matches(');
492: cn_utils.appendcr(body_code, ' sca_credit_rule_id,');
493: cn_utils.appendcr(body_code, ' sca_headers_interface_id,');
494: cn_utils.appendcr(body_code, ' process_date,');
487: comb_rec.rule_attr_comb_value||') THEN');
488: END IF;
489: --
490: cn_utils.appendcr(body_code, 'l_comb_value_id := l_comb_value(i);');
491: cn_utils.appendcr(body_code, 'INSERT /*+ APPEND */ INTO cn_sca_matches(');
492: cn_utils.appendcr(body_code, ' sca_credit_rule_id,');
493: cn_utils.appendcr(body_code, ' sca_headers_interface_id,');
494: cn_utils.appendcr(body_code, ' process_date,');
495: cn_utils.appendcr(body_code, ' rank,');
488: END IF;
489: --
490: cn_utils.appendcr(body_code, 'l_comb_value_id := l_comb_value(i);');
491: cn_utils.appendcr(body_code, 'INSERT /*+ APPEND */ INTO cn_sca_matches(');
492: cn_utils.appendcr(body_code, ' sca_credit_rule_id,');
493: cn_utils.appendcr(body_code, ' sca_headers_interface_id,');
494: cn_utils.appendcr(body_code, ' process_date,');
495: cn_utils.appendcr(body_code, ' rank,');
496: cn_utils.appendcr(body_code, ' calculated_rank,');
489: --
490: cn_utils.appendcr(body_code, 'l_comb_value_id := l_comb_value(i);');
491: cn_utils.appendcr(body_code, 'INSERT /*+ APPEND */ INTO cn_sca_matches(');
492: cn_utils.appendcr(body_code, ' sca_credit_rule_id,');
493: cn_utils.appendcr(body_code, ' sca_headers_interface_id,');
494: cn_utils.appendcr(body_code, ' process_date,');
495: cn_utils.appendcr(body_code, ' rank,');
496: cn_utils.appendcr(body_code, ' calculated_rank,');
497: cn_utils.appendcr(body_code, ' org_id,');
490: cn_utils.appendcr(body_code, 'l_comb_value_id := l_comb_value(i);');
491: cn_utils.appendcr(body_code, 'INSERT /*+ APPEND */ INTO cn_sca_matches(');
492: cn_utils.appendcr(body_code, ' sca_credit_rule_id,');
493: cn_utils.appendcr(body_code, ' sca_headers_interface_id,');
494: cn_utils.appendcr(body_code, ' process_date,');
495: cn_utils.appendcr(body_code, ' rank,');
496: cn_utils.appendcr(body_code, ' calculated_rank,');
497: cn_utils.appendcr(body_code, ' org_id,');
498: cn_utils.appendcr(body_code, ' created_by,');
491: cn_utils.appendcr(body_code, 'INSERT /*+ APPEND */ INTO cn_sca_matches(');
492: cn_utils.appendcr(body_code, ' sca_credit_rule_id,');
493: cn_utils.appendcr(body_code, ' sca_headers_interface_id,');
494: cn_utils.appendcr(body_code, ' process_date,');
495: cn_utils.appendcr(body_code, ' rank,');
496: cn_utils.appendcr(body_code, ' calculated_rank,');
497: cn_utils.appendcr(body_code, ' org_id,');
498: cn_utils.appendcr(body_code, ' created_by,');
499: cn_utils.appendcr(body_code, ' creation_date,');
492: cn_utils.appendcr(body_code, ' sca_credit_rule_id,');
493: cn_utils.appendcr(body_code, ' sca_headers_interface_id,');
494: cn_utils.appendcr(body_code, ' process_date,');
495: cn_utils.appendcr(body_code, ' rank,');
496: cn_utils.appendcr(body_code, ' calculated_rank,');
497: cn_utils.appendcr(body_code, ' org_id,');
498: cn_utils.appendcr(body_code, ' created_by,');
499: cn_utils.appendcr(body_code, ' creation_date,');
500: cn_utils.appendcr(body_code, ' last_updated_by,');
493: cn_utils.appendcr(body_code, ' sca_headers_interface_id,');
494: cn_utils.appendcr(body_code, ' process_date,');
495: cn_utils.appendcr(body_code, ' rank,');
496: cn_utils.appendcr(body_code, ' calculated_rank,');
497: cn_utils.appendcr(body_code, ' org_id,');
498: cn_utils.appendcr(body_code, ' created_by,');
499: cn_utils.appendcr(body_code, ' creation_date,');
500: cn_utils.appendcr(body_code, ' last_updated_by,');
501: cn_utils.appendcr(body_code, ' last_update_date,');
494: cn_utils.appendcr(body_code, ' process_date,');
495: cn_utils.appendcr(body_code, ' rank,');
496: cn_utils.appendcr(body_code, ' calculated_rank,');
497: cn_utils.appendcr(body_code, ' org_id,');
498: cn_utils.appendcr(body_code, ' created_by,');
499: cn_utils.appendcr(body_code, ' creation_date,');
500: cn_utils.appendcr(body_code, ' last_updated_by,');
501: cn_utils.appendcr(body_code, ' last_update_date,');
502: cn_utils.appendcr(body_code, ' last_update_login)');
495: cn_utils.appendcr(body_code, ' rank,');
496: cn_utils.appendcr(body_code, ' calculated_rank,');
497: cn_utils.appendcr(body_code, ' org_id,');
498: cn_utils.appendcr(body_code, ' created_by,');
499: cn_utils.appendcr(body_code, ' creation_date,');
500: cn_utils.appendcr(body_code, ' last_updated_by,');
501: cn_utils.appendcr(body_code, ' last_update_date,');
502: cn_utils.appendcr(body_code, ' last_update_login)');
503: cn_utils.appendcr(body_code, 'SELECT result.sca_credit_rule_id,');
496: cn_utils.appendcr(body_code, ' calculated_rank,');
497: cn_utils.appendcr(body_code, ' org_id,');
498: cn_utils.appendcr(body_code, ' created_by,');
499: cn_utils.appendcr(body_code, ' creation_date,');
500: cn_utils.appendcr(body_code, ' last_updated_by,');
501: cn_utils.appendcr(body_code, ' last_update_date,');
502: cn_utils.appendcr(body_code, ' last_update_login)');
503: cn_utils.appendcr(body_code, 'SELECT result.sca_credit_rule_id,');
504: cn_utils.appendcr(body_code, ' result.sca_headers_interface_id,');
497: cn_utils.appendcr(body_code, ' org_id,');
498: cn_utils.appendcr(body_code, ' created_by,');
499: cn_utils.appendcr(body_code, ' creation_date,');
500: cn_utils.appendcr(body_code, ' last_updated_by,');
501: cn_utils.appendcr(body_code, ' last_update_date,');
502: cn_utils.appendcr(body_code, ' last_update_login)');
503: cn_utils.appendcr(body_code, 'SELECT result.sca_credit_rule_id,');
504: cn_utils.appendcr(body_code, ' result.sca_headers_interface_id,');
505: cn_utils.appendcr(body_code, ' result.processed_date,');
498: cn_utils.appendcr(body_code, ' created_by,');
499: cn_utils.appendcr(body_code, ' creation_date,');
500: cn_utils.appendcr(body_code, ' last_updated_by,');
501: cn_utils.appendcr(body_code, ' last_update_date,');
502: cn_utils.appendcr(body_code, ' last_update_login)');
503: cn_utils.appendcr(body_code, 'SELECT result.sca_credit_rule_id,');
504: cn_utils.appendcr(body_code, ' result.sca_headers_interface_id,');
505: cn_utils.appendcr(body_code, ' result.processed_date,');
506: cn_utils.appendcr(body_code, ' result.rank,');
499: cn_utils.appendcr(body_code, ' creation_date,');
500: cn_utils.appendcr(body_code, ' last_updated_by,');
501: cn_utils.appendcr(body_code, ' last_update_date,');
502: cn_utils.appendcr(body_code, ' last_update_login)');
503: cn_utils.appendcr(body_code, 'SELECT result.sca_credit_rule_id,');
504: cn_utils.appendcr(body_code, ' result.sca_headers_interface_id,');
505: cn_utils.appendcr(body_code, ' result.processed_date,');
506: cn_utils.appendcr(body_code, ' result.rank,');
507: cn_utils.appendcr(body_code, ' result.calculated_rank,');
500: cn_utils.appendcr(body_code, ' last_updated_by,');
501: cn_utils.appendcr(body_code, ' last_update_date,');
502: cn_utils.appendcr(body_code, ' last_update_login)');
503: cn_utils.appendcr(body_code, 'SELECT result.sca_credit_rule_id,');
504: cn_utils.appendcr(body_code, ' result.sca_headers_interface_id,');
505: cn_utils.appendcr(body_code, ' result.processed_date,');
506: cn_utils.appendcr(body_code, ' result.rank,');
507: cn_utils.appendcr(body_code, ' result.calculated_rank,');
508: cn_utils.appendcr(body_code, ' result.org_id,');
501: cn_utils.appendcr(body_code, ' last_update_date,');
502: cn_utils.appendcr(body_code, ' last_update_login)');
503: cn_utils.appendcr(body_code, 'SELECT result.sca_credit_rule_id,');
504: cn_utils.appendcr(body_code, ' result.sca_headers_interface_id,');
505: cn_utils.appendcr(body_code, ' result.processed_date,');
506: cn_utils.appendcr(body_code, ' result.rank,');
507: cn_utils.appendcr(body_code, ' result.calculated_rank,');
508: cn_utils.appendcr(body_code, ' result.org_id,');
509: cn_utils.appendcr(body_code, ' fnd_global.user_id,');
502: cn_utils.appendcr(body_code, ' last_update_login)');
503: cn_utils.appendcr(body_code, 'SELECT result.sca_credit_rule_id,');
504: cn_utils.appendcr(body_code, ' result.sca_headers_interface_id,');
505: cn_utils.appendcr(body_code, ' result.processed_date,');
506: cn_utils.appendcr(body_code, ' result.rank,');
507: cn_utils.appendcr(body_code, ' result.calculated_rank,');
508: cn_utils.appendcr(body_code, ' result.org_id,');
509: cn_utils.appendcr(body_code, ' fnd_global.user_id,');
510: cn_utils.appendcr(body_code, ' SYSDATE,');
503: cn_utils.appendcr(body_code, 'SELECT result.sca_credit_rule_id,');
504: cn_utils.appendcr(body_code, ' result.sca_headers_interface_id,');
505: cn_utils.appendcr(body_code, ' result.processed_date,');
506: cn_utils.appendcr(body_code, ' result.rank,');
507: cn_utils.appendcr(body_code, ' result.calculated_rank,');
508: cn_utils.appendcr(body_code, ' result.org_id,');
509: cn_utils.appendcr(body_code, ' fnd_global.user_id,');
510: cn_utils.appendcr(body_code, ' SYSDATE,');
511: cn_utils.appendcr(body_code, ' fnd_global.user_id,');
504: cn_utils.appendcr(body_code, ' result.sca_headers_interface_id,');
505: cn_utils.appendcr(body_code, ' result.processed_date,');
506: cn_utils.appendcr(body_code, ' result.rank,');
507: cn_utils.appendcr(body_code, ' result.calculated_rank,');
508: cn_utils.appendcr(body_code, ' result.org_id,');
509: cn_utils.appendcr(body_code, ' fnd_global.user_id,');
510: cn_utils.appendcr(body_code, ' SYSDATE,');
511: cn_utils.appendcr(body_code, ' fnd_global.user_id,');
512: cn_utils.appendcr(body_code, ' SYSDATE,');
505: cn_utils.appendcr(body_code, ' result.processed_date,');
506: cn_utils.appendcr(body_code, ' result.rank,');
507: cn_utils.appendcr(body_code, ' result.calculated_rank,');
508: cn_utils.appendcr(body_code, ' result.org_id,');
509: cn_utils.appendcr(body_code, ' fnd_global.user_id,');
510: cn_utils.appendcr(body_code, ' SYSDATE,');
511: cn_utils.appendcr(body_code, ' fnd_global.user_id,');
512: cn_utils.appendcr(body_code, ' SYSDATE,');
513: cn_utils.appendcr(body_code, ' fnd_global.login_id');
506: cn_utils.appendcr(body_code, ' result.rank,');
507: cn_utils.appendcr(body_code, ' result.calculated_rank,');
508: cn_utils.appendcr(body_code, ' result.org_id,');
509: cn_utils.appendcr(body_code, ' fnd_global.user_id,');
510: cn_utils.appendcr(body_code, ' SYSDATE,');
511: cn_utils.appendcr(body_code, ' fnd_global.user_id,');
512: cn_utils.appendcr(body_code, ' SYSDATE,');
513: cn_utils.appendcr(body_code, ' fnd_global.login_id');
514: cn_utils.appendcr(body_code, ' FROM (');
507: cn_utils.appendcr(body_code, ' result.calculated_rank,');
508: cn_utils.appendcr(body_code, ' result.org_id,');
509: cn_utils.appendcr(body_code, ' fnd_global.user_id,');
510: cn_utils.appendcr(body_code, ' SYSDATE,');
511: cn_utils.appendcr(body_code, ' fnd_global.user_id,');
512: cn_utils.appendcr(body_code, ' SYSDATE,');
513: cn_utils.appendcr(body_code, ' fnd_global.login_id');
514: cn_utils.appendcr(body_code, ' FROM (');
515: --
508: cn_utils.appendcr(body_code, ' result.org_id,');
509: cn_utils.appendcr(body_code, ' fnd_global.user_id,');
510: cn_utils.appendcr(body_code, ' SYSDATE,');
511: cn_utils.appendcr(body_code, ' fnd_global.user_id,');
512: cn_utils.appendcr(body_code, ' SYSDATE,');
513: cn_utils.appendcr(body_code, ' fnd_global.login_id');
514: cn_utils.appendcr(body_code, ' FROM (');
515: --
516: FOR rule_attr_rec IN rule_attr_cur(comb_rec.rule_attr_comb_value)
509: cn_utils.appendcr(body_code, ' fnd_global.user_id,');
510: cn_utils.appendcr(body_code, ' SYSDATE,');
511: cn_utils.appendcr(body_code, ' fnd_global.user_id,');
512: cn_utils.appendcr(body_code, ' SYSDATE,');
513: cn_utils.appendcr(body_code, ' fnd_global.login_id');
514: cn_utils.appendcr(body_code, ' FROM (');
515: --
516: FOR rule_attr_rec IN rule_attr_cur(comb_rec.rule_attr_comb_value)
517: LOOP
510: cn_utils.appendcr(body_code, ' SYSDATE,');
511: cn_utils.appendcr(body_code, ' fnd_global.user_id,');
512: cn_utils.appendcr(body_code, ' SYSDATE,');
513: cn_utils.appendcr(body_code, ' fnd_global.login_id');
514: cn_utils.appendcr(body_code, ' FROM (');
515: --
516: FOR rule_attr_rec IN rule_attr_cur(comb_rec.rule_attr_comb_value)
517: LOOP
518: --
516: FOR rule_attr_rec IN rule_attr_cur(comb_rec.rule_attr_comb_value)
517: LOOP
518: --
519: IF (l_attr_counter > 1) THEN
520: cn_utils.appendcr(body_code, ' UNION ALL');
521: END IF;
522: l_row_num := l_row_num + 1;
523: --
524: cn_utils.appendcr(body_code, ' SELECT b.sca_credit_rule_id, ');
520: cn_utils.appendcr(body_code, ' UNION ALL');
521: END IF;
522: l_row_num := l_row_num + 1;
523: --
524: cn_utils.appendcr(body_code, ' SELECT b.sca_credit_rule_id, ');
525: cn_utils.appendcr(body_code, ' c.sca_headers_interface_id, ');
526: cn_utils.appendcr(body_code, ' c.processed_date, ');
527: cn_utils.appendcr(body_code, ' b.calculated_rank, ');
528: cn_utils.appendcr(body_code, ' a.rank, ');
521: END IF;
522: l_row_num := l_row_num + 1;
523: --
524: cn_utils.appendcr(body_code, ' SELECT b.sca_credit_rule_id, ');
525: cn_utils.appendcr(body_code, ' c.sca_headers_interface_id, ');
526: cn_utils.appendcr(body_code, ' c.processed_date, ');
527: cn_utils.appendcr(body_code, ' b.calculated_rank, ');
528: cn_utils.appendcr(body_code, ' a.rank, ');
529: cn_utils.appendcr(body_code, ' a.org_id ');
522: l_row_num := l_row_num + 1;
523: --
524: cn_utils.appendcr(body_code, ' SELECT b.sca_credit_rule_id, ');
525: cn_utils.appendcr(body_code, ' c.sca_headers_interface_id, ');
526: cn_utils.appendcr(body_code, ' c.processed_date, ');
527: cn_utils.appendcr(body_code, ' b.calculated_rank, ');
528: cn_utils.appendcr(body_code, ' a.rank, ');
529: cn_utils.appendcr(body_code, ' a.org_id ');
530: cn_utils.appendcr(body_code, ' FROM ');
523: --
524: cn_utils.appendcr(body_code, ' SELECT b.sca_credit_rule_id, ');
525: cn_utils.appendcr(body_code, ' c.sca_headers_interface_id, ');
526: cn_utils.appendcr(body_code, ' c.processed_date, ');
527: cn_utils.appendcr(body_code, ' b.calculated_rank, ');
528: cn_utils.appendcr(body_code, ' a.rank, ');
529: cn_utils.appendcr(body_code, ' a.org_id ');
530: cn_utils.appendcr(body_code, ' FROM ');
531: cn_utils.appendcr(body_code, ' cn_sca_denorm_rules a, ');
524: cn_utils.appendcr(body_code, ' SELECT b.sca_credit_rule_id, ');
525: cn_utils.appendcr(body_code, ' c.sca_headers_interface_id, ');
526: cn_utils.appendcr(body_code, ' c.processed_date, ');
527: cn_utils.appendcr(body_code, ' b.calculated_rank, ');
528: cn_utils.appendcr(body_code, ' a.rank, ');
529: cn_utils.appendcr(body_code, ' a.org_id ');
530: cn_utils.appendcr(body_code, ' FROM ');
531: cn_utils.appendcr(body_code, ' cn_sca_denorm_rules a, ');
532: cn_utils.appendcr(body_code, ' cn_sca_rule_cond_vals_mv b, ');
525: cn_utils.appendcr(body_code, ' c.sca_headers_interface_id, ');
526: cn_utils.appendcr(body_code, ' c.processed_date, ');
527: cn_utils.appendcr(body_code, ' b.calculated_rank, ');
528: cn_utils.appendcr(body_code, ' a.rank, ');
529: cn_utils.appendcr(body_code, ' a.org_id ');
530: cn_utils.appendcr(body_code, ' FROM ');
531: cn_utils.appendcr(body_code, ' cn_sca_denorm_rules a, ');
532: cn_utils.appendcr(body_code, ' cn_sca_rule_cond_vals_mv b, ');
533: cn_utils.appendcr(body_code, ' cn_sca_headers_interface c ');
526: cn_utils.appendcr(body_code, ' c.processed_date, ');
527: cn_utils.appendcr(body_code, ' b.calculated_rank, ');
528: cn_utils.appendcr(body_code, ' a.rank, ');
529: cn_utils.appendcr(body_code, ' a.org_id ');
530: cn_utils.appendcr(body_code, ' FROM ');
531: cn_utils.appendcr(body_code, ' cn_sca_denorm_rules a, ');
532: cn_utils.appendcr(body_code, ' cn_sca_rule_cond_vals_mv b, ');
533: cn_utils.appendcr(body_code, ' cn_sca_headers_interface c ');
534: cn_utils.appendcr(body_code, ' WHERE a.sca_credit_rule_id = b.sca_credit_rule_id ');
527: cn_utils.appendcr(body_code, ' b.calculated_rank, ');
528: cn_utils.appendcr(body_code, ' a.rank, ');
529: cn_utils.appendcr(body_code, ' a.org_id ');
530: cn_utils.appendcr(body_code, ' FROM ');
531: cn_utils.appendcr(body_code, ' cn_sca_denorm_rules a, ');
532: cn_utils.appendcr(body_code, ' cn_sca_rule_cond_vals_mv b, ');
533: cn_utils.appendcr(body_code, ' cn_sca_headers_interface c ');
534: cn_utils.appendcr(body_code, ' WHERE a.sca_credit_rule_id = b.sca_credit_rule_id ');
535: cn_utils.appendcr(body_code, ' AND a.sca_credit_rule_id = a.ancestor_rule_id ');
528: cn_utils.appendcr(body_code, ' a.rank, ');
529: cn_utils.appendcr(body_code, ' a.org_id ');
530: cn_utils.appendcr(body_code, ' FROM ');
531: cn_utils.appendcr(body_code, ' cn_sca_denorm_rules a, ');
532: cn_utils.appendcr(body_code, ' cn_sca_rule_cond_vals_mv b, ');
533: cn_utils.appendcr(body_code, ' cn_sca_headers_interface c ');
534: cn_utils.appendcr(body_code, ' WHERE a.sca_credit_rule_id = b.sca_credit_rule_id ');
535: cn_utils.appendcr(body_code, ' AND a.sca_credit_rule_id = a.ancestor_rule_id ');
536: cn_utils.appendcr(body_code, ' AND a.rule_attr_comb_value = l_comb_value_id');
529: cn_utils.appendcr(body_code, ' a.org_id ');
530: cn_utils.appendcr(body_code, ' FROM ');
531: cn_utils.appendcr(body_code, ' cn_sca_denorm_rules a, ');
532: cn_utils.appendcr(body_code, ' cn_sca_rule_cond_vals_mv b, ');
533: cn_utils.appendcr(body_code, ' cn_sca_headers_interface c ');
534: cn_utils.appendcr(body_code, ' WHERE a.sca_credit_rule_id = b.sca_credit_rule_id ');
535: cn_utils.appendcr(body_code, ' AND a.sca_credit_rule_id = a.ancestor_rule_id ');
536: cn_utils.appendcr(body_code, ' AND a.rule_attr_comb_value = l_comb_value_id');
537: cn_utils.appendcr(body_code, ' AND a.transaction_source = p_transaction_source ');
530: cn_utils.appendcr(body_code, ' FROM ');
531: cn_utils.appendcr(body_code, ' cn_sca_denorm_rules a, ');
532: cn_utils.appendcr(body_code, ' cn_sca_rule_cond_vals_mv b, ');
533: cn_utils.appendcr(body_code, ' cn_sca_headers_interface c ');
534: cn_utils.appendcr(body_code, ' WHERE a.sca_credit_rule_id = b.sca_credit_rule_id ');
535: cn_utils.appendcr(body_code, ' AND a.sca_credit_rule_id = a.ancestor_rule_id ');
536: cn_utils.appendcr(body_code, ' AND a.rule_attr_comb_value = l_comb_value_id');
537: cn_utils.appendcr(body_code, ' AND a.transaction_source = p_transaction_source ');
538: cn_utils.appendcr(body_code, ' AND a.org_id = p_org_id ');
531: cn_utils.appendcr(body_code, ' cn_sca_denorm_rules a, ');
532: cn_utils.appendcr(body_code, ' cn_sca_rule_cond_vals_mv b, ');
533: cn_utils.appendcr(body_code, ' cn_sca_headers_interface c ');
534: cn_utils.appendcr(body_code, ' WHERE a.sca_credit_rule_id = b.sca_credit_rule_id ');
535: cn_utils.appendcr(body_code, ' AND a.sca_credit_rule_id = a.ancestor_rule_id ');
536: cn_utils.appendcr(body_code, ' AND a.rule_attr_comb_value = l_comb_value_id');
537: cn_utils.appendcr(body_code, ' AND a.transaction_source = p_transaction_source ');
538: cn_utils.appendcr(body_code, ' AND a.org_id = p_org_id ');
539: cn_utils.appendcr(body_code, ' AND a.org_id = c.org_id ');
532: cn_utils.appendcr(body_code, ' cn_sca_rule_cond_vals_mv b, ');
533: cn_utils.appendcr(body_code, ' cn_sca_headers_interface c ');
534: cn_utils.appendcr(body_code, ' WHERE a.sca_credit_rule_id = b.sca_credit_rule_id ');
535: cn_utils.appendcr(body_code, ' AND a.sca_credit_rule_id = a.ancestor_rule_id ');
536: cn_utils.appendcr(body_code, ' AND a.rule_attr_comb_value = l_comb_value_id');
537: cn_utils.appendcr(body_code, ' AND a.transaction_source = p_transaction_source ');
538: cn_utils.appendcr(body_code, ' AND a.org_id = p_org_id ');
539: cn_utils.appendcr(body_code, ' AND a.org_id = c.org_id ');
540: cn_utils.appendcr(body_code, ' AND c.process_status = ''SCA_UNPROCESSED'' ');
533: cn_utils.appendcr(body_code, ' cn_sca_headers_interface c ');
534: cn_utils.appendcr(body_code, ' WHERE a.sca_credit_rule_id = b.sca_credit_rule_id ');
535: cn_utils.appendcr(body_code, ' AND a.sca_credit_rule_id = a.ancestor_rule_id ');
536: cn_utils.appendcr(body_code, ' AND a.rule_attr_comb_value = l_comb_value_id');
537: cn_utils.appendcr(body_code, ' AND a.transaction_source = p_transaction_source ');
538: cn_utils.appendcr(body_code, ' AND a.org_id = p_org_id ');
539: cn_utils.appendcr(body_code, ' AND a.org_id = c.org_id ');
540: cn_utils.appendcr(body_code, ' AND c.process_status = ''SCA_UNPROCESSED'' ');
541: cn_utils.appendcr(body_code, ' AND c.processed_date BETWEEN p_start_date AND p_end_date ');
534: cn_utils.appendcr(body_code, ' WHERE a.sca_credit_rule_id = b.sca_credit_rule_id ');
535: cn_utils.appendcr(body_code, ' AND a.sca_credit_rule_id = a.ancestor_rule_id ');
536: cn_utils.appendcr(body_code, ' AND a.rule_attr_comb_value = l_comb_value_id');
537: cn_utils.appendcr(body_code, ' AND a.transaction_source = p_transaction_source ');
538: cn_utils.appendcr(body_code, ' AND a.org_id = p_org_id ');
539: cn_utils.appendcr(body_code, ' AND a.org_id = c.org_id ');
540: cn_utils.appendcr(body_code, ' AND c.process_status = ''SCA_UNPROCESSED'' ');
541: cn_utils.appendcr(body_code, ' AND c.processed_date BETWEEN p_start_date AND p_end_date ');
542: cn_utils.appendcr(body_code, ' AND c.processed_date BETWEEN a.start_date AND NVL(a.end_date,c.processed_date) ');
535: cn_utils.appendcr(body_code, ' AND a.sca_credit_rule_id = a.ancestor_rule_id ');
536: cn_utils.appendcr(body_code, ' AND a.rule_attr_comb_value = l_comb_value_id');
537: cn_utils.appendcr(body_code, ' AND a.transaction_source = p_transaction_source ');
538: cn_utils.appendcr(body_code, ' AND a.org_id = p_org_id ');
539: cn_utils.appendcr(body_code, ' AND a.org_id = c.org_id ');
540: cn_utils.appendcr(body_code, ' AND c.process_status = ''SCA_UNPROCESSED'' ');
541: cn_utils.appendcr(body_code, ' AND c.processed_date BETWEEN p_start_date AND p_end_date ');
542: cn_utils.appendcr(body_code, ' AND c.processed_date BETWEEN a.start_date AND NVL(a.end_date,c.processed_date) ');
543: cn_utils.appendcr(body_code, ' AND c.sca_headers_interface_id BETWEEN p_start_id AND p_end_id ');
536: cn_utils.appendcr(body_code, ' AND a.rule_attr_comb_value = l_comb_value_id');
537: cn_utils.appendcr(body_code, ' AND a.transaction_source = p_transaction_source ');
538: cn_utils.appendcr(body_code, ' AND a.org_id = p_org_id ');
539: cn_utils.appendcr(body_code, ' AND a.org_id = c.org_id ');
540: cn_utils.appendcr(body_code, ' AND c.process_status = ''SCA_UNPROCESSED'' ');
541: cn_utils.appendcr(body_code, ' AND c.processed_date BETWEEN p_start_date AND p_end_date ');
542: cn_utils.appendcr(body_code, ' AND c.processed_date BETWEEN a.start_date AND NVL(a.end_date,c.processed_date) ');
543: cn_utils.appendcr(body_code, ' AND c.sca_headers_interface_id BETWEEN p_start_id AND p_end_id ');
544: cn_utils.appendcr(body_code, ' AND b.sca_rule_attribute_id = (');
537: cn_utils.appendcr(body_code, ' AND a.transaction_source = p_transaction_source ');
538: cn_utils.appendcr(body_code, ' AND a.org_id = p_org_id ');
539: cn_utils.appendcr(body_code, ' AND a.org_id = c.org_id ');
540: cn_utils.appendcr(body_code, ' AND c.process_status = ''SCA_UNPROCESSED'' ');
541: cn_utils.appendcr(body_code, ' AND c.processed_date BETWEEN p_start_date AND p_end_date ');
542: cn_utils.appendcr(body_code, ' AND c.processed_date BETWEEN a.start_date AND NVL(a.end_date,c.processed_date) ');
543: cn_utils.appendcr(body_code, ' AND c.sca_headers_interface_id BETWEEN p_start_id AND p_end_id ');
544: cn_utils.appendcr(body_code, ' AND b.sca_rule_attribute_id = (');
545: cn_utils.appendcr(body_code, ' SELECT DISTINCT sca_rule_attribute_id ');
538: cn_utils.appendcr(body_code, ' AND a.org_id = p_org_id ');
539: cn_utils.appendcr(body_code, ' AND a.org_id = c.org_id ');
540: cn_utils.appendcr(body_code, ' AND c.process_status = ''SCA_UNPROCESSED'' ');
541: cn_utils.appendcr(body_code, ' AND c.processed_date BETWEEN p_start_date AND p_end_date ');
542: cn_utils.appendcr(body_code, ' AND c.processed_date BETWEEN a.start_date AND NVL(a.end_date,c.processed_date) ');
543: cn_utils.appendcr(body_code, ' AND c.sca_headers_interface_id BETWEEN p_start_id AND p_end_id ');
544: cn_utils.appendcr(body_code, ' AND b.sca_rule_attribute_id = (');
545: cn_utils.appendcr(body_code, ' SELECT DISTINCT sca_rule_attribute_id ');
546: cn_utils.appendcr(body_code, ' FROM ( SELECT a.*, rownum rnum ');
539: cn_utils.appendcr(body_code, ' AND a.org_id = c.org_id ');
540: cn_utils.appendcr(body_code, ' AND c.process_status = ''SCA_UNPROCESSED'' ');
541: cn_utils.appendcr(body_code, ' AND c.processed_date BETWEEN p_start_date AND p_end_date ');
542: cn_utils.appendcr(body_code, ' AND c.processed_date BETWEEN a.start_date AND NVL(a.end_date,c.processed_date) ');
543: cn_utils.appendcr(body_code, ' AND c.sca_headers_interface_id BETWEEN p_start_id AND p_end_id ');
544: cn_utils.appendcr(body_code, ' AND b.sca_rule_attribute_id = (');
545: cn_utils.appendcr(body_code, ' SELECT DISTINCT sca_rule_attribute_id ');
546: cn_utils.appendcr(body_code, ' FROM ( SELECT a.*, rownum rnum ');
547: cn_utils.appendcr(body_code, ' FROM ( SELECT sca_rule_attribute_id ');
540: cn_utils.appendcr(body_code, ' AND c.process_status = ''SCA_UNPROCESSED'' ');
541: cn_utils.appendcr(body_code, ' AND c.processed_date BETWEEN p_start_date AND p_end_date ');
542: cn_utils.appendcr(body_code, ' AND c.processed_date BETWEEN a.start_date AND NVL(a.end_date,c.processed_date) ');
543: cn_utils.appendcr(body_code, ' AND c.sca_headers_interface_id BETWEEN p_start_id AND p_end_id ');
544: cn_utils.appendcr(body_code, ' AND b.sca_rule_attribute_id = (');
545: cn_utils.appendcr(body_code, ' SELECT DISTINCT sca_rule_attribute_id ');
546: cn_utils.appendcr(body_code, ' FROM ( SELECT a.*, rownum rnum ');
547: cn_utils.appendcr(body_code, ' FROM ( SELECT sca_rule_attribute_id ');
548: cn_utils.appendcr(body_code, ' FROM cn_sca_combinations sc ');
541: cn_utils.appendcr(body_code, ' AND c.processed_date BETWEEN p_start_date AND p_end_date ');
542: cn_utils.appendcr(body_code, ' AND c.processed_date BETWEEN a.start_date AND NVL(a.end_date,c.processed_date) ');
543: cn_utils.appendcr(body_code, ' AND c.sca_headers_interface_id BETWEEN p_start_id AND p_end_id ');
544: cn_utils.appendcr(body_code, ' AND b.sca_rule_attribute_id = (');
545: cn_utils.appendcr(body_code, ' SELECT DISTINCT sca_rule_attribute_id ');
546: cn_utils.appendcr(body_code, ' FROM ( SELECT a.*, rownum rnum ');
547: cn_utils.appendcr(body_code, ' FROM ( SELECT sca_rule_attribute_id ');
548: cn_utils.appendcr(body_code, ' FROM cn_sca_combinations sc ');
549: cn_utils.appendcr(body_code, ' WHERE sc.rule_attr_comb_value = l_comb_value_id ');
542: cn_utils.appendcr(body_code, ' AND c.processed_date BETWEEN a.start_date AND NVL(a.end_date,c.processed_date) ');
543: cn_utils.appendcr(body_code, ' AND c.sca_headers_interface_id BETWEEN p_start_id AND p_end_id ');
544: cn_utils.appendcr(body_code, ' AND b.sca_rule_attribute_id = (');
545: cn_utils.appendcr(body_code, ' SELECT DISTINCT sca_rule_attribute_id ');
546: cn_utils.appendcr(body_code, ' FROM ( SELECT a.*, rownum rnum ');
547: cn_utils.appendcr(body_code, ' FROM ( SELECT sca_rule_attribute_id ');
548: cn_utils.appendcr(body_code, ' FROM cn_sca_combinations sc ');
549: cn_utils.appendcr(body_code, ' WHERE sc.rule_attr_comb_value = l_comb_value_id ');
550: cn_utils.appendcr(body_code, ' AND sc.org_id = p_org_id ');
543: cn_utils.appendcr(body_code, ' AND c.sca_headers_interface_id BETWEEN p_start_id AND p_end_id ');
544: cn_utils.appendcr(body_code, ' AND b.sca_rule_attribute_id = (');
545: cn_utils.appendcr(body_code, ' SELECT DISTINCT sca_rule_attribute_id ');
546: cn_utils.appendcr(body_code, ' FROM ( SELECT a.*, rownum rnum ');
547: cn_utils.appendcr(body_code, ' FROM ( SELECT sca_rule_attribute_id ');
548: cn_utils.appendcr(body_code, ' FROM cn_sca_combinations sc ');
549: cn_utils.appendcr(body_code, ' WHERE sc.rule_attr_comb_value = l_comb_value_id ');
550: cn_utils.appendcr(body_code, ' AND sc.org_id = p_org_id ');
551: cn_utils.appendcr(body_code, ' ORDER BY sc.sca_rule_attribute_id) a ');
544: cn_utils.appendcr(body_code, ' AND b.sca_rule_attribute_id = (');
545: cn_utils.appendcr(body_code, ' SELECT DISTINCT sca_rule_attribute_id ');
546: cn_utils.appendcr(body_code, ' FROM ( SELECT a.*, rownum rnum ');
547: cn_utils.appendcr(body_code, ' FROM ( SELECT sca_rule_attribute_id ');
548: cn_utils.appendcr(body_code, ' FROM cn_sca_combinations sc ');
549: cn_utils.appendcr(body_code, ' WHERE sc.rule_attr_comb_value = l_comb_value_id ');
550: cn_utils.appendcr(body_code, ' AND sc.org_id = p_org_id ');
551: cn_utils.appendcr(body_code, ' ORDER BY sc.sca_rule_attribute_id) a ');
552: cn_utils.appendcr(body_code, ' WHERE rownum <= '||l_row_num||') ');
545: cn_utils.appendcr(body_code, ' SELECT DISTINCT sca_rule_attribute_id ');
546: cn_utils.appendcr(body_code, ' FROM ( SELECT a.*, rownum rnum ');
547: cn_utils.appendcr(body_code, ' FROM ( SELECT sca_rule_attribute_id ');
548: cn_utils.appendcr(body_code, ' FROM cn_sca_combinations sc ');
549: cn_utils.appendcr(body_code, ' WHERE sc.rule_attr_comb_value = l_comb_value_id ');
550: cn_utils.appendcr(body_code, ' AND sc.org_id = p_org_id ');
551: cn_utils.appendcr(body_code, ' ORDER BY sc.sca_rule_attribute_id) a ');
552: cn_utils.appendcr(body_code, ' WHERE rownum <= '||l_row_num||') ');
553: cn_utils.appendcr(body_code, ' WHERE rnum >= '||l_row_num||') ');
546: cn_utils.appendcr(body_code, ' FROM ( SELECT a.*, rownum rnum ');
547: cn_utils.appendcr(body_code, ' FROM ( SELECT sca_rule_attribute_id ');
548: cn_utils.appendcr(body_code, ' FROM cn_sca_combinations sc ');
549: cn_utils.appendcr(body_code, ' WHERE sc.rule_attr_comb_value = l_comb_value_id ');
550: cn_utils.appendcr(body_code, ' AND sc.org_id = p_org_id ');
551: cn_utils.appendcr(body_code, ' ORDER BY sc.sca_rule_attribute_id) a ');
552: cn_utils.appendcr(body_code, ' WHERE rownum <= '||l_row_num||') ');
553: cn_utils.appendcr(body_code, ' WHERE rnum >= '||l_row_num||') ');
554: FOR operator_rec IN operator_cur(rule_attr_rec.sca_rule_attribute_id)
547: cn_utils.appendcr(body_code, ' FROM ( SELECT sca_rule_attribute_id ');
548: cn_utils.appendcr(body_code, ' FROM cn_sca_combinations sc ');
549: cn_utils.appendcr(body_code, ' WHERE sc.rule_attr_comb_value = l_comb_value_id ');
550: cn_utils.appendcr(body_code, ' AND sc.org_id = p_org_id ');
551: cn_utils.appendcr(body_code, ' ORDER BY sc.sca_rule_attribute_id) a ');
552: cn_utils.appendcr(body_code, ' WHERE rownum <= '||l_row_num||') ');
553: cn_utils.appendcr(body_code, ' WHERE rnum >= '||l_row_num||') ');
554: FOR operator_rec IN operator_cur(rule_attr_rec.sca_rule_attribute_id)
555: LOOP
548: cn_utils.appendcr(body_code, ' FROM cn_sca_combinations sc ');
549: cn_utils.appendcr(body_code, ' WHERE sc.rule_attr_comb_value = l_comb_value_id ');
550: cn_utils.appendcr(body_code, ' AND sc.org_id = p_org_id ');
551: cn_utils.appendcr(body_code, ' ORDER BY sc.sca_rule_attribute_id) a ');
552: cn_utils.appendcr(body_code, ' WHERE rownum <= '||l_row_num||') ');
553: cn_utils.appendcr(body_code, ' WHERE rnum >= '||l_row_num||') ');
554: FOR operator_rec IN operator_cur(rule_attr_rec.sca_rule_attribute_id)
555: LOOP
556: --
549: cn_utils.appendcr(body_code, ' WHERE sc.rule_attr_comb_value = l_comb_value_id ');
550: cn_utils.appendcr(body_code, ' AND sc.org_id = p_org_id ');
551: cn_utils.appendcr(body_code, ' ORDER BY sc.sca_rule_attribute_id) a ');
552: cn_utils.appendcr(body_code, ' WHERE rownum <= '||l_row_num||') ');
553: cn_utils.appendcr(body_code, ' WHERE rnum >= '||l_row_num||') ');
554: FOR operator_rec IN operator_cur(rule_attr_rec.sca_rule_attribute_id)
555: LOOP
556: --
557: IF (l_operator_counter = 1) THEN
554: FOR operator_rec IN operator_cur(rule_attr_rec.sca_rule_attribute_id)
555: LOOP
556: --
557: IF (l_operator_counter = 1) THEN
558: cn_utils.appendcr(body_code, ' AND (');
559: END IF;
560: --
561: IF (l_operator_counter > 1) THEN
562: cn_utils.appendcr(body_code, ' OR ');
558: cn_utils.appendcr(body_code, ' AND (');
559: END IF;
560: --
561: IF (l_operator_counter > 1) THEN
562: cn_utils.appendcr(body_code, ' OR ');
563: END IF;
564: --
565: IF (operator_rec.lookup_code = 'EQUAL') THEN
566: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
562: cn_utils.appendcr(body_code, ' OR ');
563: END IF;
564: --
565: IF (operator_rec.lookup_code = 'EQUAL') THEN
566: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
567: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
568: cn_utils.appendcr(body_code, ' = b.value_char_min AND ');
569: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
570: cn_utils.appendcr(body_code, ' = b.value_num_min AND ');
564: --
565: IF (operator_rec.lookup_code = 'EQUAL') THEN
566: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
567: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
568: cn_utils.appendcr(body_code, ' = b.value_char_min AND ');
569: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
570: cn_utils.appendcr(body_code, ' = b.value_num_min AND ');
571: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
572: cn_utils.appendcr(body_code, ' = b.value_date_min AND ');
566: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
567: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
568: cn_utils.appendcr(body_code, ' = b.value_char_min AND ');
569: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
570: cn_utils.appendcr(body_code, ' = b.value_num_min AND ');
571: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
572: cn_utils.appendcr(body_code, ' = b.value_date_min AND ');
573: END IF;
574: cn_utils.appendcr(body_code, ' b.operator_id = ''EQUAL'')');
568: cn_utils.appendcr(body_code, ' = b.value_char_min AND ');
569: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
570: cn_utils.appendcr(body_code, ' = b.value_num_min AND ');
571: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
572: cn_utils.appendcr(body_code, ' = b.value_date_min AND ');
573: END IF;
574: cn_utils.appendcr(body_code, ' b.operator_id = ''EQUAL'')');
575: ELSIF (operator_rec.lookup_code = 'LIKE') THEN
576: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
570: cn_utils.appendcr(body_code, ' = b.value_num_min AND ');
571: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
572: cn_utils.appendcr(body_code, ' = b.value_date_min AND ');
573: END IF;
574: cn_utils.appendcr(body_code, ' b.operator_id = ''EQUAL'')');
575: ELSIF (operator_rec.lookup_code = 'LIKE') THEN
576: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
577: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
578: cn_utils.appendcr(body_code, ' LIKE b.value_char_min AND ');
572: cn_utils.appendcr(body_code, ' = b.value_date_min AND ');
573: END IF;
574: cn_utils.appendcr(body_code, ' b.operator_id = ''EQUAL'')');
575: ELSIF (operator_rec.lookup_code = 'LIKE') THEN
576: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
577: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
578: cn_utils.appendcr(body_code, ' LIKE b.value_char_min AND ');
579: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
580: cn_utils.appendcr(body_code, ' LIKE b.value_num_min AND ');
574: cn_utils.appendcr(body_code, ' b.operator_id = ''EQUAL'')');
575: ELSIF (operator_rec.lookup_code = 'LIKE') THEN
576: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
577: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
578: cn_utils.appendcr(body_code, ' LIKE b.value_char_min AND ');
579: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
580: cn_utils.appendcr(body_code, ' LIKE b.value_num_min AND ');
581: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
582: cn_utils.appendcr(body_code, ' LIKE b.value_date_min AND ');
576: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
577: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
578: cn_utils.appendcr(body_code, ' LIKE b.value_char_min AND ');
579: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
580: cn_utils.appendcr(body_code, ' LIKE b.value_num_min AND ');
581: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
582: cn_utils.appendcr(body_code, ' LIKE b.value_date_min AND ');
583: END IF;
584: cn_utils.appendcr(body_code, ' b.operator_id = ''LIKE'')');
578: cn_utils.appendcr(body_code, ' LIKE b.value_char_min AND ');
579: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
580: cn_utils.appendcr(body_code, ' LIKE b.value_num_min AND ');
581: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
582: cn_utils.appendcr(body_code, ' LIKE b.value_date_min AND ');
583: END IF;
584: cn_utils.appendcr(body_code, ' b.operator_id = ''LIKE'')');
585: ELSIF (operator_rec.lookup_code = 'BETWEEN') THEN
586: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
580: cn_utils.appendcr(body_code, ' LIKE b.value_num_min AND ');
581: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
582: cn_utils.appendcr(body_code, ' LIKE b.value_date_min AND ');
583: END IF;
584: cn_utils.appendcr(body_code, ' b.operator_id = ''LIKE'')');
585: ELSIF (operator_rec.lookup_code = 'BETWEEN') THEN
586: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
587: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
588: cn_utils.appendcr(body_code, ' BETWEEN b.VALUE_CHAR_MIN AND b.VALUE_CHAR_MAX AND');
582: cn_utils.appendcr(body_code, ' LIKE b.value_date_min AND ');
583: END IF;
584: cn_utils.appendcr(body_code, ' b.operator_id = ''LIKE'')');
585: ELSIF (operator_rec.lookup_code = 'BETWEEN') THEN
586: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
587: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
588: cn_utils.appendcr(body_code, ' BETWEEN b.VALUE_CHAR_MIN AND b.VALUE_CHAR_MAX AND');
589: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
590: cn_utils.appendcr(body_code, ' BETWEEN b.VALUE_NUM_MIN AND b.VALUE_NUM_MAX AND');
584: cn_utils.appendcr(body_code, ' b.operator_id = ''LIKE'')');
585: ELSIF (operator_rec.lookup_code = 'BETWEEN') THEN
586: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
587: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
588: cn_utils.appendcr(body_code, ' BETWEEN b.VALUE_CHAR_MIN AND b.VALUE_CHAR_MAX AND');
589: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
590: cn_utils.appendcr(body_code, ' BETWEEN b.VALUE_NUM_MIN AND b.VALUE_NUM_MAX AND');
591: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
592: cn_utils.appendcr(body_code, ' BETWEEN b.VALUE_DATE_MIN AND b.VALUE_DATE_MAX AND');
586: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
587: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
588: cn_utils.appendcr(body_code, ' BETWEEN b.VALUE_CHAR_MIN AND b.VALUE_CHAR_MAX AND');
589: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
590: cn_utils.appendcr(body_code, ' BETWEEN b.VALUE_NUM_MIN AND b.VALUE_NUM_MAX AND');
591: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
592: cn_utils.appendcr(body_code, ' BETWEEN b.VALUE_DATE_MIN AND b.VALUE_DATE_MAX AND');
593: END IF;
594: cn_utils.appendcr(body_code, ' b.operator_id = ''BETWEEN'')');
588: cn_utils.appendcr(body_code, ' BETWEEN b.VALUE_CHAR_MIN AND b.VALUE_CHAR_MAX AND');
589: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
590: cn_utils.appendcr(body_code, ' BETWEEN b.VALUE_NUM_MIN AND b.VALUE_NUM_MAX AND');
591: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
592: cn_utils.appendcr(body_code, ' BETWEEN b.VALUE_DATE_MIN AND b.VALUE_DATE_MAX AND');
593: END IF;
594: cn_utils.appendcr(body_code, ' b.operator_id = ''BETWEEN'')');
595: ELSIF (operator_rec.lookup_code = 'GRE') THEN
596: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
590: cn_utils.appendcr(body_code, ' BETWEEN b.VALUE_NUM_MIN AND b.VALUE_NUM_MAX AND');
591: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
592: cn_utils.appendcr(body_code, ' BETWEEN b.VALUE_DATE_MIN AND b.VALUE_DATE_MAX AND');
593: END IF;
594: cn_utils.appendcr(body_code, ' b.operator_id = ''BETWEEN'')');
595: ELSIF (operator_rec.lookup_code = 'GRE') THEN
596: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
597: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
598: cn_utils.appendcr(body_code, ' >= b.VALUE_CHAR_MIN AND ');
592: cn_utils.appendcr(body_code, ' BETWEEN b.VALUE_DATE_MIN AND b.VALUE_DATE_MAX AND');
593: END IF;
594: cn_utils.appendcr(body_code, ' b.operator_id = ''BETWEEN'')');
595: ELSIF (operator_rec.lookup_code = 'GRE') THEN
596: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
597: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
598: cn_utils.appendcr(body_code, ' >= b.VALUE_CHAR_MIN AND ');
599: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
600: cn_utils.appendcr(body_code, ' >= b.VALUE_NUM_MIN AND ');
594: cn_utils.appendcr(body_code, ' b.operator_id = ''BETWEEN'')');
595: ELSIF (operator_rec.lookup_code = 'GRE') THEN
596: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
597: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
598: cn_utils.appendcr(body_code, ' >= b.VALUE_CHAR_MIN AND ');
599: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
600: cn_utils.appendcr(body_code, ' >= b.VALUE_NUM_MIN AND ');
601: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
602: cn_utils.appendcr(body_code, ' >= b.VALUE_DATE_MIN AND ');
596: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
597: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
598: cn_utils.appendcr(body_code, ' >= b.VALUE_CHAR_MIN AND ');
599: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
600: cn_utils.appendcr(body_code, ' >= b.VALUE_NUM_MIN AND ');
601: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
602: cn_utils.appendcr(body_code, ' >= b.VALUE_DATE_MIN AND ');
603: END IF;
604: cn_utils.appendcr(body_code, ' b.operator_id = ''GRE'')');
598: cn_utils.appendcr(body_code, ' >= b.VALUE_CHAR_MIN AND ');
599: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
600: cn_utils.appendcr(body_code, ' >= b.VALUE_NUM_MIN AND ');
601: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
602: cn_utils.appendcr(body_code, ' >= b.VALUE_DATE_MIN AND ');
603: END IF;
604: cn_utils.appendcr(body_code, ' b.operator_id = ''GRE'')');
605: ELSIF (operator_rec.lookup_code = 'GT') THEN
606: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
600: cn_utils.appendcr(body_code, ' >= b.VALUE_NUM_MIN AND ');
601: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
602: cn_utils.appendcr(body_code, ' >= b.VALUE_DATE_MIN AND ');
603: END IF;
604: cn_utils.appendcr(body_code, ' b.operator_id = ''GRE'')');
605: ELSIF (operator_rec.lookup_code = 'GT') THEN
606: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
607: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
608: cn_utils.appendcr(body_code, ' > b.VALUE_CHAR_MIN AND ');
602: cn_utils.appendcr(body_code, ' >= b.VALUE_DATE_MIN AND ');
603: END IF;
604: cn_utils.appendcr(body_code, ' b.operator_id = ''GRE'')');
605: ELSIF (operator_rec.lookup_code = 'GT') THEN
606: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
607: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
608: cn_utils.appendcr(body_code, ' > b.VALUE_CHAR_MIN AND ');
609: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
610: cn_utils.appendcr(body_code, ' > b.VALUE_NUM_MIN AND ');
604: cn_utils.appendcr(body_code, ' b.operator_id = ''GRE'')');
605: ELSIF (operator_rec.lookup_code = 'GT') THEN
606: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
607: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
608: cn_utils.appendcr(body_code, ' > b.VALUE_CHAR_MIN AND ');
609: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
610: cn_utils.appendcr(body_code, ' > b.VALUE_NUM_MIN AND ');
611: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
612: cn_utils.appendcr(body_code, ' > b.VALUE_DATE_MIN AND ');
606: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
607: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
608: cn_utils.appendcr(body_code, ' > b.VALUE_CHAR_MIN AND ');
609: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
610: cn_utils.appendcr(body_code, ' > b.VALUE_NUM_MIN AND ');
611: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
612: cn_utils.appendcr(body_code, ' > b.VALUE_DATE_MIN AND ');
613: END IF;
614: cn_utils.appendcr(body_code, ' b.operator_id = ''GT'')');
608: cn_utils.appendcr(body_code, ' > b.VALUE_CHAR_MIN AND ');
609: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
610: cn_utils.appendcr(body_code, ' > b.VALUE_NUM_MIN AND ');
611: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
612: cn_utils.appendcr(body_code, ' > b.VALUE_DATE_MIN AND ');
613: END IF;
614: cn_utils.appendcr(body_code, ' b.operator_id = ''GT'')');
615: ELSIF (operator_rec.lookup_code = 'LTE') THEN
616: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
610: cn_utils.appendcr(body_code, ' > b.VALUE_NUM_MIN AND ');
611: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
612: cn_utils.appendcr(body_code, ' > b.VALUE_DATE_MIN AND ');
613: END IF;
614: cn_utils.appendcr(body_code, ' b.operator_id = ''GT'')');
615: ELSIF (operator_rec.lookup_code = 'LTE') THEN
616: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
617: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
618: cn_utils.appendcr(body_code, ' <= b.VALUE_CHAR_MIN AND ');
612: cn_utils.appendcr(body_code, ' > b.VALUE_DATE_MIN AND ');
613: END IF;
614: cn_utils.appendcr(body_code, ' b.operator_id = ''GT'')');
615: ELSIF (operator_rec.lookup_code = 'LTE') THEN
616: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
617: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
618: cn_utils.appendcr(body_code, ' <= b.VALUE_CHAR_MIN AND ');
619: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
620: cn_utils.appendcr(body_code, ' <= b.VALUE_NUM_MIN AND ');
614: cn_utils.appendcr(body_code, ' b.operator_id = ''GT'')');
615: ELSIF (operator_rec.lookup_code = 'LTE') THEN
616: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
617: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
618: cn_utils.appendcr(body_code, ' <= b.VALUE_CHAR_MIN AND ');
619: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
620: cn_utils.appendcr(body_code, ' <= b.VALUE_NUM_MIN AND ');
621: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
622: cn_utils.appendcr(body_code, ' <= b.VALUE_DATE_MIN AND ');
616: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
617: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
618: cn_utils.appendcr(body_code, ' <= b.VALUE_CHAR_MIN AND ');
619: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
620: cn_utils.appendcr(body_code, ' <= b.VALUE_NUM_MIN AND ');
621: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
622: cn_utils.appendcr(body_code, ' <= b.VALUE_DATE_MIN AND ');
623: END IF;
624: cn_utils.appendcr(body_code, ' b.operator_id = ''LTE'')');
618: cn_utils.appendcr(body_code, ' <= b.VALUE_CHAR_MIN AND ');
619: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
620: cn_utils.appendcr(body_code, ' <= b.VALUE_NUM_MIN AND ');
621: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
622: cn_utils.appendcr(body_code, ' <= b.VALUE_DATE_MIN AND ');
623: END IF;
624: cn_utils.appendcr(body_code, ' b.operator_id = ''LTE'')');
625: ELSIF (operator_rec.lookup_code = 'LT') THEN
626: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
620: cn_utils.appendcr(body_code, ' <= b.VALUE_NUM_MIN AND ');
621: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
622: cn_utils.appendcr(body_code, ' <= b.VALUE_DATE_MIN AND ');
623: END IF;
624: cn_utils.appendcr(body_code, ' b.operator_id = ''LTE'')');
625: ELSIF (operator_rec.lookup_code = 'LT') THEN
626: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
627: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
628: cn_utils.appendcr(body_code, ' < b.VALUE_CHAR_MIN AND ');
622: cn_utils.appendcr(body_code, ' <= b.VALUE_DATE_MIN AND ');
623: END IF;
624: cn_utils.appendcr(body_code, ' b.operator_id = ''LTE'')');
625: ELSIF (operator_rec.lookup_code = 'LT') THEN
626: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
627: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
628: cn_utils.appendcr(body_code, ' < b.VALUE_CHAR_MIN AND ');
629: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
630: cn_utils.appendcr(body_code, ' < b.VALUE_NUM_MIN AND ');
624: cn_utils.appendcr(body_code, ' b.operator_id = ''LTE'')');
625: ELSIF (operator_rec.lookup_code = 'LT') THEN
626: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
627: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
628: cn_utils.appendcr(body_code, ' < b.VALUE_CHAR_MIN AND ');
629: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
630: cn_utils.appendcr(body_code, ' < b.VALUE_NUM_MIN AND ');
631: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
632: cn_utils.appendcr(body_code, ' < b.VALUE_DATE_MIN AND ');
626: cn_utils.appendcr(body_code, ' (c.'||rule_attr_rec.src_column_name);
627: IF (rule_attr_rec.datatype = 'ALPHANUMERIC') THEN
628: cn_utils.appendcr(body_code, ' < b.VALUE_CHAR_MIN AND ');
629: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
630: cn_utils.appendcr(body_code, ' < b.VALUE_NUM_MIN AND ');
631: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
632: cn_utils.appendcr(body_code, ' < b.VALUE_DATE_MIN AND ');
633: END IF;
634: cn_utils.appendcr(body_code, ' b.operator_id = ''LT'') ');
628: cn_utils.appendcr(body_code, ' < b.VALUE_CHAR_MIN AND ');
629: ELSIF (rule_attr_rec.datatype = 'NUMERIC') THEN
630: cn_utils.appendcr(body_code, ' < b.VALUE_NUM_MIN AND ');
631: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
632: cn_utils.appendcr(body_code, ' < b.VALUE_DATE_MIN AND ');
633: END IF;
634: cn_utils.appendcr(body_code, ' b.operator_id = ''LT'') ');
635: END IF;
636: --
630: cn_utils.appendcr(body_code, ' < b.VALUE_NUM_MIN AND ');
631: ELSIF (rule_attr_rec.datatype = 'DATE') THEN
632: cn_utils.appendcr(body_code, ' < b.VALUE_DATE_MIN AND ');
633: END IF;
634: cn_utils.appendcr(body_code, ' b.operator_id = ''LT'') ');
635: END IF;
636: --
637: l_operator_counter := l_operator_counter + 1;
638: --
638: --
639: END LOOP;
640: --
641: IF (l_operator_counter > 1) THEN
642: cn_utils.appendcr(body_code, ' )');
643: END IF;
644: --
645: cn_utils.appendcr(body_code, ' GROUP BY b.sca_credit_rule_id, c.sca_headers_interface_id, ');
646: cn_utils.appendcr(body_code, ' c.processed_date, b.calculated_rank, a.rank, a.org_id ');
641: IF (l_operator_counter > 1) THEN
642: cn_utils.appendcr(body_code, ' )');
643: END IF;
644: --
645: cn_utils.appendcr(body_code, ' GROUP BY b.sca_credit_rule_id, c.sca_headers_interface_id, ');
646: cn_utils.appendcr(body_code, ' c.processed_date, b.calculated_rank, a.rank, a.org_id ');
647: --
648: l_operator_counter := 1;
649: l_attr_counter := l_attr_counter + 1;
642: cn_utils.appendcr(body_code, ' )');
643: END IF;
644: --
645: cn_utils.appendcr(body_code, ' GROUP BY b.sca_credit_rule_id, c.sca_headers_interface_id, ');
646: cn_utils.appendcr(body_code, ' c.processed_date, b.calculated_rank, a.rank, a.org_id ');
647: --
648: l_operator_counter := 1;
649: l_attr_counter := l_attr_counter + 1;
650: --
650: --
651: END LOOP;
652: l_if_counter := l_if_counter + 1;
653: l_attr_counter := 1;
654: cn_utils.appendcr(body_code, ') result ');
655: cn_utils.appendcr(body_code, 'GROUP BY result.sca_credit_rule_id, ');
656: cn_utils.appendcr(body_code, ' result.sca_headers_interface_id, ');
657: cn_utils.appendcr(body_code, ' result.processed_date, ');
658: cn_utils.appendcr(body_code, ' result.calculated_rank, ');
651: END LOOP;
652: l_if_counter := l_if_counter + 1;
653: l_attr_counter := 1;
654: cn_utils.appendcr(body_code, ') result ');
655: cn_utils.appendcr(body_code, 'GROUP BY result.sca_credit_rule_id, ');
656: cn_utils.appendcr(body_code, ' result.sca_headers_interface_id, ');
657: cn_utils.appendcr(body_code, ' result.processed_date, ');
658: cn_utils.appendcr(body_code, ' result.calculated_rank, ');
659: cn_utils.appendcr(body_code, ' result.rank, ');
652: l_if_counter := l_if_counter + 1;
653: l_attr_counter := 1;
654: cn_utils.appendcr(body_code, ') result ');
655: cn_utils.appendcr(body_code, 'GROUP BY result.sca_credit_rule_id, ');
656: cn_utils.appendcr(body_code, ' result.sca_headers_interface_id, ');
657: cn_utils.appendcr(body_code, ' result.processed_date, ');
658: cn_utils.appendcr(body_code, ' result.calculated_rank, ');
659: cn_utils.appendcr(body_code, ' result.rank, ');
660: cn_utils.appendcr(body_code, ' result.org_id ');
653: l_attr_counter := 1;
654: cn_utils.appendcr(body_code, ') result ');
655: cn_utils.appendcr(body_code, 'GROUP BY result.sca_credit_rule_id, ');
656: cn_utils.appendcr(body_code, ' result.sca_headers_interface_id, ');
657: cn_utils.appendcr(body_code, ' result.processed_date, ');
658: cn_utils.appendcr(body_code, ' result.calculated_rank, ');
659: cn_utils.appendcr(body_code, ' result.rank, ');
660: cn_utils.appendcr(body_code, ' result.org_id ');
661: cn_utils.appendcr(body_code, 'HAVING (result.sca_credit_rule_id,count(1)) = ( ');
654: cn_utils.appendcr(body_code, ') result ');
655: cn_utils.appendcr(body_code, 'GROUP BY result.sca_credit_rule_id, ');
656: cn_utils.appendcr(body_code, ' result.sca_headers_interface_id, ');
657: cn_utils.appendcr(body_code, ' result.processed_date, ');
658: cn_utils.appendcr(body_code, ' result.calculated_rank, ');
659: cn_utils.appendcr(body_code, ' result.rank, ');
660: cn_utils.appendcr(body_code, ' result.org_id ');
661: cn_utils.appendcr(body_code, 'HAVING (result.sca_credit_rule_id,count(1)) = ( ');
662: cn_utils.appendcr(body_code, ' SELECT r.sca_credit_rule_id,r.num_rule_attributes ');
655: cn_utils.appendcr(body_code, 'GROUP BY result.sca_credit_rule_id, ');
656: cn_utils.appendcr(body_code, ' result.sca_headers_interface_id, ');
657: cn_utils.appendcr(body_code, ' result.processed_date, ');
658: cn_utils.appendcr(body_code, ' result.calculated_rank, ');
659: cn_utils.appendcr(body_code, ' result.rank, ');
660: cn_utils.appendcr(body_code, ' result.org_id ');
661: cn_utils.appendcr(body_code, 'HAVING (result.sca_credit_rule_id,count(1)) = ( ');
662: cn_utils.appendcr(body_code, ' SELECT r.sca_credit_rule_id,r.num_rule_attributes ');
663: cn_utils.appendcr(body_code, ' FROM cn_sca_denorm_rules r ');
656: cn_utils.appendcr(body_code, ' result.sca_headers_interface_id, ');
657: cn_utils.appendcr(body_code, ' result.processed_date, ');
658: cn_utils.appendcr(body_code, ' result.calculated_rank, ');
659: cn_utils.appendcr(body_code, ' result.rank, ');
660: cn_utils.appendcr(body_code, ' result.org_id ');
661: cn_utils.appendcr(body_code, 'HAVING (result.sca_credit_rule_id,count(1)) = ( ');
662: cn_utils.appendcr(body_code, ' SELECT r.sca_credit_rule_id,r.num_rule_attributes ');
663: cn_utils.appendcr(body_code, ' FROM cn_sca_denorm_rules r ');
664: cn_utils.appendcr(body_code, ' WHERE r.sca_credit_rule_id = result.sca_credit_rule_id ');
657: cn_utils.appendcr(body_code, ' result.processed_date, ');
658: cn_utils.appendcr(body_code, ' result.calculated_rank, ');
659: cn_utils.appendcr(body_code, ' result.rank, ');
660: cn_utils.appendcr(body_code, ' result.org_id ');
661: cn_utils.appendcr(body_code, 'HAVING (result.sca_credit_rule_id,count(1)) = ( ');
662: cn_utils.appendcr(body_code, ' SELECT r.sca_credit_rule_id,r.num_rule_attributes ');
663: cn_utils.appendcr(body_code, ' FROM cn_sca_denorm_rules r ');
664: cn_utils.appendcr(body_code, ' WHERE r.sca_credit_rule_id = result.sca_credit_rule_id ');
665: cn_utils.appendcr(body_code, ' AND r.org_id = p_org_id ');
658: cn_utils.appendcr(body_code, ' result.calculated_rank, ');
659: cn_utils.appendcr(body_code, ' result.rank, ');
660: cn_utils.appendcr(body_code, ' result.org_id ');
661: cn_utils.appendcr(body_code, 'HAVING (result.sca_credit_rule_id,count(1)) = ( ');
662: cn_utils.appendcr(body_code, ' SELECT r.sca_credit_rule_id,r.num_rule_attributes ');
663: cn_utils.appendcr(body_code, ' FROM cn_sca_denorm_rules r ');
664: cn_utils.appendcr(body_code, ' WHERE r.sca_credit_rule_id = result.sca_credit_rule_id ');
665: cn_utils.appendcr(body_code, ' AND r.org_id = p_org_id ');
666: cn_utils.appendcr(body_code, ' AND r.ancestor_rule_id = result.sca_credit_rule_id ');
659: cn_utils.appendcr(body_code, ' result.rank, ');
660: cn_utils.appendcr(body_code, ' result.org_id ');
661: cn_utils.appendcr(body_code, 'HAVING (result.sca_credit_rule_id,count(1)) = ( ');
662: cn_utils.appendcr(body_code, ' SELECT r.sca_credit_rule_id,r.num_rule_attributes ');
663: cn_utils.appendcr(body_code, ' FROM cn_sca_denorm_rules r ');
664: cn_utils.appendcr(body_code, ' WHERE r.sca_credit_rule_id = result.sca_credit_rule_id ');
665: cn_utils.appendcr(body_code, ' AND r.org_id = p_org_id ');
666: cn_utils.appendcr(body_code, ' AND r.ancestor_rule_id = result.sca_credit_rule_id ');
667: cn_utils.appendcr(body_code, ' AND r.transaction_source = p_transaction_source);');
660: cn_utils.appendcr(body_code, ' result.org_id ');
661: cn_utils.appendcr(body_code, 'HAVING (result.sca_credit_rule_id,count(1)) = ( ');
662: cn_utils.appendcr(body_code, ' SELECT r.sca_credit_rule_id,r.num_rule_attributes ');
663: cn_utils.appendcr(body_code, ' FROM cn_sca_denorm_rules r ');
664: cn_utils.appendcr(body_code, ' WHERE r.sca_credit_rule_id = result.sca_credit_rule_id ');
665: cn_utils.appendcr(body_code, ' AND r.org_id = p_org_id ');
666: cn_utils.appendcr(body_code, ' AND r.ancestor_rule_id = result.sca_credit_rule_id ');
667: cn_utils.appendcr(body_code, ' AND r.transaction_source = p_transaction_source);');
668: cn_utils.appendcr(body_code, 'COMMIT work;');
661: cn_utils.appendcr(body_code, 'HAVING (result.sca_credit_rule_id,count(1)) = ( ');
662: cn_utils.appendcr(body_code, ' SELECT r.sca_credit_rule_id,r.num_rule_attributes ');
663: cn_utils.appendcr(body_code, ' FROM cn_sca_denorm_rules r ');
664: cn_utils.appendcr(body_code, ' WHERE r.sca_credit_rule_id = result.sca_credit_rule_id ');
665: cn_utils.appendcr(body_code, ' AND r.org_id = p_org_id ');
666: cn_utils.appendcr(body_code, ' AND r.ancestor_rule_id = result.sca_credit_rule_id ');
667: cn_utils.appendcr(body_code, ' AND r.transaction_source = p_transaction_source);');
668: cn_utils.appendcr(body_code, 'COMMIT work;');
669: END LOOP;
662: cn_utils.appendcr(body_code, ' SELECT r.sca_credit_rule_id,r.num_rule_attributes ');
663: cn_utils.appendcr(body_code, ' FROM cn_sca_denorm_rules r ');
664: cn_utils.appendcr(body_code, ' WHERE r.sca_credit_rule_id = result.sca_credit_rule_id ');
665: cn_utils.appendcr(body_code, ' AND r.org_id = p_org_id ');
666: cn_utils.appendcr(body_code, ' AND r.ancestor_rule_id = result.sca_credit_rule_id ');
667: cn_utils.appendcr(body_code, ' AND r.transaction_source = p_transaction_source);');
668: cn_utils.appendcr(body_code, 'COMMIT work;');
669: END LOOP;
670:
663: cn_utils.appendcr(body_code, ' FROM cn_sca_denorm_rules r ');
664: cn_utils.appendcr(body_code, ' WHERE r.sca_credit_rule_id = result.sca_credit_rule_id ');
665: cn_utils.appendcr(body_code, ' AND r.org_id = p_org_id ');
666: cn_utils.appendcr(body_code, ' AND r.ancestor_rule_id = result.sca_credit_rule_id ');
667: cn_utils.appendcr(body_code, ' AND r.transaction_source = p_transaction_source);');
668: cn_utils.appendcr(body_code, 'COMMIT work;');
669: END LOOP;
670:
671: cn_utils.appendcr(body_code, ' END IF;');
664: cn_utils.appendcr(body_code, ' WHERE r.sca_credit_rule_id = result.sca_credit_rule_id ');
665: cn_utils.appendcr(body_code, ' AND r.org_id = p_org_id ');
666: cn_utils.appendcr(body_code, ' AND r.ancestor_rule_id = result.sca_credit_rule_id ');
667: cn_utils.appendcr(body_code, ' AND r.transaction_source = p_transaction_source);');
668: cn_utils.appendcr(body_code, 'COMMIT work;');
669: END LOOP;
670:
671: cn_utils.appendcr(body_code, ' END IF;');
672: cn_utils.appendcr(body_code, ' END LOOP;');
667: cn_utils.appendcr(body_code, ' AND r.transaction_source = p_transaction_source);');
668: cn_utils.appendcr(body_code, 'COMMIT work;');
669: END LOOP;
670:
671: cn_utils.appendcr(body_code, ' END IF;');
672: cn_utils.appendcr(body_code, ' END LOOP;');
673:
674: cn_utils.appindcr(body_code, 'EXCEPTION ');
675: cn_utils.appindcr(body_code, ' WHEN OTHERS THEN ');
668: cn_utils.appendcr(body_code, 'COMMIT work;');
669: END LOOP;
670:
671: cn_utils.appendcr(body_code, ' END IF;');
672: cn_utils.appendcr(body_code, ' END LOOP;');
673:
674: cn_utils.appindcr(body_code, 'EXCEPTION ');
675: cn_utils.appindcr(body_code, ' WHEN OTHERS THEN ');
676: cn_utils.appindcr(body_code, ' cn_message_pkg.debug(''EXCEPTION IN populate_matches, '' || sqlerrm); ');
670:
671: cn_utils.appendcr(body_code, ' END IF;');
672: cn_utils.appendcr(body_code, ' END LOOP;');
673:
674: cn_utils.appindcr(body_code, 'EXCEPTION ');
675: cn_utils.appindcr(body_code, ' WHEN OTHERS THEN ');
676: cn_utils.appindcr(body_code, ' cn_message_pkg.debug(''EXCEPTION IN populate_matches, '' || sqlerrm); ');
677: cn_utils.appindcr(body_code, ' raise; ');
678:
671: cn_utils.appendcr(body_code, ' END IF;');
672: cn_utils.appendcr(body_code, ' END LOOP;');
673:
674: cn_utils.appindcr(body_code, 'EXCEPTION ');
675: cn_utils.appindcr(body_code, ' WHEN OTHERS THEN ');
676: cn_utils.appindcr(body_code, ' cn_message_pkg.debug(''EXCEPTION IN populate_matches, '' || sqlerrm); ');
677: cn_utils.appindcr(body_code, ' raise; ');
678:
679: cn_utils.appendcr(body_code, 'END;');
672: cn_utils.appendcr(body_code, ' END LOOP;');
673:
674: cn_utils.appindcr(body_code, 'EXCEPTION ');
675: cn_utils.appindcr(body_code, ' WHEN OTHERS THEN ');
676: cn_utils.appindcr(body_code, ' cn_message_pkg.debug(''EXCEPTION IN populate_matches, '' || sqlerrm); ');
677: cn_utils.appindcr(body_code, ' raise; ');
678:
679: cn_utils.appendcr(body_code, 'END;');
680:
673:
674: cn_utils.appindcr(body_code, 'EXCEPTION ');
675: cn_utils.appindcr(body_code, ' WHEN OTHERS THEN ');
676: cn_utils.appindcr(body_code, ' cn_message_pkg.debug(''EXCEPTION IN populate_matches, '' || sqlerrm); ');
677: cn_utils.appindcr(body_code, ' raise; ');
678:
679: cn_utils.appendcr(body_code, 'END;');
680:
681: EXCEPTION when others then
675: cn_utils.appindcr(body_code, ' WHEN OTHERS THEN ');
676: cn_utils.appindcr(body_code, ' cn_message_pkg.debug(''EXCEPTION IN populate_matches, '' || sqlerrm); ');
677: cn_utils.appindcr(body_code, ' raise; ');
678:
679: cn_utils.appendcr(body_code, 'END;');
680:
681: EXCEPTION when others then
682: cn_message_pkg.debug('IN get_perf exception handler, error is '||sqlcode||' '||sqlerrm);
683: RAISE;
691: package_spec_id cn_obj_packages_v.package_id%TYPE;
692: package_body_id cn_obj_packages_v.package_id%TYPE;
693: package_spec_desc cn_obj_packages_v.description%TYPE;
694: package_body_desc cn_obj_packages_v.description%TYPE;
695: spec_code cn_utils.code_type;
696: body_code cn_utils.code_type;
697: dummy NUMBER(7);
698: l_module_id number(15);
699: l_repository_id cn_repositories.repository_id%TYPE;
692: package_body_id cn_obj_packages_v.package_id%TYPE;
693: package_spec_desc cn_obj_packages_v.description%TYPE;
694: package_body_desc cn_obj_packages_v.description%TYPE;
695: spec_code cn_utils.code_type;
696: body_code cn_utils.code_type;
697: dummy NUMBER(7);
698: l_module_id number(15);
699: l_repository_id cn_repositories.repository_id%TYPE;
700: l_org_id NUMBER;
700: l_org_id NUMBER;
701: --
702: BEGIN
703:
704: cn_utils.set_org_id(g_org_id);
705:
706: select repository_id into l_repository_id
707: from cn_repositories where org_id = g_org_id;
708:
730: --DBMS_OUTPUT.PUT_LINE('pkg init called');
731: --
732: populate_matches(spec_code, body_code,x_transaction_source);
733: --
734: cn_utils.pkg_end(package_name, spec_code, body_code);
735: --
736: cn_utils.unset_org_id;
737: --
738: RETURN TRUE;
732: populate_matches(spec_code, body_code,x_transaction_source);
733: --
734: cn_utils.pkg_end(package_name, spec_code, body_code);
735: --
736: cn_utils.unset_org_id;
737: --
738: RETURN TRUE;
739: END;
740: --