DBA Data[Home] [Help]

APPS.PA_FP_GEN_PUB SQL Statements

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

Line: 5

PROCEDURE UPDATE_RES_DEFAULTS
       (P_PROJECT_ID                     IN            pa_projects_all.PROJECT_ID%TYPE,
        P_BUDGET_VERSION_ID 	         IN            PA_BUDGET_VERSIONS.BUDGET_VERSION_ID%TYPE,
        P_CALLED_MODE                    IN            VARCHAR2,
        P_COMMIT_FLAG                    IN            VARCHAR2,
        P_INIT_MSG_FLAG                  IN            VARCHAR2,
        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_PUB.UPDATE_RES_DEFAULTS';
Line: 17

l_last_updated_by           NUMBER := FND_GLOBAL.user_id;
Line: 18

l_last_update_login         NUMBER := FND_GLOBAL.login_id;
Line: 116

      PA_DEBUG.init_err_stack('PA_FP_GEN_PUB.UPDATE_RES_DEFAULTS');
Line: 118

            pa_debug.set_curr_function( p_function     => 'UPDATE_RES_DEFAULTS'
                                       ,p_debug_mode   =>  p_pa_debug_mode);
Line: 123

   SELECT  resource_assignment_id,
           resource_list_member_id
   BULK    COLLECT
   INTO    l_da_ra_id_tab,
           l_da_resource_list_members_tab
   FROM    pa_resource_assignments
   WHERE   budget_version_id = p_budget_version_id;
Line: 303

      /* 5. Bug 4895793 : Update resource attributes by resource_assignment_id
        instead of by (budget_version_id, resource_list_member_id).*/

     -- IPM: At the time of resource creation, the resource_rate_based_flag
     -- should be set based on the default rate_based_flag for the resource.
     -- Modified the Update statements below to set resource_rate_based_flag.
     -- Note that this API is used exclusively by the Forecast Generation
     -- process and is called by CREATE_RES_ASG in PAFPCAPB.pls.

     IF l_fp_cols_rec.X_GEN_RET_MANUAL_LINE_FLAG = 'N' THEN
         FORALL i IN 1 .. l_da_ra_id_tab.count --l_da_resource_list_members_tab.count Bug 4895793
            UPDATE PA_RESOURCE_ASSIGNMENTS RA
            SET    RESOURCE_CLASS_FLAG         = l_da_resource_class_flag_tab(i),
                   RESOURCE_CLASS_CODE         = l_da_resource_class_code_tab(i),
                   RES_TYPE_CODE               = l_da_res_type_code_tab(i),
                   PERSON_ID                   = l_da_person_id_tab(i),
                   JOB_ID                      = l_da_job_id_tab(i),
                   PERSON_TYPE_CODE            = l_da_person_type_code_tab(i),
                   NAMED_ROLE                  = l_da_named_role_tab(i),
                   BOM_RESOURCE_ID             = l_da_bom_resource_id_tab(i),
                   NON_LABOR_RESOURCE          = l_da_non_labor_resource_tab(i),
                   INVENTORY_ITEM_ID           = l_da_inventory_item_id_tab(i),
                   ITEM_CATEGORY_ID            = l_da_item_category_id_tab(i),
                   PROJECT_ROLE_ID             = l_da_project_role_id_tab(i),
                   ORGANIZATION_ID             = l_da_organization_id_tab(i),
                   FC_RES_TYPE_CODE            = l_da_fc_res_type_code_tab(i),
                   EXPENDITURE_TYPE            = l_da_expenditure_type_tab(i),
                   EXPENDITURE_CATEGORY        = l_da_expenditure_category_tab(i),
                   EVENT_TYPE                  = l_da_event_type_tab(i),
                   REVENUE_CATEGORY_CODE       = l_da_revenue_category_code_tab(i),
                   SUPPLIER_ID                 = l_da_supplier_id_tab(i),
                   SPREAD_CURVE_ID             = l_da_spread_curve_id_tab(i),
                   ETC_METHOD_CODE             = l_da_etc_method_code_tab(i),
                   MFC_COST_TYPE_ID            = l_da_mfc_cost_type_id_tab(i),
                   INCURRED_BY_RES_FLAG        = l_da_incurred_by_res_flag_tab(i),
                   INCUR_BY_RES_CLASS_CODE     = l_da_incur_by_res_cls_code_tab(i),
                   INCUR_BY_ROLE_ID            = l_da_incur_by_role_id_tab(i),
                   UNIT_OF_MEASURE             = l_da_unit_of_measure_tab(i),
                   RATE_BASED_FLAG             = l_da_rate_based_flag_tab(i),
                   RESOURCE_RATE_BASED_FLAG    = l_da_rate_based_flag_tab(i), -- Added for IPM ER
                   RATE_EXPENDITURE_TYPE       = l_da_rate_expenditure_type_tab(i),
                   RATE_EXP_FUNC_CURR_CODE     = l_da_rate_func_curr_code_tab(i),
                   --RATE_INCURRED_BY_ORGANZ_ID  = l_da_rat_incured_by_org_id_tab(i),
                   LAST_UPDATE_DATE            = l_sysdate,
                   LAST_UPDATED_BY             = l_last_updated_by,
                   CREATION_DATE               = l_sysdate,
                   CREATED_BY                  = l_last_updated_by,
                   LAST_UPDATE_LOGIN           = l_last_update_login,
                   PROJECT_ASSIGNMENT_ID       = -1,
                   RATE_EXPENDITURE_ORG_ID     = l_da_org_id_tab(i)
            WHERE  resource_assignment_id      = l_da_ra_id_tab(i);
Line: 362

            UPDATE PA_RESOURCE_ASSIGNMENTS RA
            SET    RESOURCE_CLASS_FLAG         = l_da_resource_class_flag_tab(i),
                   RESOURCE_CLASS_CODE         = l_da_resource_class_code_tab(i),
                   RES_TYPE_CODE               = l_da_res_type_code_tab(i),
                   PERSON_ID                   = l_da_person_id_tab(i),
                   JOB_ID                      = l_da_job_id_tab(i),
                   PERSON_TYPE_CODE            = l_da_person_type_code_tab(i),
                   NAMED_ROLE                  = l_da_named_role_tab(i),
                   BOM_RESOURCE_ID             = l_da_bom_resource_id_tab(i),
                   NON_LABOR_RESOURCE          = l_da_non_labor_resource_tab(i),
                   INVENTORY_ITEM_ID           = l_da_inventory_item_id_tab(i),
                   ITEM_CATEGORY_ID            = l_da_item_category_id_tab(i),
                   PROJECT_ROLE_ID             = l_da_project_role_id_tab(i),
                   ORGANIZATION_ID             = l_da_organization_id_tab(i),
                   FC_RES_TYPE_CODE            = l_da_fc_res_type_code_tab(i),
                   EXPENDITURE_TYPE            = l_da_expenditure_type_tab(i),
                   EXPENDITURE_CATEGORY        = l_da_expenditure_category_tab(i),
                   EVENT_TYPE                  = l_da_event_type_tab(i),
                   REVENUE_CATEGORY_CODE       = l_da_revenue_category_code_tab(i),
                   SUPPLIER_ID                 = l_da_supplier_id_tab(i),
                   SPREAD_CURVE_ID             = l_da_spread_curve_id_tab(i),
                   ETC_METHOD_CODE             = l_da_etc_method_code_tab(i),
                   MFC_COST_TYPE_ID            = l_da_mfc_cost_type_id_tab(i),
                   INCURRED_BY_RES_FLAG        = l_da_incurred_by_res_flag_tab(i),
                   INCUR_BY_RES_CLASS_CODE     = l_da_incur_by_res_cls_code_tab(i),
                   INCUR_BY_ROLE_ID            = l_da_incur_by_role_id_tab(i),
                   UNIT_OF_MEASURE             = l_da_unit_of_measure_tab(i),
                   RATE_BASED_FLAG             = l_da_rate_based_flag_tab(i),
                   RESOURCE_RATE_BASED_FLAG    = l_da_rate_based_flag_tab(i), -- Added for IPM ER
                   RATE_EXPENDITURE_TYPE       = l_da_rate_expenditure_type_tab(i),
                   RATE_EXP_FUNC_CURR_CODE     = l_da_rate_func_curr_code_tab(i),
                   --RATE_INCURRED_BY_ORGANZ_ID  = l_da_rat_incured_by_org_id_tab(i),
                   LAST_UPDATE_DATE            = l_sysdate,
                   LAST_UPDATED_BY             = l_last_updated_by,
                   CREATION_DATE               = l_sysdate,
                   CREATED_BY                  = l_last_updated_by,
                   LAST_UPDATE_LOGIN           = l_last_update_login,
                   PROJECT_ASSIGNMENT_ID       = -1,
                   RATE_EXPENDITURE_ORG_ID     = l_da_org_id_tab(i)
            WHERE  resource_assignment_id      = l_da_ra_id_tab(i)
            --budget_version_id           = p_budget_version_id
            --AND    RESOURCE_LIST_MEMBER_ID     = l_da_resource_list_members_tab(i)
            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 >=
                                                  DECODE(l_fp_cols_rec.x_plan_class_code,
                                                         'FORECAST', l_etc_start_date,
                                                         bl.start_date)
                                           AND    rownum = 1 )));
Line: 456

              ,p_procedure_name => 'UPDATE_RES_DEFAULTS');
Line: 465

END UPDATE_RES_DEFAULTS;
Line: 501

    SELECT /* pfc.ci_type_name as cd_type
           ,pfc.cd_number as cd_number
           ,pfc.summary as summary
           ,pfc.task_no as task_no
           ,pfc.project_status_name as project_status_name
           ,pal.meaning as project_system_status
           ,pfc.people_effort as people_effort
           ,pfc.equipment_effort as equipment_effort
           ,PA_FP_CONTROL_ITEMS_UTILS.get_cost
            (CI_VERSION_TYPE,p_fp_cols_rec.x_budget_version_id,
             CI_VERSION_ID,RAW_COST,BURDENED_COST) as cost
           ,PA_FP_CONTROL_ITEMS_UTILS.get_revenue_partial
            (CI_VERSION_TYPE,p_fp_cols_rec.x_budget_version_id,
             CI_VERSION_ID,REVENUE) as revenue
           ,'0' as margin
           ,'0' as margin_percent */
            distinct pfc.ci_id as ci_id
           /* ,pci.ci_type_class_code as ci_type_class_code */
     BULK   COLLECT
     INTO   l_ci_id_tbl
     FROM   pa_fp_eligible_ci_v pfc,
            pa_lookups pal
--            ,pa_ci_types_vl pci
     WHERE  pfc.project_id = p_fp_cols_rec.x_project_id
     AND    pfc.fin_plan_type_id = p_fp_cols_rec.x_fin_plan_type_id
     AND    CI_VERSION_TYPE <> decode(p_fp_cols_rec.x_version_type,
                                      'COST','REVENUE',
                                      'REVENUE','COST',
                                      'ALL','-99')
     AND    decode (CI_VERSION_TYPE,
                    'ALL',PT_CT_VERSION_TYPE,
                    CI_VERSION_TYPE) = PT_CT_VERSION_TYPE
     AND    (pfc.REV_PARTIALLY_IMPL_FLAG='Y'
         OR (pfc.ci_version_type='ALL' AND
             decode(p_fp_cols_rec.x_version_type,'ALL',2,1) >
             (SELECT COUNT(*)
	      FROM   pa_fp_merged_ctrl_items merge
	      WHERE  merge.ci_plan_version_id = pfc.ci_version_id
	      AND    merge.plan_version_id = p_fp_cols_rec.x_budget_version_id))
         OR (pfc.ci_version_type <> 'ALL' AND
             NOT EXISTS (SELECT 'X'
                         FROM pa_fp_merged_ctrl_items merge
                         WHERE merge.ci_plan_version_id = pfc.ci_version_id
                         AND merge.plan_version_id = p_fp_cols_rec.x_budget_version_id
                         AND merge.version_type = pfc.ci_version_type)))
     AND  pfc.project_system_status_code = pal.lookup_code
     AND  pal.lookup_type = 'CONTROL_ITEM_SYSTEM_STATUS';
Line: 788

/* Variables for insert/update of Unspent Amount budget lines */
l_insert_flag                  VARCHAR2(1);
Line: 790

l_update_flag                  VARCHAR2(1);
Line: 794

/* Variables for amounts of budget lines to be updated */
l_quantity                     PA_BUDGET_LINES.QUANTITY%TYPE;
Line: 799

l_last_updated_by              PA_BUDGET_LINES.LAST_UPDATED_BY%TYPE := FND_GLOBAL.user_id;
Line: 800

l_last_update_login            PA_BUDGET_LINES.LAST_UPDATE_LOGIN%TYPE := FND_GLOBAL.login_id;
Line: 803

/* Tables for budget line Insert */
l_ins_ra_id_tab                PA_PLSQL_DATATYPES.IdTabTyp;
Line: 814

/* Tables for budget line Update */
l_upd_bl_id_tab                PA_PLSQL_DATATYPES.IdTabTyp;
Line: 904

    /* Insert the distinct target task_id and rlm_id values from tmp3 into tmp4.
     * These are the only resources that have planned amounts in the baselined
     * approved cost budget and are therefore the only resources that can possibly
     * have unspent amounts. */
    DELETE PA_RES_LIST_MAP_TMP4;
Line: 909

    INSERT INTO PA_RES_LIST_MAP_TMP4
         ( txn_task_id,
           txn_resource_list_member_id )
    SELECT /*+ INDEX(PA_FP_CALC_AMT_TMP3,PA_FP_CALC_AMT_TMP3_N1)*/
           DISTINCT
           task_id,
           res_list_member_id
    FROM   PA_FP_CALC_AMT_TMP3
    WHERE  plan_version_id = p_app_cost_bdgt_ver_id;
Line: 919

    select count(*) into l_count from pa_res_list_map_tmp4 where rownum=1;
Line: 934

        SELECT   /*+ INDEX(tmp4,PA_RES_LIST_MAP_TMP4_N1)*/
                 ra.resource_assignment_id,
                 ra.task_id,
                 ra.resource_list_member_id,
                 ra.rate_based_flag,
                 ra.planning_start_date,
                 ra.planning_end_date
        BULK     COLLECT
        INTO     l_res_asg_id_tab,
                 l_task_id_tab,
                 l_res_list_mem_id_tab,
                 l_rate_based_flag_tab,
                 l_planning_start_date_tab,
                 l_planning_end_date_tab
        FROM     pa_resource_assignments ra,
                 pa_res_list_map_tmp4 tmp4
        WHERE    ra.budget_version_id = p_budget_version_id
        AND      ra.task_id = tmp4.txn_task_id
        AND      ra.resource_list_member_id = tmp4.txn_resource_list_member_id
        ORDER BY ra.resource_assignment_id ASC;
Line: 955

        SELECT   /*+ INDEX(tmp4,PA_RES_LIST_MAP_TMP4_N1)*/
                 ra.resource_assignment_id,
                 ra.task_id,
                 ra.resource_list_member_id,
                 ra.rate_based_flag,
                 ra.planning_start_date,
                 ra.planning_end_date
        BULK     COLLECT
        INTO     l_res_asg_id_tab,
                 l_task_id_tab,
                 l_res_list_mem_id_tab,
                 l_rate_based_flag_tab,
                 l_planning_start_date_tab,
                 l_planning_end_date_tab
        FROM     pa_resource_assignments ra,
                 pa_res_list_map_tmp4 tmp4
        WHERE    ra.budget_version_id = p_budget_version_id
        AND      ra.task_id = tmp4.txn_task_id
        AND      ra.resource_list_member_id = tmp4.txn_resource_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 >= l_etc_start_date
                                       AND    rownum = 1 )))
        ORDER BY ra.resource_assignment_id ASC;
Line: 986

     * We delete tmp4 and insert new lines instead of updating the existing ones
     * to simplify the manually added plan lines logic. */
    DELETE PA_RES_LIST_MAP_TMP4;
Line: 990

        INSERT INTO PA_RES_LIST_MAP_TMP4
             ( txn_task_id,
               txn_resource_list_member_id,
               txn_resource_assignment_id )
        VALUES
             ( l_task_id_tab(i),
               l_res_list_mem_id_tab(i),
               l_res_asg_id_tab(i) );
Line: 999

    select count(*) into l_count from pa_res_list_map_tmp4 where rownum=1;
Line: 1010

    SELECT   /*+ INDEX(tmp4,PA_RES_LIST_MAP_TMP4_N1) INDEX(bl,PA_FP_CALC_AMT_TMP3_N1)*/
             tmp4.txn_resource_assignment_id,
             bl.txn_currency_code,
             nvl(sum(nvl(bl.quantity,0)),0),
             nvl(sum(nvl(bl.pc_raw_cost,0)),0),
             nvl(sum(nvl(bl.txn_raw_cost,0)),0),
             nvl(sum(nvl(bl.pc_burdened_cost,0)),0),
             nvl(sum(nvl(bl.txn_burdened_cost,0)),0)
    BULK COLLECT
    INTO     l_plan_ra_id_tab,
             l_plan_txn_cur_code_tab,
             l_plan_qty_tab,
             l_plan_pc_raw_cost_tab,
             l_plan_txn_raw_cost_tab,
             l_plan_pc_burd_cost_tab,
             l_plan_txn_burd_cost_tab
    FROM     pa_fp_calc_amt_tmp3 bl,
             pa_res_list_map_tmp4 tmp4
    WHERE    bl.plan_version_id    = p_app_cost_bdgt_ver_id
    AND      bl.task_id            = tmp4.txn_task_id
    AND      bl.res_list_member_id = tmp4.txn_resource_list_member_id
    GROUP BY tmp4.txn_resource_assignment_id,
             bl.txn_currency_code
    ORDER BY tmp4.txn_resource_assignment_id ASC;
Line: 1039

    SELECT   /*+ LEADING(tmp4) */
             tmp4.txn_resource_assignment_id,
             bl.txn_currency_code,
             nvl(sum(nvl(bl.init_quantity,0)),0),
             nvl(sum(nvl(bl.project_init_raw_cost,0)),0),
             nvl(sum(nvl(bl.txn_init_raw_cost,0)),0),
             nvl(sum(nvl(bl.project_init_burdened_cost,0)),0),
             nvl(sum(nvl(bl.txn_init_burdened_cost,0)),0)
    BULK COLLECT
    INTO     l_init_ra_id_tab,
             l_init_txn_cur_code_tab,
             l_init_qty_tab,
             l_init_pc_raw_cost_tab,
             l_init_txn_raw_cost_tab,
             l_init_pc_burd_cost_tab,
             l_init_txn_burd_cost_tab
    FROM     pa_budget_lines bl,
             pa_res_list_map_tmp4 tmp4
    WHERE    bl.resource_assignment_id = tmp4.txn_resource_assignment_id
    AND      bl.start_date < l_etc_start_date
    GROUP BY tmp4.txn_resource_assignment_id,
             bl.txn_currency_code
    ORDER BY tmp4.txn_resource_assignment_id ASC;
Line: 1074

            SELECT pap.start_date,
                   pap.end_date
            INTO   l_start_date,
                   l_end_date
            FROM   pa_periods_all pap
            WHERE  pap.period_name = p_unspent_amt_period
            AND    pap.org_id = p_fp_cols_rec.x_org_id;
Line: 1086

            SELECT glp.start_date,
                   glp.end_date
            INTO   l_start_date,
                   l_end_date
            FROM   gl_period_statuses glp
            WHERE  glp.period_name = p_unspent_amt_period
            AND    glp.application_id   = pa_period_process_pkg.application_id
            AND    glp.set_of_books_id  = p_fp_cols_rec.x_set_of_books_id
            AND    glp.adjustment_period_flag = 'N';
Line: 1122

        l_plan_currency_tab.delete;
Line: 1150

        l_init_currency_tab.delete;
Line: 1245

        /* Check if we should insert a new budget line or update an existing one
         * with the unspent amounts. Store data in corresponding pl/sql tables. */
        l_update_flag := 'Y';
Line: 1248

        l_insert_flag := 'N';
Line: 1250

            SELECT    budget_line_id,
                      quantity,
                      txn_raw_cost,
                      txn_burdened_cost
            INTO      l_upd_bl_id,
                      l_quantity,
                      l_txn_raw_cost,
                      l_txn_burdened_cost
            FROM      pa_budget_lines
            WHERE     resource_assignment_id = l_curr_ra_id
            AND       txn_currency_code = l_unspent_amt_currency
            AND       start_date = DECODE(l_time_phase, 'N', start_date, l_start_date);
Line: 1264

                l_insert_flag := 'Y';
Line: 1265

                l_update_flag := 'N';
Line: 1268

        IF l_insert_flag = 'Y' THEN
            l_index := l_ins_ra_id_tab.count+1;
Line: 1280

        IF l_update_flag = 'Y' THEN
            l_index := l_upd_bl_id_tab.count+1;
Line: 1296

            INSERT INTO PA_BUDGET_LINES (
                BUDGET_LINE_ID,
                BUDGET_VERSION_ID,
                RESOURCE_ASSIGNMENT_ID,
                START_DATE,
                TXN_CURRENCY_CODE,
                END_DATE,
                PERIOD_NAME,
                QUANTITY,
                TXN_RAW_COST,
                TXN_BURDENED_COST,
                TXN_COST_RATE_OVERRIDE,
                BURDEN_COST_RATE_OVERRIDE,
                LAST_UPDATE_DATE,
                LAST_UPDATED_BY,
                CREATION_DATE,
                CREATED_BY,
                LAST_UPDATE_LOGIN,
                PROJECT_CURRENCY_CODE,
                PROJFUNC_CURRENCY_CODE)
            VALUES (
                pa_budget_lines_s.nextval,
                p_budget_version_id,
                l_ins_ra_id_tab(i),
                NVL(l_start_date,l_ins_start_date_tab(i)),
                l_ins_txn_curr_code_tab(i),
                NVL(l_end_date,l_ins_end_date_tab(i)),
                l_period_name,
                l_ins_quantity_tab(i),
                l_ins_raw_cost_tab(i),
                l_ins_burd_cost_tab(i),
                l_ins_raw_cost_rate_tab(i),
                l_ins_burd_cost_rate_tab(i),
                l_sysdate,
                l_last_updated_by,
                l_sysdate,
                l_last_updated_by,
                l_last_update_login,
                l_pc_currency_code,
                l_pfc_currency_code );
Line: 1340

        DELETE PA_RES_LIST_MAP_TMP4;
Line: 1342

            INSERT INTO PA_RES_LIST_MAP_TMP4
                   ( txn_resource_assignment_id )
            VALUES ( l_ins_ra_id_tab(i) );
Line: 1346

	SELECT spread_curve_id
	INTO   l_fixed_date_curve_id
	FROM   pa_spread_curves_b
	WHERE  spread_curve_code = lc_fixed_date_code;
Line: 1354

        SELECT /*+ LEADING(tmp4) */
               ra.resource_assignment_id
	BULK COLLECT
	INTO  l_fixed_date_ra_id_tab
	FROM  pa_resource_assignments ra,
	      pa_res_list_map_tmp4 tmp4
	WHERE ra.resource_assignment_id = tmp4.txn_resource_assignment_id
	AND   ra.spread_curve_id = l_fixed_date_curve_id
	AND   NOT ( ra.sp_fixed_date BETWEEN l_start_date AND l_end_date );
Line: 1365

            UPDATE pa_resource_assignments
            SET    spread_curve_id = NULL,
                   sp_fixed_date = NULL,
                   last_update_date = l_sysdate,
                   last_updated_by = l_last_updated_by,
                   last_update_login = l_last_update_login,
                   record_version_number = NVL(record_version_number,0)+1
            WHERE  resource_assignment_id = l_fixed_date_ra_id_tab(i);
Line: 1373

    END IF; -- budget line insertion
Line: 1379

             UPDATE PA_BUDGET_LINES
             SET    LAST_UPDATE_DATE             = l_sysdate
             ,      LAST_UPDATED_BY              = l_last_updated_by
             ,      LAST_UPDATE_LOGIN            = l_last_update_login
             ,      QUANTITY                     = nvl(quantity,0) + nvl(l_upd_quantity_tab(i),0)
             ,      TXN_RAW_COST                 = nvl(txn_raw_cost,0) + nvl(l_upd_raw_cost_tab(i),0)
             ,      TXN_BURDENED_COST            = nvl(txn_burdened_cost,0) + nvl(l_upd_burd_cost_tab(i),0)
             ,      TXN_COST_RATE_OVERRIDE       = (nvl(txn_raw_cost,0) + nvl(l_upd_raw_cost_tab(i),0)) /
                                                   (nvl(quantity,0) + nvl(l_upd_quantity_tab(i),0))
             ,      BURDEN_COST_RATE_OVERRIDE    = (nvl(txn_burdened_cost,0) + nvl(l_upd_burd_cost_tab(i),0)) /
                                                   (nvl(quantity,0) + nvl(l_upd_quantity_tab(i),0))
             WHERE  BUDGET_LINE_ID               = l_upd_bl_id_tab(i);
Line: 1498

    SELECT NVL(P_STRUCTURE_VERSION_ID,project_structure_version_id),
           NVL(wp_version_flag,'N')
    INTO   l_structure_version_id,
           l_wp_version_flag
    FROM   pa_budget_versions
    WHERE  budget_version_id = p_budget_version_id;
Line: 1513

     SELECT  ra.task_id,
             pa_proj_elements_utils.get_task_version_id(
                 l_structure_version_id,ra.task_id)
     BULK    COLLECT
     INTO    l_task_id_tab,
             l_wbs_element_ver_id_tab
     FROM    pa_resource_assignments ra
     WHERE   ra.budget_version_id           = p_budget_version_id
     AND     nvl(ra.task_id,0)              > 0;
Line: 1531

        UPDATE pa_resource_assignments
        SET    wbs_element_version_id = l_wbs_element_ver_id_tab(i)
        WHERE  budget_version_id     = p_budget_version_id
        AND    task_id               = l_task_id_tab(i);
Line: 1603

  SELECT  period_name, start_date, end_date
  FROM    pa_periods_all
  WHERE   org_id = c_org_id and -- R12 MOAC 4447573: nvl(org_id,-99) = nvl(c_org_id,-99)
          c_amt_thru between start_date and end_date;
Line: 1612

  SELECT  period_name, start_date , end_date
  FROM    gl_period_statuses
  WHERE   application_id = PA_PERIOD_PROCESS_PKG.Application_id and
          set_of_books_id = c_set_of_books and
          adjustment_period_flag = 'N' and
          c_amt_thru between start_date and end_date;
Line: 1651

    select nvl(p.org_id,-99),
           DECODE(po.fin_plan_preference_code,
                  'COST_ONLY', po.cost_time_phased_code,
                  'REVENUE_ONLY', po.revenue_time_phased_code,
                  po.all_time_phased_code),
           pia.set_of_books_id,
           ra.budget_version_id
      into l_org_id,
           l_source_ver_period_type,
           l_source_set_of_books_id,
           l_source_bv_id
      from pa_resource_assignments ra,
           pa_projects_all p,
           pa_proj_fp_options po,
           pa_implementations_all pia
      where ra.resource_assignment_id = p_src_res_asg_id_tab(1) and
            ra.project_id = p.project_id and
            ra.budget_version_id = po.fin_plan_version_id and
            po.fin_plan_option_level_code = 'PLAN_VERSION' and
            p.org_id = pia.org_id;
Line: 1708

    DELETE pa_fp_gen_rate_tmp;
Line: 1710

        INSERT INTO pa_fp_gen_rate_tmp
               ( target_res_asg_id )
        VALUES ( p_src_res_asg_id_tab(i) );
Line: 1717

    SELECT /*+ LEADING(tmp) */
           nvl(sum(sbl.quantity),0),
           nvl(sum(decode(p_currency_code_flag,
                      'Y', sbl.txn_raw_cost,
                      'N', sbl.project_raw_cost,
                      'A', sbl.raw_cost)),0),
           nvl(sum(decode(p_currency_code_flag,
                      'Y', sbl.txn_burdened_cost,
                      'N', sbl.project_burdened_cost,
                      'A', sbl.burdened_cost)),0),
           nvl(sum(decode(p_currency_code_flag,
                      'Y', sbl.txn_revenue,
                      'N', sbl.project_revenue,
                      'A', sbl.revenue)),0)
    INTO l_quantity,
         l_txn_raw_cost,
         l_txn_burdened_cost,
         l_txn_revenue
    FROM pa_fp_gen_rate_tmp tmp,
         pa_budget_lines sbl
    WHERE tmp.target_res_asg_id = sbl.resource_assignment_id
          and sbl.budget_version_id = l_source_bv_id
          and sbl.period_name = l_source_period_name
          and sbl.txn_currency_code = decode(p_currency_code_flag,
                                             'Y', p_currency_code,
                                             'N', sbl.txn_currency_code,
                                             'A', sbl.txn_currency_code)
          and sbl.cost_rejection_code is null
          and sbl.revenue_rejection_code is null
          and sbl.burden_rejection_code is null
          and sbl.other_rejection_code is null
          and sbl.pc_cur_conv_rejection_code is null
          and sbl.pfc_cur_conv_rejection_code is null;
Line: 1767

 * This procedure updates the fixed date spread curve fields in the
 * pa_resource_assignments table for all resource assignments belonging
 * to the given budget version as necessary.
 * More specifically, for each resource assignment of interest, we null
 * out the spread_curve_id and sp_fixed_date pa_resource_assignments
 * table values if there exists a budget line for which the resource
 * assignment's sp_fixed_date is not in the budget line's start and end
 * date range.
 * Additionally, for resources not having Fixed Date spread curves, we
 * ensure that sp_fixed_date is Nulled out to address Bug 4229963.
 *
 * Note: This API currently updates the PA_RESOURCE_ASSIGNMENTS table
 *       multiple times. In the future, we revisit this as a Performance
 *       issue and modify the logic so that we only update once.
 *
 * Note that the p_fp_col_rec parameter is currently not used.
 */
PROCEDURE MAINTAIN_FIXED_DATE_SP
   (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(100) := 'pa.plsql.PA_FP_GEN_PUB.MAINTAIN_FIXED_DATE_SP';
Line: 1800

    SELECT DISTINCT(bl.resource_assignment_id)
      FROM pa_resource_assignments ra,
           pa_spread_curves_b sp,
           pa_budget_lines bl
     WHERE ra.budget_version_id = p_budget_version_id
       AND sp.spread_curve_id = ra.spread_curve_id
       AND sp.spread_curve_code = lc_FixedDate
       AND bl.resource_assignment_id = ra.resource_assignment_id
     GROUP BY bl.resource_assignment_id,
              bl.txn_currency_code
    HAVING count(*) > 1;
Line: 1819

    SELECT DISTINCT(bl.resource_assignment_id)
      FROM pa_resource_assignments ra,
           pa_spread_curves_b sp,
           pa_budget_lines bl
     WHERE ra.budget_version_id = p_budget_version_id
       AND sp.spread_curve_id = ra.spread_curve_id
       AND sp.spread_curve_code = lc_FixedDate
       AND bl.resource_assignment_id = ra.resource_assignment_id
       AND ra.sp_fixed_date NOT BETWEEN bl.start_date AND bl.end_date;
Line: 1840

    l_last_updated_by              NUMBER := FND_GLOBAL.user_id;
Line: 1841

    l_last_update_login            NUMBER := FND_GLOBAL.login_id;
Line: 1859

    SELECT spread_curve_id INTO l_fixed_date_id
      FROM pa_spread_curves_b
     WHERE spread_curve_code = lc_FixedDate;
Line: 1876

        UPDATE pa_resource_assignments
           SET sp_fixed_date = NULL,
               spread_curve_id = NULL,
               last_update_date = l_sysdate,
               last_updated_by = l_last_updated_by,
               last_update_login = l_last_update_login,
               record_version_number = NVL(record_version_number,0) + 1
         WHERE resource_assignment_id = l_res_asg_id_tab(i);
Line: 1900

        UPDATE pa_resource_assignments
           SET sp_fixed_date = NULL,
               spread_curve_id = NULL,
               last_update_date = l_sysdate,
               last_updated_by = l_last_updated_by,
               last_update_login = l_last_update_login,
               record_version_number = NVL(record_version_number,0) + 1
         WHERE resource_assignment_id = l_res_asg_id_tab(i);
Line: 1910

    UPDATE pa_resource_assignments
       SET sp_fixed_date = NULL,
           last_update_date = l_sysdate,
           last_updated_by = l_last_updated_by,
           last_update_login = l_last_update_login,
           record_version_number = NVL(record_version_number,0) + 1
     WHERE budget_version_id = p_budget_version_id
       AND spread_curve_id <> l_fixed_date_id
       AND sp_fixed_date IS NOT NULL;
Line: 2045

    l_last_updated_by              PA_RESOURCE_ASSIGNMENTS.LAST_UPDATED_BY%TYPE
				       := FND_GLOBAL.user_id;
Line: 2047

    l_last_update_login            PA_RESOURCE_ASSIGNMENTS.LAST_UPDATE_LOGIN%TYPE
				       := FND_GLOBAL.login_id;
Line: 2133

                SELECT /*+ INDEX(map,PA_FP_CALC_AMT_TMP1_N1)*/
                       TMP1.TXN_RESOURCE_ASSIGNMENT_ID,
                       RA.RESOURCE_CLASS_FLAG,
                       RA.RESOURCE_CLASS_CODE,
                       RA.RES_TYPE_CODE,
                       RA.PERSON_ID,
                       RA.JOB_ID,
                       RA.PERSON_TYPE_CODE,
                       RA.NAMED_ROLE,
                       RA.BOM_RESOURCE_ID,
                       RA.NON_LABOR_RESOURCE,
                       RA.INVENTORY_ITEM_ID,
                       RA.ITEM_CATEGORY_ID,
                       RA.PROJECT_ROLE_ID,
                       RA.ORGANIZATION_ID,
                       RA.FC_RES_TYPE_CODE,
                       RA.EXPENDITURE_TYPE,
                       RA.EXPENDITURE_CATEGORY,
                       RA.EVENT_TYPE,
                       RA.REVENUE_CATEGORY_CODE,
                       RA.SUPPLIER_ID,
                       RA.SPREAD_CURVE_ID,
                       RA.SP_FIXED_DATE,
                       RA.MFC_COST_TYPE_ID,
                       RA.INCURRED_BY_RES_FLAG,
                       RA.INCUR_BY_RES_CLASS_CODE,
                       RA.INCUR_BY_ROLE_ID,
                       RA.RATE_EXPENDITURE_TYPE,
                       RA.RATE_EXP_FUNC_CURR_CODE,
                       RA.RATE_EXPENDITURE_ORG_ID,
                       RA.RESOURCE_RATE_BASED_FLAG  -- Added for IPM ER
        	BULK COLLECT
                INTO   l_tgt_res_asg_id_tab,
                       l_resource_class_flag_tab,
                       l_resource_class_code_tab,
                       l_res_type_code_tab,
                       l_person_id_tab,
                       l_job_id_tab,
                       l_person_type_code_tab,
                       l_named_role_tab,
                       l_bom_resource_id_tab,
                       l_non_labor_resource_tab,
                       l_inventory_item_id_tab,
                       l_item_category_id_tab,
                       l_project_role_id_tab,
                       l_organization_id_tab,
                       l_fc_res_type_code_tab,
                       l_expenditure_type_tab,
                       l_expenditure_category_tab,
                       l_event_type_tab,
                       l_revenue_category_code_tab,
                       l_supplier_id_tab,
                       l_spread_curve_id_tab,
                       l_sp_fixed_date_tab,
                       l_mfc_cost_type_id_tab,
                       l_incurred_by_res_flag_tab,
                       l_incur_by_res_cls_code_tab,
                       l_incur_by_role_id_tab,
                       l_rate_expenditure_type_tab,
                       l_rate_func_curr_code_tab,
                       l_org_id_tab,
                       l_res_rate_based_flag_tab  -- Added for IPM ER
                FROM   PA_RESOURCE_ASSIGNMENTS RA,
                       PA_RES_LIST_MAP_TMP1 tmp1,
                       PA_FP_CALC_AMT_TMP1 map
                WHERE  RA.budget_version_id = l_src_version_id
                AND    RA.resource_assignment_id = map.resource_assignment_id
                AND    map.target_res_asg_id = tmp1.txn_resource_assignment_id
                AND    map.transaction_source_code = l_gen_etc_src_code;
Line: 2207

                    UPDATE PA_RESOURCE_ASSIGNMENTS
                    SET    RESOURCE_CLASS_FLAG         = l_resource_class_flag_tab(j),
                           RESOURCE_CLASS_CODE         = l_resource_class_code_tab(j),
                           RES_TYPE_CODE               = l_res_type_code_tab(j),
                           PERSON_ID                   = l_person_id_tab(j),
                           JOB_ID                      = l_job_id_tab(j),
                           PERSON_TYPE_CODE            = l_person_type_code_tab(j),
                           NAMED_ROLE                  = l_named_role_tab(j),
                           BOM_RESOURCE_ID             = l_bom_resource_id_tab(j),
                           NON_LABOR_RESOURCE          = l_non_labor_resource_tab(j),
                           INVENTORY_ITEM_ID           = l_inventory_item_id_tab(j),
                           ITEM_CATEGORY_ID            = l_item_category_id_tab(j),
                           PROJECT_ROLE_ID             = l_project_role_id_tab(j),
                           ORGANIZATION_ID             = l_organization_id_tab(j),
                           FC_RES_TYPE_CODE            = l_fc_res_type_code_tab(j),
                           EXPENDITURE_TYPE            = l_expenditure_type_tab(j),
                           EXPENDITURE_CATEGORY        = l_expenditure_category_tab(j),
                           EVENT_TYPE                  = l_event_type_tab(j),
                           REVENUE_CATEGORY_CODE       = l_revenue_category_code_tab(j),
                           SUPPLIER_ID                 = l_supplier_id_tab(j),
                           SPREAD_CURVE_ID             = l_spread_curve_id_tab(j),
                           SP_FIXED_DATE               = l_sp_fixed_date_tab(j),
                           MFC_COST_TYPE_ID            = l_mfc_cost_type_id_tab(j),
                           INCURRED_BY_RES_FLAG        = l_incurred_by_res_flag_tab(j),
                           INCUR_BY_RES_CLASS_CODE     = l_incur_by_res_cls_code_tab(j),
                           INCUR_BY_ROLE_ID            = l_incur_by_role_id_tab(j),
                           RATE_EXPENDITURE_TYPE       = l_rate_expenditure_type_tab(j),
                           RATE_EXP_FUNC_CURR_CODE     = l_rate_func_curr_code_tab(j),
                           LAST_UPDATE_DATE            = l_sysdate,
                           LAST_UPDATED_BY             = l_last_updated_by,
                           LAST_UPDATE_LOGIN           = l_last_update_login,
                           RATE_EXPENDITURE_ORG_ID     = l_org_id_tab(j),
                           RESOURCE_RATE_BASED_FLAG    = l_res_rate_based_flag_tab(j) -- Added for IPM ER
                    WHERE  budget_version_id           = p_fp_cols_rec.x_budget_version_id
                    AND    resource_assignment_id      = l_tgt_res_asg_id_tab(j);