321: NVL(p_projfunc_cost_rate_tab(i),1);
322: x_projfunc_burdened_cost_tab(i) := p_txn_burdened_cost_tab(i) *
323: NVL(p_projfunc_cost_rate_tab(i),1);
324: /* Rounding Enhancements */
325: x_projfunc_raw_cost_tab(i) := pa_currency.round_trans_currency_amt1(x_projfunc_raw_cost_tab(i),p_projfunc_currency_code_tab(i));
326: x_projfunc_burdened_cost_tab(i) := pa_currency.round_trans_currency_amt1(x_projfunc_burdened_cost_tab(i),p_projfunc_currency_code_tab(i));
327: ELSE
328: l_stage := 800;
329: --hr_utility.trace(to_char(l_stage));
322: x_projfunc_burdened_cost_tab(i) := p_txn_burdened_cost_tab(i) *
323: NVL(p_projfunc_cost_rate_tab(i),1);
324: /* Rounding Enhancements */
325: x_projfunc_raw_cost_tab(i) := pa_currency.round_trans_currency_amt1(x_projfunc_raw_cost_tab(i),p_projfunc_currency_code_tab(i));
326: x_projfunc_burdened_cost_tab(i) := pa_currency.round_trans_currency_amt1(x_projfunc_burdened_cost_tab(i),p_projfunc_currency_code_tab(i));
327: ELSE
328: l_stage := 800;
329: --hr_utility.trace(to_char(l_stage));
330: pa_debug.g_err_stage := to_char(l_stage)||': ProjFunc Cost Rate Not Defined';
405: x_projfunc_burdened_cost_tab(i):= nvl(p_txn_burdened_cost_tab(i),0) *
406: (round(CachedRowTab(j).numerator/
407: CachedRowTab(j).denominator,20));
408: /* Rounding Enhancements */
409: x_projfunc_raw_cost_tab(i) := pa_currency.round_trans_currency_amt1
410: (x_projfunc_raw_cost_tab(i),p_projfunc_currency_code_tab(i));
411: x_projfunc_burdened_cost_tab(i) := pa_currency.round_trans_currency_amt1
412: (x_projfunc_burdened_cost_tab(i),p_projfunc_currency_code_tab(i));
413:
407: CachedRowTab(j).denominator,20));
408: /* Rounding Enhancements */
409: x_projfunc_raw_cost_tab(i) := pa_currency.round_trans_currency_amt1
410: (x_projfunc_raw_cost_tab(i),p_projfunc_currency_code_tab(i));
411: x_projfunc_burdened_cost_tab(i) := pa_currency.round_trans_currency_amt1
412: (x_projfunc_burdened_cost_tab(i),p_projfunc_currency_code_tab(i));
413:
414: l_done_flag := 'Y';
415: EXIT;
561: --hr_utility.trace(to_char(l_stage));
562: x_projfunc_raw_cost_tab(i) := p_txn_raw_cost_tab(i) *
563: p_projfunc_cost_rate_tab(i);
564: /* Rounding Enhancements */
565: x_projfunc_raw_cost_tab(i) := pa_currency.round_trans_currency_amt1
566: (x_projfunc_raw_cost_tab(i),p_projfunc_currency_code_tab(i));
567: END IF;
568:
569: IF nvl(p_txn_burdened_cost_tab(i),0) <> 0 THEN
570: l_stage := 2000;
571: --hr_utility.trace(to_char(l_stage));
572: x_projfunc_burdened_cost_tab(i) := (nvl(p_txn_burdened_cost_tab(i),0) * p_projfunc_cost_rate_tab(i));
573: /* Rounding Enhancements */
574: x_projfunc_burdened_cost_tab(i) := pa_currency.round_trans_currency_amt1
575: (x_projfunc_burdened_cost_tab(i),p_projfunc_currency_code_tab(i));
576: END IF;
577:
578: l_stage := 2100;
729: --hr_utility.trace(to_char(l_stage));
730: x_projfunc_burdened_cost_tab(i) := p_txn_burdened_cost_tab(i) *
731: p_projfunc_cost_rate_tab(i);
732: /* Rounding Enhancements */
733: x_projfunc_burdened_cost_tab(i) := pa_currency.round_trans_currency_amt1
734: (x_projfunc_burdened_cost_tab(i),p_projfunc_currency_code_tab(i));
735: END IF;
736:
737: l_stage := 2900;
771: IF p_projfunc_rev_rate_tab(i) IS NOT NULL THEN
772: x_projfunc_revenue_tab(i) := p_txn_revenue_tab(i) *
773: NVL(p_projfunc_rev_rate_tab(i),1);
774: /* Rounding Enhancements */
775: x_projfunc_revenue_tab(i) := pa_currency.round_trans_currency_amt1
776: (x_projfunc_revenue_tab(i),p_projfunc_currency_code_tab(i));
777: ELSE
778: pa_debug.g_err_stage := to_char(l_stage)||': ProjFunc Revenue Rate Not Defined';
779: IF P_PA_DEBUG_MODE = 'Y' THEN
845: x_projfunc_revenue_tab(i) := nvl(p_txn_revenue_tab(i),0) *
846: (round(CachedRowTab(j).numerator/
847: CachedRowTab(j).denominator,20));
848: /* Rounding Enhancements */
849: x_projfunc_revenue_tab(i) := pa_currency.round_trans_currency_amt1
850: (x_projfunc_revenue_tab(i),p_projfunc_currency_code_tab(i));
851: l_done_flag := 'Y';
852: EXIT;
853: END IF; -- RevenueRateFound
977: --hr_utility.trace(to_char(l_stage));
978: x_projfunc_revenue_tab(i) := p_txn_revenue_tab(i) *
979: p_projfunc_rev_rate_tab(i);
980: /* Rounding Enhancements */
981: x_projfunc_revenue_tab(i) := pa_currency.round_trans_currency_amt1
982: (x_projfunc_revenue_tab(i),p_projfunc_currency_code_tab(i));
983: END IF;
984:
985: l_stage := 4300;
1035: NVL(p_proj_cost_rate_tab(i),1);
1036: x_proj_burdened_cost_tab(i) := p_txn_burdened_cost_tab(i) *
1037: NVL(p_proj_cost_rate_tab(i),1);
1038: /* Rounding Enhancements */
1039: x_proj_raw_cost_tab(i) := pa_currency.round_trans_currency_amt1
1040: (x_proj_raw_cost_tab(i),p_proj_currency_code_tab(i));
1041: x_proj_burdened_cost_tab(i) := pa_currency.round_trans_currency_amt1
1042: (x_proj_burdened_cost_tab(i),p_proj_currency_code_tab(i));
1043: ELSE
1037: NVL(p_proj_cost_rate_tab(i),1);
1038: /* Rounding Enhancements */
1039: x_proj_raw_cost_tab(i) := pa_currency.round_trans_currency_amt1
1040: (x_proj_raw_cost_tab(i),p_proj_currency_code_tab(i));
1041: x_proj_burdened_cost_tab(i) := pa_currency.round_trans_currency_amt1
1042: (x_proj_burdened_cost_tab(i),p_proj_currency_code_tab(i));
1043: ELSE
1044: l_stage := 5000;
1045: --hr_utility.trace(to_char(l_stage));
1116: x_proj_burdened_cost_tab(i):= nvl(p_txn_burdened_cost_tab(i),0) *
1117: (round(CachedRowTab(j).numerator/
1118: CachedRowTab(j).denominator,20));
1119: /* Rounding Enhancements */
1120: x_proj_raw_cost_tab(i) := pa_currency.round_trans_currency_amt1
1121: (x_proj_raw_cost_tab(i),p_proj_currency_code_tab(i));
1122: x_proj_burdened_cost_tab(i) := pa_currency.round_trans_currency_amt1
1123: (x_proj_burdened_cost_tab(i),p_proj_currency_code_tab(i));
1124: l_done_flag := 'Y';
1118: CachedRowTab(j).denominator,20));
1119: /* Rounding Enhancements */
1120: x_proj_raw_cost_tab(i) := pa_currency.round_trans_currency_amt1
1121: (x_proj_raw_cost_tab(i),p_proj_currency_code_tab(i));
1122: x_proj_burdened_cost_tab(i) := pa_currency.round_trans_currency_amt1
1123: (x_proj_burdened_cost_tab(i),p_proj_currency_code_tab(i));
1124: l_done_flag := 'Y';
1125: EXIT;
1126: END IF; -- Cost Rate found
1265: x_proj_raw_cost_tab(i) := p_txn_raw_cost_tab(i) *
1266: p_proj_cost_rate_tab(i);
1267:
1268: /* Rounding Enhancements */
1269: x_proj_raw_cost_tab(i) := pa_currency.round_trans_currency_amt1
1270: (x_proj_raw_cost_tab(i),p_proj_currency_code_tab(i));
1271:
1272: END IF;
1273:
1276: --hr_utility.trace(to_char(l_stage));
1277: x_proj_burdened_cost_tab(i) := (nvl(p_txn_burdened_cost_tab(i),0) *
1278: p_proj_cost_rate_tab(i));
1279: /* Rounding Enhancements */
1280: x_proj_burdened_cost_tab(i) := pa_currency.round_trans_currency_amt1
1281: (x_proj_burdened_cost_tab(i),p_proj_currency_code_tab(i));
1282: END IF;
1283:
1284: l_stage := 6300;
1420: x_proj_burdened_cost_tab(i) := p_txn_burdened_cost_tab(i) *
1421: p_proj_cost_rate_tab(i);
1422:
1423: /* Rounding Enhancements */
1424: x_proj_burdened_cost_tab(i) := pa_currency.round_trans_currency_amt1
1425: (x_proj_burdened_cost_tab(i),p_proj_currency_code_tab(i));
1426: END IF;
1427:
1428: l_stage := 7100;
1462: IF p_proj_rev_rate_tab(i) IS NOT NULL THEN
1463: x_proj_revenue_tab(i) := p_txn_revenue_tab(i) *
1464: NVL(p_proj_rev_rate_tab(i),1);
1465: /* Rounding Enhancements */
1466: x_proj_revenue_tab(i) := pa_currency.round_trans_currency_amt1
1467: (x_proj_revenue_tab(i),p_proj_currency_code_tab(i));
1468: ELSE
1469: pa_debug.g_err_stage := to_char(l_stage)||': Project Revenue Rate Not Defined';
1470: IF P_PA_DEBUG_MODE = 'Y' THEN
1537: x_proj_revenue_tab(i) := nvl(p_txn_revenue_tab(i),0) *
1538: (round(CachedRowTab(j).numerator/
1539: CachedRowTab(j).denominator,20));
1540: /* Rounding Enhancements */
1541: x_proj_revenue_tab(i) := pa_currency.round_trans_currency_amt1
1542: (x_proj_revenue_tab(i),p_proj_currency_code_tab(i));
1543: l_done_flag := 'Y';
1544: EXIT;
1545: END IF; -- RevenueRateFound
1685: --hr_utility.trace(to_char(l_stage));
1686: x_proj_revenue_tab(i) := p_txn_revenue_tab(i) *
1687: p_proj_rev_rate_tab(i);
1688: /* Rounding Enhancements */
1689: x_proj_revenue_tab(i) := pa_currency.round_trans_currency_amt1
1690: (x_proj_revenue_tab(i),p_proj_currency_code_tab(i));
1691: END IF;
1692:
1693: l_stage := 8400;
2972: EXIT WHEN l_txn_row_id_tab.count = 0;
2973:
2974: --Code changes for bug 4200168 starts here.
2975: l_txn_raw_cost_tab :=
2976: Pa_currency.round_currency_amt_nested_blk(l_txn_raw_cost_tab,
2977: l_txn_currency_code_tab);
2978: l_txn_burdened_cost_tab :=
2979: Pa_currency.round_currency_amt_nested_blk(l_txn_burdened_cost_tab,
2980: l_txn_currency_code_tab);
2975: l_txn_raw_cost_tab :=
2976: Pa_currency.round_currency_amt_nested_blk(l_txn_raw_cost_tab,
2977: l_txn_currency_code_tab);
2978: l_txn_burdened_cost_tab :=
2979: Pa_currency.round_currency_amt_nested_blk(l_txn_burdened_cost_tab,
2980: l_txn_currency_code_tab);
2981: l_txn_revenue_tab :=
2982: Pa_currency.round_currency_amt_nested_blk(l_txn_revenue_tab,
2983: l_txn_currency_code_tab);
2978: l_txn_burdened_cost_tab :=
2979: Pa_currency.round_currency_amt_nested_blk(l_txn_burdened_cost_tab,
2980: l_txn_currency_code_tab);
2981: l_txn_revenue_tab :=
2982: Pa_currency.round_currency_amt_nested_blk(l_txn_revenue_tab,
2983: l_txn_currency_code_tab);
2984: --Code changes for bug 4200168 ends here.
2985:
2986: --PC and PFC amounts will be derived/rounded by the Multi Currency API when the context is
3046: END IF;
3047: END LOOP;
3048:
3049: l_projfunc_raw_cost_tmp_tab :=
3050: Pa_currency.round_currency_amt_nested_blk(l_projfunc_raw_cost_tmp_tab,
3051: l_pfc_tmp_tab);
3052: l_prjfnc_burdened_cost_tmp_tab :=
3053: Pa_currency.round_currency_amt_nested_blk(l_prjfnc_burdened_cost_tmp_tab,
3054: l_pfc_tmp_tab);
3049: l_projfunc_raw_cost_tmp_tab :=
3050: Pa_currency.round_currency_amt_nested_blk(l_projfunc_raw_cost_tmp_tab,
3051: l_pfc_tmp_tab);
3052: l_prjfnc_burdened_cost_tmp_tab :=
3053: Pa_currency.round_currency_amt_nested_blk(l_prjfnc_burdened_cost_tmp_tab,
3054: l_pfc_tmp_tab);
3055: l_projfunc_revenue_tmp_tab :=
3056: Pa_currency.round_currency_amt_nested_blk(l_projfunc_revenue_tmp_tab,
3057: l_pfc_tmp_tab);
3052: l_prjfnc_burdened_cost_tmp_tab :=
3053: Pa_currency.round_currency_amt_nested_blk(l_prjfnc_burdened_cost_tmp_tab,
3054: l_pfc_tmp_tab);
3055: l_projfunc_revenue_tmp_tab :=
3056: Pa_currency.round_currency_amt_nested_blk(l_projfunc_revenue_tmp_tab,
3057: l_pfc_tmp_tab);
3058:
3059: l_proj_raw_cost_tmp_tab :=
3060: Pa_currency.round_currency_amt_nested_blk(l_proj_raw_cost_tmp_tab,
3056: Pa_currency.round_currency_amt_nested_blk(l_projfunc_revenue_tmp_tab,
3057: l_pfc_tmp_tab);
3058:
3059: l_proj_raw_cost_tmp_tab :=
3060: Pa_currency.round_currency_amt_nested_blk(l_proj_raw_cost_tmp_tab,
3061: l_pc_tmp_tab);
3062: l_proj_burdened_cost_tmp_tab :=
3063: Pa_currency.round_currency_amt_nested_blk(l_proj_burdened_cost_tmp_tab,
3064: l_pc_tmp_tab);
3059: l_proj_raw_cost_tmp_tab :=
3060: Pa_currency.round_currency_amt_nested_blk(l_proj_raw_cost_tmp_tab,
3061: l_pc_tmp_tab);
3062: l_proj_burdened_cost_tmp_tab :=
3063: Pa_currency.round_currency_amt_nested_blk(l_proj_burdened_cost_tmp_tab,
3064: l_pc_tmp_tab);
3065: l_proj_revenue_tmp_tab :=
3066: Pa_currency.round_currency_amt_nested_blk(l_proj_revenue_tmp_tab,
3067: l_pc_tmp_tab);
3062: l_proj_burdened_cost_tmp_tab :=
3063: Pa_currency.round_currency_amt_nested_blk(l_proj_burdened_cost_tmp_tab,
3064: l_pc_tmp_tab);
3065: l_proj_revenue_tmp_tab :=
3066: Pa_currency.round_currency_amt_nested_blk(l_proj_revenue_tmp_tab,
3067: l_pc_tmp_tab);
3068:
3069:
3070: IF l_projfunc_raw_cost_tmp_tab.FIRST > 0 OR l_proj_raw_cost_tmp_tab.FIRST> 0 THEN
3473:
3474: END LOOP;
3475:
3476: --In 3 for loops written below all the txn/pc/pfc amounts will be rounded. 3 For loops are written to take advantage
3477: --of caching logic in Pa_currency.round_trans_currency_amt1
3478:
3479: --Round the agr currency amounts.
3480: IF l_debug_mode = 'Y' THEN
3481: pa_debug.g_err_stage:='Rounding agr amounts';
3491:
3492:
3493: END LOOP;
3494:
3495: px_txn_raw_cost_tbl := Pa_currency.round_currency_amt_nested_blk(px_txn_raw_cost_tbl,
3496: l_agr_currency_code_tbl);
3497:
3498: px_txn_burdened_cost_tbl := Pa_currency.round_currency_amt_nested_blk(px_txn_burdened_cost_tbl,
3499: l_agr_currency_code_tbl);
3494:
3495: px_txn_raw_cost_tbl := Pa_currency.round_currency_amt_nested_blk(px_txn_raw_cost_tbl,
3496: l_agr_currency_code_tbl);
3497:
3498: px_txn_burdened_cost_tbl := Pa_currency.round_currency_amt_nested_blk(px_txn_burdened_cost_tbl,
3499: l_agr_currency_code_tbl);
3500:
3501: px_txn_revenue_tbl := Pa_currency.round_currency_amt_nested_blk(px_txn_revenue_tbl,
3502: l_agr_currency_code_tbl);
3497:
3498: px_txn_burdened_cost_tbl := Pa_currency.round_currency_amt_nested_blk(px_txn_burdened_cost_tbl,
3499: l_agr_currency_code_tbl);
3500:
3501: px_txn_revenue_tbl := Pa_currency.round_currency_amt_nested_blk(px_txn_revenue_tbl,
3502: l_agr_currency_code_tbl);
3503: --Code changes for bug 4200168 ends here.
3504:
3505:
3522: l_project_currency_code_tbl.extend; --added for bug#4290451
3523: l_project_currency_code_tbl(i) := p_project_currency_code;
3524: END LOOP;
3525:
3526: px_project_raw_cost_tbl := Pa_currency.round_currency_amt_nested_blk(px_project_raw_cost_tbl,
3527: l_project_currency_code_tbl);
3528:
3529: px_project_burdened_cost_tbl := Pa_currency.round_currency_amt_nested_blk(px_project_burdened_cost_tbl,
3530: l_project_currency_code_tbl);
3525:
3526: px_project_raw_cost_tbl := Pa_currency.round_currency_amt_nested_blk(px_project_raw_cost_tbl,
3527: l_project_currency_code_tbl);
3528:
3529: px_project_burdened_cost_tbl := Pa_currency.round_currency_amt_nested_blk(px_project_burdened_cost_tbl,
3530: l_project_currency_code_tbl);
3531:
3532: px_project_revenue_tbl := Pa_currency.round_currency_amt_nested_blk(px_project_revenue_tbl,
3533: l_project_currency_code_tbl);
3528:
3529: px_project_burdened_cost_tbl := Pa_currency.round_currency_amt_nested_blk(px_project_burdened_cost_tbl,
3530: l_project_currency_code_tbl);
3531:
3532: px_project_revenue_tbl := Pa_currency.round_currency_amt_nested_blk(px_project_revenue_tbl,
3533: l_project_currency_code_tbl);
3534: --Code changes for bug 4200168 starts here.
3535: END IF;
3536:
3557: FOR i IN 1..px_projfunc_raw_cost_tbl.COUNT LOOP
3558: l_projfunc_currency_code_tbl.extend; --added for bug#4290451
3559: l_projfunc_currency_code_tbl(i) := p_projfunc_currency_code;
3560: END LOOP;
3561: px_projfunc_raw_cost_tbl := Pa_currency.round_currency_amt_nested_blk(px_projfunc_raw_cost_tbl,
3562: l_projfunc_currency_code_tbl);
3563:
3564: px_projfunc_burdened_cost_tbl := Pa_currency.round_currency_amt_nested_blk(px_projfunc_burdened_cost_tbl,
3565: l_projfunc_currency_code_tbl);
3560: END LOOP;
3561: px_projfunc_raw_cost_tbl := Pa_currency.round_currency_amt_nested_blk(px_projfunc_raw_cost_tbl,
3562: l_projfunc_currency_code_tbl);
3563:
3564: px_projfunc_burdened_cost_tbl := Pa_currency.round_currency_amt_nested_blk(px_projfunc_burdened_cost_tbl,
3565: l_projfunc_currency_code_tbl);
3566:
3567: px_projfunc_revenue_tbl := Pa_currency.round_currency_amt_nested_blk(px_projfunc_revenue_tbl,
3568: l_projfunc_currency_code_tbl);
3563:
3564: px_projfunc_burdened_cost_tbl := Pa_currency.round_currency_amt_nested_blk(px_projfunc_burdened_cost_tbl,
3565: l_projfunc_currency_code_tbl);
3566:
3567: px_projfunc_revenue_tbl := Pa_currency.round_currency_amt_nested_blk(px_projfunc_revenue_tbl,
3568: l_projfunc_currency_code_tbl);
3569: --Code changes for bug 4200168 starts here.
3570: END IF;
3571: