You are on page 1of 2

create or replace procedure BTC_ELEMENT_LINK_COST_P

AS
CURSOR c1
IS
select btc.* ,pelf.object_version_number
from BTC_ELEMENT_LINK_COSTING_T_6thjan btc,pay_element_links_f pelf
where pelf.element_link_id = btc.STANDRAD
and nvl(btc.process_flag,'E')= 'E'
--and element_name = 'Annual Leave provision Retro'
;
-- AND pcak_bal.segment6 = '843000'

l_datetrack_mode VARCHAR2 (100) := 'CORRECTION';


l_cost_allocation_keyflex_id NUMBER := NULL;
l_balancing_keyflex_id NUMBER := NULL;
l_cost_concat_segments_out VARCHAR2 (500) := NULL;
l_balance_concat_segments_out VARCHAR2 (500) := NULL;
l_effective_start_date DATE := NULL;
l_effective_end_date DATE := NULL;
l_message varchar2(3000);
BEGIN

INSERT INTO FND_SESSIONS values (userenv('sessionid'), sysdate);


COMMIT;

FOR i IN c1
LOOP
BEGIN
l_cost_allocation_keyflex_id := NULL;
l_balancing_keyflex_id := NULL;
l_cost_concat_segments_out := NULL;
l_balance_concat_segments_out := NULL;
l_effective_start_date := NULL;
l_effective_end_date := NULL;

pay_element_link_api.update_element_link (
p_validate => FALSE,
p_effective_date => to_date('01-01-1951','dd-mm-rrrr'),
p_element_link_id => i.STANDRAD,
p_datetrack_mode => l_datetrack_mode,
p_transfer_to_gl_flag => 'Y',
--p_costable_type => i.COSABLE_TYPE,
--p_cost_segment1 => i.cost_seg1,
--p_cost_segment2 => null,
--p_cost_segment3 => '32010',
--p_cost_segment4 => i.cost_seg4,
p_cost_segment5 => i.COST_NATURAL_ACCOUNT,
--p_cost_segment6 => i.cost_seg6,
--p_cost_segment7 => i.cost_seg7,
--p_balance_segment1 => '110',
--p_balance_segment2 => '99999',
--p_balance_segment3 => '99999',
--p_balance_segment4 => '99999',
p_balance_segment5 => i.BALANCE_NATURAL_ACCOUNT,
--p_balance_segment6 => '99999',
--p_balance_segment7 => '9999',
--p_balance_segment8 => '9999',
p_object_version_number => i.object_version_number,
p_cost_allocation_keyflex_id => l_cost_allocation_keyflex_id,
p_balancing_keyflex_id => l_balancing_keyflex_id,
p_cost_concat_segments_out => l_cost_concat_segments_out,
p_balance_concat_segments_out => l_balance_concat_segments_out,
p_effective_start_date => l_effective_start_date,
p_effective_end_date => l_effective_end_date);

COMMIT;

/*insert into BTC_LINK_COST_STATUS_T4


values(i.element_link_id ,'Y','Success');
*/
update BTC_ELEMENT_LINK_COSTING_T_6thjan set process_flag = 'Y'
where STANDRAD = i.STANDRAD;
COMMIT;

EXCEPTION
WHEN OTHERS
THEN
l_message := substr(SQLERRM,1,2000);
/*insert into BTC_LINK_COST_STATUS_T4
values(i.element_link_id ,'E',l_message);*/
update BTC_ELEMENT_LINK_COSTING_T_6thjan set process_flag = 'E',message =
l_message
where STANDRAD = i.STANDRAD;
COMMIT;
END;
END LOOP;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line ('Main Exception ' || SQLERRM);
END;

You might also like