DBA Data[Home] [Help]

APPS.PA_FP_GEN_COMMITMENT_AMOUNTS dependencies on PA_FP_GEN_RATE_TMP

Line 1601: | source rates are not populated in PA_FP_GEN_RATE_TMP for the resource |

1597: | C2. the Source and Target are both Cost and Revenue Together versions |
1598: | C3. Source/Target Planning Options match. |
1599: | This is happening because, in the GEN_FCST_TASK_LEVEL_AMT API, we do |
1600: | not process resources that do not have Uncommitted ETC. As a result, |
1601: | source rates are not populated in PA_FP_GEN_RATE_TMP for the resource |
1602: | and Calculate derives the revenue using the Target's Rate Schedule. |
1603: | The same issue should arise during Budget Generation when C1-C3 hold. |
1604: | |
1605: | The fix is to populate PA_FP_GEN_RATE_TMP with periodic source rates |

Line 1605: | The fix is to populate PA_FP_GEN_RATE_TMP with periodic source rates |

1601: | source rates are not populated in PA_FP_GEN_RATE_TMP for the resource |
1602: | and Calculate derives the revenue using the Target's Rate Schedule. |
1603: | The same issue should arise during Budget Generation when C1-C3 hold. |
1604: | |
1605: | The fix is to populate PA_FP_GEN_RATE_TMP with periodic source rates |
1606: | for resources when they do not already exist AND conditions 1-3 hold. |
1607: | To populate the rates, do the following: |
1608: | 1. Verify version-level conditions C2 and C3 |
1609: | 2. Fetch distinct (Source Resource Assignment Id, Target Resource |

Line 1612: | B. do not have records in pa_fp_gen_rate_tmp for the |

1608: | 1. Verify version-level conditions C2 and C3 |
1609: | 2. Fetch distinct (Source Resource Assignment Id, Target Resource |
1610: | Assignment Id, Txn Currency) triples that: |
1611: | A. are billable |
1612: | B. do not have records in pa_fp_gen_rate_tmp for the |
1613: | (Target Resource Assignment Id, Txn Currency) combo. |
1614: | C. have planning resources in the source financial plan (i.e. C1). |
1615: | 3. For each triple from Step 2, call the POPULATE_GEN_RATE API. |
1616: | 4. If l_source_context is 'BUDGET_LINE', null-out the Raw Cost Rate |

Line 1617: | and Burdened Cost Rate columns of PA_FP_GEN_RATE_TMP since we only |

1613: | (Target Resource Assignment Id, Txn Currency) combo. |
1614: | C. have planning resources in the source financial plan (i.e. C1). |
1615: | 3. For each triple from Step 2, call the POPULATE_GEN_RATE API. |
1616: | 4. If l_source_context is 'BUDGET_LINE', null-out the Raw Cost Rate |
1617: | and Burdened Cost Rate columns of PA_FP_GEN_RATE_TMP since we only |
1618: | want the Calculate API to compute revenue and honor Revenue Rates. |
1619: | |
1620: | Note that l_tgt_res_asg_id_tab and l_txn_currency_code_tab contain |
1621: | are populated at this point and contain Distinct values. |

Line 1703: -- B. do not have records in pa_fp_gen_rate_tmp for the

1699:
1700: -- Bug 4582616 Step 2: Fetch distinct (Source Resource Assignment
1701: -- Id, Target Resource Assignment Id, Txn Currency) triples that:
1702: -- A. are billable
1703: -- B. do not have records in pa_fp_gen_rate_tmp for the
1704: -- (Target Resource Assignment Id, Txn Currency) combo.
1705: -- C. have planning resources in the source financial plan.
1706: -- The pa_fp_rollup_tmp table should be unused now, so use it
1707: -- to do the above processing logic in bulk.

Line 1747: FROM pa_fp_gen_rate_tmp gen_tmp

1743: AND src_ra.budget_version_id = l_fp_src_plan_ver_id
1744: AND tgt_ra.project_id = p_project_id
1745: AND src_ra.project_id = p_project_id
1746: AND NOT EXISTS ( SELECT null -- B. check for existing gen_tmp records
1747: FROM pa_fp_gen_rate_tmp gen_tmp
1748: WHERE gen_tmp.TARGET_RES_ASG_ID = tgt_ra.resource_assignment_id
1749: AND gen_tmp.txn_currency_code = cmt.txn_currency_code );
1750:
1751: ELSIF l_calling_context = lc_ForecastGeneration THEN

Line 1768: FROM pa_fp_gen_rate_tmp gen_tmp

1764: AND tmp1.target_res_asg_id = cmt.resource_assignment_id
1765: AND ta.task_id (+) = NVL(tmp1.task_id,0) -- A. check billability
1766: AND NVL(ta.billable_flag,'Y') = 'Y' -- A. check billability
1767: AND NOT EXISTS ( SELECT null -- B. check for existing gen_tmp records
1768: FROM pa_fp_gen_rate_tmp gen_tmp
1769: WHERE gen_tmp.target_res_asg_id = tmp1.target_res_asg_id
1770: AND gen_tmp.txn_currency_code = cmt.txn_currency_code );
1771:
1772: END IF; -- l_calling_context check

Line 1774: -- Bug 4582616 Step 3: Populate PA_FP_GEN_RATE_TMP with missing

1770: AND gen_tmp.txn_currency_code = cmt.txn_currency_code );
1771:
1772: END IF; -- l_calling_context check
1773:
1774: -- Bug 4582616 Step 3: Populate PA_FP_GEN_RATE_TMP with missing
1775: -- Periodic Source Rates.
1776:
1777: FOR i IN 1..l_sr_src_ra_id_tab.count LOOP
1778:

Line 1887: -- the PA_FP_GEN_RATE_TMP table since we only want the Calculate API

1883: DELETE FROM PA_BUDGET_LINES
1884: WHERE budget_line_id = l_budget_line_id_tab(i);
1885:
1886: -- Bug 4582616 Step 4: Delete Raw Cost and Burdened Cost Rates from
1887: -- the PA_FP_GEN_RATE_TMP table since we only want the Calculate API
1888: -- to compute revenue and honor Revenue Rates. This Update is not
1889: -- necessary when the Target is None timephased because Calculate
1890: -- should ignore the cost rates when l_refresh_rates_flag is 'R'.
1891:

Line 1892: UPDATE pa_fp_gen_rate_tmp

1888: -- to compute revenue and honor Revenue Rates. This Update is not
1889: -- necessary when the Target is None timephased because Calculate
1890: -- should ignore the cost rates when l_refresh_rates_flag is 'R'.
1891:
1892: UPDATE pa_fp_gen_rate_tmp
1893: SET raw_cost_rate = null,
1894: burdened_cost_rate = null;
1895:
1896: END IF; -- None time phase check