The following lines contain the word 'select', 'insert', 'update' or 'delete':
g_last_update_date DATE := sysdate;
g_last_update_login INTEGER := xla_environment_pkg.g_login_id;
g_last_updated_by INTEGER := xla_environment_pkg.g_usr_id;
| delete_line_type_details |
| |
| Deletes all details of the line type |
| |
+======================================================================*/
PROCEDURE delete_line_type_details
(p_application_id IN NUMBER
,p_amb_context_code IN VARCHAR2
,p_entity_code IN VARCHAR2
,p_event_class_code IN VARCHAR2
,p_accounting_line_type_code IN VARCHAR2
,p_accounting_line_code IN VARCHAR2)
IS
l_application_id NUMBER(38) := p_application_id;
xla_utility_pkg.trace('> xla_line_types_pkg.delete_line_type_details' , 10);
xla_conditions_pkg.delete_condition
(p_context => 'A'
,p_application_id => l_application_id
,p_amb_context_code => l_amb_context_code
,p_entity_code => l_entity_code
,p_event_class_code => l_event_class_code
,p_accounting_line_type_code => l_accounting_line_type_code
,p_accounting_line_code => l_accounting_line_code);
DELETE
FROM xla_jlt_acct_attrs
WHERE application_id = p_application_id
AND amb_context_code = p_amb_context_code
AND event_class_code = p_event_class_code
AND accounting_line_type_code = p_accounting_line_type_code
AND accounting_line_code = p_accounting_line_code;
xla_utility_pkg.trace('< xla_line_types_pkg.delete_line_type_details' , 10);
(p_location => 'xla_line_types_pkg.delete_line_type_details');
END delete_line_type_details;
l_last_update_date DATE := sysdate;
l_last_update_login INTEGER := xla_environment_pkg.g_login_id;
l_last_updated_by INTEGER := xla_environment_pkg.g_usr_id;
SELECT user_sequence, bracket_left_code, bracket_right_code, value_type_code,
source_application_id, source_type_code, source_code,
flexfield_segment_code, value_flexfield_segment_code,
value_source_application_id, value_source_type_code,
value_source_code, value_constant, line_operator_code,
logical_operator_code, independent_value_constant
FROM xla_conditions
WHERE application_id = p_application_id
AND amb_context_code = p_amb_context_code
AND entity_code = p_entity_code
AND event_class_code = p_event_class_code
AND accounting_line_type_code = p_old_accting_line_type_code
AND accounting_line_code = p_old_accounting_line_code;
SELECT accounting_attribute_code, source_application_id,
source_type_code, source_code, event_class_default_flag
FROM xla_jlt_acct_attrs
WHERE application_id = p_application_id
AND amb_context_code = p_amb_context_code
AND event_class_code = p_event_class_code
AND accounting_line_type_code = p_old_accting_line_type_code
AND accounting_line_code = p_old_accounting_line_code;
SELECT flexfield_application_id, id_flex_code
FROM xla_sources_b
WHERE application_id = l_condition.source_application_id
AND source_type_code = l_condition.source_type_code
AND source_code = l_condition.source_code;
SELECT flexfield_application_id, id_flex_code
FROM xla_sources_b
WHERE application_id = l_condition.value_source_application_id
AND source_type_code = l_condition.value_source_type_code
AND source_code = l_condition.value_source_code;
SELECT xla_conditions_s.nextval
INTO l_condition_id
FROM DUAL;
INSERT INTO xla_conditions
(condition_id
,user_sequence
,application_id
,amb_context_code
,entity_code
,event_class_code
,accounting_line_type_code
,accounting_line_code
,bracket_left_code
,bracket_right_code
,value_type_code
,source_application_id
,source_type_code
,source_code
,flexfield_segment_code
,value_flexfield_segment_code
,value_source_application_id
,value_source_type_code
,value_source_code
,value_constant
,line_operator_code
,logical_operator_code
,creation_date
,created_by
,last_update_date
,last_updated_by
,last_update_login
,independent_value_constant)
VALUES
(l_condition_id
,l_condition.user_sequence
,p_application_id
,p_amb_context_code
,p_entity_code
,p_event_class_code
,p_new_accting_line_type_code
,p_new_accounting_line_code
,l_condition.bracket_left_code
,l_condition.bracket_right_code
,l_condition.value_type_code
,l_condition.source_application_id
,l_condition.source_type_code
,l_condition.source_code
,l_con_flexfield_segment_code
,l_con_v_flexfield_segment_code
,l_condition.value_source_application_id
,l_condition.value_source_type_code
,l_condition.value_source_code
,l_condition.value_constant
,l_condition.line_operator_code
,l_condition.logical_operator_code
,l_creation_date
,l_created_by
,l_last_update_date
,l_last_updated_by
,l_last_update_login
,l_condition.independent_value_constant);
INSERT INTO xla_jlt_acct_attrs
(application_id
,amb_context_code
,event_class_code
,accounting_line_type_code
,accounting_line_code
,accounting_attribute_code
,source_application_id
,source_type_code
,source_code
,event_class_default_flag
,creation_date
,created_by
,last_update_date
,last_updated_by
,last_update_login)
VALUES
(p_application_id
,p_amb_context_code
,p_event_class_code
,p_new_accting_line_type_code
,p_new_accounting_line_code
,l_acct_source.accounting_attribute_code
,l_acct_source.source_application_id
,l_acct_source.source_type_code
,l_acct_source.source_code
,l_acct_source.event_class_default_flag
,l_creation_date
,l_created_by
,l_last_update_date
,l_last_updated_by
,l_last_update_login);
SELECT event_type_code, line_definition_owner_code, line_definition_code
FROM xla_line_defn_jlt_assgns
WHERE application_id = p_application_id
AND amb_context_code = p_amb_context_code
AND event_class_code = p_event_class_code
AND accounting_line_type_code = p_accounting_line_type_code
AND accounting_line_code = p_accounting_line_code;
SELECT event_type_code, line_definition_owner_code, line_definition_code
FROM xla_line_defn_jlt_assgns
WHERE application_id = p_application_id
AND amb_context_code = p_amb_context_code
AND event_class_code = p_event_class_code
AND accounting_line_type_code = p_accounting_line_type_code
AND accounting_line_code = p_accounting_line_code
AND active_flag = 'Y';
SELECT event_type_code, line_definition_owner_code, line_definition_code,
accounting_line_type_code, accounting_line_code
FROM xla_mpa_jlt_assgns
WHERE application_id = p_application_id
AND amb_context_code = p_amb_context_code
AND event_class_code = p_event_class_code
AND mpa_accounting_line_type_code = p_accounting_line_type_code
AND mpa_accounting_line_code = p_accounting_line_code;
SELECT mpa_jlt.event_type_code,
mpa_jlt.line_definition_owner_code,
mpa_jlt.line_definition_code,
mpa_jlt.accounting_line_type_code,
mpa_jlt.accounting_line_code
FROM xla_mpa_jlt_assgns mpa_jlt,
xla_line_defn_jlt_assgns jlt
WHERE mpa_jlt.application_id = p_application_id
AND mpa_jlt.amb_context_code = p_amb_context_code
AND mpa_jlt.event_class_code = p_event_class_code
AND mpa_jlt.mpa_accounting_line_type_code = p_accounting_line_type_code
AND mpa_jlt.mpa_accounting_line_code = p_accounting_line_code
and mpa_jlt.application_id = jlt.application_id
and mpa_jlt.amb_context_code = jlt.amb_context_code
and mpa_jlt.event_class_code = jlt.event_class_code
and mpa_jlt.line_definition_owner_code = jlt.line_definition_owner_code
and mpa_jlt.line_definition_code = jlt.line_definition_code
and mpa_jlt.accounting_line_type_code = jlt.accounting_line_type_code
and mpa_jlt.accounting_line_code = jlt.accounting_line_code
and jlt.active_flag = 'Y';
IF p_event in ('DELETE','UPDATE') THEN
OPEN c_assignment_exist;
SELECT 'x'
FROM xla_line_defn_jlt_assgns s
WHERE application_id = p_application_id
AND amb_context_code = p_amb_context_code
AND event_class_code = p_event_class_code
AND accounting_line_type_code = p_accounting_line_type_code
AND accounting_line_code = p_accounting_line_code
AND exists (SELECT 'x'
FROM xla_aad_line_defn_assgns a
,xla_prod_acct_headers h
WHERE h.application_id = a.application_id
AND h.amb_context_code = a.amb_context_code
AND h.product_rule_type_code = a.product_rule_type_code
AND h.product_rule_code = a.product_rule_code
AND h.event_class_code = a.event_class_code
AND h.event_type_code = a.event_type_code
AND h.locking_status_flag = 'Y'
AND a.application_id = s.application_id
AND a.amb_context_code = s.amb_context_code
AND a.event_class_code = s.event_class_code
AND a.event_type_code = s.event_type_code
AND a.line_definition_owner_code = s.line_definition_owner_code
AND a.line_definition_code = s.line_definition_code);
This is a public procedure. It is used to delete the assignments of
those accounting attributes that is not needed for a gain/loss line
type. It is called when user change a credit or debit line type to
gain/loss line type. Some accounting attribute assignments existed
for the line type should be deleted
--------------------------------------------------------------------- */
PROCEDURE delete_non_gain_acct_attrs(
p_application_id IN NUMBER
,p_amb_context_code IN VARCHAR2
,p_event_class_code IN VARCHAR2
,p_accounting_line_type_code IN VARCHAR2
,p_accounting_line_code IN VARCHAR2)
IS
BEGIN
xla_utility_pkg.trace('> xla_line_types_pkg.delete_non_gain_acct_attrs' , 10); xla_utility_pkg.trace('application_id = '||p_application_id , 20);
delete xla_jlt_acct_attrs
WHERE application_id = p_application_id
AND amb_context_code = p_amb_context_code
AND event_class_code = p_event_class_code
AND accounting_line_type_code = p_accounting_line_type_code
AND accounting_line_code = p_accounting_line_code
AND accounting_attribute_code in (
'ENTERED_CURRENCY_AMOUNT'
,'ENTERED_CURRENCY_CODE'
,'EXCHANGE_RATE_TYPE'
,'EXCHANGE_DATE'
,'EXCHANGE_RATE'
);
xla_utility_pkg.trace('< xla_line_types_pkg.delete_non_gain_acct_attrs' , 10);
(p_location => 'xla_line_types_pkg.delete_non_gain_acct_attrs');
END delete_non_gain_acct_attrs;
This is a public procedure. It is insert the assignments of
those accounting attributes that is not needed for a gain/loss line
type but needed for normal debit/credit line type. It is called when
user change a gain/loss line type to credit or debit line type. Gain/loss
line type don't have the assignment for some accounting attributes. This
procedure will insert the assignment for those attributes
--------------------------------------------------------------------- */
PROCEDURE insert_non_gain_acct_attrs(
p_application_id IN NUMBER
,p_amb_context_code IN VARCHAR2
,p_event_class_code IN VARCHAR2
,p_accounting_line_type_code IN VARCHAR2
,p_accounting_line_code IN VARCHAR2)
IS
CURSOR c_attr_source
IS
SELECT e.accounting_attribute_code, e.source_application_id,
e.source_type_code, e.source_code
FROM xla_evt_class_acct_attrs e, xla_acct_attributes_b l
WHERE e.application_id = p_application_id
AND e.event_class_code = p_event_class_code
AND e.default_flag = 'Y'
AND e.accounting_attribute_code = l.accounting_attribute_code
AND l.assignment_level_code = 'EVT_CLASS_JLT'
AND e.accounting_attribute_code in (
'ENTERED_CURRENCY_AMOUNT'
,'ENTERED_CURRENCY_CODE'
,'EXCHANGE_RATE_TYPE'
,'EXCHANGE_DATE'
,'EXCHANGE_RATE');
xla_utility_pkg.trace('> xla_line_types_pkg.insert_non_gain_acct_attrs' , 10);
INSERT into xla_jlt_acct_attrs(
application_id
,amb_context_code
,event_class_code
,accounting_line_type_code
,accounting_line_code
,accounting_attribute_code
,source_application_id
,source_type_code
,source_code
,event_class_default_flag
,creation_date
,created_by
,last_update_date
,last_updated_by
,last_update_login)
(SELECT distinct p_application_id
,p_amb_context_code
,p_event_class_code
,p_accounting_line_type_code
,p_accounting_line_code
,e.accounting_attribute_code
,null
,null
,null
,'Y'
,g_creation_date
,g_created_by
,g_last_update_date
,g_last_updated_by
,g_last_update_login
FROM xla_evt_class_acct_attrs e, xla_acct_attributes_b l
WHERE e.application_id = p_application_id
AND e.event_class_code = p_event_class_code
AND e.accounting_attribute_code = l.accounting_attribute_code
AND l.assignment_level_code = 'EVT_CLASS_JLT'
AND e.accounting_attribute_code in (
'ENTERED_CURRENCY_AMOUNT'
,'ENTERED_CURRENCY_CODE'
,'EXCHANGE_RATE_TYPE'
,'EXCHANGE_DATE'
,'EXCHANGE_RATE')
);
UPDATE xla_jlt_acct_attrs
SET source_application_id = l_arr_source_application_id(i)
,source_type_code = l_arr_source_type_code(i)
,source_code = l_arr_source_code(i)
WHERE application_id = p_application_id
AND amb_context_code = p_amb_context_code
AND event_class_code = p_event_class_code
AND accounting_line_type_code = p_accounting_line_type_code
AND accounting_line_code = p_accounting_line_code
AND accounting_attribute_code = l_arr_acct_attribute_code(i)
AND event_class_default_flag = 'Y';
xla_utility_pkg.trace('< xla_line_types_pkg.insert_non_gain_acct_attrs' , 10);
(p_location => 'xla_line_types_pkg.insert_non_gain_acct_attrs');
END insert_non_gain_acct_attrs;
SELECT 'x'
FROM xla_jlt_acct_attrs
WHERE application_id = p_application_id
AND amb_context_code = p_amb_context_code
AND event_class_code = p_event_class_code
AND accounting_line_type_code = p_accounting_line_type_code
AND accounting_line_code = p_accounting_line_code
AND accounting_attribute_code in (
'ENTERED_CURRENCY_AMOUNT'
,'ENTERED_CURRENCY_CODE'
,'EXCHANGE_RATE_TYPE'
,'EXCHANGE_DATE'
,'EXCHANGE_RATE'
);
SELECT 'x'
FROM xla_jlt_acct_attrs
WHERE application_id = p_application_id
AND amb_context_code = p_amb_context_code
AND event_class_code = p_event_class_code
AND accounting_line_type_code = p_accounting_line_type_code
AND accounting_line_code = p_accounting_line_code;
SELECT e.accounting_attribute_code, e.source_application_id,
e.source_type_code, e.source_code
FROM xla_evt_class_acct_attrs e, xla_acct_attributes_b l
WHERE e.application_id = p_application_id
AND e.event_class_code = p_event_class_code
AND e.default_flag = 'Y'
AND e.accounting_attribute_code = l.accounting_attribute_code
AND l.assignment_level_code = 'EVT_CLASS_JLT';
SELECT e.accounting_attribute_code, e.source_application_id,
e.source_type_code, e.source_code
FROM xla_evt_class_acct_attrs e, xla_acct_attributes_b l
WHERE e.application_id = p_application_id
AND e.event_class_code = p_event_class_code
AND e.default_flag = 'Y'
AND e.accounting_attribute_code = l.accounting_attribute_code
AND l.assignment_level_code = 'EVT_CLASS_JLT'
AND l.inherited_flag = 'N';
INSERT into xla_jlt_acct_attrs(
application_id
,amb_context_code
,event_class_code
,accounting_line_type_code
,accounting_line_code
,accounting_attribute_code
,source_application_id
,source_type_code
,source_code
,event_class_default_flag
,creation_date
,created_by
,last_update_date
,last_updated_by
,last_update_login)
(SELECT distinct p_application_id
,p_amb_context_code
,p_event_class_code
,p_accounting_line_type_code
,p_accounting_line_code
,e.accounting_attribute_code
,null
,null
,null
,'Y'
,g_creation_date
,g_created_by
,g_last_update_date
,g_last_updated_by
,g_last_update_login
FROM xla_evt_class_acct_attrs e, xla_acct_attributes_b l
WHERE e.application_id = p_application_id
AND e.event_class_code = p_event_class_code
AND e.accounting_attribute_code = l.accounting_attribute_code
AND l.assignment_level_code = 'EVT_CLASS_JLT'
AND e.accounting_attribute_code not in (
'ENTERED_CURRENCY_AMOUNT'
,'ENTERED_CURRENCY_CODE'
,'EXCHANGE_RATE_TYPE'
,'EXCHANGE_DATE'
,'EXCHANGE_RATE')
AND l.assignment_group_code NOT IN ('MULTIPERIOD_CODE'
,'BUSINESS_FLOW')
UNION
SELECT distinct p_application_id
,p_amb_context_code
,p_event_class_code
,p_accounting_line_type_code
,p_accounting_line_code
,l.accounting_attribute_code
,null
,null
,null
,'N'
,g_creation_date
,g_created_by
,g_last_update_date
,g_last_updated_by
,g_last_update_login
FROM xla_acct_attributes_b l
WHERE l.assignment_level_code = 'JLT_ONLY'
);
INSERT into xla_jlt_acct_attrs(
application_id
,amb_context_code
,event_class_code
,accounting_line_type_code
,accounting_line_code
,accounting_attribute_code
,source_application_id
,source_type_code
,source_code
,event_class_default_flag
,creation_date
,created_by
,last_update_date
,last_updated_by
,last_update_login)
(SELECT distinct p_application_id
,p_amb_context_code
,p_event_class_code
,p_accounting_line_type_code
,p_accounting_line_code
,e.accounting_attribute_code
,null
,null
,null
,'Y'
,g_creation_date
,g_created_by
,g_last_update_date
,g_last_updated_by
,g_last_update_login
FROM xla_evt_class_acct_attrs e, xla_acct_attributes_b l
WHERE e.application_id = p_application_id
AND e.event_class_code = p_event_class_code
AND e.accounting_attribute_code = l.accounting_attribute_code
AND l.assignment_level_code = 'EVT_CLASS_JLT'
UNION
SELECT distinct p_application_id
,p_amb_context_code
,p_event_class_code
,p_accounting_line_type_code
,p_accounting_line_code
,l.accounting_attribute_code
,null
,null
,null
,'N'
,g_creation_date
,g_created_by
,g_last_update_date
,g_last_updated_by
,g_last_update_login
FROM xla_acct_attributes_b l
WHERE l.assignment_level_code = 'JLT_ONLY');
UPDATE xla_jlt_acct_attrs
SET source_application_id = l_arr_p_source_application_id(i)
,source_type_code = l_arr_p_source_type_code(i)
,source_code = l_arr_p_source_code(i)
WHERE application_id = p_application_id
AND amb_context_code = p_amb_context_code
AND event_class_code = p_event_class_code
AND accounting_line_type_code = p_accounting_line_type_code
AND accounting_line_code = p_accounting_line_code
AND accounting_attribute_code = l_arr_p_acct_attribute_code(i)
AND event_class_default_flag = 'Y';
UPDATE xla_jlt_acct_attrs
SET source_application_id = l_arr_source_application_id(i)
,source_type_code = l_arr_source_type_code(i)
,source_code = l_arr_source_code(i)
WHERE application_id = p_application_id
AND amb_context_code = p_amb_context_code
AND event_class_code = p_event_class_code
AND accounting_line_type_code = p_accounting_line_type_code
AND accounting_line_code = p_accounting_line_code
AND accounting_attribute_code = l_arr_acct_attribute_code(i)
AND event_class_default_flag = 'Y';
SELECT xpa.entity_code
, xpa.event_class_code
, xpa.event_type_code
, xpa.product_rule_type_code
, xpa.product_rule_code
, xpa.locking_status_flag
, xpa.validation_status_code
FROM xla_line_defn_jlt_assgns xjl
,xla_aad_line_defn_assgns xal
,xla_prod_acct_headers xpa
WHERE xpa.application_id = xal.application_id
AND xpa.amb_context_code = xal.amb_context_code
AND xpa.product_rule_type_code = xal.product_rule_type_code
AND xpa.product_rule_code = xal.product_rule_code
AND xpa.event_class_code = xal.event_class_code
AND xpa.event_type_code = xal.event_type_code
AND xal.application_id = xjl.application_id
AND xal.amb_context_code = xjl.amb_context_code
AND xal.event_class_code = xjl.event_class_code
AND xal.event_type_code = xjl.event_type_code
AND xal.line_definition_owner_code = xjl.line_definition_owner_code
AND xal.line_definition_code = xjl.line_definition_code
AND xjl.application_id = p_application_id
AND xjl.amb_context_code = p_amb_context_code
AND xjl.event_class_code = p_event_class_code
AND xjl.accounting_line_type_code = p_accounting_line_type_code
AND xjl.accounting_line_code = p_accounting_line_code
FOR UPDATE NOWAIT;
CURSOR c_update_aads IS
SELECT xal.event_class_code
, xal.product_rule_type_code
, xal.product_rule_code
FROM xla_line_defn_jlt_assgns xjl
,xla_aad_line_defn_assgns xal
,xla_prod_acct_headers xpa
,xla_product_rules_b xpr
WHERE xpr.application_id = xpa.application_id
AND xpr.amb_context_code = xpa.amb_context_code
AND xpr.product_rule_type_code = xpa.product_rule_type_code
AND xpr.product_rule_code = xpa.product_rule_code
AND xpa.application_id = xal.application_id
AND xpa.amb_context_code = xal.amb_context_code
AND xpa.event_class_code = xal.event_class_code
AND xpa.event_type_code = xal.event_type_code
AND xal.application_id = xjl.application_id
AND xal.amb_context_code = xjl.amb_context_code
AND xal.event_class_code = xjl.event_class_code
AND xal.event_type_code = xjl.event_type_code
AND xal.line_definition_owner_code = xjl.line_definition_owner_code
AND xal.line_definition_code = xjl.line_definition_code
AND xjl.application_id = p_application_id
AND xjl.amb_context_code = p_amb_context_code
AND xjl.event_class_code = p_event_class_code
AND xjl.accounting_line_type_code = p_accounting_line_type_code
AND xjl.accounting_line_code = p_accounting_line_code;
UPDATE xla_line_definitions_b xld
SET validation_status_code = 'N'
WHERE xld.application_id = p_application_id
AND xld.amb_context_code = p_amb_context_code
AND xld.event_class_code = p_event_class_code
AND xld.validation_status_code <> 'N'
AND EXISTS
(SELECT 1
FROM xla_line_defn_jlt_assgns xjl
WHERE xjl.application_id = p_application_id
AND xjl.amb_context_code = p_amb_context_code
AND xjl.event_class_code = p_event_class_code
AND xjl.accounting_line_type_code = p_accounting_line_type_code
AND xjl.accounting_line_code = p_accounting_line_code
AND xjl.event_type_code = xld.event_type_code
AND xjl.line_definition_owner_code = xld.line_definition_owner_code
AND xjl.line_definition_code = xld.line_definition_code);
OPEN c_update_aads;
FETCH c_update_aads BULK COLLECT INTO l_event_class_codes
,l_product_rule_type_codes
,l_product_rule_codes;
CLOSE c_update_aads;
UPDATE xla_product_rules_b xpr
SET compile_status_code = 'N'
, updated_flag = 'Y'
, last_update_date = sysdate
, last_updated_by = xla_environment_pkg.g_usr_id
, last_update_login = xla_environment_pkg.g_login_id
WHERE application_id = p_application_id
AND amb_context_code = p_amb_context_code
AND product_rule_type_code = l_product_rule_type_codes(i)
AND product_rule_code = l_product_rule_codes(i)
AND (compile_status_code <> 'N' OR
updated_flag <> 'Y');
UPDATE xla_prod_acct_headers xpa
SET validation_status_code = 'N'
, last_update_date = sysdate
, last_updated_by = xla_environment_pkg.g_usr_id
, last_update_login = xla_environment_pkg.g_login_id
WHERE application_id = p_application_id
AND amb_context_code = p_amb_context_code
AND event_class_code = l_event_class_codes(i)
AND product_rule_type_code = l_product_rule_type_codes(i)
AND product_rule_code = l_product_rule_codes(i)
AND validation_status_code <> 'N';
UPDATE xla_appli_amb_contexts
SET updated_flag = 'Y'
, last_update_date = sysdate
, last_updated_by = xla_environment_pkg.g_usr_id
, last_update_login = xla_environment_pkg.g_login_id
WHERE application_id = p_application_id
AND amb_context_code = p_amb_context_code
AND updated_flag <> 'Y';
IF c_update_aads%ISOPEN THEN
CLOSE c_update_aads;
IF c_update_aads%ISOPEN THEN
CLOSE c_update_aads;
SELECT e.source_application_id, e.source_type_code, e.source_code,
s.name, l.meaning source_type_dsp
FROM xla_evt_class_acct_attrs e, xla_sources_tl s, xla_lookups l
WHERE e.application_id = p_application_id
AND e.event_class_code = p_event_class_code
AND e.accounting_attribute_code = p_accounting_attribute_code
AND e.default_flag = 'Y'
AND e.source_application_id = s.application_id (+)
AND e.source_type_code = s.source_type_code (+)
AND e.source_code = s.source_code (+)
AND s.language (+) = USERENV('LANG')
AND e.source_type_code = l.lookup_code (+)
AND l.lookup_type (+) = 'XLA_SOURCE_TYPE';
SELECT business_method_code
FROM xla_acct_line_types_b
WHERE application_id = p_application_id
AND amb_context_code = p_amb_context_code
AND event_class_code = p_event_class_code
AND accounting_line_type_code = p_accounting_line_type_code
AND accounting_line_code = p_accounting_line_code;
SELECT distinct s.assignment_group_code
FROM xla_acct_attributes_b s
WHERE s.assignment_group_code IS NOT NULL
AND EXISTS (SELECT 'x'
FROM xla_jlt_acct_attrs a
WHERE a.application_id = p_application_id
AND a.amb_context_code = p_amb_context_code
AND a.event_class_code = p_event_class_code
AND a.accounting_line_type_code = p_accounting_line_type_code
AND a.accounting_line_code = p_accounting_line_code
AND a.accounting_attribute_code = s.accounting_attribute_code
AND a.source_code IS NOT NULL
UNION
SELECT 'x'
FROM xla_evt_class_acct_attrs_fvl e
WHERE e.application_id = p_application_id
AND e.event_class_code = p_event_class_code
AND e.accounting_attribute_code = s.accounting_attribute_code
AND e.assignment_level_code = 'EVT_CLASS_ONLY'
AND e.default_flag = 'Y');
SELECT s.name
FROM xla_acct_attributes_vl s
WHERE assignment_level_code = 'EVT_CLASS_JLT'
AND assignment_required_code = 'G'
AND assignment_group_code = l_mapping_group.assignment_group_code
AND exists (SELECT 'x'
FROM xla_jlt_acct_attrs a
WHERE a.application_id = p_application_id
AND a.amb_context_code = p_amb_context_code
AND a.event_class_code = p_event_class_code
AND a.accounting_line_type_code = p_accounting_line_type_code
AND a.accounting_line_code = p_accounting_line_code
AND a.source_code IS NULL
AND a.accounting_attribute_code = s.accounting_attribute_code);
SELECT s.name
FROM xla_acct_attributes_vl s
WHERE assignment_level_code = 'EVT_CLASS_JLT'
AND assignment_required_code = 'G'
AND inherited_flag = 'N'
AND assignment_group_code = l_mapping_group.assignment_group_code
AND exists (SELECT 'x'
FROM xla_jlt_acct_attrs a
WHERE a.application_id = p_application_id
AND a.amb_context_code = p_amb_context_code
AND a.event_class_code = p_event_class_code
AND a.accounting_line_type_code = p_accounting_line_type_code
AND a.accounting_line_code = p_accounting_line_code
AND a.source_code IS NULL
AND a.accounting_attribute_code = s.accounting_attribute_code);
l_last_update_date DATE := sysdate;
l_last_update_login INTEGER := xla_environment_pkg.g_login_id;
l_last_updated_by INTEGER := xla_environment_pkg.g_usr_id;
SELECT user_sequence, bracket_left_code, bracket_right_code, value_type_code,
source_application_id, source_type_code, source_code,
flexfield_segment_code, value_flexfield_segment_code,
value_source_application_id, value_source_type_code,
value_source_code, value_constant, line_operator_code,
logical_operator_code, independent_value_constant
FROM xla_conditions
WHERE application_id = p_application_id
AND amb_context_code = p_amb_context_code
AND entity_code = p_entity_code
AND event_class_code = p_event_class_code
AND accounting_line_type_code = p_old_accting_line_type_code
AND accounting_line_code = p_old_accounting_line_code;
SELECT flexfield_application_id, id_flex_code
FROM xla_sources_b
WHERE application_id = l_condition.source_application_id
AND source_type_code = l_condition.source_type_code
AND source_code = l_condition.source_code;
SELECT flexfield_application_id, id_flex_code
FROM xla_sources_b
WHERE application_id = l_condition.value_source_application_id
AND source_type_code = l_condition.value_source_type_code
AND source_code = l_condition.value_source_code;
| update_acct_attrs |
| |
| Updates accounting attributes for the line type |
| |
+======================================================================*/
PROCEDURE update_acct_attrs(
p_application_id IN NUMBER
,p_amb_context_code IN VARCHAR2
,p_event_class_code IN VARCHAR2
,p_accounting_line_type_code IN VARCHAR2
,p_accounting_line_code IN VARCHAR2
,p_business_method_code IN VARCHAR2)
IS
-- Array Declaration
l_arr_acct_attribute_code t_array_codes;
SELECT e.accounting_attribute_code
FROM xla_evt_class_acct_attrs e, xla_acct_attributes_b l
WHERE e.application_id = p_application_id
AND e.event_class_code = p_event_class_code
AND e.default_flag = 'Y'
AND e.accounting_attribute_code = l.accounting_attribute_code
AND l.assignment_level_code = 'EVT_CLASS_JLT'
AND l.inherited_flag = 'Y';
SELECT e.accounting_attribute_code, e.source_application_id,
e.source_type_code, e.source_code
FROM xla_evt_class_acct_attrs e, xla_acct_attributes_b l
WHERE e.application_id = p_application_id
AND e.event_class_code = p_event_class_code
AND e.default_flag = 'Y'
AND e.accounting_attribute_code = l.accounting_attribute_code
AND l.assignment_level_code = 'EVT_CLASS_JLT'
AND l.inherited_flag = 'Y';
xla_utility_pkg.trace('> xla_line_types_pkg.update_acct_attrs' , 10);
UPDATE xla_jlt_acct_attrs
SET source_application_id = null
,source_type_code = null
,source_code = null
WHERE application_id = p_application_id
AND amb_context_code = p_amb_context_code
AND event_class_code = p_event_class_code
AND accounting_line_type_code = p_accounting_line_type_code
AND accounting_line_code = p_accounting_line_code
AND accounting_attribute_code = l_arr_p_acct_attribute_code(i);
UPDATE xla_jlt_acct_attrs
SET source_application_id = l_arr_source_application_id(i)
,source_type_code = l_arr_source_type_code(i)
,source_code = l_arr_source_code(i)
,event_class_default_flag = 'Y'
WHERE application_id = p_application_id
AND amb_context_code = p_amb_context_code
AND event_class_code = p_event_class_code
AND accounting_line_type_code = p_accounting_line_type_code
AND accounting_line_code = p_accounting_line_code
AND accounting_attribute_code = l_arr_acct_attribute_code(i);
xla_utility_pkg.trace('< xla_line_types_pkg.update_acct_attrs' , 10);
(p_location => 'xla_line_types_pkg.update_acct_attrs');
END update_acct_attrs;
SELECT mpa_option_code
FROM xla_acct_line_types_b
WHERE application_id = p_application_id
AND amb_context_code = p_amb_context_code
AND event_class_code = p_event_class_code
AND accounting_line_type_code = p_accounting_line_type_code
AND accounting_line_code = p_accounting_line_code;
SELECT event_type_code, line_definition_owner_code, line_definition_code
FROM xla_line_defn_jlt_assgns
WHERE application_id = p_application_id
AND amb_context_code = p_amb_context_code
AND event_class_code = p_event_class_code
AND accounting_line_type_code = p_accounting_line_type_code
AND accounting_line_code = p_accounting_line_code;
SELECT event_type_code, line_definition_owner_code, line_definition_code,
accounting_line_type_code, accounting_line_code
FROM xla_mpa_jlt_assgns
WHERE application_id = p_application_id
AND amb_context_code = p_amb_context_code
AND event_class_code = p_event_class_code
AND mpa_accounting_line_type_code = p_accounting_line_type_code
AND mpa_accounting_line_code = p_accounting_line_code;