DBA Data[Home] [Help]

APPS.PA_FP_GEN_FCST_AMT_PUB1 SQL Statements

The following lines contain the word 'select', 'insert', 'update' or 'delete':

Line: 7

 * This procedure updates planning txn level override rates
 * for NON-RATE-BASED txns in the following ways:
 * 1. In Cost and Revenue together target versions,
 *    for non-rate-based txns with only revenue amounts:
 *    a. Set bill rate override to 1
 *    b. Set cost rate overrides to 0
 * 2. Null out any existing rate overrides for non-rate-based
 *    txns that do not have any budget lines.
 *
 * IMPORTANT NOTE:
 * This procedure should only be called before the final
 * rollup of amounts in the pa_resource_asgn_curr table.
 * The impact of calling this API out of order is that rolled
 * up amounts and average rates will be nulled out for
 * updated planning txns!
 *
 * Also worth noting is that this procedure is package-private.
 */
PROCEDURE UPD_NRB_TXN_OVR_RATES
          (P_PROJECT_ID              IN          PA_PROJECTS_ALL.PROJECT_ID%TYPE,
           P_BUDGET_VERSION_ID       IN          PA_BUDGET_VERSIONS.BUDGET_VERSION_ID%TYPE,
           P_FP_COLS_REC             IN          PA_FP_GEN_AMOUNT_UTILS.FP_COLS,
           P_ETC_START_DATE          IN          DATE,
           X_RETURN_STATUS           OUT  NOCOPY VARCHAR2,
           X_MSG_COUNT               OUT  NOCOPY NUMBER,
           X_MSG_DATA                OUT  NOCOPY VARCHAR2 )
IS
    l_package_name                 VARCHAR2(30) := 'PA_FP_GEN_FCST_AMT_PUB1';
Line: 51

    SELECT bl.resource_assignment_id,
           bl.txn_currency_code
    FROM   pa_resource_assignments ra,
           pa_budget_lines bl
    WHERE  ra.budget_version_id = p_budget_version_id
    AND    ra.project_id = p_project_id
    AND    ra.rate_based_flag = 'N'
    AND    bl.resource_assignment_id = ra.resource_assignment_id
    AND    bl.cost_rejection_code is null
    AND    bl.revenue_rejection_code is null
    AND    bl.burden_rejection_code is null
    AND    bl.other_rejection_code is null
    AND    bl.pc_cur_conv_rejection_code is null
    AND    bl.pfc_cur_conv_rejection_code is null
    GROUP BY bl.resource_assignment_id,
             bl.txn_currency_code
    HAVING nvl(sum(bl.txn_raw_cost),0)-nvl(sum(bl.txn_init_raw_cost),0) = 0
    and    nvl(sum(bl.quantity),0)-nvl(sum(bl.init_quantity),0) <> 0
    and    nvl(sum(bl.quantity),0)-nvl(sum(bl.init_quantity),0) =
           nvl(sum(bl.txn_revenue),0)-nvl(sum(bl.txn_init_revenue),0);
Line: 86

    SELECT rbc.resource_assignment_id,
           rbc.txn_currency_code
    FROM   pa_resource_assignments ra,
           pa_resource_asgn_curr rbc
    WHERE  ra.budget_version_id = p_budget_version_id
    AND    ra.project_id = p_project_id
    AND    ra.rate_based_flag = 'N'
    AND    rbc.resource_assignment_id = ra.resource_assignment_id
    AND NOT EXISTS
          ( SELECT null
            FROM   pa_budget_lines bl
            WHERE  bl.resource_assignment_id = rbc.resource_assignment_id
            AND    bl.txn_currency_code = rbc.txn_currency_code
            AND    nvl(bl.quantity,0) <> nvl(bl.init_quantity,0) )
    AND  ( rbc.txn_raw_cost_rate_override is not null    OR
           rbc.txn_burden_cost_rate_override is not null OR
           rbc.txn_bill_rate_override is not null );
Line: 109

    l_rbc_tmp_tbl_deleted_flag     VARCHAR2(1);
Line: 201

    l_rbc_tmp_tbl_deleted_flag := 'N';
Line: 214

            ( p_msg         => 'Beginning Update Case 1',
            --p_called_mode => p_called_mode,
              p_module_name => l_module_name,
              p_log_level   => l_log_level );
Line: 221

     * Update Case 1:
     * In Cost and Revenue together target versions
     * for non-rate-based txns with only revenue amounts:
     * a. Set bill rate override to 1
     * b. Set cost rate overrides to 0
     *
     * Background:
     * By default, quantity = txn_raw_cost for non-rate-based
     * txns at the periodic line level. In IPM, it is possible
     * to have non-rate-based txns with just revenue amounts
     * (without cost amounts); quantity = txn_revenue in such
Line: 232

     * cases. The problem is that when users update or refresh
     * the revenue for such txns, the Calculate API defaults
     * quantity to raw cost in the absence of txn-level rate
     * overrides, which is functionally incorrect. If txn-level
     * rate overrides are set according to (a) and (b) above,
     * then the Calculate API behaves correctly.
     **/
    IF p_fp_cols_rec.x_version_type = 'ALL' THEN

        -- Get distinct (resource_assignment_id,txn_currency_code)
        -- values for non-rate-based txns having only revenue amounts.
        OPEN   rev_only_nrb_txns_csr;
Line: 254

            IF l_rbc_tmp_tbl_deleted_flag = 'N' THEN
                DELETE pa_resource_asgn_curr_tmp;
Line: 256

                l_rbc_tmp_tbl_deleted_flag := 'Y';
Line: 260

                        ( p_msg         => 'Records Deleted from pa_resource_asgn_curr_tmp',
                        --p_called_mode => p_called_mode,
                          p_module_name => l_module_name,
                          p_log_level   => l_log_level );
Line: 265

            END IF; -- IF l_rbc_tmp_tbl_deleted_flag = 'N' THEN
Line: 268

                INSERT INTO PA_RESOURCE_ASGN_CURR_TMP
                    ( resource_assignment_id,
                      txn_currency_code,
	              txn_raw_cost_rate_override,
	              txn_burden_cost_rate_override,
	              txn_bill_rate_override )
                VALUES
                    ( l_res_asg_id_tab(i),
                      l_txn_currency_code_tab(i),
                      0,   -- txn_raw_cost_rate_override
                      0,   -- txn_burden_cost_rate_override
                      1 ); -- txn_bill_rate_override
Line: 283

                    ( p_msg         => 'Number of records Inserted into ' ||
                                       'PA_RESOURCE_ASGN_CURR_TMP:['||sql%Rowcount||']',
                    --p_called_mode => p_called_mode,
                      p_module_name => l_module_name,
                      p_log_level   => l_log_level );
Line: 292

    /* End Update Case 1 */

    IF p_pa_debug_mode = 'Y' THEN
        PA_FP_GEN_AMOUNT_UTILS.FP_DEBUG
            ( p_msg         => 'Beginning Update Case 2',
            --p_called_mode => p_called_mode,
              p_module_name => l_module_name,
              p_log_level   => l_log_level );
Line: 303

     * Update Case 2:
     * Null out any existing rate overrides for non-rate-based
     * txns that do not have any budget lines.
     *
     * Background:
     * In IPM, non-rate-based txns are considered 'amount-based'
     * and rates are not functionally meaningful. Thus, internal
     * txn-level rates are not displayed to users. When users
     * enter amounts on a blank line (i.e. for a txn that does
     * not have any budget lines), calculation of amounts should
     * not be affected by old internal txn-level rates.
     *
     * Open/Closed Issues:
     * 1. Does this apply only to ETC budget lines?
     * Answer: Yes. Since actuals are read-only, the absence of
     * ETC budget lines would fall under the blank line scenario.
     * 2. Should this consider only lines w/o rejections?
     * Answer: No. Here's an example where rates should be retained:
     * Src/Tgt options match. Src has cost rate overrides
     * that get copied to tgt. However, bill rate is missing
     * for the txn, so revenue_rejection_code stamped. We
     * should not null out the cost rates in this case.
     **/

    -- Get distinct (resource_assignment_id,txn_currency_code)
    -- values for non-rate-based txns that have existing txn-level
    -- rate overrides but no (ETC) budget lines.
    OPEN   nrb_txns_without_bl_csr;
Line: 341

        IF l_rbc_tmp_tbl_deleted_flag = 'N' THEN
            DELETE pa_resource_asgn_curr_tmp;
Line: 343

            l_rbc_tmp_tbl_deleted_flag := 'Y';
Line: 347

                    ( p_msg         => 'Records Deleted from pa_resource_asgn_curr_tmp',
                    --p_called_mode => p_called_mode,
                      p_module_name => l_module_name,
                      p_log_level   => l_log_level );
Line: 352

        END IF; -- IF l_rbc_tmp_tbl_deleted_flag = 'N' THEN
Line: 366

            INSERT INTO PA_RESOURCE_ASGN_CURR_TMP
                ( resource_assignment_id,
                  txn_currency_code )
            VALUES
                ( l_res_asg_id_tab(i),
                  l_txn_currency_code_tab(i) );
Line: 375

                ( p_msg         => 'Number of records Inserted into ' ||
                                   'PA_RESOURCE_ASGN_CURR_TMP:['||sql%Rowcount||']',
                --p_called_mode => p_called_mode,
                  p_module_name => l_module_name,
                  p_log_level   => l_log_level );
Line: 382

    /* End Update Case 2 */


    -- Call MAINTAIN_DATA to Insert rate overrides into the
    -- pa_resource_asgn_curr table if required.
    -- Note: temp table data should be completed populated
    -- by this point by the preceding Update Cases.

    IF l_maint_data_ins_req_flag = 'Y' THEN

        -- Call the maintenance api in INSERT mode
        IF p_pa_debug_mode = 'Y' THEN
            PA_FP_GEN_AMOUNT_UTILS.FP_DEBUG(
                P_MSG                   => 'Before calling PA_RES_ASG_CURRENCY_PUB.' ||
                                           'MAINTAIN_DATA',
              --P_CALLED_MODE           => p_called_mode,
                P_MODULE_NAME           => l_module_name);
Line: 404

                P_ROLLUP_FLAG           => 'N', -- 'N' indicates Insert
              --P_CALLED_MODE           => p_called_mode,
                X_RETURN_STATUS         => x_return_status,
                X_MSG_COUNT             => x_msg_count,
                X_MSG_DATA              => x_msg_data );
Line: 495

        SELECT bl.period_name,
               NVL(bl.txn_cost_rate_override,bl.txn_standard_cost_rate),
               NVL(bl.burden_cost_rate_override,bl.burden_cost_rate),
               NVL(bl.txn_bill_rate_override,bl.txn_standard_bill_rate)
          FROM pa_budget_lines bl
         WHERE bl.resource_assignment_id = c_res_asg_id
           AND bl.txn_currency_code = p_txn_currency_code;
Line: 540

    /* Bug 4117267 added TARGET_RES_ASG_ID column in the INSERT stmt. */

    FORALL i IN 1..l_period_name_tab.count
        INSERT INTO PA_FP_GEN_RATE_TMP
             ( SOURCE_RES_ASG_ID,
               TXN_CURRENCY_CODE,
               PERIOD_NAME,
               RAW_COST_RATE,
               BURDENED_COST_RATE,
               REVENUE_BILL_RATE,
               TARGET_RES_ASG_ID)
        VALUES
             ( p_source_res_asg_id,
               p_txn_currency_code,
               l_period_name_tab(i),
               l_raw_cost_rate_tab(i),
               l_burdened_cost_rate_tab(i),
               l_revenue_bill_rate_tab(i),
               p_target_res_asg_id );
Line: 615

 * different units of measurement mapped to them. Such target txns are updated
 * in the pa_resource_assignments table to be non rate-based with UOM equal to
 * currency.
 *
 * Currently the P_FP_COLS_REC parameter is unused. This, however, will likely
 * change with future modifications.
 */
PROCEDURE CHK_UPD_RATE_BASED_FLAG
          (P_BUDGET_VERSION_ID       IN          PA_BUDGET_VERSIONS.BUDGET_VERSION_ID%TYPE,
           P_FP_COLS_REC             IN          PA_FP_GEN_AMOUNT_UTILS.FP_COLS,
           X_RETURN_STATUS           OUT  NOCOPY VARCHAR2,
           X_MSG_COUNT               OUT  NOCOPY NUMBER,
           X_MSG_DATA                OUT  NOCOPY VARCHAR2)
IS
    l_module_name  VARCHAR2(200) := 'pa.plsql.pa_fp_gen_fcst_amt_pub1.chk_upd_rate_based_flag';
Line: 632

    SELECT /*+ INDEX(tmp,PA_FP_CALC_AMT_TMP1_N1)*/
           DISTINCT(tmp.target_res_asg_id)
      FROM pa_fp_calc_amt_tmp1 tmp,
           pa_resource_assignments ra
     WHERE ra.resource_assignment_id = tmp.target_res_asg_id
       and ra.budget_version_id = p_budget_version_id
       and ra.rate_based_flag = 'Y'
     GROUP BY tmp.target_res_asg_id
    HAVING COUNT(DISTINCT(tmp.unit_of_measure)) > 1;
Line: 645

    l_last_updated_by             NUMBER := FND_GLOBAL.user_id;
Line: 646

    l_last_update_login           NUMBER := FND_GLOBAL.login_id;
Line: 676

        UPDATE pa_resource_assignments
           SET rate_based_flag = 'N',
               unit_of_measure = l_currency_code,
               last_update_date = SYSDATE,
               last_updated_by = l_last_updated_by,
               last_update_login = l_last_update_login
         WHERE resource_assignment_id = l_res_asg_id_tab(i);
Line: 824

    select count(*) into l_count from PJI_FM_XBS_ACCUM_TMP1;
Line: 831

    /* Update rlm_id for all rows in pji_fm_xbs_accum_tmp1 if the resource list
     * (p_fp_cols_rec.X_RESOURCE_LIST_ID) is None - Uncategorized.
     * This logic is not handled by the PJI generic resource mapping API. */

    SELECT NVL(uncategorized_flag,'N')
      INTO l_uncategorized_flag
      FROM pa_resource_lists_all_bg
     WHERE resource_list_id = p_resource_list_id;
Line: 845

        UPDATE pji_fm_xbs_accum_tmp1
           SET res_list_member_id = l_rlm_id;
Line: 849

    INSERT INTO PA_FP_FCST_GEN_TMP1 (
                PROJECT_ID,
                STRUCT_VERSION_ID,
                PROJECT_ELEMENT_ID,
                CALENDAR_TYPE,
                PERIOD_NAME,
                PLAN_VERSION_ID,
                RES_LIST_MEMBER_ID,
                QUANTITY,
                TXN_CURRENCY_CODE,
                TXN_RAW_COST,
                TXN_BRDN_COST,
                TXN_REVENUE,
                TXN_LABOR_RAW_COST,
                TXN_LABOR_BRDN_COST,
                TXN_EQUIP_RAW_COST,
                TXN_EQUIP_BRDN_COST,
                TXN_BASE_RAW_COST,
                TXN_BASE_BRDN_COST,
                TXN_BASE_LABOR_RAW_COST,
                TXN_BASE_LABOR_BRDN_COST,
                TXN_BASE_EQUIP_RAW_COST,
                TXN_BASE_EQUIP_BRDN_COST,
                PRJ_RAW_COST,
                PRJ_BRDN_COST,
                PRJ_REVENUE,
                PRJ_LABOR_RAW_COST,
                PRJ_LABOR_BRDN_COST,
                PRJ_EQUIP_RAW_COST,
                PRJ_EQUIP_BRDN_COST,
                PRJ_BASE_RAW_COST,
                PRJ_BASE_BRDN_COST,
                PRJ_BASE_LABOR_RAW_COST,
                PRJ_BASE_LABOR_BRDN_COST,
                PRJ_BASE_EQUIP_RAW_COST,
                PRJ_BASE_EQUIP_BRDN_COST,
                POU_RAW_COST,
                POU_BRDN_COST,
                POU_REVENUE,
                POU_LABOR_RAW_COST,
                POU_LABOR_BRDN_COST,
                POU_EQUIP_RAW_COST,
                POU_EQUIP_BRDN_COST,
                POU_BASE_RAW_COST,
                POU_BASE_BRDN_COST,
                POU_BASE_LABOR_RAW_COST,
                POU_BASE_LABOR_BRDN_COST,
                POU_BASE_EQUIP_RAW_COST,
                POU_BASE_EQUIP_BRDN_COST,
                LABOR_HOURS,
                EQUIPMENT_HOURS,
                SOURCE_ID,
                DATA_TYPE_CODE )
    (SELECT     PROJECT_ID,
                STRUCT_VERSION_ID,
                PROJECT_ELEMENT_ID,
                CALENDAR_TYPE,
                PERIOD_NAME,
                PLAN_VERSION_ID,
                RES_LIST_MEMBER_ID,
                QUANTITY,
                TXN_CURRENCY_CODE,
                TXN_RAW_COST,
                TXN_BRDN_COST,
                TXN_REVENUE,
                TXN_LABOR_RAW_COST,
                TXN_LABOR_BRDN_COST,
                TXN_EQUIP_RAW_COST,
                TXN_EQUIP_BRDN_COST,
                TXN_BASE_RAW_COST,
                TXN_BASE_BRDN_COST,
                TXN_BASE_LABOR_RAW_COST,
                TXN_BASE_LABOR_BRDN_COST,
                TXN_BASE_EQUIP_RAW_COST,
                TXN_BASE_EQUIP_BRDN_COST,
                PRJ_RAW_COST,
                PRJ_BRDN_COST,
                PRJ_REVENUE,
                PRJ_LABOR_RAW_COST,
                PRJ_LABOR_BRDN_COST,
                PRJ_EQUIP_RAW_COST,
                PRJ_EQUIP_BRDN_COST,
                PRJ_BASE_RAW_COST,
                PRJ_BASE_BRDN_COST,
                PRJ_BASE_LABOR_RAW_COST,
                PRJ_BASE_LABOR_BRDN_COST,
                PRJ_BASE_EQUIP_RAW_COST,
                PRJ_BASE_EQUIP_BRDN_COST,
                POU_RAW_COST,
                POU_BRDN_COST,
                POU_REVENUE,
                POU_LABOR_RAW_COST,
                POU_LABOR_BRDN_COST,
                POU_EQUIP_RAW_COST,
                POU_EQUIP_BRDN_COST,
                POU_BASE_RAW_COST,
                POU_BASE_BRDN_COST,
                POU_BASE_LABOR_RAW_COST,
                POU_BASE_LABOR_BRDN_COST,
                POU_BASE_EQUIP_RAW_COST,
                POU_BASE_EQUIP_BRDN_COST,
                LABOR_HOURS,
                EQUIPMENT_HOURS,
                SOURCE_ID,
                P_DATA_TYPE_CODE
    FROM PJI_FM_XBS_ACCUM_TMP1 );
Line: 1018

  SELECT ra.resource_assignment_id,
         ra.resource_list_member_id,
         ra.planning_start_date,
         ra.planning_end_date,
         p_task_id
  FROM pa_resource_assignments ra
  WHERE c_task_id_flag = 'Y' AND
        ra.budget_version_id = P_BUDGET_VERSION_ID
        AND ra.task_id = P_TASK_ID
  UNION ALL
  SELECT ra.resource_assignment_id,
         ra.resource_list_member_id,
         ra.planning_start_date,
         ra.planning_end_date,
         ra.task_id
  FROM pa_resource_assignments ra
  WHERE c_task_id_flag = 'N' AND
        ra.budget_version_id = P_BUDGET_VERSION_ID;
Line: 1040

  SELECT /*+ INDEX(tmp,PA_FP_FCST_GEN_TMP1_N1)*/
         DISTINCT ra.resource_assignment_id,
         tmp.res_list_member_id,
         ra.planning_start_date,
         ra.planning_end_date,
         tmp.project_element_id
   FROM PA_FP_FCST_GEN_TMP1 tmp,
        pa_resource_assignments ra
   WHERE tmp.project_element_id = p_task_id AND
         ra.budget_version_id = P_BUDGET_VERSION_ID AND
         NVL(ra.task_id,0) = 0 AND
         ra.resource_list_member_id = tmp.res_list_member_id;
Line: 1057

  SELECT ra.resource_assignment_id,
         ra.resource_list_member_id,
         ra.planning_start_date,
         ra.planning_end_date,
         p_task_id
  FROM pa_resource_assignments ra
  WHERE c_task_id_flag = 'Y' AND
        ra.budget_version_id = P_BUDGET_VERSION_ID
        AND ra.task_id = P_TASK_ID
        AND ( ra.transaction_source_code IS NOT NULL
              OR ( ra.transaction_source_code IS NULL
                   AND NOT EXISTS ( SELECT 1
                                    FROM   pa_budget_lines bl
                                    WHERE  bl.resource_assignment_id =
                                           ra.resource_assignment_id
                                    AND    bl.start_date > p_actuals_thru_date
                                    AND    rownum < 2 )))
  UNION ALL
  SELECT ra.resource_assignment_id,
         ra.resource_list_member_id,
         ra.planning_start_date,
         ra.planning_end_date,
         ra.task_id
  FROM pa_resource_assignments ra
  WHERE c_task_id_flag = 'N' AND
        ra.budget_version_id = P_BUDGET_VERSION_ID
        AND ( ra.transaction_source_code IS NOT NULL
              OR ( ra.transaction_source_code IS NULL
                   AND NOT EXISTS ( SELECT 1
                                    FROM   pa_budget_lines bl
                                    WHERE  bl.resource_assignment_id =
                                           ra.resource_assignment_id
                                    AND    bl.start_date > p_actuals_thru_date
                                    AND    rownum < 2 )));
Line: 1093

  SELECT ra.resource_assignment_id,
         ra.resource_list_member_id,
         ra.planning_start_date,
         ra.planning_end_date,
         p_task_id
  FROM pa_resource_assignments ra
  WHERE c_task_id_flag = 'Y' AND
        ra.budget_version_id = P_BUDGET_VERSION_ID
        AND ra.task_id = P_TASK_ID
        AND ( ra.transaction_source_code IS NOT NULL
              OR ( ra.transaction_source_code IS NULL
                   AND NOT EXISTS ( SELECT 1
                                    FROM   pa_budget_lines bl
                                    WHERE  bl.resource_assignment_id =
                                           ra.resource_assignment_id
                                    AND    NVL(quantity,0) <> NVL(init_quantity,0)
                                    AND    rownum < 2 )))
  UNION ALL
  SELECT ra.resource_assignment_id,
         ra.resource_list_member_id,
         ra.planning_start_date,
         ra.planning_end_date,
         ra.task_id
  FROM pa_resource_assignments ra
  WHERE c_task_id_flag = 'N' AND
        ra.budget_version_id = P_BUDGET_VERSION_ID
        AND ( ra.transaction_source_code IS NOT NULL
              OR ( ra.transaction_source_code IS NULL
                   AND NOT EXISTS ( SELECT 1
                                    FROM   pa_budget_lines bl
                                    WHERE  bl.resource_assignment_id =
                                           ra.resource_assignment_id
                                    AND    NVL(quantity,0) <> NVL(init_quantity,0)
                                    AND    rownum < 2 )));
Line: 1129

  SELECT /*+ INDEX(tmp,PA_FP_FCST_GEN_TMP1_N1)*/
         DISTINCT ra.resource_assignment_id,
         tmp.res_list_member_id,
         ra.planning_start_date,
         ra.planning_end_date,
         tmp.project_element_id
   FROM PA_FP_FCST_GEN_TMP1 tmp,
        pa_resource_assignments ra
   WHERE tmp.project_element_id = p_task_id AND
         ra.budget_version_id = P_BUDGET_VERSION_ID AND
         NVL(ra.task_id,0) = 0 AND
         ra.resource_list_member_id = tmp.res_list_member_id
         AND ( ra.transaction_source_code IS NOT NULL
               OR ( ra.transaction_source_code IS NULL
                    AND NOT EXISTS ( SELECT 1
                                     FROM   pa_budget_lines bl
                                     WHERE  bl.resource_assignment_id =
                                            ra.resource_assignment_id
                                     AND    bl.start_date > p_actuals_thru_date
                                     AND    rownum < 2 )));
Line: 1151

  SELECT /*+ INDEX(tmp,PA_FP_FCST_GEN_TMP1_N1)*/
         DISTINCT ra.resource_assignment_id,
         tmp.res_list_member_id,
         ra.planning_start_date,
         ra.planning_end_date,
         tmp.project_element_id
   FROM PA_FP_FCST_GEN_TMP1 tmp,
        pa_resource_assignments ra
   WHERE tmp.project_element_id = p_task_id AND
         ra.budget_version_id = P_BUDGET_VERSION_ID AND
         NVL(ra.task_id,0) = 0 AND
         ra.resource_list_member_id = tmp.res_list_member_id
         AND ( ra.transaction_source_code IS NOT NULL
               OR ( ra.transaction_source_code IS NULL
                    AND NOT EXISTS ( SELECT 1
                                     FROM   pa_budget_lines bl
                                     WHERE  bl.resource_assignment_id =
                                            ra.resource_assignment_id
                                     AND    NVL(quantity,0) <> NVL(init_quantity,0)
                                     AND    rownum < 2 )));
Line: 1174

  SELECT  start_date
  FROM    pa_periods_all
  WHERE   period_name = c_period
  AND     org_id      = p_fp_cols_rec.x_org_id;
Line: 1181

  SELECT  start_date
  FROM    gl_period_statuses
  WHERE   period_name            = c_period
  AND     application_id         = PA_PERIOD_PROCESS_PKG.Application_id
  AND     set_of_books_id        = p_fp_cols_rec.x_set_of_books_id
  AND     adjustment_period_flag = 'N';
Line: 1338

        SELECT COUNT(DISTINCT txn_currency_code)
               INTO l_currency_count
        FROM PA_BUDGET_LINES
        WHERE resource_assignment_id = l_res_asg_id_tab(i)
              AND start_date BETWEEN l_actual_from_date AND l_actual_to_date;
Line: 1348

                SELECT DISTINCT txn_currency_code
                       INTO l_currency_code
                FROM PA_BUDGET_LINES
                WHERE resource_assignment_id = l_res_asg_id_tab(i)
                      AND start_date BETWEEN l_actual_from_date AND l_actual_to_date;
Line: 1401

        UPDATE pa_resource_assignments
        SET    spread_curve_id = NULL,
               sp_fixed_date = NULL,
               transaction_source_code = 'AVERAGE_ACTUALS' -- bug 4232619
        WHERE  resource_assignment_id = l_res_asg_id_tab(i);
Line: 1548

        SELECT /*+ INDEX(PA_FP_CALC_AMT_TMP2,PA_FP_CALC_AMT_TMP2_N2)*/
           COUNT(DISTINCT TXN_CURRENCY_CODE)
           INTO l_currency_count_tot
        FROM PA_FP_CALC_AMT_TMP2
        WHERE RESOURCE_ASSIGNMENT_ID = P_RESOURCE_ASSIGNMENT_ID
          AND ETC_CURRENCY_CODE IS NULL;
Line: 1555

        SELECT /*+ INDEX(PA_FP_FCST_GEN_TMP1,PA_FP_FCST_GEN_TMP1_N1)*/
               COUNT(DISTINCT TXN_CURRENCY_CODE)
         INTO  l_currency_count_act
         FROM  PA_FP_FCST_GEN_TMP1
        WHERE  project_element_id = P_TASK_ID
          AND  res_list_member_id = P_RESOURCE_LIST_MEMBER_ID
          AND  data_type_code = P_ETC_SOURCE_CODE;
Line: 1574

            SELECT /*+ INDEX(PA_FP_CALC_AMT_TMP2,PA_FP_CALC_AMT_TMP2_N2)*/
               DISTINCT TXN_CURRENCY_CODE
               INTO l_currency_code_tot
            FROM PA_FP_CALC_AMT_TMP2
            WHERE RESOURCE_ASSIGNMENT_ID = P_RESOURCE_ASSIGNMENT_ID
              AND ETC_CURRENCY_CODE IS NULL;
Line: 1581

            SELECT /*+ INDEX(PA_FP_FCST_GEN_TMP1,PA_FP_FCST_GEN_TMP1_N1)*/
               DISTINCT TXN_CURRENCY_CODE
               INTO l_currency_code_act
            FROM PA_FP_FCST_GEN_TMP1
            WHERE project_element_id = P_TASK_ID
              AND res_list_member_id = P_RESOURCE_LIST_MEMBER_ID
              AND data_type_code = P_ETC_SOURCE_CODE;
Line: 1597

            SELECT /*+ INDEX(PA_FP_CALC_AMT_TMP2,PA_FP_CALC_AMT_TMP2_N2)*/
               DISTINCT TXN_CURRENCY_CODE
               INTO l_etc_currency_code
            FROM PA_FP_CALC_AMT_TMP2
            WHERE RESOURCE_ASSIGNMENT_ID = P_RESOURCE_ASSIGNMENT_ID
              AND ETC_CURRENCY_CODE IS NULL;
Line: 1607

            SELECT /*+ INDEX(PA_FP_FCST_GEN_TMP1,PA_FP_FCST_GEN_TMP1_N1)*/
               DISTINCT TXN_CURRENCY_CODE
               INTO l_etc_currency_code
            FROM PA_FP_FCST_GEN_TMP1
            WHERE project_element_id = P_TASK_ID
              AND res_list_member_id = P_RESOURCE_LIST_MEMBER_ID
              AND data_type_code = P_ETC_SOURCE_CODE;
Line: 1617

            SELECT /*+ INDEX(PA_FP_CALC_AMT_TMP2,PA_FP_CALC_AMT_TMP2_N2)*/
                   SUM(NVL(TOTAL_PLAN_QUANTITY, 0)),
                   SUM(NVL(DECODE(l_currency_flag, 'TC', TOTAL_TXN_RAW_COST,
                                                   'PC', TOTAL_PC_RAW_COST), 0)),
                   SUM(NVL(DECODE(l_currency_flag, 'TC', TOTAL_TXN_BURDENED_COST,
                                                   'PC', TOTAL_PC_BURDENED_COST),0))
                   INTO l_tot_qty,
                        l_tot_txn_raw_cost,
                        l_tot_txn_brdn_cost
            FROM PA_FP_CALC_AMT_TMP2
            WHERE RESOURCE_ASSIGNMENT_ID = P_RESOURCE_ASSIGNMENT_ID
              AND ETC_CURRENCY_CODE IS  NULL;
Line: 1652

            SELECT SUM(NVL(quantity,0)),
                   SUM(NVL(DECODE(l_currency_flag, 'TC', txn_raw_cost,
                                                   'PC', prj_raw_cost),0)),
                   SUM(NVL(DECODE(l_currency_flag, 'TC', txn_brdn_cost,
                                                   'PC', prj_brdn_cost),0))
                   INTO
                   l_act_qty,
                   l_act_txn_raw_cost,
                   l_act_txn_brdn_cost
            FROM /*+ INDEX(PA_FP_FCST_GEN_TMP1,PA_FP_FCST_GEN_TMP1_N1)*/
                  PA_FP_FCST_GEN_TMP1
            WHERE project_element_id = P_TASK_ID
              AND res_list_member_id = P_RESOURCE_LIST_MEMBER_ID
              AND data_type_code = P_ETC_SOURCE_CODE;
Line: 1750

        SELECT /*+ INDEX(PA_FP_CALC_AMT_TMP2,PA_FP_CALC_AMT_TMP2_N2)*/
           COUNT(DISTINCT TXN_CURRENCY_CODE)
           INTO l_currency_count_tot
        FROM PA_FP_CALC_AMT_TMP2
        WHERE RESOURCE_ASSIGNMENT_ID = P_RESOURCE_ASSIGNMENT_ID
          AND ETC_CURRENCY_CODE IS NULL;
Line: 1759

            SELECT /*+ INDEX(PA_FP_CALC_AMT_TMP2,PA_FP_CALC_AMT_TMP2_N2)*/
               DISTINCT TXN_CURRENCY_CODE
               INTO l_currency_code_tot
            FROM PA_FP_CALC_AMT_TMP2
            WHERE RESOURCE_ASSIGNMENT_ID = P_RESOURCE_ASSIGNMENT_ID
              AND ETC_CURRENCY_CODE IS NULL;
Line: 1781

            SELECT /*+ INDEX(PA_FP_CALC_AMT_TMP2,PA_FP_CALC_AMT_TMP2_N2)*/
                   SUM(NVL(TOTAL_PLAN_QUANTITY, 0)),
                   SUM(NVL(DECODE(l_currency_flag, 'TC', TOTAL_TXN_RAW_COST,
                                                   'PC', TOTAL_PC_RAW_COST), 0)),
                   SUM(NVL(DECODE(l_currency_flag, 'TC', TOTAL_TXN_BURDENED_COST,
                                                   'PC', TOTAL_PC_BURDENED_COST),0))
                   INTO l_tot_qty,
                        l_tot_txn_raw_cost,
                        l_tot_txn_brdn_cost
            FROM PA_FP_CALC_AMT_TMP2
            WHERE RESOURCE_ASSIGNMENT_ID = P_RESOURCE_ASSIGNMENT_ID
              AND ETC_CURRENCY_CODE IS  NULL;
Line: 1819

        INSERT INTO PA_FP_CALC_AMT_TMP2
           (RESOURCE_ASSIGNMENT_ID,
            ETC_CURRENCY_CODE,
            ETC_PLAN_QUANTITY,
            ETC_TXN_RAW_COST,
            ETC_TXN_BURDENED_COST)
        VALUES
           (P_RESOURCE_ASSIGNMENT_ID,
            l_etc_currency_code,
            l_etc_qty,
            l_etc_txn_raw_cost,
            l_etc_txn_brdn_cost);
Line: 2019

    SELECT /*+ INDEX(PA_FP_CALC_AMT_TMP2,PA_FP_CALC_AMT_TMP2_N2)*/
           COUNT(DISTINCT TXN_CURRENCY_CODE)
           INTO l_currency_count_tot
    FROM PA_FP_CALC_AMT_TMP2
    WHERE RESOURCE_ASSIGNMENT_ID = P_RESOURCE_ASSIGNMENT_ID
          AND ETC_CURRENCY_CODE IS NULL;
Line: 2026

  /* SELECT COUNT(DISTINCT TXN_CURRENCY_CODE)
           INTO l_currency_count_bsl
    FROM PA_FP_CALC_AMT_TMP3
    WHERE plan_version_id = P_ETC_SRC_BUDGET_VER_ID
          AND task_id = P_TASK_ID
          AND res_list_member_id = P_RESOURCE_LIST_MEMBER_ID
          AND res_asg_id = P_RESOURCE_ASSIGNMENT_ID;*/
Line: 2043

          SELECT /*+ INDEX(PA_FP_CALC_AMT_TMP2,PA_FP_CALC_AMT_TMP2_N2)*/
                 DISTINCT TXN_CURRENCY_CODE
          INTO   l_currency_code_tot
          FROM   PA_FP_CALC_AMT_TMP2
          WHERE  RESOURCE_ASSIGNMENT_ID = P_RESOURCE_ASSIGNMENT_ID
          AND    ETC_CURRENCY_CODE IS NULL;
Line: 2057

        SELECT /*+ INDEX(PA_FP_CALC_AMT_TMP2,PA_FP_CALC_AMT_TMP2_N2)*/
               SUM(NVL(TOTAL_PLAN_QUANTITY,0)),
               SUM(NVL(DECODE(l_currency_flag, 'TC', TOTAL_TXN_RAW_COST,
                                               'PC', TOTAL_PC_RAW_COST),0)),
               SUM(NVL(DECODE(l_currency_flag, 'TC', TOTAL_TXN_BURDENED_COST,
                                               'PC', TOTAL_PC_BURDENED_COST),0))
               INTO l_tot_qty,
                    l_tot_txn_raw_cost,
                    l_tot_txn_brdn_cost
        FROM PA_FP_CALC_AMT_TMP2
        WHERE RESOURCE_ASSIGNMENT_ID = P_RESOURCE_ASSIGNMENT_ID
              AND ETC_CURRENCY_CODE IS NULL;
Line: 2089

        INSERT INTO PA_FP_CALC_AMT_TMP2
           (RESOURCE_ASSIGNMENT_ID,
            ETC_CURRENCY_CODE,
            ETC_PLAN_QUANTITY,
            ETC_TXN_RAW_COST,
            ETC_TXN_BURDENED_COST)
        VALUES
           (P_RESOURCE_ASSIGNMENT_ID,
            l_etc_currency_code,
            l_etc_qty,
            l_etc_txn_raw_cost,
            l_etc_txn_brdn_cost);
Line: 2305

        SELECT /*+ INDEX(PA_FP_FCST_GEN_TMP1,PA_FP_FCST_GEN_TMP1_N1)*/
               COUNT(DISTINCT TXN_CURRENCY_CODE),SUM(NVL(quantity,0))
               INTO l_txn_currency_count_act,l_act_qty
        FROM PA_FP_FCST_GEN_TMP1
        WHERE project_element_id = P_TASK_ID
          AND res_list_member_id = P_RESOURCE_LIST_MEMBER_ID
          AND data_type_code = P_ETC_SOURCE_CODE;
Line: 2320

            SELECT /*+ INDEX(PA_FP_FCST_GEN_TMP1,PA_FP_FCST_GEN_TMP1_N1)*/
                   DISTINCT TXN_CURRENCY_CODE
                   INTO l_txn_currency_code_act
            FROM PA_FP_FCST_GEN_TMP1
            WHERE project_element_id = P_TASK_ID
              AND res_list_member_id = P_RESOURCE_LIST_MEMBER_ID
              AND data_type_code = P_ETC_SOURCE_CODE;
Line: 2329

              SELECT /*+ INDEX(PA_FP_FCST_GEN_TMP1,PA_FP_FCST_GEN_TMP1_N1)*/
                   SUM(NVL(quantity,0)),
                   SUM(NVL(txn_raw_cost,0)),
                   SUM(NVL(txn_brdn_cost,0)),
                   SUM(NVL(prj_raw_cost,0)),
                   SUM(NVL(prj_brdn_cost,0))
                   INTO
                   l_act_qty,
                   l_act_txn_raw_cost,
                   l_act_txn_brdn_cost,
                   l_act_pc_raw_cost,
                   l_act_pc_brdn_cost
              FROM PA_FP_FCST_GEN_TMP1
              WHERE project_element_id = P_TASK_ID
                AND res_list_member_id = P_RESOURCE_LIST_MEMBER_ID
                AND data_type_code = P_ETC_SOURCE_CODE;
Line: 2357

              SELECT /*+ INDEX(PA_FP_FCST_GEN_TMP1,PA_FP_FCST_GEN_TMP1_N1)*/
                   SUM(NVL(quantity,0)),
                   SUM(NVL(prj_raw_cost,0)),
                   SUM(NVL(prj_brdn_cost,0))
                   INTO
                   l_act_qty,
                   l_act_pc_raw_cost,
                   l_act_pc_brdn_cost
              FROM PA_FP_FCST_GEN_TMP1
              WHERE project_element_id = P_TASK_ID
                AND res_list_member_id = P_RESOURCE_LIST_MEMBER_ID
                AND data_type_code = P_ETC_SOURCE_CODE;
Line: 2459

    SELECT /*+ INDEX(PA_FP_CALC_AMT_TMP2,PA_FP_CALC_AMT_TMP2_N2)*/
           COUNT(DISTINCT TXN_CURRENCY_CODE)
           INTO l_txn_currency_count_tot
    FROM PA_FP_CALC_AMT_TMP2
    WHERE RESOURCE_ASSIGNMENT_ID = P_RESOURCE_ASSIGNMENT_ID
          AND ETC_CURRENCY_CODE IS NULL;
Line: 2469

        SELECT /*+ INDEX(PA_FP_CALC_AMT_TMP2,PA_FP_CALC_AMT_TMP2_N2)*/
               DISTINCT TXN_CURRENCY_CODE
               INTO l_txn_currency_code_tot
        FROM PA_FP_CALC_AMT_TMP2
        WHERE RESOURCE_ASSIGNMENT_ID = P_RESOURCE_ASSIGNMENT_ID
              AND ETC_CURRENCY_CODE IS NULL;
Line: 2477

            SELECT /*+ INDEX(PA_FP_CALC_AMT_TMP2,PA_FP_CALC_AMT_TMP2_N2)*/
                   SUM(NVL(TOTAL_PLAN_QUANTITY, 0)),
                   SUM(NVL(TOTAL_TXN_RAW_COST,0)),
                   SUM(NVL(TOTAL_TXN_BURDENED_COST,0)),
                   SUM(NVL(TOTAL_PC_RAW_COST, 0)),
                   SUM(NVL(TOTAL_PC_BURDENED_COST,0))
                   INTO l_tot_qty,
                        l_tot_txn_raw_cost,
                        l_tot_txn_brdn_cost,
                        l_tot_pc_raw_cost,
                        l_tot_pc_brdn_cost
            FROM PA_FP_CALC_AMT_TMP2
            WHERE RESOURCE_ASSIGNMENT_ID = P_RESOURCE_ASSIGNMENT_ID
              AND ETC_CURRENCY_CODE IS  NULL;
Line: 2502

            SELECT /*+ INDEX(PA_FP_CALC_AMT_TMP2,PA_FP_CALC_AMT_TMP2_N2)*/
                   SUM(NVL(TOTAL_PLAN_QUANTITY, 0)),
                   SUM(NVL(TOTAL_PC_RAW_COST,0)),
                   SUM(NVL(TOTAL_PC_BURDENED_COST,0))
                   INTO l_tot_qty,
                        l_tot_pc_raw_cost,
                        l_tot_pc_brdn_cost
            FROM PA_FP_CALC_AMT_TMP2
            WHERE RESOURCE_ASSIGNMENT_ID = P_RESOURCE_ASSIGNMENT_ID
              AND ETC_CURRENCY_CODE IS  NULL;
Line: 2558

        INSERT INTO PA_FP_CALC_AMT_TMP2
           (RESOURCE_ASSIGNMENT_ID,
            ETC_CURRENCY_CODE,
            ETC_PLAN_QUANTITY,
            ETC_TXN_RAW_COST,
            ETC_TXN_BURDENED_COST)
        VALUES
           (P_RESOURCE_ASSIGNMENT_ID,
            l_etc_currency_code,
            l_etc_qty,
            l_etc_raw_cost,
            l_etc_brdn_cost);
Line: 2803

        SELECT PROJ_ELEMENT_ID
               BULK COLLECT INTO l_wp_task_tab
        FROM PA_MAP_WP_TO_FIN_TASKS_V
        WHERE PARENT_STRUCTURE_VERSION_ID = P_WP_STRUCTURE_VERSION_ID
              AND MAPPED_FIN_TASK_ID = P_TASK_ID;
Line: 2878

        SELECT proj_element_id
               BULK COLLECT INTO l_wp_task_tab
        FROM pa_proj_element_versions
        WHERE PARENT_STRUCTURE_VERSION_ID = P_WP_STRUCTURE_VERSION_ID
              AND OBJECT_TYPE = 'PA_TASKS';
Line: 2954

    INSERT INTO PA_FP_CALC_AMT_TMP2 (
                RESOURCE_ASSIGNMENT_ID,
                TXN_CURRENCY_CODE,
                TOTAL_PLAN_QUANTITY,
                TOTAL_TXN_RAW_COST,
                TOTAL_TXN_BURDENED_COST)
    VALUES (    (-1) * P_TASK_ID,
                P_PROJ_CURRENCY_CODE,
                l_tot_work_qty,
                l_tot_raw_cost_pc,
                l_tot_brdn_cost_pc);*/
Line: 2975

        INSERT INTO PA_FP_CALC_AMT_TMP2 (
                RESOURCE_ASSIGNMENT_ID,
                ETC_CURRENCY_CODE,
                ETC_PLAN_QUANTITY,
                ETC_TXN_RAW_COST,
                ETC_TXN_BURDENED_COST,
                TRANSACTION_SOURCE_CODE,
		ACTUAL_WORK_QTY)
        VALUES ((-1) * P_TASK_ID,
                P_PROJ_CURRENCY_CODE,
                l_etc_raw_cost_pc,
                l_etc_raw_cost_pc,
                l_etc_brdn_cost_pc,
                l_transaction_source_code,
		l_act_work_qty_ind);
Line: 2993

       SELECT nvl(start_date,l_sysdate),
              nvl(completion_date,l_sysdate)
           INTO l_start_date, l_completion_date
       FROM pa_tasks
       WHERE task_id = P_TASK_ID;
Line: 2999

       SELECT nvl(start_date,l_sysdate),
              nvl(completion_date,l_sysdate)
           INTO l_start_date, l_completion_date
       FROM pa_projects_all
       WHERE project_id = p_project_id;
Line: 3013

    SELECT resource_list_member_id INTO l_ppl_class_rlm_id
    FROM pa_resource_list_members
    WHERE resource_list_id = P_TARGET_RES_LIST_ID
          AND resource_class_flag = 'Y'
          AND resource_class_code = 'PEOPLE';
Line: 3019

    INSERT INTO PA_FP_CALC_AMT_TMP1 (
                RESOURCE_ASSIGNMENT_ID,
                BUDGET_VERSION_ID,
                PROJECT_ID,
                TASK_ID,
                TARGET_RLM_ID,
                PLANNING_START_DATE,
                PLANNING_END_DATE,
                TRANSACTION_SOURCE_CODE,
                MAPPED_FIN_TASK_ID )
    VALUES (
                (-1) * P_TASK_ID,
                P_BUDGET_VERSION_ID,
                P_PROJECT_ID,
                P_TASK_ID,
                l_ppl_class_rlm_id,
                l_start_date,
                l_completion_date,
                'WORK_QUANTITY',
                P_TASK_ID );
Line: 3122

       SELECT nvl(start_date,l_sysdate),
       nvl(completion_date,l_sysdate)
       INTO l_task_start_date, l_task_completion_date
       FROM pa_tasks
       WHERE task_id = P_TASK_ID;
Line: 3128

       SELECT  nvl(start_date,l_sysdate),
       nvl(completion_date,l_sysdate)
       INTO l_task_start_date, l_task_completion_date
       FROM pa_projects_all WHERE
       project_id = p_project_id;
Line: 3146

       resource_list_member_id col in the following insert for the value
       l_target_class_rlm_id value. */
    INSERT INTO PA_FP_CALC_AMT_TMP1 (
        RESOURCE_ASSIGNMENT_ID,
        BUDGET_VERSION_ID,
        PROJECT_ID,
        TASK_ID,
        target_rlm_id,
        PLANNING_START_DATE,
        PLANNING_END_DATE,
        MAPPED_FIN_TASK_ID )
    VALUES (
        (-1) * P_TASK_ID,
        P_BUDGET_VERSION_ID,
        P_PROJECT_ID,
        P_TASK_ID,
        l_target_class_rlm_id,
        l_task_start_date,
        l_task_completion_date,
        P_TASK_ID );
Line: 3288

 	     DELETE FROM pa_budget_lines bl
 	     WHERE  nvl(bl.quantity,0) = 0
 	     AND    bl.budget_version_id = p_budget_version_id
 	     AND    bl.init_quantity is null
 	     AND    bl.txn_init_raw_cost is null
 	     AND    bl.txn_init_burdened_cost is null
 	     AND    bl.txn_init_revenue is null;
Line: 3299

       the same resource assignments should be updated to the same start and end
       dates, which honor the max and min of the individual budget lines. This
       should also be updated back to resource assignments. **/
    IF l_fp_cols_rec.x_time_phased_code = 'N' THEN
        IF p_pa_debug_mode = 'Y' THEN
            pa_fp_gen_amount_utils.fp_debug
                (p_msg         => 'Before calling pa_fp_maintain_actual_pub.'||
                                'SYNC_UP_PLANNING_DATES_NONE_TP',
                 p_module_name => l_module_name,
                 p_log_level   => 5);
Line: 3400

    SELECT wp_version_flag
    INTO   l_wp_version_flag
    FROM   pa_budget_versions
    WHERE  budget_version_id=p_budget_version_id;
Line: 3438

         /* Calling insert_txn_currency api */
         IF p_pa_debug_mode = 'Y' THEN
            pa_fp_gen_amount_utils.fp_debug
             (p_msg         => 'Before calling
                               pa_fp_gen_budget_amt_pub.insert_txn_currency',
              p_module_name => l_module_name,
              p_log_level   => 5);
Line: 3446

         PA_FP_GEN_BUDGET_AMT_PUB.INSERT_TXN_CURRENCY
          (P_PROJECT_ID          => P_PROJECT_ID,
           P_BUDGET_VERSION_ID   => P_BUDGET_VERSION_ID,
           P_FP_COLS_REC         => l_fp_cols_rec,
           X_RETURN_STATUS       => X_RETURN_STATUS,
           X_MSG_COUNT           => X_MSG_COUNT,
           X_MSG_DATA            => X_MSG_DATA);
Line: 3459

                              pa_fp_gen_budget_amt_pub.insert_txn_currency'
                              ||x_return_status,
                    p_module_name => l_module_name,
                    p_log_level   => 5);
Line: 3535

               (p_msg         => 'Before calling PJI_FM_XBS_ACCUM_MAINT.PLAN_DELETE',
                p_module_name => l_module_name,
                p_log_level   => 5);
Line: 3539

    PJI_FM_XBS_ACCUM_MAINT.PLAN_DELETE (
        p_fp_version_ids        => l_fp_version_ids_tab,
        x_return_status         => x_return_status,
        x_msg_code              => x_msg_data );
Line: 3545

               (p_msg         => 'After calling PJI_FM_XBS_ACCUM_MAINT.PLAN_DELETE,
                            ret status: '||x_return_status,
                p_module_name => l_module_name,
                p_log_level   => 5);
Line: 3604

               (p_msg         =>  'Before calling PA_FP_GEN_BUDGET_AMT_PUB.UPDATE_BV_FOR_GEN_DATE',
                p_module_name => l_module_name,
                p_log_level   => 5);
Line: 3608

    PA_FP_GEN_BUDGET_AMT_PUB.UPDATE_BV_FOR_GEN_DATE
               (P_PROJECT_ID                 => P_PROJECT_ID,
                P_BUDGET_VERSION_ID          => P_BUDGET_VERSION_ID,
                P_ETC_START_DATE             => P_ETC_START_DATE,
                X_RETURN_STATUS              => X_RETURN_STATUS,
                X_MSG_COUNT                  => X_MSG_COUNT,
                X_MSG_DATA                   => X_MSG_DATA);
Line: 3617

               (p_msg         => 'After calling PA_FP_GEN_BUDGET_AMT_PUB.UPDATE_BV_FOR_GEN_DATE,
                            ret status: '||x_return_status,
                p_module_name => l_module_name,
                p_log_level   => 5);
Line: 3679

        DELETE pa_resource_asgn_curr_tmp;
Line: 3681

        INSERT INTO pa_resource_asgn_curr_tmp
            ( resource_assignment_id )
        SELECT ra.resource_assignment_id
        FROM   pa_resource_assignments ra
        WHERE  ra.budget_version_id = p_budget_version_id
        AND    ra.transaction_source_code IS NOT NULL;
Line: 3714

        DELETE pa_resource_asgn_curr_tmp;
Line: 3716

        INSERT INTO pa_resource_asgn_curr_tmp
            ( resource_assignment_id,
              txn_currency_code,
              txn_raw_cost_rate_override,
              txn_burden_cost_rate_override,
              txn_bill_rate_override )
        SELECT DISTINCT
               bl.resource_assignment_id,
               bl.txn_currency_code,
               rbc.txn_raw_cost_rate_override,
               rbc.txn_burden_cost_rate_override,
               rbc.txn_bill_rate_override
        FROM   pa_resource_assignments ra,
               pa_budget_lines bl,
               pa_resource_asgn_curr rbc
        WHERE  ra.budget_version_id = p_budget_version_id
        AND    ra.project_id = p_project_id
        AND    ra.transaction_source_code IS NOT NULL
        AND    bl.resource_assignment_id = ra.resource_assignment_id
        AND    bl.resource_assignment_id = rbc.resource_assignment_id (+)
        AND    bl.txn_currency_code = rbc.txn_currency_code (+);
Line: 3846

    DELETE FROM pa_resource_assignments ra
    WHERE  ra.budget_version_id = p_budget_version_id
    AND    ra.transaction_source_code IS NOT NULL
    AND NOT EXISTS (SELECT null
                    FROM   pa_budget_lines bl
                    WHERE  bl.resource_assignment_id = ra.resource_assignment_id)
    AND NOT EXISTS (SELECT null
                    FROM   pa_resource_asgn_curr rbc
                    WHERE  rbc.resource_assignment_id = ra.resource_assignment_id);
Line: 3929

    SELECT DECODE(BV.VERSION_TYPE,
                  'COST', OPT.GEN_SRC_COST_WP_VERSION_ID,
                  'REVENUE',OPT.GEN_SRC_REV_WP_VERSION_ID,
                  'ALL',OPT.GEN_SRC_ALL_WP_VERSION_ID),
           DECODE(BV.VERSION_TYPE,
                  'COST', OPT1.GEN_SRC_COST_WP_VER_CODE,
                  'REVENUE',OPT1.GEN_SRC_REV_WP_VER_CODE,
                  'ALL',OPT1.GEN_SRC_ALL_WP_VER_CODE),
                   BV.PROJECT_ID
                   INTO l_etc_wp_bdgt_ver_id,
                        l_etc_wp_ver_code,
                        l_project_id
    FROM PA_PROJ_FP_OPTIONS OPT,PA_PROJ_FP_OPTIONS OPT1,
         PA_BUDGET_VERSIONS BV
    WHERE OPT.FIN_PLAN_VERSION_ID             = P_BUDGET_VERSION_ID
          AND OPT.FIN_PLAN_VERSION_ID         = BV.BUDGET_VERSION_ID
          --AND OPT.FIN_PLAN_OPTION_LEVEL_CODE  = 'PLAN_VERSION'
          AND OPT1.FIN_PLAN_TYPE_ID           = BV.FIN_PLAN_TYPE_ID
          AND OPT1.FIN_PLAN_OPTION_LEVEL_CODE = 'PLAN_TYPE'
          AND OPT1.PROJECT_ID                 = BV.PROJECT_ID;
Line: 3949

/* Plan_ver_code is selected at PLAN_TYPE instead of PLAN_VERSION */

    IF l_etc_wp_bdgt_ver_id is not null AND P_CONTEXT = 'VER_ID' THEN
        SELECT PROJECT_STRUCTURE_VERSION_ID into l_etc_wp_ver_id
        FROM PA_BUDGET_VERSIONS
        WHERE BUDGET_VERSION_ID = l_etc_wp_bdgt_ver_id;
Line: 3958

        SELECT el.name INTO l_etc_wp_ver_name
        FROM pa_budget_versions bv, pa_proj_elem_ver_structure el
        WHERE bv.budget_version_id = l_etc_wp_bdgt_ver_id
              AND bv.project_structure_version_id = el.element_version_id
              AND  bv.project_id = el.project_id;
Line: 3998

        SELECT name INTO l_etc_wp_ver_name
        FROM pa_proj_elem_ver_structure
        WHERE element_version_id = l_etc_wp_ver_id
          AND project_id = l_project_id;
Line: 4023

    SELECT DECODE(BV.VERSION_TYPE,
                  'COST', OPT.GEN_SRC_COST_PLAN_TYPE_ID,
                  'REVENUE',OPT.GEN_SRC_REV_PLAN_TYPE_ID,
                  'ALL',OPT.GEN_SRC_ALL_PLAN_TYPE_ID),
           PT.NAME
           INTO l_src_plan_type_id,
                l_src_plan_type_name
    FROM PA_PROJ_FP_OPTIONS OPT,
         PA_BUDGET_VERSIONS BV,
         pa_fin_plan_types_vl PT
    WHERE
          OPT.FIN_PLAN_VERSION_ID = P_BUDGET_VERSION_ID
          AND P_BUDGET_VERSION_ID = BV.BUDGET_VERSION_ID
          AND DECODE(BV.VERSION_TYPE,
                  'COST', OPT.GEN_SRC_COST_PLAN_TYPE_ID,
                  'REVENUE',OPT.GEN_SRC_REV_PLAN_TYPE_ID,
                  'ALL',OPT.GEN_SRC_ALL_PLAN_TYPE_ID)
          = PT.FIN_PLAN_TYPE_ID;
Line: 4075

    SELECT DECODE(BV.VERSION_TYPE,
                  'COST', OPT.GEN_SRC_COST_PLAN_VERSION_ID,
                  'REVENUE',OPT.GEN_SRC_REV_PLAN_VERSION_ID,
                  'ALL',OPT.GEN_SRC_ALL_PLAN_VERSION_ID),
           DECODE(BV.VERSION_TYPE,
                  'COST', OPT1.GEN_SRC_COST_PLAN_VER_CODE,
                  'REVENUE',OPT1.GEN_SRC_REV_PLAN_VER_CODE,
                  'ALL',OPT1.GEN_SRC_ALL_PLAN_VER_CODE),
           DECODE(BV.VERSION_TYPE,
                  'COST', OPT.GEN_SRC_COST_PLAN_TYPE_ID,
                  'REVENUE',OPT.GEN_SRC_REV_PLAN_TYPE_ID,
                  'ALL',OPT.GEN_SRC_ALL_PLAN_TYPE_ID),
                  BV.PROJECT_ID
           INTO l_etc_fp_ver_id,
                l_etc_fp_ver_code,
                l_src_plan_type_id,
                l_project_id
    FROM  PA_PROJ_FP_OPTIONS OPT, PA_PROJ_FP_OPTIONS OPT1,
          PA_BUDGET_VERSIONS BV
    WHERE BV.BUDGET_VERSION_ID            = P_BUDGET_VERSION_ID
    AND   OPT.FIN_PLAN_VERSION_ID         = BV.BUDGET_VERSION_ID
    AND   OPT1.PROJECT_ID                 = BV.PROJECT_ID
    AND   OPT1.FIN_PLAN_TYPE_ID           = BV.FIN_PLAN_TYPE_ID
    AND   OPT1.FIN_PLAN_OPTION_LEVEL_CODE = 'PLAN_TYPE';
Line: 4099

/* Plan_ver_code is selected at PLAN_TYPE instead of PLAN_VERSION */

    IF l_etc_fp_ver_id is not null AND P_CONTEXT = 'VER_ID' THEN
        RETURN l_etc_fp_ver_id;
Line: 4105

        SELECT version_name INTO l_etc_fp_ver_name
        FROM PA_BUDGET_VERSIONS
        WHERE BUDGET_VERSION_ID = l_etc_fp_ver_id;
Line: 4151

        SELECT version_name INTO l_etc_fp_ver_name
        FROM PA_BUDGET_VERSIONS
        WHERE BUDGET_VERSION_ID = l_etc_fp_ver_id;
Line: 4212

        SELECT  txn_currency_code,
                SUM(NVL(init_quantity,0)),
                SUM(NVL(txn_init_raw_cost,0)),
                SUM(NVL(txn_init_burdened_cost,0)),
                SUM(NVL(project_init_raw_cost,0)),
                SUM(NVL(project_init_burdened_cost,0)),
                SUM(NVL(init_raw_cost,0)),
                SUM(NVL(init_burdened_cost,0))
        BULK COLLECT INTO
                l_txn_currency_code_tab,
                l_init_quantity_tab,
                l_txn_init_raw_cost_tab,
                l_txn_init_brdn_cost_tab,
                l_prj_init_raw_cost_tab,
                l_prj_init_brdn_cost_tab,
                l_init_raw_cost_tab,
                l_init_brdn_cost_tab
        FROM    pa_budget_lines
        WHERE   budget_version_id = l_wp_bdgt_ver_id
          AND   resource_assignment_id = p_src_res_asg_id
          AND   init_quantity is not null
        GROUP BY txn_currency_code;
Line: 4235

        SELECT  txn_currency_code,
                SUM(NVL(init_quantity,0)),
                SUM(NVL(txn_init_raw_cost,0)),
                SUM(NVL(txn_init_burdened_cost,0)),
                SUM(NVL(project_init_raw_cost,0)),
                SUM(NVL(project_init_burdened_cost,0)),
                SUM(NVL(init_raw_cost,0)),
                SUM(NVL(init_burdened_cost,0))
        BULK COLLECT INTO
                l_txn_currency_code_tab,
                l_init_quantity_tab,
                l_txn_init_raw_cost_tab,
                l_txn_init_brdn_cost_tab,
                l_prj_init_raw_cost_tab,
                l_prj_init_brdn_cost_tab,
                l_init_raw_cost_tab,
                l_init_brdn_cost_tab
        FROM    pa_budget_lines
        WHERE   budget_version_id = l_wp_bdgt_ver_id
          AND   resource_assignment_id = p_src_res_asg_id
          AND   end_date <= p_actuals_thru_date
          AND   init_quantity is not null
        GROUP BY txn_currency_code;
Line: 4336

PROCEDURE call_clnt_extn_and_update_bl(
             p_project_id              IN          pa_projects_all.project_id%TYPE
            ,p_budget_version_id       IN          pa_budget_versions.budget_version_id%TYPE
            ,x_call_maintain_data_api  OUT  NOCOPY VARCHAR2
            ,X_RETURN_STATUS           OUT  NOCOPY VARCHAR2
            ,X_MSG_COUNT               OUT  NOCOPY NUMBER
            ,X_MSG_DATA                OUT  NOCOPY VARCHAR2) IS

  l_msg_count                        NUMBER;
Line: 4348

  l_module_name                      VARCHAR2(200) := 'call_clnt_extn_and_update_bl';
Line: 4439

   tot_quantity        pa_budget_lines.quantity%TYPE,        -- this attribute is used to update the total quantity field in pa_budget_lines
   txn_raw_cost        pa_budget_lines.txn_raw_cost%TYPE,
   txn_burdened_cost   pa_budget_lines.txn_burdened_cost%TYPE,
   txn_revenue         pa_budget_lines.txn_revenue%TYPE,
   RAW_COST_RATE       pa_budget_lines.txn_standard_cost_rate%TYPE,
   BURDENED_COST_RATE  pa_budget_lines.burden_cost_rate%TYPE,
   REVENUE_BILL_RATE   pa_budget_lines.txn_standard_bill_rate%TYPE,
   disp_quantity       pa_budget_lines.display_quantity%TYPE);
Line: 4459

  TYPE update_rbf_rec IS RECORD( ra_id            pa_resource_assignments.resource_assignment_id%TYPE,
                                 rate_based_flag  pa_resource_assignments.rate_based_flag%TYPE);
Line: 4462

  TYPE update_rbf_tbl IS TABLE OF update_rbf_rec;
Line: 4463

  l_upd_rbf_tbl update_rbf_tbl;
Line: 4535

        pa_debug.set_curr_function( p_function => 'call_clnt_extn_and_update_bl',
                                    p_debug_mode => p_pa_debug_mode);
Line: 4735

    SELECT  prac.resource_assignment_id
           ,prac.txn_currency_code
           ,prac.total_quantity - NVL(prac.total_init_quantity,0)
           ,prac.total_txn_raw_cost - NVL(prac.total_txn_init_raw_cost,0)
           ,prac.total_txn_burdened_cost -NVL(prac.total_txn_init_burdened_cost,0)
           ,prac.total_txn_revenue - NVL(prac.total_txn_init_revenue,0)
           ,DECODE (prac.total_display_quantity, NULL, NULL, (prac.total_display_quantity - NVL(prac.total_init_quantity,0)))
           ,prac.total_init_quantity
           ,prac.total_txn_init_raw_cost
           ,prac.total_txn_init_burdened_cost
           ,prac.total_txn_init_revenue
           ,pra.task_id
           ,pra.RESOURCE_LIST_MEMBER_ID
           ,pra.unit_of_measure
           ,pra.rate_based_flag
           ,pra.resource_rate_based_flag
           ,pra.etc_method_code
           ,prac.txn_raw_cost_rate_override
           ,prac.txn_burden_cost_rate_override
           ,prac.txn_bill_rate_override
           ,prac.txn_average_raw_cost_rate
           ,prac.txn_average_burden_cost_rate
           ,prac.txn_average_bill_rate
           ,pra.transaction_source_code
           ,pra.planning_end_date
           ,decode(pra.transaction_source_code,NULL,NULL,
                    (SELECT meaning
                     FROM PA_LOOKUPS
                     WHERE LOOKUP_TYPE='PA_FP_FCST_GEN_SRC_ALL'
                     AND LOOKUP_CODE= pra.transaction_source_code)) etc_source
    BULK COLLECT INTO
           l_ra_id_tbl_1
          ,l_txn_currency_code_tbl_1
          ,l_etc_qty_tbl_1 /* ETC QTY */
          ,l_txn_raw_cost_tbl_1
          ,l_txn_burdened_cost_tbl_1
          ,l_txn_revenue_tbl_1
          ,l_disp_quant_tbl_1
          ,l_init_quantity_tbl_1
          ,l_init_raw_cost_tbl_1
          ,l_init_burd_cost_tbl_1
          ,l_init_revenue_tbl_1
          ,l_task_id_tab
          ,l_rlm_id_tbl
          ,l_unit_of_measure_tbl
          ,l_rate_based_flag_tbl
          ,l_res_rate_based_flag_tbl
          ,l_etc_method_code_tbl
          ,l_txn_raw_cost_rate_ovrrid_tbl
          ,l_txn_burd_cst_rate_ovrrid_tbl
          ,l_txn_bill_rate_ovrrid_tbl
          ,l_txn_avg_raw_cost_rate_tbl
          ,l_txn_avg_burd_cost_rate_tbl
          ,l_txn_avg_bill_rate_tbl
          ,l_txn_src_code_tbl
          ,l_planning_end_date_tbl_1
          ,l_etc_source_tbl
    FROM  pa_resource_asgn_curr prac,
          pa_resource_assignments pra
    WHERE prac.budget_version_id = p_budget_version_id
    AND   pra.budget_version_id = p_budget_version_id
    AND   prac.resource_assignment_id = pra.resource_assignment_id;
Line: 4809

        l_upd_rbf_tbl := update_rbf_tbl();
Line: 4810

        l_upd_rbf_tbl.DELETE;
Line: 4815

            FOR C1 IN (select lookup_code, meaning from pa_lookups where lookup_type = 'PA_FP_FCST_GEN_CLNT_EXTN_LU') loop
                 l_description_tbl(c1.lookup_code) := c1.meaning;
Line: 4821

            DELETE from PA_FP_GEN_RATE_TMP;
Line: 4842

                     SELECT
                         pbl.period_name
                        ,NVL(pbl.txn_cost_rate_override,pbl.txn_standard_cost_rate)
                        ,NVL(pbl.burden_cost_rate_override,pbl.burden_cost_rate)
                        ,NVL(pbl.txn_bill_rate_override,pbl.txn_standard_bill_rate)
                        ,pbl.quantity
                        ,pbl.start_date
                        ,pbl.end_date
                        ,pbl.txn_raw_cost
                        ,pbl.txn_burdened_cost
                        ,pbl.txn_revenue
                        ,pbl.display_quantity
                        ,pbl.init_quantity
                        ,pbl.txn_init_raw_cost
                        ,pbl.txn_init_burdened_cost
                        ,pbl.txn_init_revenue
                    BULK COLLECT INTO
                         l_ext_period_name_tab
                        ,l_ext_raw_cost_rate_tab
                        ,l_ext_burdened_cost_rate_tab
                        ,l_ext_revenue_bill_rate_tab
                        ,l_total_qty_tbl
                        ,l_line_start_date_tbl
                        ,l_line_end_date_tbl
                        ,l_txn_raw_cost_tbl
                        ,l_txn_burdened_cost_tbl
                        ,l_txn_revenue_tbl
                        ,l_disp_quant_tbl
                        ,l_init_quantity_tbl
                        ,l_init_raw_cost_tbl
                        ,l_init_burd_cost_tbl
                        ,l_init_revenue_tbl
                     FROM   pa_budget_lines pbl
                     WHERE  resource_assignment_id  = l_ra_id_tbl_1(kk)
                     AND    txn_currency_code = l_txn_currency_code_tbl_1(kk);
Line: 4887

                     l_input_period_rates_tbl.delete;
Line: 4888

                     l_plan_txn_prd_amt_tbl_1.delete;
Line: 4953

                SELECT tmp1.etc_method_code
                INTO   l_etc_method_code
                FROM   PA_FP_CALC_AMT_TMP1 tmp1,
                       PA_FP_CALC_AMT_TMP2 tmp2
                WHERE  tmp1.TARGET_RES_ASG_ID = l_ra_id_tbl_1(kk)
                AND    tmp2.TARGET_RES_ASG_ID = l_ra_id_tbl_1(kk)
                AND    tmp1.resource_assignment_id = tmp2.resource_assignment_id
                AND    tmp1.target_res_asg_id = tmp2.target_res_asg_id
                AND    tmp2.txn_currency_code =  l_txn_currency_code_tbl_1(kk)
                AND    tmp1.transaction_source_code <> 'OPEN_COMMITMENTS'
                AND    tmp2.transaction_source_code =  'ETC';
Line: 4966

                /* In work quantity flows, resource_assignment_id is inserted as (-1) * task_id
                 * so we have to split this select into two to get the below values separately.
                 * -- Below code commented since this doesnt work. The tmp2
                 * table is empty for work qty flows! ... Logic needs to be put
                 * for this...
                SELECT tmp2.etc_plan_quantity
                      ,tmp2.actual_work_qty
                INTO   l_etc_plan_qty
                      ,l_act_work_qty
                FROM  PA_FP_CALC_AMT_TMP1 tmp1,
                      PA_FP_CALC_AMT_TMP2 tmp2
                WHERE tmp1.resource_assignment_id = ((-1) * l_task_id_tab(kk))
                AND   tmp2.resource_assignment_id = ((-1) * l_task_id_tab(kk))
                AND   tmp1.resource_assignment_id = tmp2.resource_assignment_id
                AND   tmp1.mapped_fin_task_id = l_task_id_tab(kk)
                AND   tmp1.transaction_source_code = 'WORK_QUANTITY';
Line: 5067

                               l_upd_rbf_tbl.DELETE(u);
Line: 5262

                                        /* Quantity null or nulled out means the bl has to be deletedc */
                                           l_del_bud_line_tbl.extend(1);
Line: 5510

                    INSERT INTO PA_FP_GEN_RATE_TMP
                                ( TXN_CURRENCY_CODE,
                                  PERIOD_NAME,
                                  RAW_COST_RATE,
                                  BURDENED_COST_RATE,
                                  REVENUE_BILL_RATE
                                )
                    VALUES
                               ( l_txn_currency_code_tbl_1(kk),
                                 l_period_rates_tbl(j).period_name,
                                 l_period_rates_tbl(j).raw_cost_rate,
                                 l_period_rates_tbl(j).burdened_cost_rate,
                                 l_period_rates_tbl(j).revenue_bill_rate
                               );
Line: 5538

            UPDATE pa_budget_lines
            SET  txn_raw_cost      = l_upd_bgt_line_tbl(i).txn_raw_cost
                ,txn_revenue       = l_upd_bgt_line_tbl(i).txn_revenue
                ,txn_burdened_cost = l_upd_bgt_line_tbl(i).txn_burdened_cost
                ,display_quantity  = l_upd_bgt_line_tbl(i).disp_quantity
                ,quantity          = l_upd_bgt_line_tbl(i).tot_quantity -- updating total quantity
                ,txn_cost_rate_override  = l_upd_bgt_line_tbl(i).  raw_cost_rate -- updating rates
                ,burden_cost_rate_override = l_upd_bgt_line_tbl(i).burdened_cost_rate -- updating rates
                ,txn_bill_rate_override    = l_upd_bgt_line_tbl(i).revenue_bill_rate -- updating rates
                ,cost_rejection_code = NULL
                ,revenue_rejection_code =NULL
                ,burden_rejection_code = NULL
                ,other_rejection_code = NULL
            WHERE
                resource_assignment_id = l_upd_bgt_line_tbl(i).ra_id
            AND txn_currency_code  =   l_upd_bgt_line_tbl(i).txn_curr_code
            AND period_name  = NVL(l_upd_bgt_line_tbl(i).period_name , period_name);
Line: 5565

            DELETE FROM  pa_budget_lines
            WHERE
            resource_assignment_id = l_del_bud_line_tbl(i).ra_id
            AND txn_currency_code  =   l_del_bud_line_tbl(i).txn_curr_code
            AND period_name  = NVL(l_del_bud_line_tbl(i).period_name , period_name);
Line: 5577

           UPDATE pa_resource_assignments
           SET    rate_based_flag = 'Y'
           WHERE  resource_assignment_id = l_upd_rbf_tbl(upd).ra_id;
Line: 5597

               UPDATE pa_resource_assignments
               SET    rate_based_flag = 'Y'
               WHERE  resource_assignment_id = l_upd_rbf_tbl_1(upd);
Line: 5646

         DELETE FROM pa_fp_spread_calc_tmp;
Line: 5649

            INSERT INTO pa_fp_spread_calc_tmp
            (budget_version_id,
             resource_assignment_id)
            VALUES
            (p_budget_version_id,
             l_ra_id_tbl_1(kk));
Line: 5706

                     p_procedure_name  => 'call_clnt_extn_and_update_bl',
                     p_error_text      => substr(sqlerrm,1,240));
Line: 5718

END call_clnt_extn_and_update_bl;