[Home] [Help]
2796: SELECT a.run_id run_id
2797: , a.project_id project_id
2798: , a.task_id task_id
2799: , nvl(a.eligible_amount,0) eligible_amount
2800: FROM pa_alloc_run_source_det a,
2801: pa_alloc_runs ar
2802: WHERE a.run_id = ar.run_id
2803: AND a.rule_id = p_rule_id
2804: AND ar.fiscal_year = NVL(p_fscl_year, ar.fiscal_year)
2805: AND ar.quarter = NVL(p_qrtr_num, ar.quarter)
2806: AND ar.period_num = NVL(p_prd_num, ar.period_num )
2807: AND a.run_id < p_run_id
2808: AND NOT EXISTS ( SELECT 1
2809: FROM pa_alloc_run_source_det b
2810: WHERE a.project_id = b.project_id
2811: AND a.task_id = b.task_id
2812: AND b.rule_id = p_rule_id
2813: AND b.run_id = p_run_id )
2811: AND a.task_id = b.task_id
2812: AND b.rule_id = p_rule_id
2813: AND b.run_id = p_run_id )
2814: AND a.run_id =( SELECT max(c.run_id)
2815: FROM pa_alloc_run_source_det c,
2816: pa_alloc_runs c_ar -- added this table to exclude reversed runs.
2817: WHERE c.project_id = a.project_id
2818: AND c.task_id = a.task_id
2819: AND c.run_id = c_ar.run_id
2831: SELECT A.Run_Id Run_Id,
2832: A.Project_Id Project_Id,
2833: A.Task_Id Task_Id,
2834: NVL ( A.Eligible_Amount, 0 ) Eligible_Amount
2835: FROM PA_ALLOC_RUN_SOURCE_DET A ,
2836: ( --
2837: -- The purpose of this in-line view is to return
2838: -- the PA_ALLOC_RUNS (single) record for the largest Run_Id
2839: -- less than the input p_Run_Id
2850: WHERE A.Run_Id = AR.Run_Id
2851: AND A.Rule_Id = p_Rule_Id
2852: AND NOT EXISTS
2853: ( SELECT 1
2854: FROM PA_ALLOC_RUN_SOURCE_DET B
2855: WHERE A.Project_Id = B.Project_Id
2856: AND A.Task_Id = B.Task_Id
2857: AND B.Rule_Id = p_Rule_Id
2858: AND B.Run_Id = p_Run_Id
3612: , p_pool_amount IN NUMBER
3613: , p_allocated_amount IN NUMBER ) IS
3614: CURSOR C_offset_det IS
3615: SELECT line_num, project_id, task_id, nvl(sum(nvl(eligible_amount,0)),0) eligible_amount
3616: FROM pa_alloc_run_source_det
3617: WHERE run_id=p_run_id
3618: GROUP BY line_num, project_id, task_id;
3619: CURSOR c_offset_proj_sum IS
3620: SELECT project_id, nvl(sum(nvl(eligible_amount,0)),0) eligible_amount
3617: WHERE run_id=p_run_id
3618: GROUP BY line_num, project_id, task_id;
3619: CURSOR c_offset_proj_sum IS
3620: SELECT project_id, nvl(sum(nvl(eligible_amount,0)),0) eligible_amount
3621: FROM pa_alloc_run_source_det
3622: WHERE run_id = p_run_id
3623: GROUP BY project_id ;
3624: CURSOR c_pool_amount IS
3625: SELECT nvl(sum(nvl(eligible_amount,0)),0) pool_amount
3622: WHERE run_id = p_run_id
3623: GROUP BY project_id ;
3624: CURSOR c_pool_amount IS
3625: SELECT nvl(sum(nvl(eligible_amount,0)),0) pool_amount
3626: FROM pa_alloc_run_source_det
3627: WHERE run_id = p_run_id;
3628: v_project_id NUMBER ;
3629: v_task_id NUMBER ;
3630: v_proj_prev_offset_amt NUMBER ;
6095: RAISE ;
6096: END insert_alloc_basis_resource;
6097: -- ==========================================================================
6098: /* PROCEDURE : insert_alloc_source_resource
6099: Purpose : To insert data into pa_alloc_run_source_det table for each resource
6100: for each task which has some data available in summarization.
6101: Separate inserts are written for each type of amt_type
6102: (FYTD,qtd,itd and ptd).
6103: Created : 16-JAN-02 Manokuma
6176: IF P_DEBUG_MODE = 'Y' THEN
6177: pa_debug.write_file('insert_alloc_source_resource: ' || 'LOG', 'inserting data for project ' || c_projects_rec.project_id );
6178: END IF;
6179: IF Nvl(p_resource_struct_type,'RL') = 'RL' Then -------------------{
6180: INSERT INTO PA_ALLOC_RUN_SOURCE_DET (
6181: RUN_ID
6182: , RULE_ID
6183: , LINE_NUM
6184: , PROJECT_ID
6279: ,G_last_updated_by
6280: ,G_last_update_login);
6281: ElsIf Nvl(p_resource_struct_type,'RL') = 'RBS' Then
6282: /* FP.M : Allocation Impact */
6283: INSERT INTO PA_ALLOC_RUN_SOURCE_DET (
6284: RUN_ID
6285: , RULE_ID
6286: , LINE_NUM
6287: , PROJECT_ID
6394: IF P_DEBUG_MODE = 'Y' THEN
6395: pa_debug.write_file('insert_alloc_source_resource: ' || 'LOG', 'inserting data for project ' || c_projects_rec.project_id);
6396: END IF;
6397: IF Nvl(p_resource_struct_type,'RL') = 'RL' Then ------------{
6398: INSERT INTO PA_ALLOC_RUN_source_DET (
6399: RUN_ID
6400: , RULE_ID
6401: , LINE_NUM
6402: , PROJECT_ID
6476: ,G_last_update_date
6477: ,G_last_updated_by
6478: ,G_last_update_login);
6479: ElsiF Nvl(p_resource_struct_type,'RL') = 'RBS' Then
6480: INSERT INTO PA_ALLOC_RUN_source_DET (
6481: RUN_ID
6482: , RULE_ID
6483: , LINE_NUM
6484: , PROJECT_ID
6557: ,G_last_update_login);
6558: End If; -------------}
6559: ELSE /* p_run_period_type = 'GL' */
6560: IF Nvl(p_resource_struct_type,'RL') = 'RL' Then ----------- {
6561: INSERT INTO PA_ALLOC_RUN_source_DET (
6562: RUN_ID
6563: , RULE_ID
6564: , LINE_NUM
6565: , PROJECT_ID
6643: ,G_last_update_date
6644: ,G_last_updated_by
6645: ,G_last_update_login);
6646: ElsIF Nvl(p_resource_struct_type,'RL') = 'RBS' Then
6647: INSERT INTO PA_ALLOC_RUN_source_DET (
6648: RUN_ID
6649: , RULE_ID
6650: , LINE_NUM
6651: , PROJECT_ID
6752: IF P_DEBUG_MODE = 'Y' THEN
6753: pa_debug.write_file('insert_alloc_source_resource: ' || 'LOG', 'inserting data for project ' || c_projects_rec.project_id);
6754: END IF;
6755: IF Nvl(p_resource_struct_type,'RL') = 'RL' Then ---------{
6756: INSERT INTO PA_ALLOC_RUN_source_DET (
6757: RUN_ID
6758: , RULE_ID
6759: , LINE_NUM
6760: , PROJECT_ID
6843: ,G_last_update_date
6844: ,G_last_updated_by
6845: ,G_last_update_login);
6846: ElsIf Nvl(p_resource_struct_type,'RL') = 'RBS' Then
6847: INSERT INTO PA_ALLOC_RUN_source_DET (
6848: RUN_ID
6849: , RULE_ID
6850: , LINE_NUM
6851: , PROJECT_ID
7281: , p_last_update_login IN NUMBER)
7282: IS
7283: BEGIN
7284: pa_debug.set_err_stack('insert_alloc_run_source_det') ;
7285: pa_debug.G_err_stage := 'INSERTING PA_ALLOC_RUN_SOURCE_DET' ;
7286: INSERT INTO PA_ALLOC_RUN_SOURCE_DET (
7287: RUN_ID
7288: , RULE_ID
7289: , LINE_NUM
7282: IS
7283: BEGIN
7284: pa_debug.set_err_stack('insert_alloc_run_source_det') ;
7285: pa_debug.G_err_stage := 'INSERTING PA_ALLOC_RUN_SOURCE_DET' ;
7286: INSERT INTO PA_ALLOC_RUN_SOURCE_DET (
7287: RUN_ID
7288: , RULE_ID
7289: , LINE_NUM
7290: , PROJECT_ID
7379: and run_id = p_run_id
7380: and exclude_flag <> 'Y' ;
7381: cursor C_get_pool_amount is
7382: select nvl(sum(nvl(eligible_amount,0)),0)
7383: from pa_alloc_run_source_det
7384: where run_id = p_run_id ;
7385: Cursor c_get_proj is
7386: Select RUN_ID ,
7387: RULE_ID ,
7513: END IF;
7514: If p_run_amount_type in ( 'FYTD','QTD') then
7515: For l_get_proj in c_get_proj
7516: Loop
7517: Insert into pa_alloc_run_source_det( rule_id, run_id, line_num, project_id,
7518: task_id, creation_date, created_by,
7519: last_update_date,
7520: last_updated_by, last_update_login,
7521: amount, eligible_amount)
7583: elsif p_run_amount_type = 'PTD' then
7584: If p_run_period_type = 'GL' then
7585: For l_get_proj in c_get_proj
7586: Loop
7587: Insert into pa_alloc_run_source_det( rule_id, run_id, line_num, project_id, task_id,
7588: creation_date, created_by,
7589: last_update_date,
7590: last_updated_by, last_update_login,
7591: amount, eligible_amount)
7642: End Loop;
7643: elsif p_run_period_type = 'PA' then
7644: For l_get_proj in c_get_proj
7645: Loop
7646: Insert into pa_alloc_run_source_det(
7647: rule_id, run_id, line_num, project_id, task_id,
7648: creation_date, created_by, last_update_date,
7649: last_updated_by, last_update_login,
7650: amount, eligible_amount)
7698: end if ;
7699: else
7700: For l_get_proj in c_get_proj
7701: Loop
7702: Insert into pa_alloc_run_source_det(
7703: rule_id, run_id, line_num, project_id, task_id,
7704: creation_date, created_by, last_update_date,
7705: last_updated_by, last_update_login,
7706: amount, eligible_amount)
9809: /*Code Changes for Bug No.2984871 end */
9810: End Loop;
9811: --- Delete Transactions from source_details
9812: While 1=1 Loop /* Bug 2176096 */
9813: Delete from pa_alloc_run_source_det
9814: where run_id = p_run_id and rownum < 10001;
9815: /* Commented for Bug 2984871 Commit; */
9816: If Sql%Rowcount = 0 THen
9817: Exit;
9959: /*Code Changes for Bug No.2984871 end */
9960: End Loop;
9961: --- Delete Transactions from source_details
9962: While 1=1 Loop /* Bug 2176096 */
9963: Delete from pa_alloc_run_source_det
9964: where run_id = l_run_id and rownum < 10001;
9965: /* Commented for Bug 2984871 Commit; */
9966: If Sql%Rowcount = 0 THen
9967: Exit;