The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT rate_based_flag
INTO l_rate_based_flag
FROM pa_resource_assignments
WHERE resource_assignment_id = p_tgt_res_asg_id;
SELECT /*+ INDEX(PA_FP_CALC_AMT_TMP2,PA_FP_CALC_AMT_TMP2_N2)*/
DECODE(l_currency_flag,
'PC', l_pc_currency_code,
'TC', txn_currency_code,
'PFC',l_pfc_currency_code),
SUM(NVL(total_plan_quantity,0)),
SUM(DECODE(l_currency_flag,
'PC',NVL(total_pc_raw_cost,0),
'TC',NVL(total_txn_raw_cost,0),
'PFC',NVL(total_pfc_raw_cost,0))),
SUM(DECODE(l_currency_flag,
'PC', NVL(total_pc_burdened_cost,0),
'TC', NVL(total_txn_burdened_cost,0),
'PFC', NVL(total_pfc_burdened_cost,0))),
SUM(DECODE(l_currency_flag,
'PC', NVL(total_pc_revenue,0),
'TC', NVL(total_txn_revenue,0),
'PFC', NVL(total_pfc_revenue,0)))
BULK COLLECT INTO
l_tot_currency_code_tab,
l_tot_quantity_tab,
l_tot_raw_cost_tab,
l_tot_brdn_cost_tab,
l_tot_revenue_tab
FROM PA_FP_CALC_AMT_TMP2
WHERE resource_assignment_id = p_src_res_asg_id
AND transaction_source_code = p_etc_source_code
GROUP BY DECODE(l_currency_flag, 'PC', l_pc_currency_code,
'TC', txn_currency_code,
'PFC',l_pfc_currency_code);
SELECT /*+ INDEX(pa_fp_calc_amt_tmp2,PA_FP_CALC_AMT_TMP2_N2)*/
NVL(SUM(NVL(total_plan_quantity,0)),0),
NVL(DECODE(l_currency_flag, 'TC', SUM(NVL(total_txn_raw_cost,0)),
'PC', SUM(NVL(total_pc_raw_cost,0)),
'PFC', SUM(NVL(total_pfc_raw_cost,0))),0),
NVL(DECODE(l_currency_flag, 'TC', SUM(NVL(total_txn_burdened_cost,0)),
'PC', SUM(NVL(total_pc_burdened_cost,0)),
'PFC', SUM(NVL(total_pfc_burdened_cost,0))),0),
NVL(DECODE(l_currency_flag, 'TC', SUM(NVL(total_txn_revenue,0)),
'PC', SUM(NVL(total_pc_revenue,0)),
'PFC', SUM(NVL(total_pfc_revenue,0))),0),
NVL(SUM(NVL(total_pc_raw_cost,0)),0),
NVL(SUM(NVL(total_pc_burdened_cost,0)),0),
NVL(SUM(NVL(total_pc_revenue,0)),0),
NVL(SUM(NVL(total_pfc_raw_cost,0)),0),
NVL(SUM(NVL(total_pfc_burdened_cost,0)),0),
NVL(SUM(NVL(total_pfc_revenue,0)),0)
INTO l_txn_rate_quantity,
l_txn_rate_raw_cost,
l_txn_rate_brdn_cost,
l_txn_rate_revenue,
l_pc_rate_raw_cost,
l_pc_rate_brdn_cost,
l_pc_rate_revenue,
l_pfc_rate_raw_cost,
l_pfc_rate_brdn_cost,
l_pfc_rate_revenue
FROM pa_fp_calc_amt_tmp2
WHERE resource_assignment_id = p_src_res_asg_id
AND DECODE(l_currency_flag, 'TC', txn_currency_code,
'PC', l_tot_currency_code_tab(i),
'PFC', l_tot_currency_code_tab(i)) = l_tot_currency_code_tab(i)
AND transaction_source_code IN ('FINANCIAL_PLAN','WORKPLAN_RESOURCES');
/* If commitment is not included, record is inserted directly as
'ETC' record, if commitment is to be considered, record is
inserted as 'TOTAL_ETC' for further processing. */
IF P_FP_COLS_TGT_REC.X_GEN_INCL_OPEN_COMM_FLAG = 'Y' THEN
l_transaction_source_code := 'TOTAL_ETC';
/* Insert total ETC amounts */
FORALL i IN 1..l_tot_currency_code_tab.count
INSERT INTO PA_FP_CALC_AMT_TMP2 (
RESOURCE_ASSIGNMENT_ID,
TARGET_RES_ASG_ID,
ETC_CURRENCY_CODE,
ETC_PLAN_QUANTITY,
ETC_TXN_RAW_COST,
ETC_TXN_BURDENED_COST,
ETC_TXN_REVENUE,
ETC_PC_RAW_COST,
ETC_PC_BURDENED_COST,
ETC_PC_REVENUE,
ETC_PFC_RAW_COST,
ETC_PFC_BURDENED_COST,
ETC_PFC_REVENUE,
TRANSACTION_SOURCE_CODE )
VALUES (
P_SRC_RES_ASG_ID,
P_TGT_RES_ASG_ID,
l_tot_currency_code_tab(i),
l_etc_quantity_tab(i),
l_etc_quantity_tab(i) * l_txn_raw_cost_rate_tab(i),
l_etc_quantity_tab(i) * l_txn_brdn_cost_rate_tab(i),
l_etc_quantity_tab(i) * l_txn_revenue_rate_tab(i),
l_etc_quantity_tab(i) * l_pc_raw_cost_rate_tab(i),
l_etc_quantity_tab(i) * l_pc_brdn_cost_rate_tab(i),
l_etc_quantity_tab(i) * l_pc_revenue_rate_tab(i),
l_etc_quantity_tab(i) * l_pfc_raw_cost_rate_tab(i),
l_etc_quantity_tab(i) * l_pfc_brdn_cost_rate_tab(i),
l_etc_quantity_tab(i) * l_pfc_revenue_rate_tab(i),
l_transaction_source_code );
/*Added for Bulk insert at version level*/
l_blk_src_res_asg_id_tab PA_PLSQL_DATATYPES.IdTabTyp;
l_tot_currency_code_tab.delete;
l_tot_quantity_tab.delete;
l_tot_raw_cost_tab.delete;
l_tot_brdn_cost_tab.delete;
l_tot_revenue_tab.delete;
l_txn_raw_cost_rate_tab.delete;
l_txn_brdn_cost_rate_tab.delete;
l_txn_revenue_rate_tab.delete;
l_pc_raw_cost_rate_tab.delete;
l_pc_brdn_cost_rate_tab.delete;
l_pc_revenue_rate_tab.delete;
l_pfc_raw_cost_rate_tab.delete;
l_pfc_brdn_cost_rate_tab.delete;
l_pfc_revenue_rate_tab.delete;
l_etc_quantity_tab.delete;
SELECT rate_based_flag
INTO l_rate_based_flag
FROM pa_resource_assignments
WHERE resource_assignment_id = p_tgt_res_asg_id_tab(main_loop);
SELECT /*+ INDEX(PA_FP_CALC_AMT_TMP2,PA_FP_CALC_AMT_TMP2_N2)*/
DECODE(l_currency_flag,
'PC', l_pc_currency_code,
'TC', txn_currency_code,
'PFC',l_pfc_currency_code),
SUM(NVL(total_plan_quantity,0)),
SUM(DECODE(l_currency_flag,
'PC',NVL(total_pc_raw_cost,0),
'TC',NVL(total_txn_raw_cost,0),
'PFC',NVL(total_pfc_raw_cost,0))),
SUM(DECODE(l_currency_flag,
'PC', NVL(total_pc_burdened_cost,0),
'TC', NVL(total_txn_burdened_cost,0),
'PFC', NVL(total_pfc_burdened_cost,0))),
SUM(DECODE(l_currency_flag,
'PC', NVL(total_pc_revenue,0),
'TC', NVL(total_txn_revenue,0),
'PFC', NVL(total_pfc_revenue,0)))
BULK COLLECT INTO
l_tot_currency_code_tab,
l_tot_quantity_tab,
l_tot_raw_cost_tab,
l_tot_brdn_cost_tab,
l_tot_revenue_tab
FROM PA_FP_CALC_AMT_TMP2
WHERE resource_assignment_id = p_src_res_asg_id_tab(main_loop)
AND transaction_source_code = p_etc_source_code_tab(main_loop)
GROUP BY DECODE(l_currency_flag, 'PC', l_pc_currency_code,
'TC', txn_currency_code,
'PFC',l_pfc_currency_code);
SELECT /*+ INDEX(pa_fp_calc_amt_tmp2,PA_FP_CALC_AMT_TMP2_N2)*/
NVL(SUM(NVL(total_plan_quantity,0)),0),
NVL(DECODE(l_currency_flag, 'TC', SUM(NVL(total_txn_raw_cost,0)),
'PC', SUM(NVL(total_pc_raw_cost,0)),
'PFC', SUM(NVL(total_pfc_raw_cost,0))),0),
NVL(DECODE(l_currency_flag, 'TC', SUM(NVL(total_txn_burdened_cost,0)),
'PC', SUM(NVL(total_pc_burdened_cost,0)),
'PFC', SUM(NVL(total_pfc_burdened_cost,0))),0),
NVL(DECODE(l_currency_flag, 'TC', SUM(NVL(total_txn_revenue,0)),
'PC', SUM(NVL(total_pc_revenue,0)),
'PFC', SUM(NVL(total_pfc_revenue,0))),0),
NVL(SUM(NVL(total_pc_raw_cost,0)),0),
NVL(SUM(NVL(total_pc_burdened_cost,0)),0),
NVL(SUM(NVL(total_pc_revenue,0)),0),
NVL(SUM(NVL(total_pfc_raw_cost,0)),0),
NVL(SUM(NVL(total_pfc_burdened_cost,0)),0),
NVL(SUM(NVL(total_pfc_revenue,0)),0)
INTO l_txn_rate_quantity,
l_txn_rate_raw_cost,
l_txn_rate_brdn_cost,
l_txn_rate_revenue,
l_pc_rate_raw_cost,
l_pc_rate_brdn_cost,
l_pc_rate_revenue,
l_pfc_rate_raw_cost,
l_pfc_rate_brdn_cost,
l_pfc_rate_revenue
FROM pa_fp_calc_amt_tmp2
WHERE resource_assignment_id = p_src_res_asg_id_tab(main_loop)
AND DECODE(l_currency_flag, 'TC', txn_currency_code,
'PC', l_tot_currency_code_tab(i),
'PFC', l_tot_currency_code_tab(i)) = l_tot_currency_code_tab(i)
AND transaction_source_code IN ('FINANCIAL_PLAN','WORKPLAN_RESOURCES');
/* If commitment is not included, record is inserted directly as
'ETC' record, if commitment is to be considered, record is
inserted as 'TOTAL_ETC' for further processing. */
IF P_FP_COLS_TGT_REC.X_GEN_INCL_OPEN_COMM_FLAG = 'Y' THEN
l_transaction_source_code := 'TOTAL_ETC';
/* Insert total ETC amounts */
FORALL i IN 1..l_blk_tot_currency_code_tab.count
INSERT INTO PA_FP_CALC_AMT_TMP2 (
RESOURCE_ASSIGNMENT_ID,
TARGET_RES_ASG_ID,
ETC_CURRENCY_CODE,
ETC_PLAN_QUANTITY,
ETC_TXN_RAW_COST,
ETC_TXN_BURDENED_COST,
ETC_TXN_REVENUE,
ETC_PC_RAW_COST,
ETC_PC_BURDENED_COST,
ETC_PC_REVENUE,
ETC_PFC_RAW_COST,
ETC_PFC_BURDENED_COST,
ETC_PFC_REVENUE,
TRANSACTION_SOURCE_CODE )
VALUES (
l_blk_src_res_asg_id_tab(i),
l_blk_tgt_res_asg_id_tab(i),
l_blk_tot_currency_code_tab(i),
l_blk_etc_quantity_tab(i),
l_blk_etc_txn_rcost_tab(i),
l_blk_etc_txn_bcost_tab(i),
l_blk_etc_txn_revenue_tab(i),
l_blk_etc_pc_rcost_tab(i),
l_blk_etc_pc_bcost_tab(i),
l_blk_etc_pc_revenue_tab(i),
l_blk_etc_pfc_rcost_tab(i),
l_blk_etc_pfc_bcost_tab(i),
l_blk_etc_pfc_revenue_tab(i),
l_transaction_source_code );