DBA Data[Home] [Help]

APPS.PA_FP_GEN_FCST_AMT_PUB SQL Statements

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

Line: 63

l_deleted_res_asg_id_tab     PA_PLSQL_DATATYPES.IdTabTyp;
Line: 78

lx_deleted_res_asg_id_tab  PA_PLSQL_DATATYPES.IdTabTyp;
Line: 105

                 'Before calling PA_FP_GEN_BUDGET_AMT_PUB.UPDATE_BV_FOR_GEN_DATE',
                p_module_name => l_module_name);
Line: 108

    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_ACTUALS_THRU_DATE + 1,
                X_RETURN_STATUS              => X_RETURN_STATUS,
                X_MSG_COUNT                  => X_MSG_COUNT,
                X_MSG_DATA                   => X_MSG_DATA);
Line: 118

                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);
Line: 123

    DELETE FROM PA_FP_CALC_AMT_TMP1;
Line: 124

    DELETE FROM PA_FP_CALC_AMT_TMP2;
Line: 138

                   PX_DELETED_RES_ASG_ID_TAB    => l_deleted_res_asg_id_tab,
                   X_RETURN_STATUS              => X_RETURN_STATUS,
                   X_MSG_COUNT                  => X_MSG_COUNT,
                   X_MSG_DATA                   => X_MSG_DATA);
Line: 159

        SELECT plan_class_code
        INTO l_src_plan_class_code
        FROM pa_fin_plan_types_b
        WHERE fin_plan_type_id = P_ETC_PLAN_TYPE_ID;
Line: 164

        SELECT version_type
        INTO l_src_version_type
        FROM pa_budget_versions
        WHERE budget_version_id = P_ETC_PLAN_VERSION_ID;
Line: 243

                  PX_DELETED_RES_ASG_ID_TAB  => l_deleted_res_asg_id_tab,
                  P_COMMIT_FLAG              => 'N',
                  P_INIT_MSG_FLAG            => 'N',
                  X_RETURN_STATUS            => X_RETURN_STATUS,
                  X_MSG_COUNT                => X_MSG_COUNT,
                  X_MSG_DATA                 => X_MSG_DATA );
Line: 284

                   PX_DELETED_RES_ASG_ID_TAB  => l_deleted_res_asg_id_tab,
                   P_COMMIT_FLAG              => 'N',
                   P_INIT_MSG_FLAG            => 'N',
                   X_RETURN_STATUS            => X_RETURN_STATUS,
                   X_MSG_COUNT                => X_MSG_COUNT,
                   X_MSG_DATA                 => X_MSG_DATA);
Line: 340

            PX_DELETED_RES_ASG_ID_TAB  => lx_deleted_res_asg_id_tab,
            PX_GEN_RES_ASG_ID_TAB      => lx_gen_res_asg_id_tab,
            X_RETURN_STATUS            => X_RETURN_STATUS,
            X_MSG_COUNT                => X_MSG_COUNT,
            X_MSG_DATA                 => X_MSG_DATA );
Line: 419

             PX_DELETED_RES_ASG_ID_TAB    => l_deleted_res_asg_id_tab,
             X_RETURN_STATUS              => X_RETURN_STATUS,
             X_MSG_COUNT                  => X_MSG_COUNT,
             X_MSG_DATA                   => X_MSG_DATA);
Line: 597

              PX_DELETED_RES_ASG_ID_TAB    => l_deleted_res_asg_id_tab,
              X_RETURN_STATUS              => X_RETURN_STATUS,
              X_MSG_COUNT                  => X_MSG_COUNT,
              X_MSG_DATA                   => X_MSG_DATA);
Line: 652

        SELECT count(*)
        INTO   l_task_count
        FROM   pa_tasks
        WHERE  project_id = p_project_id
        AND    gen_etc_source_code = 'FINANCIAL_PLAN'
        AND    gen_etc_source_code IS NOT NULL;
Line: 742

                                               'update_total_plan_amts',
                    P_MODULE_NAME           => l_module_name);
Line: 745

        PA_FP_GEN_FCST_AMT_PVT.UPDATE_TOTAL_PLAN_AMTS
              (P_BUDGET_VERSION_ID   => P_BUDGET_VERSION_ID,
               X_RETURN_STATUS       => X_RETURN_STATUS,
               X_MSG_COUNT           => X_MSG_COUNT,
               X_MSG_DATA            => X_MSG_DATA);
Line: 756

                                               'UPDATE_TOTAL_PLAN_AMTS:'||x_return_status,
                    P_MODULE_NAME           => l_module_name);
Line: 795

 	     PA_FP_GEN_FCST_AMT_PUB1.call_clnt_extn_and_update_bl
 	         (p_project_id       =>  p_project_id
 	         ,p_budget_version_id   =>  p_budget_version_id
 	         ,x_call_maintain_data_api => l_call_maintain_data_api
 	         ,x_return_status    => x_return_status
 	         ,x_msg_count        => x_msg_count
 	         ,x_msg_data         => x_msg_data);
Line: 807

 	                                        'call_clnt_extn_and_update_bl '||x_return_status,
 	                 P_MODULE_NAME       => l_module_name);
Line: 937

SELECT  task_id,
        DECODE(c_gen_etc_src_code,
               NULL,NVL(gen_etc_source_code,'NONE'),
               c_gen_etc_src_code)
FROM    pa_tasks t
WHERE   project_id = P_PROJECT_ID;
Line: 945

        SELECT  task_id,
        DECODE(c_gen_etc_src_code,
               NULL,NVL(gen_etc_source_code,'NONE'),
               c_gen_etc_src_code)
        FROM    pa_tasks t
        WHERE   project_id = P_PROJECT_ID and
                parent_task_id is null;
Line: 955

        SELECT  task_id
        FROM    pa_tasks t
        WHERE   project_id = P_PROJECT_ID and
                top_task_id = l_temp_top_task_id and
                task_id <> top_task_id; -- don't want to retrieve the current node
Line: 1011

SELECT  tmp1.task_id,
        NVL(c_gen_etc_source_code, NVL(tmp1.transaction_source_code,'NONE')),
        tmp1.resource_assignment_id,
        tmp1.target_res_asg_id,
        tmp1.resource_list_member_id,
        tmp1.etc_method_code
FROM    PA_FP_CALC_AMT_TMP1 tmp1;
Line: 1061

l_delete_budget_lines_tab     SYSTEM.pa_varchar2_1_tbl_type:=SYSTEM.pa_varchar2_1_tbl_type();
Line: 1082

L_RES_ASG_UOM_UPDATE_TAB        PA_PLSQL_DATATYPES.IdTabTyp;
Line: 1204

 * When the ETC generation source is Task Level Selection, the
 * c_gen_etc_source_code cursor parameter should be NULL so that the
 * cursor picks up each task's generation source. */

CURSOR etc_amts_cur_wp_fp_opt_same
    (c_gen_etc_source_code VARCHAR2 DEFAULT NULL) IS
SELECT /*+ INDEX(tmp,PA_FP_CALC_AMT_TMP2_N1)
           INDEX(tmp_ra,PA_FP_CALC_AMT_TMP1_N1) */
     tmp.RESOURCE_ASSIGNMENT_ID,
     tmp.TARGET_RES_ASG_ID,
     tmp.ETC_CURRENCY_CODE,
     ra.rate_based_flag,
     ra.resource_list_member_id,
     ra.task_id,
     ra.unit_of_measure,
     tmp_ra.etc_method_code,
     SUM(tmp.ETC_PLAN_QUANTITY),
     SUM(tmp.ETC_TXN_RAW_COST),
     SUM(tmp.ETC_TXN_BURDENED_COST),
     SUM(tmp.ETC_TXN_REVENUE),
     NVL(ta.billable_flag,'Y'),                       /* Added for ER 4376722 */
     nvl(c_gen_etc_source_code,                       /* Added for Bug 4369741 */
         nvl(tmp_ra.transaction_source_code, 'NONE'))
FROM PA_FP_CALC_AMT_TMP1 tmp_ra,
     PA_FP_CALC_AMT_TMP2 tmp,
     PA_RESOURCE_ASSIGNMENTS ra,
     pa_tasks ta                                      /* Added for ER 4376722 */
WHERE tmp.target_res_asg_id = ra.resource_assignment_id
      AND tmp.TRANSACTION_SOURCE_CODE = 'ETC'
      AND tmp_ra.target_res_asg_id = tmp.target_res_asg_id
      AND tmp_ra.transaction_source_code <> 'OPEN_COMMITMENTS' /* Bug 4346172 */
      and NVL(ra.task_id,0) = ta.task_id (+)          /* Added for ER 4376722 */
      --and ta.project_id = P_PROJECT_ID              /* Added for ER 4376722 */
      AND ra.budget_version_id = P_BUDGET_VERSION_ID  /* Added for Bug 4369741 Perf */
      AND ra.project_id = P_PROJECT_ID                /* Added for Bug 4369741 Perf */
      AND tmp_ra.resource_assignment_id = tmp.resource_assignment_id /* Added for Bug 4571025 */
GROUP BY tmp.RESOURCE_ASSIGNMENT_ID,
         tmp.TARGET_RES_ASG_ID,
         tmp.ETC_CURRENCY_CODE,
         ra.rate_based_flag,
         ra.resource_list_member_id,
         ra.task_id,
         ra.unit_of_measure,
         tmp_ra.etc_method_code,
         NVL(ta.billable_flag,'Y'),                  /* Added for ER 4376722 */
         nvl(c_gen_etc_source_code,                  /* Added for Bug 4369741 */
             nvl(tmp_ra.transaction_source_code, 'NONE'));
Line: 1269

 * When the ETC generation source is Task Level Selection, the
 * c_gen_etc_source_code cursor parameter should be NULL so that the
 * cursor picks up each task's generation source. */

CURSOR etc_amts_cur_wp_fp_opt_diff
    (c_gen_etc_source_code VARCHAR2 DEFAULT NULL) IS
SELECT /*+ INDEX(tmp,PA_FP_CALC_AMT_TMP2_N1)
           INDEX(tmp_ra,PA_FP_CALC_AMT_TMP1_N1) */
     sum(1*null),
     tmp.TARGET_RES_ASG_ID,
     tmp.ETC_CURRENCY_CODE,
     ra.rate_based_flag,
     ra.resource_list_member_id,
     ra.task_id,
     ra.unit_of_measure,
     null, --ra.etc_method_code,
     SUM(tmp.ETC_PLAN_QUANTITY),
     SUM(tmp.ETC_TXN_RAW_COST),
     SUM(tmp.ETC_TXN_BURDENED_COST),
     SUM(tmp.ETC_TXN_REVENUE),
     NVL(ta.billable_flag,'Y'),                     /* Added for ER 4376722 */
     nvl(c_gen_etc_source_code,                     /* Added for Bug 4369741 */
         nvl(tmp_ra.transaction_source_code, 'NONE'))
FROM PA_FP_CALC_AMT_TMP1 tmp_ra,                    /* Added for Bug 4369741 */
   PA_FP_CALC_AMT_TMP2 tmp,
   PA_RESOURCE_ASSIGNMENTS ra,
   pa_tasks ta                                      /* Added for ER 4376722 */
WHERE tmp.target_res_asg_id = ra.resource_assignment_id
    AND tmp.TRANSACTION_SOURCE_CODE = 'ETC'
    and NVL(ra.task_id,0) = ta.task_id (+)          /* Added for ER 4376722 */
    --and ta.project_id = P_PROJECT_ID              /* Added for ER 4376722 */
    AND tmp_ra.target_res_asg_id = tmp.target_res_asg_id     /* Added for Bug 4369741 */
    AND tmp_ra.transaction_source_code <> 'OPEN_COMMITMENTS' /* Added for Bug 4369741 */
    AND ra.budget_version_id = P_BUDGET_VERSION_ID  /* Added for Bug 4369741 Perf */
    AND ra.project_id = P_PROJECT_ID                /* Added for Bug 4369741 Perf */
    AND tmp_ra.resource_assignment_id = tmp.resource_assignment_id /* Added for Bug 4571025 */
GROUP BY
tmp.TARGET_RES_ASG_ID,
       tmp.ETC_CURRENCY_CODE,
       ra.rate_based_flag,
       ra.resource_list_member_id,
       ra.task_id,
       ra.unit_of_measure,
       null, --ra.etc_method_code,
       NVL(ta.billable_flag,'Y'),                   /* Added for ER 4376722 */
       nvl(c_gen_etc_source_code,                   /* Added for Bug 4369741 */
           nvl(tmp_ra.transaction_source_code, 'NONE'));
Line: 1322

 * This cursor's SELECT statement uses the etc_amts_cur_wp_fp_opt_same
 * cursor's SELECT statement for resources with Workplan source UNION
 * ALL the etc_amts_cur_wp_fp_opt_diff cursor's SELECT statement for
 * resources with non-Workplan source. */

CURSOR etc_amts_cur_wp_opt_same IS
SELECT /*+ INDEX(tmp,PA_FP_CALC_AMT_TMP2_N1)
           INDEX(tmp_ra,PA_FP_CALC_AMT_TMP1_N1) */
     tmp.RESOURCE_ASSIGNMENT_ID,
     tmp.TARGET_RES_ASG_ID,
     tmp.ETC_CURRENCY_CODE,
     ra.rate_based_flag,
     ra.resource_list_member_id,
     ra.task_id,
     ra.unit_of_measure,
     tmp_ra.etc_method_code,
     SUM(tmp.ETC_PLAN_QUANTITY),
     SUM(tmp.ETC_TXN_RAW_COST),
     SUM(tmp.ETC_TXN_BURDENED_COST),
     SUM(tmp.ETC_TXN_REVENUE),
     NVL(ta.billable_flag,'Y'),                       /* Added for ER 4376722 */
     tmp_ra.transaction_source_code                   /* Added for Bug 4369741 */
FROM PA_FP_CALC_AMT_TMP1 tmp_ra,
     PA_FP_CALC_AMT_TMP2 tmp,
     PA_RESOURCE_ASSIGNMENTS ra,
     pa_tasks ta                                      /* Added for ER 4376722 */
WHERE tmp.target_res_asg_id = ra.resource_assignment_id
      AND tmp.TRANSACTION_SOURCE_CODE = 'ETC'
      AND tmp_ra.target_res_asg_id = tmp.target_res_asg_id
      AND tmp_ra.transaction_source_code = 'WORKPLAN_RESOURCES' /* Added for Bug 4369741 */
      and NVL(ra.task_id,0) = ta.task_id (+)          /* Added for ER 4376722 */
      --and ta.project_id = P_PROJECT_ID              /* Added for ER 4376722 */
      AND ra.budget_version_id = P_BUDGET_VERSION_ID  /* Added for Bug 4369741 Perf */
      AND ra.project_id = P_PROJECT_ID                /* Added for Bug 4369741 Perf */
      AND tmp_ra.resource_assignment_id = tmp.resource_assignment_id /* Added for Bug 4571025 */
GROUP BY tmp.RESOURCE_ASSIGNMENT_ID,
         tmp.TARGET_RES_ASG_ID,
         tmp.ETC_CURRENCY_CODE,
         ra.rate_based_flag,
         ra.resource_list_member_id,
         ra.task_id,
         ra.unit_of_measure,
         tmp_ra.etc_method_code,
         NVL(ta.billable_flag,'Y'),                  /* Added for ER 4376722 */
         tmp_ra.transaction_source_code              /* Added for Bug 4369741 */
UNION ALL
SELECT /*+ INDEX(tmp,PA_FP_CALC_AMT_TMP2_N1)
           INDEX(tmp_ra,PA_FP_CALC_AMT_TMP1_N1) */
     sum(1*null),
     tmp.TARGET_RES_ASG_ID,
     tmp.ETC_CURRENCY_CODE,
     ra.rate_based_flag,
     ra.resource_list_member_id,
     ra.task_id,
     ra.unit_of_measure,
     null, --ra.etc_method_code,
     SUM(tmp.ETC_PLAN_QUANTITY),
     SUM(tmp.ETC_TXN_RAW_COST),
     SUM(tmp.ETC_TXN_BURDENED_COST),
     SUM(tmp.ETC_TXN_REVENUE),
     NVL(ta.billable_flag,'Y'),                     /* Added for ER 4376722 */
     tmp_ra.transaction_source_code                 /* Added for Bug 4369741 */
FROM PA_FP_CALC_AMT_TMP1 tmp_ra,                    /* Added for Bug 4369741 */
   PA_FP_CALC_AMT_TMP2 tmp,
   PA_RESOURCE_ASSIGNMENTS ra,
   pa_tasks ta                                      /* Added for ER 4376722 */
WHERE tmp.target_res_asg_id = ra.resource_assignment_id
    AND tmp.TRANSACTION_SOURCE_CODE = 'ETC'
    and NVL(ra.task_id,0) = ta.task_id (+)          /* Added for ER 4376722 */
    --and ta.project_id = P_PROJECT_ID              /* Added for ER 4376722 */
    AND tmp_ra.target_res_asg_id = tmp.target_res_asg_id       /* Added for Bug 4369741 */
    AND tmp_ra.transaction_source_code <> 'OPEN_COMMITMENTS'   /* Added for Bug 4369741 */
    AND tmp_ra.transaction_source_code <> 'WORKPLAN_RESOURCES' /* Added for Bug 4369741 */
    AND ra.budget_version_id = P_BUDGET_VERSION_ID  /* Added for Bug 4369741 Perf */
    AND ra.project_id = P_PROJECT_ID                /* Added for Bug 4369741 Perf */
    AND tmp_ra.resource_assignment_id = tmp.resource_assignment_id /* Added for Bug 4571025 */
GROUP BY
tmp.TARGET_RES_ASG_ID,
       tmp.ETC_CURRENCY_CODE,
       ra.rate_based_flag,
       ra.resource_list_member_id,
       ra.task_id,
       ra.unit_of_measure,
       null, --ra.etc_method_code,
       NVL(ta.billable_flag,'Y'),                   /* Added for ER 4376722 */
       tmp_ra.transaction_source_code;              /* Added for Bug 4369741 */
Line: 1414

 * This cursor's SELECT statement uses the etc_amts_cur_wp_fp_opt_same
 * cursor's SELECT statement for resources with Financial Plan source
 * UNION ALL the etc_amts_cur_wp_fp_opt_diff cursor's SELECT statement for
 * resources with non Financial Plan source. */

CURSOR etc_amts_cur_fp_opt_same IS
SELECT /*+ INDEX(tmp,PA_FP_CALC_AMT_TMP2_N1)
           INDEX(tmp_ra,PA_FP_CALC_AMT_TMP1_N1) */
     tmp.RESOURCE_ASSIGNMENT_ID,
     tmp.TARGET_RES_ASG_ID,
     tmp.ETC_CURRENCY_CODE,
     ra.rate_based_flag,
     ra.resource_list_member_id,
     ra.task_id,
     ra.unit_of_measure,
     tmp_ra.etc_method_code,
     SUM(tmp.ETC_PLAN_QUANTITY),
     SUM(tmp.ETC_TXN_RAW_COST),
     SUM(tmp.ETC_TXN_BURDENED_COST),
     SUM(tmp.ETC_TXN_REVENUE),
     NVL(ta.billable_flag,'Y'),                       /* Added for ER 4376722 */
     tmp_ra.transaction_source_code                   /* Added for Bug 4369741 */
FROM PA_FP_CALC_AMT_TMP1 tmp_ra,
     PA_FP_CALC_AMT_TMP2 tmp,
     PA_RESOURCE_ASSIGNMENTS ra,
     pa_tasks ta                                      /* Added for ER 4376722 */
WHERE tmp.target_res_asg_id = ra.resource_assignment_id
      AND tmp.TRANSACTION_SOURCE_CODE = 'ETC'
      AND tmp_ra.target_res_asg_id = tmp.target_res_asg_id
      AND tmp_ra.transaction_source_code = 'FINANCIAL_PLAN' /* Added for Bug 4369741 */
      and NVL(ra.task_id,0) = ta.task_id (+)          /* Added for ER 4376722 */
      --and ta.project_id = P_PROJECT_ID              /* Added for ER 4376722 */
      AND ra.budget_version_id = P_BUDGET_VERSION_ID  /* Added for Bug 4369741 Perf */
      AND ra.project_id = P_PROJECT_ID                /* Added for Bug 4369741 Perf */
      AND tmp_ra.resource_assignment_id = tmp.resource_assignment_id /* Added for Bug 4571025 */
GROUP BY tmp.RESOURCE_ASSIGNMENT_ID,
         tmp.TARGET_RES_ASG_ID,
         tmp.ETC_CURRENCY_CODE,
         ra.rate_based_flag,
         ra.resource_list_member_id,
         ra.task_id,
         ra.unit_of_measure,
         tmp_ra.etc_method_code,
         NVL(ta.billable_flag,'Y'),                  /* Added for ER 4376722 */
         tmp_ra.transaction_source_code              /* Added for Bug 4369741 */
UNION ALL
SELECT /*+ INDEX(tmp,PA_FP_CALC_AMT_TMP2_N1)
           INDEX(tmp_ra,PA_FP_CALC_AMT_TMP1_N1) */
     sum(1*null),
     tmp.TARGET_RES_ASG_ID,
     tmp.ETC_CURRENCY_CODE,
     ra.rate_based_flag,
     ra.resource_list_member_id,
     ra.task_id,
     ra.unit_of_measure,
     null, --ra.etc_method_code,
     SUM(tmp.ETC_PLAN_QUANTITY),
     SUM(tmp.ETC_TXN_RAW_COST),
     SUM(tmp.ETC_TXN_BURDENED_COST),
     SUM(tmp.ETC_TXN_REVENUE),
     NVL(ta.billable_flag,'Y'),                     /* Added for ER 4376722 */
     tmp_ra.transaction_source_code                 /* Added for Bug 4369741 */
FROM PA_FP_CALC_AMT_TMP1 tmp_ra,                    /* Added for Bug 4369741 */
   PA_FP_CALC_AMT_TMP2 tmp,
   PA_RESOURCE_ASSIGNMENTS ra,
   pa_tasks ta                                      /* Added for ER 4376722 */
WHERE tmp.target_res_asg_id = ra.resource_assignment_id
    AND tmp.TRANSACTION_SOURCE_CODE = 'ETC'
    and NVL(ra.task_id,0) = ta.task_id (+)          /* Added for ER 4376722 */
    --and ta.project_id = P_PROJECT_ID              /* Added for ER 4376722 */
    AND tmp_ra.target_res_asg_id = tmp.target_res_asg_id      /* Added for Bug 4369741 */
    AND tmp_ra.transaction_source_code <> 'OPEN_COMMITMENTS'  /* Added for Bug 4369741 */
    AND tmp_ra.transaction_source_code <> 'FINANCIAL_PLAN'    /* Added for Bug 4369741 */
    AND ra.budget_version_id = P_BUDGET_VERSION_ID  /* Added for Bug 4369741 Perf */
    AND ra.project_id = P_PROJECT_ID                /* Added for Bug 4369741 Perf */
    AND tmp_ra.resource_assignment_id = tmp.resource_assignment_id /* Added for Bug 4571025 */
GROUP BY
tmp.TARGET_RES_ASG_ID,
       tmp.ETC_CURRENCY_CODE,
       ra.rate_based_flag,
       ra.resource_list_member_id,
       ra.task_id,
       ra.unit_of_measure,
       null, --ra.etc_method_code,
       NVL(ta.billable_flag,'Y'),                   /* Added for ER 4376722 */
       tmp_ra.transaction_source_code;              /* Added for Bug 4369741 */
Line: 2000

            l_child_task_id_tab.DELETE;
Line: 2237

        UPDATE pa_fp_fcst_gen_tmp1 tmp
        SET    tmp.project_element_id = (SELECT pt.top_task_id
                                         FROM   pa_tasks pt
                                         WHERE  tmp.project_element_id = pt.task_id)
        WHERE  tmp.data_type_code     = 'ETC_FP'
        AND    tmp.project_element_id
        IN
        (SELECT  pt.task_id
         FROM    pa_tasks pt
         WHERE   pt.top_task_id  IN (SELECT tmp1.task_id
                                     FROM   pa_fp_calc_amt_tmp1 tmp1
                                     WHERE  tmp1.budget_version_id =
                                            p_etc_fp_plan_version_id)
         AND     pt.task_id NOT IN (SELECT tmp1.task_id
                                    FROM   pa_fp_calc_amt_tmp1 tmp1
                                    WHERE  tmp1.budget_version_id =
                                           p_etc_fp_plan_version_id)
         AND     pt.project_id=p_project_id
         AND     pt.task_id<>pt.top_task_id
        );
Line: 2382

    /* select count(*) into l_test from Pa_fp_CALC_AMT_TMP1;
Line: 2384

    select count(*) into l_test from Pa_fp_CALC_AMT_TMP2;
Line: 2387

    DELETE FROM PA_FP_CALC_AMT_TMP3;
Line: 2421

    SELECT DECODE( FIN_PLAN_PREFERENCE_CODE,'COST_ONLY', 'COST' ,
                   'COST_AND_REV_SEP', 'COST',
                   'COST_AND_REV_SAME', 'ALL') INTO l_version_type
    FROM pa_proj_fp_options
    WHERE fin_plan_type_id = l_fin_plan_type_id
          AND fin_plan_option_level_code = 'PLAN_TYPE'
          AND project_id = P_PROJECT_ID;
Line: 2933

    /* select count(*) into l_count_tmp from PA_FP_CALC_AMT_TMP1;
Line: 2935

    select count(*) into l_count_tmp from PA_FP_CALC_AMT_TMP2;
Line: 2950

            SELECT DISTINCT target_res_asg_id
            BULK COLLECT INTO l_res_asg_uom_update_tab
            FROM PA_FP_CALC_AMT_TMP2
            WHERE transaction_source_code = 'ETC';
Line: 2959

                SELECT /*+ INDEX(tmp1,PA_FP_CALC_AMT_TMP1_N1)*/
                       DISTINCT tmp1.target_res_asg_id
                BULK COLLECT
                INTO   l_res_asg_uom_update_tab
                FROM   PA_FP_CALC_AMT_TMP1 tmp1,
                       pa_resource_assignments ra
                WHERE  ra.budget_version_id = p_budget_version_id
                AND    ra.resource_assignment_id = tmp1.target_res_asg_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 )))
                AND EXISTS ( SELECT /*+ INDEX(tmp2,PA_FP_CALC_AMT_TMP2_N1)*/ 1
                             FROM   PA_FP_CALC_AMT_TMP2 tmp2
                             WHERE  tmp2.target_res_asg_id = tmp1.target_res_asg_id
                             AND    tmp2.transaction_source_code = 'ETC'
                             AND    rownum = 1 );
Line: 2981

                SELECT /*+ INDEX(tmp1,PA_FP_CALC_AMT_TMP1_N1)*/
                       DISTINCT tmp1.target_res_asg_id
                BULK COLLECT
                INTO   l_res_asg_uom_update_tab
                FROM   PA_FP_CALC_AMT_TMP1 tmp1,
                       pa_resource_assignments ra
                WHERE  ra.budget_version_id = p_budget_version_id
                AND    ra.resource_assignment_id = tmp1.target_res_asg_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(bl.quantity,0) <>
                                                      NVL(bl.init_quantity,0)
                                               AND    rownum = 1 )))
                AND EXISTS ( SELECT /*+ INDEX(tmp2,PA_FP_CALC_AMT_TMP2_N1)*/ 1
                             FROM   PA_FP_CALC_AMT_TMP2 tmp2
                             WHERE  tmp2.target_res_asg_id = tmp1.target_res_asg_id
                             AND    tmp2.transaction_source_code = 'ETC'
                             AND    rownum = 1 );
Line: 3006

        FORALL i IN 1..l_res_asg_uom_update_tab.count
            UPDATE pa_resource_assignments
            SET unit_of_measure = 'DOLLARS',
                rate_based_flag = 'N'
            WHERE resource_assignment_id = l_res_asg_uom_update_tab(i);
Line: 3013

    l_cal_ra_id_tab.delete;
Line: 3014

    l_cal_txn_currency_code_tab.delete;
Line: 3015

    l_cal_unit_of_measure_tab.delete;
Line: 3016

    l_cal_etc_qty_tab.delete;
Line: 3017

    l_cal_etc_raw_cost_tab.delete;
Line: 3018

    l_cal_etc_burdened_cost_tab.delete;
Line: 3019

    l_cal_rate_based_flag_tab.delete;
Line: 3021

    l_cal_rlm_id_tab.delete;
Line: 3022

    l_cal_task_id_tab.delete;
Line: 3023

    l_cal_etc_method_code_tab.delete;
Line: 3170

        SELECT transaction_source_code
        INTO l_ra_txn_source_code
        FROM pa_resource_assignments
        WHERE resource_assignment_id = l_cal_ra_id_tab_tmp(i);
Line: 3183

                SELECT count(*)
                INTO   l_bl_count
                FROM   pa_budget_lines
                WHERE  resource_assignment_id = l_cal_ra_id_tab_tmp(i)
                AND    start_date > p_actuals_thru_date;
Line: 3189

                SELECT count(*)
                INTO   l_bl_count
                FROM   pa_budget_lines
                WHERE  resource_assignment_id = l_cal_ra_id_tab_tmp(i)
                AND    NVL(quantity,0) <> NVL(init_quantity,0);
Line: 3203

           plan lines should be deleted and amounts should be generated from the
           generation source. */

            IF ( l_ra_txn_source_code IS NULL AND l_bl_count > 0 ) THEN
                /* Mannually entered lines do exist, so they will be honored,
                   source records will be dropped */
                l_dummy := 1;
Line: 3215

                    DELETE FROM pa_budget_lines
                    WHERE resource_assignment_id = l_cal_ra_id_tab_tmp(i)
                      AND start_date > p_actuals_thru_date;
Line: 3256

    /* End the logic to handle mannually updated lines*/

ELSE

                l_cal_ra_id_tab := l_cal_ra_id_tab_tmp;
Line: 3316

                DELETE pa_resource_asgn_curr_tmp;
Line: 3322

                INSERT INTO pa_resource_asgn_curr_tmp
                    ( resource_assignment_id )
                SELECT DISTINCT column_value
                FROM TABLE( CAST( l_ra_id_tab_table(i) AS SYSTEM.pa_num_tbl_type ));
Line: 3371

            DELETE pa_resource_asgn_curr_tmp;
Line: 3377

	    INSERT INTO pa_resource_asgn_curr_tmp
	        ( RESOURCE_ASSIGNMENT_ID,
	          TXN_CURRENCY_CODE,
	          TXN_RAW_COST_RATE_OVERRIDE,
	          TXN_BURDEN_COST_RATE_OVERRIDE )
	    SELECT rbc.resource_assignment_id,
	           rbc.txn_currency_code,
	           rbc.txn_raw_cost_rate_override,
	           rbc.txn_burden_cost_rate_override
	    FROM   pa_resource_asgn_curr rbc
	    WHERE  rbc.budget_version_id = p_budget_version_id
	    AND    rbc.txn_bill_rate_override IS NOT NULL
	    AND EXISTS ( SELECT null
	                 FROM   TABLE(CAST( l_non_billable_fp_ra_id_tab AS SYSTEM.pa_num_tbl_type ))
	                 WHERE  rbc.resource_assignment_id = column_value );
Line: 3408

                        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: 3473

        l_cal_src_ra_id_tab_tmp.delete;
Line: 3474

        l_cal_ra_id_tab_tmp.delete;
Line: 3475

        l_cal_txn_curr_code_tab_tmp.delete;
Line: 3476

        l_cal_rate_based_flag_tab_tmp.delete;
Line: 3477

        l_cal_rlm_id_tab_tmp.delete;
Line: 3478

        l_cal_task_id_tab_tmp.delete;
Line: 3479

        l_cal_unit_of_measure_tab_tmp.delete;
Line: 3480

        l_cal_etc_method_code_tab_tmp.delete;
Line: 3481

        l_cal_etc_qty_tab_tmp.delete;
Line: 3482

        l_cal_etc_raw_cost_tab_tmp.delete;
Line: 3483

        l_cal_etc_brdn_cost_tab_tmp.delete;
Line: 3484

        l_cal_etc_revenue_tab_tmp.delete;
Line: 3485

        l_billable_flag_tab_tmp.delete;
Line: 3818

            SELECT /*+ INDEX(PA_FP_GEN_RATE_TMP,PA_FP_GEN_RATE_TMP_N1)*/
                   period_name,
                   raw_cost_rate,
                   burdened_cost_rate,
                   revenue_bill_rate
            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
            FROM   pa_fp_gen_rate_tmp
            WHERE  target_res_asg_id = l_cal_ra_id_tab(i)
            AND    txn_currency_code = l_cal_txn_currency_code_tab(i);
Line: 3832

            l_input_period_rates_tbl.delete;
Line: 3841

            l_input_period_rates_tbl.delete;
Line: 3855

            l_input_period_rates_tbl.delete;
Line: 4018

            DELETE /*+ INDEX(PA_FP_GEN_RATE_TMP,PA_FP_GEN_RATE_TMP_N1)*/
            FROM   pa_fp_gen_rate_tmp
            WHERE target_res_asg_id = l_cal_ra_id_tab(i)
            AND   txn_currency_code = l_cal_txn_currency_code_tab(i);
Line: 4023

            l_ext_period_name_tab.delete;
Line: 4024

            l_ext_raw_cost_rate_tab.delete;
Line: 4025

            l_ext_burdened_cost_rate_tab.delete;
Line: 4026

            l_ext_revenue_bill_rate_tab.delete;
Line: 4037

	        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
	             ( l_cal_src_ra_id_tab(i),
	               l_cal_txn_currency_code_tab(i),
                       l_ext_period_name_tab(j),
                       l_ext_raw_cost_rate_tab(j),
                       l_ext_burdened_cost_rate_tab(j),
                       l_ext_revenue_bill_rate_tab(j),
	               l_cal_ra_id_tab(i) );
Line: 4120

          to select the same data and subtract the amounts from the total amount.

          Permanent Fix : The 'Calculate/Spread' API should spread only the amount
          passed from the fcst generation process and should not manipulate the
          data in any way. We have the p_calling_module parameter and this
          parameter should be used to avoid any manipulation to the passed data.

          If we go with the above strategy then the following code to select the
          actual amount (and adding the actual amount to the ETC amounts) should be
          removed and the changes should be made in the
          Calculate API/Spread API.

          If we are going to address this issue using a different strategy then
          the code changes should be made in Fcst gen/Calculate/Spread API.

          End bug 3826548
        */

        /* bug fix start */

        -- Bug 4211776, 4194849: Commented out logic for addition of actuals.
/*
        SELECT sum(init_quantity),
               sum(txn_init_raw_cost),
               sum(txn_init_burdened_cost),
               sum(txn_init_revenue)
          INTO l_init_qty,
               l_init_raw_cost,
               l_init_burdened_cost,
               l_init_revenue
        FROM pa_budget_lines
        WHERE resource_assignment_id = l_cal_ra_id_tab(i)
              AND txn_currency_code = l_cal_txn_currency_code_tab(i);
Line: 4208

        l_cal_src_ra_id_tab_tmp.delete;
Line: 4209

        l_cal_ra_id_tab_tmp.delete;
Line: 4210

        l_cal_txn_curr_code_tab_tmp.delete;
Line: 4211

        l_cal_rate_based_flag_tab_tmp.delete;
Line: 4212

        l_cal_rlm_id_tab_tmp.delete;
Line: 4213

        l_cal_task_id_tab_tmp.delete;
Line: 4214

        l_cal_unit_of_measure_tab_tmp.delete;
Line: 4215

        l_cal_etc_method_code_tab_tmp.delete;
Line: 4216

        l_cal_etc_qty_tab_tmp.delete;
Line: 4217

        l_cal_etc_raw_cost_tab_tmp.delete;
Line: 4218

        l_cal_etc_brdn_cost_tab_tmp.delete;
Line: 4219

        l_cal_etc_revenue_tab_tmp.delete;
Line: 4220

        l_billable_flag_tab_tmp.delete;
Line: 4221

        l_cal_rcost_rate_ovrd_tab_tmp.delete;
Line: 4222

        l_cal_bcost_rate_ovrd_tab_tmp.delete;
Line: 4223

        l_cal_bill_rate_ovrd_tab_tmp.delete;
Line: 4300

    l_cal_ra_id_tab_tmp.delete;
Line: 4301

    l_cal_txn_curr_code_tab_tmp.delete;
Line: 4302

    l_cal_rate_based_flag_tab_tmp.delete;
Line: 4303

    l_cal_rlm_id_tab_tmp.delete;
Line: 4304

    l_cal_task_id_tab_tmp.delete;
Line: 4305

    l_cal_unit_of_measure_tab_tmp.delete;
Line: 4306

    l_cal_etc_method_code_tab_tmp.delete;
Line: 4307

    l_cal_etc_qty_tab_tmp.delete;
Line: 4308

    l_cal_etc_raw_cost_tab_tmp.delete;
Line: 4309

    l_cal_etc_brdn_cost_tab_tmp.delete;
Line: 4310

    l_cal_etc_revenue_tab_tmp.delete;
Line: 4311

    l_cal_rcost_rate_ovrd_tab_tmp.delete;
Line: 4312

    l_cal_bcost_rate_ovrd_tab_tmp.delete;
Line: 4313

    l_cal_bill_rate_ovrd_tab_tmp.delete;
Line: 4319

            SELECT nvl(sum(nvl(init_quantity,0)),0)
            INTO   l_init_qty
            FROM   pa_budget_lines
            WHERE  resource_assignment_id = l_cal_ra_id_tab(i)
            AND    txn_currency_code = l_cal_txn_currency_code_tab(i);
Line: 4393

            SELECT  planning_start_date,
                    planning_end_date
            INTO    l_start_date,
                    l_end_date
            FROM    pa_resource_assignments
            WHERE   resource_assignment_id = l_cal_ra_id_tab(i);
Line: 4422

            l_amt_dtls_tbl.delete;
Line: 4490

        select count(*) into l_count from
        pa_budget_lines where budget_version_id = P_BUDGET_VERSION_ID;
Line: 4498

            l_delete_budget_lines_tab.extend;
Line: 4511

            l_delete_budget_lines_tab(i)    :=  Null;
Line: 4538

    DELETE pa_res_list_map_tmp1;
Line: 4540

        INSERT INTO pa_res_list_map_tmp1
               ( txn_resource_assignment_id )
        VALUES ( l_cal_ra_id_tab(i) );
Line: 4575

    /* select etc_start_date into l_date from
       pa_budget_versions where budget_version_id = P_BUDGET_VERSION_ID;
Line: 4584

       and update the planning end date in res asg table.
       This logic is handled in the calculate API based on this
       new parameter. */

    PA_FP_CALC_PLAN_PKG.calculate(
        p_calling_module                => 'FORECAST_GENERATION',
        P_PROJECT_ID                    => P_PROJECT_ID,
        P_BUDGET_VERSION_ID             => P_BUDGET_VERSION_ID,
        P_REFRESH_RATES_FLAG            => l_refresh_rates_flag,
        P_REFRESH_CONV_RATES_FLAG       => l_refresh_conv_rates_flag,
        P_SPREAD_REQUIRED_FLAG          => l_spread_required_flag,
        P_CONV_RATES_REQUIRED_FLAG      => l_conv_rates_required_flag,
        P_ROLLUP_REQUIRED_FLAG          => 'N',
        --P_MASS_ADJUST_FLAG
        --P_QUANTITY_ADJ_PCT
        --P_COST_RATE_ADJ_PCT
        --P_BURDENED_RATE_ADJ_PCT
        --P_BILL_RATE_ADJ_PCT
        P_SOURCE_CONTEXT                => l_source_context,
        P_RESOURCE_ASSIGNMENT_TAB       => l_cal_ra_id_tab,
        P_DELETE_BUDGET_LINES_TAB       => l_delete_budget_lines_tab,
        P_SPREAD_AMTS_FLAG_TAB          => l_spread_amts_flag_tab,
        P_TXN_CURRENCY_CODE_TAB         => l_cal_txn_currency_code_tab,
        P_TXN_CURRENCY_OVERRIDE_TAB     => l_txn_currency_override_tab,
        P_TOTAL_QTY_TAB                 => l_cal_etc_qty_tab,
        P_ADDL_QTY_TAB                  => l_addl_qty_tab,
        P_TOTAL_RAW_COST_TAB            => l_cal_etc_raw_cost_tab,
        P_ADDL_RAW_COST_TAB             => l_addl_raw_cost_tab,
        P_TOTAL_BURDENED_COST_TAB       => l_cal_etc_burdened_cost_tab,
        P_ADDL_BURDENED_COST_TAB        => l_addl_burdened_cost_tab,
        P_TOTAL_REVENUE_TAB             => l_cal_etc_revenue_tab,
        P_ADDL_REVENUE_TAB              => l_addl_revenue_tab,
        P_RAW_COST_RATE_TAB             => l_raw_cost_rate_tab,
        P_RW_COST_RATE_OVERRIDE_TAB     => l_cal_rcost_rate_override_tab,
        P_B_COST_RATE_TAB               => l_b_cost_rate_tab,
        P_B_COST_RATE_OVERRIDE_TAB      => l_cal_bcost_rate_override_tab,
        P_BILL_RATE_TAB                 => l_bill_rate_tab,
        P_BILL_RATE_OVERRIDE_TAB        => l_cal_bill_rate_override_tab,
        P_LINE_START_DATE_TAB           => l_line_start_date_tab,
        P_LINE_END_DATE_TAB             => l_line_start_date_tab,
        P_RATXN_ROLLUP_API_CALL_FLAG    => l_raTxn_rollup_api_call_flag,
        X_RETURN_STATUS                 => x_return_status,
        X_MSG_COUNT                     => x_msg_count,
        X_MSG_DATA                      => x_msg_data );
Line: 4715

    DELETE FROM PA_FP_PLANNING_RES_TMP1;
Line: 4720

       source, all negative res asg values are inserted either for
       tasks with etc source as WORK_QUANTITY or the etc is NONE or NULL. */
        INSERT INTO PA_FP_PLANNING_RES_TMP1 (
                TASK_ID,
                RESOURCE_LIST_MEMBER_ID,
                RESOURCE_ASSIGNMENT_ID,
                planning_start_date,
                planning_end_date )
        (SELECT MAPPED_FIN_TASK_ID,
                TARGET_RLM_ID,
                to_number(NULL),
                min(planning_start_date),
                max(planning_end_date)
        FROM PA_FP_CALC_AMT_TMP1
        GROUP BY mapped_fin_task_id,TARGET_RLM_ID,to_number(NULL));
Line: 4737

        INSERT INTO PA_FP_PLANNING_RES_TMP1 (
                TASK_ID,
                RESOURCE_LIST_MEMBER_ID,
                RESOURCE_ASSIGNMENT_ID,
                planning_start_date,
                planning_end_date )
        (SELECT 0,
                TARGET_RLM_ID,
                to_number(NULL),
                min(planning_start_date),
                max(planning_end_date)
        FROM PA_FP_CALC_AMT_TMP1
                group by 0, TARGET_RLM_ID,
                to_number(NULL) );
Line: 4753

        INSERT INTO PA_FP_PLANNING_RES_TMP1 (
                TASK_ID,
                RESOURCE_LIST_MEMBER_ID,
                RESOURCE_ASSIGNMENT_ID,
                planning_start_date,
                planning_end_date )
        (SELECT MAPPED_FIN_TASK_ID,
                TARGET_RLM_ID,
                to_number(NULL),
                min(planning_start_date),
                max(planning_end_date)
        FROM PA_FP_CALC_AMT_TMP1 group by
        mapped_fin_task_id,TARGET_RLM_ID,
                to_number(NULL) );
Line: 4796

                P_MSG           => 'Before calling pa_fp_copy_actuals_pub.update_res_asg',
                P_MODULE_NAME   => l_module_name,
                p_log_level => 5);
Line: 4800

    PA_FP_COPY_ACTUALS_PUB.UPDATE_RES_ASG (
                P_PROJECT_ID            => P_PROJECT_ID,
                P_BUDGET_VERSION_ID     => P_BUDGET_VERSION_ID,
                P_FP_COLS_REC           => P_FP_COLS_REC,
                P_CALLING_PROCESS       => 'FORECAST_GENERATION',
                X_RETURN_STATUS         => x_return_status,
                X_MSG_COUNT             => x_msg_count,
                X_MSG_DATA              => x_msg_data );
Line: 4810

                P_MSG           => 'After calling update_res_asg,return status is: '||x_return_status,
                P_MODULE_NAME   => l_module_name,
                p_log_level => 5);
Line: 4867

 * This procedure updates pa_budget_lines.other_rejection_code
 * for the purpose of signalling ETC revenue amount calculation
 * errors. See bug 5203622.
 *
 * Pre-Conditions:
 * 1. At this point, other_rejection_code values should be stored
 *    in the txn_currency_code column of the pa_fp_calc_amt_tmp2
 *    table for planning txns with ETC revenue calculation errors.
 *
 *    Note: The etc_currency_code column (not txn_currency_code)
 *    to store the currency for ETC records in pa_fp_calc_amt_tmp2.
 *
 * Also worth noting is that this procedure is package-private.
 */
PROCEDURE UPD_REV_CALCULATION_ERR
          (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,
           P_CALLED_MODE             IN          VARCHAR2 DEFAULT 'SELF_SERVICE',
           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_PUB';
Line: 4955

    UPDATE pa_budget_lines bl
    SET    bl.other_rejection_code =
         ( SELECT tmp2.txn_currency_code
           FROM   pa_fp_calc_amt_tmp2 tmp2
           WHERE  tmp2.transaction_source_code = 'ETC'
           AND    tmp2.txn_currency_code is not null
           AND    bl.resource_assignment_id = tmp2.target_res_asg_id
           AND    bl.txn_currency_code = tmp2.etc_currency_code )
    WHERE bl.budget_version_id = p_budget_version_id
    AND   nvl(bl.quantity,0) <> nvl(bl.init_quantity,0) -- ETC lines only
    AND EXISTS
         ( SELECT null
           FROM   pa_fp_calc_amt_tmp2 tmp2
           WHERE  tmp2.transaction_source_code = 'ETC'
           AND    tmp2.txn_currency_code is not null
           AND    bl.resource_assignment_id = tmp2.target_res_asg_id
           AND    bl.txn_currency_code = tmp2.etc_currency_code );