The following lines contain the word 'select', 'insert', 'update' or 'delete':
PROCEDURE delete_distribution;
PROCEDURE update_distribution;
PROCEDURE update_ei(p_upd_type IN VARCHAR2);
PROCEDURE ei_mass_update;
log_message('reverse_distribution: ' || '100: Selected org id');
update_ei('R');
log_message('reverse_distribution: ' || '400: Back from call to update_ei');
select 1 into l_exists
from dual
where exists
( select 'Reverse in future period net-zero pair'
from pa_expenditure_items_all ei,
pa_cost_distribution_lines_all cdl,
pa_cost_distribution_lines_all reversal_cdl,
-- Start Changes for bug 15892024
pa_expenditures_all exp,
pa_expenditure_groups_all exp_grp
-- End Changes for bug 15892024
where ei.adjusted_expenditure_item_id = lcur.expenditure_item_id
and ei.expenditure_item_id = reversal_cdl.expenditure_item_id
and cdl.expenditure_item_id = lcur.expenditure_item_id
and cdl.pa_period_name <> reversal_cdl.pa_period_name
-- Start Changes for bug 15892024
and exp.expenditure_id = ei.expenditure_id
and exp_grp.expenditure_group = exp.expenditure_group
and exp_grp.period_accrual_flag = 'Y'
-- End Changes for bug 15892024
);
select 1 into l_exists
from dual
where exists
( select 'Reverse in future period net-zero pair'
from pa_expenditure_items_all parent_ei,
pa_cost_distribution_lines_all cdl,
pa_cost_distribution_lines_all parent_cdl,
-- Start Changes for bug 15892024
pa_expenditures_all exp,
pa_expenditure_groups_all exp_grp
-- End Changes for bug 15892024
where parent_ei.expenditure_item_id = lcur.adjusted_exp_item_id
and parent_ei.expenditure_item_id = parent_cdl.expenditure_item_id
and cdl.expenditure_item_id = lcur.expenditure_item_id
and parent_cdl.pa_period_name <> cdl.pa_period_name
-- Start Changes for bug 15892024
and exp.expenditure_id = parent_ei.expenditure_id
and exp_grp.expenditure_group = exp.expenditure_group
and exp_grp.period_accrual_flag = 'Y'
-- End Changes for bug 15892024
);
l_new_line_num := 0; -- Keep at zero; increment before insert
SELECT rowid,
cc_dist_line_id,
acct_currency_code,
acct_tp_exchange_rate,
acct_tp_rate_date,
acct_tp_rate_type,
amount,
bill_markup_percentage,
bill_rate,
cr_code_combination_id,
cross_charge_code,
denom_tp_currency_code,
denom_transfer_price,
dist_line_id_reversed,
dr_code_combination_id,
expenditure_item_id,
ind_compiled_set_id,
line_num,
line_num_reversed,
markup_calc_base_code,
project_id,
reversed_flag,
rule_percentage,
schedule_line_percentage,
task_id,
tp_base_amount,
tp_job_id,
transfer_status_code,
/* Added for cross proj*/
tp_amt_type_code,
project_tp_rate_type,
project_tp_rate_date,
project_tp_exchange_rate,
project_transfer_price,
projfunc_tp_rate_type,
projfunc_tp_rate_date,
projfunc_tp_exchange_rate,
projfunc_transfer_price,
project_tp_currency_code,
projfunc_tp_currency_code
/*End for cross proj*/
INTO
maxrec.CcdRowid,
maxrec.cc_dist_line_id,
maxrec.acct_currency_code,
maxrec.acct_tp_exchange_rate,
maxrec.acct_tp_rate_date,
maxrec.acct_tp_rate_type,
maxrec.amount,
maxrec.bill_markup_percentage,
maxrec.bill_rate,
maxrec.cr_code_combination_id,
maxrec.cross_charge_code,
maxrec.denom_tp_currency_code,
maxrec.denom_transfer_price,
maxrec.dist_line_id_reversed,
maxrec.dr_code_combination_id,
maxrec.expenditure_item_id,
maxrec.ind_compiled_set_id,
maxrec.line_num,
maxrec.line_num_reversed,
maxrec.markup_calc_base_code,
maxrec.project_id,
maxrec.reversed_flag,
maxrec.rule_percentage,
maxrec.schedule_line_percentage,
maxrec.task_id,
maxrec.tp_base_amount,
maxrec.tp_job_id,
l_transfer_status_code,
/*Added for cross proj*/
maxrec.tp_amt_type_code,
maxrec.project_tp_rate_type,
maxrec.project_tp_rate_date,
maxrec.project_tp_exchange_rate,
maxrec.project_transfer_price,
maxrec.projfunc_tp_rate_type,
maxrec.projfunc_tp_rate_date,
maxrec.projfunc_tp_exchange_rate,
maxrec.projfunc_transfer_price,
maxrec.project_tp_currency_code,
maxrec.projfunc_tp_currency_code
/*end for cross proj*/
FROM pa_cc_dist_lines
WHERE expenditure_item_id = l_source_eid
AND line_type = G_BL_LINE_TYPE
AND line_num = (SELECT max(line_num)
FROM pa_cc_dist_lines
WHERE expenditure_item_id = l_source_eid
AND line_type = G_BL_LINE_TYPE);
delete_distribution;
log_message('reverse_distribution: ' || '2050: delete_distribution call over');
update_distribution;
log_message('reverse_distribution: ' || '2150: Update_distribution call over');
update_ei('A');
log_message('reverse_distribution: ' || '2450: Back from update_ei-A');
update_ei('N');
log_message('reverse_distribution: ' || '2550: Back from update_ei-N');
log_message('reverse_distribution: ' || '2600: Update EI with null in reversed EI');
update_ei('G');
log_message('reverse_distribution: ' || '2650: Back from update_ei-G');
update_ei('X');
log_message('reverse_distribution: ' || '2750: Back from update_ei-X');
log_message('reverse_distribution: ' || '2900: Calling mass delete');
mass_delete;
log_message('reverse_distribution: ' || '2950: Checking update required, g_ucnt = ' || g_ucnt);
log_message('reverse_distribution: ' || '3000: Calling mass update');
mass_update;
log_message('reverse_distribution: ' || '3050: Checking insert required');
log_message('reverse_distribution: ' || '3100: Calling mass insert');
mass_insert;
get inserted only during mass_insert. ****** */
update pa_cc_dist_lines ccdl2
set dist_line_id_reversed =
(select ccdl1.cc_dist_line_id from pa_cc_dist_lines_all ccdl1,
pa_expenditure_items_all ei1,
pa_expenditure_items_all ei2
where ccdl1.expenditure_item_id = ei1.expenditure_item_id
and ccdl2.expenditure_item_id = ei2.expenditure_item_id
and ei2.adjusted_expenditure_item_id = ei1.expenditure_item_id
and ccdl1.line_type = 'BL'
and ccdl1.line_num =
(select max(line_num)
from pa_cc_dist_lines
where expenditure_item_id = ei1.expenditure_item_id
and line_type = 'BL')
)
where ccdl2.request_id = pa_cc_utils.g_request_id
and ccdl2.dist_line_id_reversed is null
and ccdl2.line_type = 'BL'
and exists
(select 1 from pa_expenditure_items_all ei
where ei.expenditure_item_id = ccdl2.expenditure_item_id
and ei.adjusted_expenditure_item_id is not null
and ei.net_zero_adjustment_flag = 'Y'
--and ei.PRVDR_ACCRUAL_DATE is not null
);
log_message('reverse_distribution: ' || '3150: Calling mass EI updates');
ei_mass_update;
log_message('reverse_distribution: ' || '3200: All updates over');
SELECT ledger_id,
currency_code
FROM gl_alc_ledger_rships_v
WHERE source_ledger_id = p_primary_sob_id
AND application_id = pa_cc_utils.g_program_application_id
AND relationship_enabled_flag = 'Y'
AND (org_id = -99 OR org_id = p_org_id); -- R12 MRC changes
in_acct_currency_code.delete;
in_acct_tp_exchange_rate.delete;
in_acct_tp_rate_date.delete;
in_acct_tp_rate_type.delete;
in_amount.delete;
in_bill_markup_percentage.delete;
in_bill_rate.delete;
in_RowId.delete;
in_cc_rejection_code.delete;
in_cc_dist_line_id.delete;
in_cr_code_combination_id.delete;
in_cross_charge_code.delete;
in_denom_tp_currency_code.delete;
in_denom_transfer_price.delete;
in_dist_line_id_reversed.delete;
in_dr_code_combination_id.delete;
in_expenditure_item_id.delete;
in_expenditure_item_date.delete;
in_ind_compiled_set_id.delete;
in_line_num.delete;
in_line_num_reversed.delete;
in_line_type.delete;
in_markup_calc_base_code.delete;
in_org_id.delete;
in_pa_date.delete;
in_project_id.delete;
in_prvdr_org_id.delete;
in_reference_1.delete;
in_reference_2.delete;
in_reference_3.delete;
in_reversed_flag.delete;
in_rule_percentage.delete;
in_schedule_line_percentage.delete;
in_task_id.delete;
in_tp_base_amount.delete;
in_tp_job_id.delete;
in_upd_type.delete;
PROCEDURE update_distribution IS
BEGIN
set_curr_function('update_distribution');
log_message('reverse_distribution: ' || '3850: Entered update_distribution');
log_message('reverse_distribution: ' || '3900: Leaving update_distribution');
log_message('reverse_distribution: ' || '3950: ERROR in update_distribution');
END update_distribution;
PROCEDURE delete_distribution IS
BEGIN
set_curr_function('delete_distribution');
log_message('4300: Entered delete_distribution');
log_message('4350: Leaving delete_distribution');
log_message('4400: ERROR in delete_distribution');
END delete_distribution;
PROCEDURE mass_delete IS
BEGIN
set_curr_function('mass_delete');
log_message('4450: Entered mass_delete for '|| to_char(g_dcnt));
log_message('4500: NO RECORDS TO DELETE');
DELETE FROM PA_CC_DIST_LINES
WHERE rowid = in_RowId(i);
log_message('4600: -- Rows deleted = ' || to_char(sql%ROWCOUNT));
log_message('4650: Performing mass_delete for MRC');
pa_mc_borrlent.bl_mc_delete
(
p_cc_dist_line_id => in_cc_dist_line_id
,p_debug_mode => pa_cc_utils.g_debug_mode
);
log_message('4700: Finished delete for MRC');
g_del_rec.delete;
log_message('4800: Leaving mass_delete');
log_message('4850: ERROR in mass_delete');
END mass_delete;
PROCEDURE mass_insert IS
i PLS_INTEGER;
set_curr_function('mass_insert');
log_message('4900: Entered mass_insert for '|| g_icnt);
SELECT pa_cc_dist_lines_s.nextval
INTO in_cc_dist_line_id(i)
FROM dual;
log_message('4950: Set all values about to perform insert');
log_message('5000: NO RECORDS TO INSERT');
log_message('5050: Performing insert for ' || to_char(g_icnt));
select count(*) into rec_count
from pa_cc_dist_lines
where
expenditure_item_id=in_expenditure_item_id(i)
AND line_num=in_line_num(i) ;
log_message('Inserting into pa_cc_dist_lines');
INSERT
INTO pa_cc_dist_lines
(
org_id ,
cc_dist_line_id,
expenditure_item_id,
line_num,
line_type,
cross_charge_code,
acct_currency_code,
amount,
project_id,
task_id,
request_id,
last_update_date,
last_updated_by,
creation_date,
created_by,
last_update_login,
line_num_reversed,
dist_line_id_reversed,
reversed_flag,
denom_tp_currency_code,
denom_transfer_price,
acct_tp_rate_type,
acct_tp_rate_date,
acct_tp_exchange_rate,
dr_code_combination_id,
cr_code_combination_id,
pa_date,
gl_date,
pa_period_name, /* EPP */
gl_period_name, /* EPP */
gl_batch_name,
transfer_status_code,
transferred_date,
transfer_rejection_code,
markup_calc_base_code,
ind_compiled_set_id,
bill_rate,
tp_base_amount,
tp_job_id,
bill_markup_percentage,
schedule_line_percentage,
rule_percentage,
reference_1,
reference_2,
reference_3,
program_application_id,
program_id,
program_update_date,
/* Added for cross proj*/
tp_amt_type_code,
project_tp_rate_type,
project_tp_rate_date,
project_tp_exchange_rate,
project_transfer_price,
projfunc_tp_rate_type,
projfunc_tp_rate_date,
projfunc_tp_exchange_rate,
projfunc_transfer_price,
project_tp_currency_code,
projfunc_tp_currency_code
/* End for cross proj*/
)
VALUES
(
g_org_id , -- Current OU
in_cc_dist_line_id(i), -- cc_dist_line_id
in_expenditure_item_id(i), -- expenditure_item_id
in_line_num(i), -- line_num
in_line_type(i), -- line_type
in_cross_charge_code(i), -- cross_charge_code
in_acct_currency_code(i), -- acct_currency_code
in_amount(i), -- amount
in_project_id(i), -- project_id
in_task_id(i), -- task_id
pa_cc_utils.g_request_id, -- request_id
sysdate, -- last_update_date
pa_cc_utils.g_user_id, -- last_updated_by
sysdate, -- creation_date
pa_cc_utils.g_user_id, -- created_by
pa_cc_utils.g_login_id, -- last_update_login
in_line_num_reversed(i), -- line_num_reversed
in_dist_line_id_reversed(i), -- dist_line_id_reversed
in_reversed_flag(i), -- reversed_flag
in_denom_tp_currency_code(i), -- denom_tp_currency_code
in_denom_transfer_price(i), -- denom_transfer_price
in_acct_tp_rate_type(i), -- acct_tp_rate_type
in_acct_tp_rate_date(i), -- acct_tp_rate_date
in_acct_tp_exchange_rate(i), -- acct_tp_exchange_rate
in_dr_code_combination_id(i), -- dr_code_combination_id
in_cr_code_combination_id(i), -- cr_code_combination_id
in_pa_date(i), -- pa_date
in_gl_date(i), -- gl_date -- EPP
in_pa_period_name(i), -- pa_period_name -- EPP
in_gl_period_name(i), -- gl_period_name -- EPP
NULL, -- gl_batch_name
'P', -- transfer_status_code
NULL, -- transferred_date
NULL, -- transfer_rejection_code
in_markup_calc_base_code(i), -- markup_calc_base_code
in_ind_compiled_set_id(i), -- ind_compiled_set_id
in_bill_rate(i), -- bill_rate
in_tp_base_amount(i), -- tp_base_amount
in_tp_job_id(i), -- tp_job_id
in_bill_markup_percentage(i), -- bill_markup_percentage
in_schedule_line_percentage(i),-- schedule_line_percentage
in_rule_percentage(i), -- rule_percentage
in_reference_1(i), -- reference_1
in_reference_2(i), -- reference_2
in_reference_3(i), -- reference_3
pa_cc_utils.g_program_application_id, -- program_application_id
pa_cc_utils.g_program_id, -- program_id
sysdate, -- program_update_date
/* Added for cross proj*/
in_tp_amt_type_code(i),
in_project_tp_rate_type(i),
in_project_tp_rate_date(i),
in_project_tp_exchange_rate(i),
in_project_transfer_price(i),
in_projfunc_tp_rate_type(i),
in_projfunc_tp_rate_date(i),
in_projfunc_tp_exchange_rate(i),
in_projfunc_transfer_price(i),
in_project_tp_currency_code(i),
in_projfunc_tp_currency_code(i)
/* End for cross proj*/
);
log_message('Pa_cc_dist_lines Insert aborted.');
log_message('5100: -- Rows inserted = ' || to_char(sql%ROWCOUNT));
log_message('5150: MRC Enabled; calling mass insert for MRC:'||
pa_mc_borrlent.bl_mc_insert
(
p_primary_sob_id => pa_cc_utils.g_primary_sob_id
,p_prvdr_org_id => in_prvdr_org_id
,p_rsob_id => pa_cc_utils.g_reporting_sob_id
,p_rcurrency_code => pa_cc_utils.g_reporting_curr_code
,p_cc_dist_line_id => in_cc_dist_line_id
,p_expenditure_item_id => in_expenditure_item_id
,p_line_num => in_line_num
,p_line_type => in_line_type
,p_denom_currency_code => in_denom_tp_currency_code
,p_acct_tp_rate_type => in_acct_tp_rate_type
,p_expenditure_item_date => in_expenditure_item_date
,p_acct_tp_exchange_rate => in_acct_tp_exchange_rate
,p_denom_transfer_price => in_denom_transfer_price
,p_dist_line_id_reversed => in_dist_line_id_reversed
,p_prvdr_cost_reclass_code => in_reference_2
,p_cdl_line_num => in_reference_3
,p_login_id => pa_cc_utils.g_login_id
,p_program_id => pa_cc_utils.g_program_id
,p_program_application_id => pa_cc_utils.g_program_application_id
,p_request_id => pa_cc_utils.g_request_id
,p_debug_mode => pa_cc_utils.g_debug_mode
);
g_ins_rec.delete;
log_message('5200: Leaving mass_insert');
log_message('5250: ERROR in mass_insert');
END mass_insert;
PROCEDURE mass_update IS
i PLS_INTEGER;
set_curr_function('mass_update');
log_message('5300: About to perform mass update for ' || g_ucnt);
log_message('5350: Applying updates to database');
log_message('5400: NO RECORDS TO UPDATE');
UPDATE pa_cc_dist_lines
SET
reversed_flag =
decode(in_upd_type(i), 'U', reversed_flag, 'Y'),
acct_currency_code =
decode(in_upd_type(i), 'U',
in_acct_currency_code(i), acct_currency_code),
acct_tp_exchange_rate =
decode(in_upd_type(i), 'U',
in_acct_tp_exchange_rate(i), acct_tp_exchange_rate),
acct_tp_rate_date =
decode(in_upd_type(i), 'U',
in_acct_tp_rate_date(i), acct_tp_rate_date),
acct_tp_rate_type =
decode(in_upd_type(i), 'U',
in_acct_tp_rate_type(i), acct_tp_rate_type),
amount =
decode(in_upd_type(i), 'U',
in_amount(i), amount),
bill_markup_percentage =
decode(in_upd_type(i), 'U',
in_bill_markup_percentage(i), bill_markup_percentage),
bill_rate =
decode(in_upd_type(i), 'U',
in_bill_rate(i), bill_rate),
cr_code_combination_id =
decode(in_upd_type(i), 'U',
in_cr_code_combination_id(i), cr_code_combination_id),
cross_charge_code =
decode(in_upd_type(i), 'U',
in_cross_charge_code(i), cross_charge_code),
denom_tp_currency_code =
decode(in_upd_type(i), 'U',
in_denom_tp_currency_code(i), denom_tp_currency_code),
denom_transfer_price =
decode(in_upd_type(i), 'U',
in_denom_transfer_price(i), denom_transfer_price),
dr_code_combination_id =
decode(in_upd_type(i), 'U',
in_dr_code_combination_id(i), dr_code_combination_id),
ind_compiled_set_id =
decode(in_upd_type(i), 'U',
in_ind_compiled_set_id(i), ind_compiled_set_id),
markup_calc_base_code =
decode(in_upd_type(i), 'U',
in_markup_calc_base_code(i), markup_calc_base_code),
reference_1 =
decode(in_upd_type(i), 'U',
in_reference_1(i), reference_1),
reference_2 =
decode(in_upd_type(i), 'U',
in_reference_2(i), reference_2),
reference_3 =
decode(in_upd_type(i), 'U',
in_reference_3(i), reference_3),
rule_percentage =
decode(in_upd_type(i), 'U',
in_rule_percentage(i), rule_percentage),
tp_base_amount =
decode(in_upd_type(i), 'U',
in_tp_base_amount(i), tp_base_amount),
tp_job_id =
decode(in_upd_type(i), 'U',
in_tp_job_id(i), tp_job_id),
schedule_line_percentage =
decode(in_upd_type(i), 'U',
in_schedule_line_percentage(i), schedule_line_percentage),
/*Added Cross proj*/
tp_amt_type_code = decode(in_upd_type(i), 'U',
in_tp_amt_type_code(i),tp_amt_type_code),
project_tp_rate_type = decode(in_upd_type(i), 'U',
in_project_tp_rate_type(i),project_tp_rate_type),
project_tp_rate_date = decode(in_upd_type(i), 'U',
in_project_tp_rate_date(i),project_tp_rate_date),
project_tp_exchange_rate= decode(in_upd_type(i), 'U',
in_project_tp_exchange_rate(i),project_tp_exchange_rate),
project_transfer_price = decode(in_upd_type(i), 'U',
in_project_transfer_price(i),project_transfer_price),
projfunc_tp_rate_type = decode(in_upd_type(i), 'U',
in_projfunc_tp_rate_type(i),projfunc_tp_rate_type),
projfunc_tp_rate_date = decode(in_upd_type(i), 'U',
in_projfunc_tp_rate_date(i),projfunc_tp_rate_date),
projfunc_tp_exchange_rate= decode(in_upd_type(i), 'U',
(in_projfunc_tp_exchange_rate(i)),projfunc_tp_exchange_rate),
projfunc_transfer_price = decode(in_upd_type(i), 'U',
in_projfunc_transfer_price(i),projfunc_transfer_price),
project_tp_currency_code = decode(in_upd_type(i), 'U',
in_project_tp_currency_code(i),project_tp_currency_code),
projfunc_tp_currency_code = decode(in_upd_type(i), 'U',
in_projfunc_tp_currency_code(i),projfunc_tp_currency_code),
/*End Cross proj*/
last_updated_by = pa_cc_utils.g_user_id,
last_update_login = pa_cc_utils.g_login_id,
last_update_date = sysdate,
request_id = pa_cc_utils.g_request_id,
program_application_id = pa_cc_utils.g_program_application_id,
program_id = pa_cc_utils.g_program_id,
program_update_date = sysdate
WHERE rowid = in_RowId(i);
log_message('5500: -- Rows updated = ' || to_char(sql%ROWCOUNT));
log_message('5550: Performing MRC for mass_update');
pa_mc_borrlent.bl_mc_update
(
p_primary_sob_id => pa_cc_utils.g_primary_sob_id
,p_prvdr_org_id => in_prvdr_org_id
,p_rsob_id => pa_cc_utils.g_reporting_sob_id
,p_rcurrency_code => pa_cc_utils.g_reporting_curr_code
,p_cc_dist_line_id => in_cc_dist_line_id
,p_line_type => in_line_type
,p_upd_type => in_upd_type
,p_expenditure_item_date => in_expenditure_item_date
,p_denom_currency_code => in_denom_tp_currency_code
,p_acct_tp_rate_type => in_acct_tp_rate_type
,p_acct_tp_exchange_rate => in_acct_tp_exchange_rate
,p_denom_transfer_price => in_denom_transfer_price
,p_prvdr_cost_reclass_code => in_reference_2
,p_cdl_line_num => in_reference_3
,p_login_id => pa_cc_utils.g_login_id
,p_program_id => pa_cc_utils.g_program_id
,p_program_application_id => pa_cc_utils.g_program_application_id
,p_request_id => pa_cc_utils.g_request_id
,p_debug_mode => pa_cc_utils.g_debug_mode
);
log_message('5650: Finished MRC update');
g_upd_rec.delete;
log_message('5700: Leaving mass_update');
log_message('5750: ERROR in mass_update');
END mass_update;
PROCEDURE update_ei(p_upd_type IN VARCHAR2) IS
BEGIN
set_curr_function('update_ei');
log_message('5800: Entered update_ei');
log_message('update_ei: ' || '5850: Rejected EI');
log_message('update_ei: ' || '5900: Update with current values');
log_message('update_ei: ' || '5950: Update EI with reversed amounts');
log_message('update_ei: ' || '6000: Null out current EI');
log_message('update_ei: ' || '6050: Null out reversed EI');
SELECT rowid
INTO g_ei_rec(g_eicnt).EIRowId
FROM pa_expenditure_items_all -- _ALL table used for better performance
WHERE expenditure_item_id = lcur.adjusted_exp_item_id;
log_message('update_ei: ' || '6100: Successfully got rowid of reversed EI');
log_message('update_ei: ' || '6150: No change to current EI attributes');
log_message('6200: Leaving update_ei');
log_message('6250: ERROR in update_ei');
END update_ei;
PROCEDURE ei_mass_update IS
i PLS_INTEGER;
set_curr_function('ei_mass_update');
log_message('6300: Entered ei_mass_update');
log_message('6350: Rows to EI mass update: ' ||to_char(g_eicnt));
in_upd_type(i) := 'U'; -- Update EI but use null values
in_upd_type(i) := 'X'; -- Do not update attributes on EI
log_message('6400: About to perform mass_update' );
UPDATE pa_expenditure_items_all --_All table for better performance
SET
cc_rejection_code = in_cc_rejection_code(i),
cc_bl_distributed_code = decode(in_cc_rejection_code(i), NULL,
decode(cc_cross_charge_code, 'B', 'Y', 'X'), 'N'),
acct_tp_exchange_rate =
decode(in_upd_type(i), 'U',
in_acct_tp_exchange_rate(i), acct_tp_exchange_rate),
acct_tp_rate_date =
decode(in_upd_type(i), 'U',
in_acct_tp_rate_date(i), acct_tp_rate_date),
acct_tp_rate_type =
decode(in_upd_type(i), 'U',
in_acct_tp_rate_type(i), acct_tp_rate_type),
acct_transfer_price =
decode(in_upd_type(i), 'U',
in_amount(i), acct_transfer_price),
tp_bill_markup_percentage =
decode(in_upd_type(i), 'U',
in_bill_markup_percentage(i), tp_bill_markup_percentage),
tp_bill_rate =
decode(in_upd_type(i), 'U',
in_bill_rate(i), tp_bill_rate),
denom_tp_currency_code =
decode(in_upd_type(i), 'U',
in_denom_tp_currency_code(i), denom_tp_currency_code),
denom_transfer_price =
decode(in_upd_type(i), 'U',
in_denom_transfer_price(i), denom_transfer_price),
tp_ind_compiled_set_id =
decode(in_upd_type(i), 'U',
in_ind_compiled_set_id(i), tp_ind_compiled_set_id),
cc_markup_base_code =
decode(in_upd_type(i), 'U',
in_markup_calc_base_code(i), cc_markup_base_code),
tp_rule_percentage =
decode(in_upd_type(i), 'U',
in_rule_percentage(i), tp_rule_percentage),
tp_base_amount =
decode(in_upd_type(i), 'U',
in_tp_base_amount(i), tp_base_amount),
tp_job_id =
decode(in_upd_type(i), 'U',
in_tp_job_id(i), tp_job_id),
tp_schedule_line_percentage =
decode(in_upd_type(i), 'U',
in_schedule_line_percentage(i), tp_schedule_line_percentage),
/*Added Cross proj*/
project_tp_rate_type = decode(in_upd_type(i), 'U',
in_project_tp_rate_type(i),project_tp_rate_type),
project_tp_rate_date = decode(in_upd_type(i), 'U',
in_project_tp_rate_date(i),project_tp_rate_date),
project_tp_exchange_rate= decode(in_upd_type(i), 'U',
in_project_tp_exchange_rate(i),project_tp_exchange_rate),
project_transfer_price = decode(in_upd_type(i), 'U',
in_project_transfer_price(i),project_transfer_price),
projfunc_tp_rate_type = decode(in_upd_type(i), 'U',
in_projfunc_tp_rate_type(i),projfunc_tp_rate_type),
projfunc_tp_rate_date = decode(in_upd_type(i), 'U',
in_projfunc_tp_rate_date(i),projfunc_tp_rate_date),
projfunc_tp_exchange_rate= decode(in_upd_type(i), 'U',
(in_projfunc_tp_exchange_rate(i)),projfunc_tp_exchange_rate),
projfunc_transfer_price = decode(in_upd_type(i), 'U',
in_projfunc_transfer_price(i),projfunc_transfer_price),
/*End Cross proj*/
last_updated_by = pa_cc_utils.g_user_id,
last_update_login = pa_cc_utils.g_login_id,
last_update_date = sysdate,
request_id = pa_cc_utils.g_request_id,
program_application_id = pa_cc_utils.g_program_application_id,
program_id = pa_cc_utils.g_program_id,
program_update_date = sysdate
WHERE rowid = in_RowId(i);
log_message('6450: -- Rows updated = ' || to_char(sql%ROWCOUNT));
g_ei_rec.delete;
log_message('6500: Leaving ei_mass_update');
log_message('6550: ERROR in ei_mass_update');
END ei_mass_update;