DBA Data[Home] [Help]

APPS.PA_FP_SPREAD_AMTS_PKG SQL Statements

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

Line: 12

  	/* Declare variables for Bulk Processing of inserting budget lines */
	-- for inserting new budget lines
   	g_bl_res_assignment_id_tab 		pa_plsql_datatypes.NumTabTyp;
Line: 26

	-- for inserting rollup tmp lines without budget lines
        g_rl_res_assignment_id_tab              pa_plsql_datatypes.NumTabTyp;
Line: 72

	-- for bulk update of rounding diff lines
	g_edist_rndiff_quantity			pa_plsql_datatypes.NumTabTyp;
Line: 166

            INSERT INTO PA_FP_CALCULATE_LOG
                (SESSIONID
                ,SEQ_NUMBER
                ,LOG_MESSAGE)
            VALUES
                (userenv('sessionid')
                ,HR.PAY_US_GARN_FEE_RULES_S.nextval
                ,substr(P_MSG,1,240)
                );
Line: 217

			SELECT sum(nvl(bl.quantity,0))
			INTO v_total_quantity
			FROM pa_fp_rollup_tmp bl
			WHERE bl.RESOURCE_ASSIGNMENT_ID = g_edist_RaId(i)
			AND bl.TXN_CURRENCY_CODE = NVL(g_edist_Curcode_ovr(i),g_edist_Curcode(i))
                	AND bl.START_DATE BETWEEN g_edist_sdate(i) AND g_edist_edate(i)
                	AND bl.END_DATE BETWEEN   g_edist_sdate(i) AND g_edist_edate(i)
                	AND bl.PERIOD_NAME IS NOT NULL;
Line: 237

                        SELECT sum(nvl(bl.quantity,0))
                        INTO v_bl_total_quantity
                        FROM pa_budget_lines bl
			    ,pa_fp_res_assignments_tmp rtmp
                        WHERE bl.budget_version_id = p_budget_version_id
			AND  bl.RESOURCE_ASSIGNMENT_ID = g_edist_RaId(i)
                        AND  bl.TXN_CURRENCY_CODE = g_edist_Curcode(i)
			AND  bl.budget_version_id = rtmp.budget_version_id
			AND  rtmp.resource_assignment_id = bl.resource_assignment_id
			AND  rtmp.txn_currency_code = bl.txn_currency_code
			AND  ((rtmp.SOURCE_CONTEXT  = 'BUDGET_LINE'
			      AND rtmp.LINE_START_DATE = g_edist_line_start_date(i))
			      OR
			      rtmp.SOURCE_CONTEXT  <> 'BUDGET_LINE'
			     )
			AND bl.START_DATE BETWEEN decode(rtmp.SOURCE_CONTEXT,'BUDGET_LINE',rtmp.LINE_START_DATE
                                                   ,decode(sign(bl.START_DATE - rtmp.planning_start_date),-1,bl.START_DATE,rtmp.planning_start_date))
						AND decode(rtmp.SOURCE_CONTEXT,'BUDGET_LINE',rtmp.LINE_END_DATE,rtmp.planning_end_date)
                        AND bl.END_DATE BETWEEN decode(rtmp.SOURCE_CONTEXT,'BUDGET_LINE',rtmp.LINE_START_DATE,rtmp.planning_start_date )
						AND decode(rtmp.SOURCE_CONTEXT,'BUDGET_LINE',rtmp.LINE_END_DATE
                                                     ,decode(sign(bl.END_DATE - rtmp.planning_end_date),1,bl.END_DATE,rtmp.planning_end_date))
			AND bl.END_DATE < g_edist_etc_sdate(i)
                        AND bl.PERIOD_NAME IS NOT NULL;
Line: 270

	/* bulk update the rollup tmp with spread rounding diff amount */
	IF g_edist_blId.COUNT > 0 THEN
	   l_stage := 'Finally one bulk update of rollup tmp lines ';
Line: 275

                UPDATE PA_FP_ROLLUP_TMP tmp
                SET tmp.QUANTITY = decode(NVL(g_edist_txn_quantity_addl(i),0),0,tmp.QUANTITY,(nvl(tmp.QUANTITY,0)+g_edist_rndiff_quantity(i)))
                WHERE tmp.budget_version_id = p_budget_version_id
		AND  tmp.BUDGET_LINE_ID = g_edist_blId(i);
Line: 299

   	g_bl_res_assignment_id_tab.delete;
Line: 300

   	g_bl_start_date_tab.delete;
Line: 301

   	g_bl_end_date_tab.delete;
Line: 302

   	g_bl_period_name_tab.delete;
Line: 303

   	g_bl_txn_curr_code_tab.delete;
Line: 304

	g_bl_txn_curr_code_ovr_tab.delete;
Line: 305

   	g_bl_budget_line_id_tab.delete;
Line: 306

   	g_bl_budget_version_id_tab.delete;
Line: 307

   	g_bl_proj_curr_code_tab.delete;
Line: 308

   	g_bl_projfunc_curr_code_tab.delete;
Line: 310

	-- for inserting rollup tmp lines without budget lines
        g_rl_res_assignment_id_tab.delete;
Line: 312

        g_rl_start_date_tab.delete;
Line: 313

        g_rl_end_date_tab.delete;
Line: 314

        g_rl_period_name_tab.delete;
Line: 315

        g_rl_txn_curr_code_tab.delete;
Line: 316

        g_rl_txn_curr_code_ovr_tab.delete;
Line: 317

        g_rl_budget_line_id_tab.delete;
Line: 318

        g_rl_budget_version_id_tab.delete;
Line: 319

        g_rl_proj_curr_code_tab.delete;
Line: 320

        g_rl_projfunc_curr_code_tab.delete;
Line: 321

	g_rl_quantity_tab.delete;
Line: 322

	g_rl_txn_raw_cost_tab.delete;
Line: 323

	g_rl_txn_cost_rate_tab.delete;
Line: 324

	g_rl_txn_cost_rate_ovr_tab.delete;
Line: 325

	g_rl_txn_burden_cost_tab.delete;
Line: 326

	g_rl_txn_burden_rate_tab.delete;
Line: 327

	g_rl_txn_burden_rate_ovr_tab.delete;
Line: 328

	g_rl_txn_revenue_tab.delete;
Line: 329

	g_rl_txn_bill_rate_tab.delete;
Line: 330

	g_rl_txn_bill_rate_ovr_tab.delete;
Line: 333

        g_rbl_res_assignment_id_tab.delete;
Line: 334

        g_rbl_start_date_tab.delete;
Line: 335

        g_rbl_end_date_tab.delete;
Line: 336

        g_rbl_period_name_tab.delete;
Line: 337

        g_rbl_txn_curr_code_tab.delete;
Line: 338

        g_rbl_txn_curr_code_ovr_tab.delete;
Line: 339

        g_rbl_budget_line_id_tab.delete;
Line: 340

        g_rbl_budget_version_id_tab.delete;
Line: 341

        g_rbl_proj_curr_code_tab.delete;
Line: 342

        g_rbl_projfunc_curr_code_tab.delete;
Line: 343

        g_rbl_quantity_tab.delete;
Line: 344

        g_rbl_txn_raw_cost_tab.delete;
Line: 345

        g_rbl_txn_cost_rate_tab.delete;
Line: 346

        g_rbl_txn_cost_rate_ovr_tab.delete;
Line: 347

        g_rbl_txn_burden_cost_tab.delete;
Line: 348

        g_rbl_txn_burden_rate_tab.delete;
Line: 349

        g_rbl_txn_burden_rate_ovr_tab.delete;
Line: 350

        g_rbl_txn_revenue_tab.delete;
Line: 351

        g_rbl_txn_bill_rate_tab.delete;
Line: 352

        g_rbl_txn_bill_rate_ovr_tab.delete;
Line: 354

	-- for bulk update of rollup tmp lines with rounding diff amounts
	g_edist_rndiff_quantity.delete;
Line: 356

        g_edist_blId.delete;
Line: 357

        g_edist_RaId.delete;
Line: 358

        g_edist_txn_quantity_addl.delete;
Line: 359

        g_edist_txn_plan_quantity.delete;
Line: 360

        g_edist_Curcode.delete;
Line: 361

        g_edist_Curcode_ovr.delete;
Line: 362

        g_edist_sdate.delete;
Line: 363

        g_edist_edate.delete;
Line: 364

        g_edist_etc_sdate.delete;
Line: 365

        g_edist_line_start_date.delete;
Line: 366

        g_edist_source_context.delete;
Line: 370

/* This API bulk inserts the budget lines from plsql tables*/
PROCEDURE blkInsertBudgetLines(x_return_status	OUT NOCOPY Varchar2)  IS

	l_stage 	varchar2(1000);
Line: 379

		l_stage := 'Bulk Insert of Budget Lines';
Line: 381

			INSERT INTO PA_BUDGET_LINES
				(
                                BUDGET_LINE_ID
                                ,BUDGET_VERSION_ID
                                ,RESOURCE_ASSIGNMENT_ID
                                ,START_DATE
                                ,END_DATE
                                ,PERIOD_NAME
                                ,TXN_CURRENCY_CODE
                                ,PROJECT_CURRENCY_CODE
                                ,PROJFUNC_CURRENCY_CODE
                                ,CREATED_BY
                                ,CREATION_DATE
                                ,LAST_UPDATED_BY
                                ,LAST_UPDATE_DATE
                                ,LAST_UPDATE_LOGIN
				,QUANTITY_SOURCE
				,RAW_COST_SOURCE
				,BURDENED_COST_SOURCE
				,REVENUE_SOURCE
				)
			VALUES (
                                g_bl_budget_line_id_tab(i)
                                ,g_bl_budget_version_id_tab(i)
                                ,g_bl_res_assignment_id_tab(i)
                                ,g_bl_start_date_tab(i)
                                ,g_bl_end_date_tab(i)
                                ,g_bl_period_name_tab(i)
                                ,NVL(g_bl_txn_curr_code_ovr_tab(i),g_bl_txn_curr_code_tab(i))
                                ,g_bl_proj_curr_code_tab(i)
                                ,g_bl_projfunc_curr_code_tab(i)
                                ,g_user_id
                                ,SYSDATE
                                ,g_user_id
				,SYSDATE
                                ,g_login_id
				,G_BUDGET_LINE_SOURCE
				,G_BUDGET_LINE_SOURCE
				,G_BUDGET_LINE_SOURCE
				,G_BUDGET_LINE_SOURCE
				);
Line: 426

                print_msg('Unexpected error in blkInsertBudgetLines['||sqlcode||sqlerrm||']');
Line: 429

                                        p_procedure_name => 'blkInsertBudgetLines'||l_stage);
Line: 434

END blkInsertBudgetLines;
Line: 436

/* This API bulk inserts the lines into pa_fp_rollup_tmp from plsql tables */
PROCEDURE blkInsertFpLines(x_return_status  OUT NOCOPY Varchar2) IS

	l_stage         varchar2(1000);
Line: 443

		l_stage := 'Bulk Insert of Fp rollup Tmp lines';
Line: 445

                        INSERT INTO PA_FP_ROLLUP_TMP
                                (
                                BUDGET_LINE_ID
                                ,BUDGET_VERSION_ID
                                ,RESOURCE_ASSIGNMENT_ID
                                ,START_DATE
                                ,END_DATE
                                ,PERIOD_NAME
                                ,TXN_CURRENCY_CODE
                                ,PROJECT_CURRENCY_CODE
                                ,PROJFUNC_CURRENCY_CODE
				,QUANTITY
                                ,TXN_RAW_COST
                                ,COST_RATE
                                ,RW_COST_RATE_OVERRIDE
                                ,TXN_BURDENED_COST
                                ,BURDEN_COST_RATE
                                ,BURDEN_COST_RATE_OVERRIDE
                                ,TXN_REVENUE
                                ,BILL_RATE
                                ,BILL_RATE_OVERRIDE
				,QUANTITY_SOURCE
				,RAW_COST_SOURCE
				,BURDENED_COST_SOURCE
				,REVENUE_SOURCE
                                )
                        VALUES (
                                g_rl_budget_line_id_tab(i)
                                ,g_rl_budget_version_id_tab(i)
                                ,g_rl_res_assignment_id_tab(i)
                                ,g_rl_start_date_tab(i)
                                ,g_rl_end_date_tab(i)
                                ,g_rl_period_name_tab(i)
                                ,NVL(g_rl_txn_curr_code_ovr_tab(i),g_rl_txn_curr_code_tab(i))
                                ,g_rl_proj_curr_code_tab(i)
                                ,g_rl_projfunc_curr_code_tab(i)
				,decode(g_rl_quantity_tab(i),0,NULL,g_rl_quantity_tab(i))
        			,decode(g_rl_txn_raw_cost_tab(i),0,NULL,g_rl_txn_raw_cost_tab(i))
        			,decode(g_rl_txn_cost_rate_tab(i),0,NULL,g_rl_txn_cost_rate_tab(i))
				/* bug fix:4693839 : removed decode to have 0,NULL for override rates */
        			--,decode(g_rl_txn_cost_rate_ovr_tab(i),0,NULL,g_rl_txn_cost_rate_ovr_tab(i))
				,g_rl_txn_cost_rate_ovr_tab(i)
        			,decode(g_rl_txn_burden_cost_tab(i),0,NULL,g_rl_txn_burden_cost_tab(i))
        			,decode(g_rl_txn_burden_rate_tab(i),0,NULL,g_rl_txn_burden_rate_tab(i))
        			--,decode(g_rl_txn_burden_rate_ovr_tab(i),0,NULL,g_rl_txn_burden_rate_ovr_tab(i))
				,g_rl_txn_burden_rate_ovr_tab(i)
        			,decode(g_rl_txn_revenue_tab(i),0,NULL,g_rl_txn_revenue_tab(i))
        			,decode(g_rl_txn_bill_rate_tab(i),0,NULL,g_rl_txn_bill_rate_tab(i))
        			--,decode(g_rl_txn_bill_rate_ovr_tab(i),0,NULL,g_rl_txn_bill_rate_ovr_tab(i))
				,g_rl_txn_bill_rate_ovr_tab(i)
				,G_BUDGET_LINE_SOURCE
				,G_BUDGET_LINE_SOURCE
				,G_BUDGET_LINE_SOURCE
				,G_BUDGET_LINE_SOURCE
				);
Line: 505

                print_msg('Unexpected error in blkInsertFpLines['||sqlcode||sqlerrm||']');
Line: 508

                                        p_procedure_name => 'blkInsertFpLines'||l_stage);
Line: 514

END blkInsertFpLines;
Line: 516

/* This API bulk inserts lines into pa_fp_rollup_tmp from pa_budget_lines */
PROCEDURE blkInsertBlFpLines(x_return_status  OUT NOCOPY Varchar2) IS

	l_stage         varchar2(1000);
Line: 523

		l_stage := 'Bulk Insert of rollup Tmp with Budget Lines';
Line: 528

                in Update Task Details page, the following piece of code gets executed.

                This code caches several attributes from pa_budget_lines table and will use them in the
                later part of the flow, thus causing the above bug. When ever currency code is overwritten
                we need to use the new currency's conversion attributes, but where as this code will use
                old currency's conversion attributes.

                As a fix the following insert is commented out and a new insert is written with a change
                in the select statement of values clause.

                        INSERT INTO  PA_FP_ROLLUP_TMP
                                (
                                BUDGET_LINE_ID
                                ,BUDGET_VERSION_ID
                                ,RESOURCE_ASSIGNMENT_ID
                                ,START_DATE
                                ,END_DATE
                                ,PERIOD_NAME
                                ,TXN_CURRENCY_CODE
                                ,PROJECT_CURRENCY_CODE
                                ,PROJFUNC_CURRENCY_CODE
                                ,QUANTITY
                                ,TXN_RAW_COST
                                ,COST_RATE
                                ,RW_COST_RATE_OVERRIDE
                                ,TXN_BURDENED_COST
                                ,BURDEN_COST_RATE
                                ,BURDEN_COST_RATE_OVERRIDE
                                ,TXN_REVENUE
                                ,BILL_RATE
                                ,BILL_RATE_OVERRIDE
				,PROJFUNC_RAW_COST
                		,PROJFUNC_BURDENED_COST
                		,PROJFUNC_REVENUE
                		,COST_REJECTION_CODE
                		,REVENUE_REJECTION_CODE
                		,BURDEN_REJECTION_CODE
                		,PROJFUNC_COST_RATE_TYPE
                		,PROJFUNC_COST_EXCHANGE_RATE
                		,PROJFUNC_COST_RATE_DATE_TYPE
                		,PROJFUNC_COST_RATE_DATE
                		,PROJFUNC_REV_RATE_TYPE
                		,PROJFUNC_REV_EXCHANGE_RATE
                		,PROJFUNC_REV_RATE_DATE_TYPE
                		,PROJFUNC_REV_RATE_DATE
                		,PROJECT_COST_RATE_TYPE
                		,PROJECT_COST_EXCHANGE_RATE
                		,PROJECT_COST_RATE_DATE_TYPE
                		,PROJECT_COST_RATE_DATE
                		,PROJECT_RAW_COST
                		,PROJECT_BURDENED_COST
                		,PROJECT_REV_RATE_TYPE
                		,PROJECT_REV_EXCHANGE_RATE
                		,PROJECT_REV_RATE_DATE_TYPE
                		,PROJECT_REV_RATE_DATE
                		,PROJECT_REVENUE
                		,INIT_QUANTITY
                		,TXN_INIT_RAW_COST
                		,TXN_INIT_BURDENED_COST
                		,TXN_INIT_REVENUE
                		,BILL_MARKUP_PERCENTAGE
                		,COST_IND_COMPILED_SET_ID
				,QUANTITY_SOURCE
				,RAW_COST_SOURCE
				,BURDENED_COST_SOURCE
				,REVENUE_SOURCE
				,INIT_RAW_COST
				,INIT_BURDENED_COST
				,INIT_REVENUE
				,PROJECT_INIT_RAW_COST
				,PROJECT_INIT_BURDENED_COST
				,PROJECT_INIT_REVENUE
                                )
                        SELECT
                                g_rbl_budget_line_id_tab(i)
                                ,g_rbl_budget_version_id_tab(i)
                                ,g_rbl_res_assignment_id_tab(i)
                                ,g_rbl_start_date_tab(i)
                                ,g_rbl_end_date_tab(i)
                                ,g_rbl_period_name_tab(i)
                                ,NVL(g_rbl_txn_curr_code_ovr_tab(i),g_rbl_txn_curr_code_tab(i))
                                ,g_rbl_proj_curr_code_tab(i)
                                ,g_rbl_projfunc_curr_code_tab(i)
                                ,decode(g_rbl_quantity_tab(i),0,NULL,g_rbl_quantity_tab(i))
                                ,decode(g_rbl_txn_raw_cost_tab(i),0,NULL,g_rbl_txn_raw_cost_tab(i))
                                ,decode(g_rbl_txn_cost_rate_tab(i),0,NULL,g_rbl_txn_cost_rate_tab(i))
                                ,decode(g_rbl_txn_curr_code_ovr_tab(i),NULL,NVL(g_rbl_txn_cost_rate_ovr_tab(i),bl.txn_cost_rate_override)
					 ,g_rbl_txn_cost_rate_ovr_tab(i))
                                ,decode(g_rbl_txn_burden_cost_tab(i),0,NULL,g_rbl_txn_burden_cost_tab(i))
                                ,decode(g_rbl_txn_burden_rate_tab(i),0,NULL,g_rbl_txn_burden_rate_tab(i))
                                ,decode(g_rbl_txn_curr_code_ovr_tab(i),NULL,NVL(g_rbl_txn_burden_rate_ovr_tab(i),bl.burden_cost_rate_override)
					,g_rbl_txn_burden_rate_ovr_tab(i))
                                ,decode(g_rbl_txn_revenue_tab(i),0,NULL,g_rbl_txn_revenue_tab(i))
                                ,decode(g_rbl_txn_bill_rate_tab(i),0,NULL,g_rbl_txn_bill_rate_tab(i))
                                ,decode(g_rbl_txn_curr_code_ovr_tab(i),NULL,NVL(g_rbl_txn_bill_rate_ovr_tab(i),bl.txn_bill_rate_override)
					,g_rbl_txn_bill_rate_ovr_tab(i))
				,bl.RAW_COST
                                ,bl.BURDENED_COST
                                ,bl.REVENUE
                                ,bl.COST_REJECTION_CODE
                                ,bl.REVENUE_REJECTION_CODE
                                ,bl.BURDEN_REJECTION_CODE
                                ,bl.PROJFUNC_COST_RATE_TYPE
                                ,bl.PROJFUNC_COST_EXCHANGE_RATE
                                ,bl.PROJFUNC_COST_RATE_DATE_TYPE
                                ,bl.PROJFUNC_COST_RATE_DATE
                                ,bl.PROJFUNC_REV_RATE_TYPE
                                ,bl.PROJFUNC_REV_EXCHANGE_RATE
                                ,bl.PROJFUNC_REV_RATE_DATE_TYPE
                                ,bl.PROJFUNC_REV_RATE_DATE
                                ,bl.PROJECT_COST_RATE_TYPE
                                ,bl.PROJECT_COST_EXCHANGE_RATE
                                ,bl.PROJECT_COST_RATE_DATE_TYPE
                                ,bl.PROJECT_COST_RATE_DATE
                                ,bl.PROJECT_RAW_COST
                                ,bl.PROJECT_BURDENED_COST
                                ,bl.PROJECT_REV_RATE_TYPE
                                ,bl.PROJECT_REV_EXCHANGE_RATE
                                ,bl.PROJECT_REV_RATE_DATE_TYPE
                                ,bl.PROJECT_REV_RATE_DATE
                                ,bl.PROJECT_REVENUE
                                ,bl.INIT_QUANTITY
                                ,bl.TXN_INIT_RAW_COST
                                ,bl.TXN_INIT_BURDENED_COST
                                ,bl.TXN_INIT_REVENUE
                                ,bl.TXN_MARKUP_PERCENT
                                ,bl.COST_IND_COMPILED_SET_ID
				,bl.QUANTITY_SOURCE
				,bl.RAW_COST_SOURCE
				,bl.BURDENED_COST_SOURCE
				,bl.REVENUE_SOURCE
				,bl.INIT_RAW_COST
                                ,bl.INIT_BURDENED_COST
                                ,bl.INIT_REVENUE
                                ,bl.PROJECT_INIT_RAW_COST
                                ,bl.PROJECT_INIT_BURDENED_COST
                                ,bl.PROJECT_INIT_REVENUE
                        FROM PA_BUDGET_LINES bl
			WHERE bl.budget_line_id = g_rbl_budget_line_id_tab(i)

                        End of Bug Fix 4332086.
                        */

                        INSERT INTO  PA_FP_ROLLUP_TMP
                                (
                                BUDGET_LINE_ID
                                ,BUDGET_VERSION_ID
                                ,RESOURCE_ASSIGNMENT_ID
                                ,START_DATE
                                ,END_DATE
                                ,PERIOD_NAME
                                ,TXN_CURRENCY_CODE
                                ,PROJECT_CURRENCY_CODE
                                ,PROJFUNC_CURRENCY_CODE
                                ,QUANTITY
                                ,TXN_RAW_COST
                                ,COST_RATE
                                ,RW_COST_RATE_OVERRIDE
                                ,TXN_BURDENED_COST
                                ,BURDEN_COST_RATE
                                ,BURDEN_COST_RATE_OVERRIDE
                                ,TXN_REVENUE
                                ,BILL_RATE
                                ,BILL_RATE_OVERRIDE
				,PROJFUNC_RAW_COST
                		,PROJFUNC_BURDENED_COST
                		,PROJFUNC_REVENUE
                		,COST_REJECTION_CODE
                		,REVENUE_REJECTION_CODE
                		,BURDEN_REJECTION_CODE
                		,PROJFUNC_COST_RATE_TYPE
                		,PROJFUNC_COST_EXCHANGE_RATE
                		,PROJFUNC_COST_RATE_DATE_TYPE
                		,PROJFUNC_COST_RATE_DATE
                		,PROJFUNC_REV_RATE_TYPE
                		,PROJFUNC_REV_EXCHANGE_RATE
                		,PROJFUNC_REV_RATE_DATE_TYPE
                		,PROJFUNC_REV_RATE_DATE
                		,PROJECT_COST_RATE_TYPE
                		,PROJECT_COST_EXCHANGE_RATE
                		,PROJECT_COST_RATE_DATE_TYPE
                		,PROJECT_COST_RATE_DATE
                		,PROJECT_RAW_COST
                		,PROJECT_BURDENED_COST
                		,PROJECT_REV_RATE_TYPE
                		,PROJECT_REV_EXCHANGE_RATE
                		,PROJECT_REV_RATE_DATE_TYPE
                		,PROJECT_REV_RATE_DATE
                		,PROJECT_REVENUE
                		,INIT_QUANTITY
                		,TXN_INIT_RAW_COST
                		,TXN_INIT_BURDENED_COST
                		,TXN_INIT_REVENUE
                		,BILL_MARKUP_PERCENTAGE
                		,COST_IND_COMPILED_SET_ID
				,QUANTITY_SOURCE
				,RAW_COST_SOURCE
				,BURDENED_COST_SOURCE
				,REVENUE_SOURCE
				,INIT_RAW_COST
				,INIT_BURDENED_COST
				,INIT_REVENUE
				,PROJECT_INIT_RAW_COST
				,PROJECT_INIT_BURDENED_COST
				,PROJECT_INIT_REVENUE
                                )
                        SELECT
                                 g_rbl_budget_line_id_tab(i)
                                ,g_rbl_budget_version_id_tab(i)
                                ,g_rbl_res_assignment_id_tab(i)
                                ,g_rbl_start_date_tab(i)
                                ,g_rbl_end_date_tab(i)
                                ,g_rbl_period_name_tab(i)
                                ,NVL(g_rbl_txn_curr_code_ovr_tab(i),g_rbl_txn_curr_code_tab(i))
                                ,g_rbl_proj_curr_code_tab(i)
                                ,g_rbl_projfunc_curr_code_tab(i)
                                ,decode(g_rbl_quantity_tab(i),0,NULL,g_rbl_quantity_tab(i))
                                ,decode(g_rbl_txn_raw_cost_tab(i),0,NULL,g_rbl_txn_raw_cost_tab(i))
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,decode(g_rbl_txn_cost_rate_tab(i),0,NULL,g_rbl_txn_cost_rate_tab(i)),NULL)
,decode(g_rbl_txn_curr_code_ovr_tab(i),NULL,NVL(g_rbl_txn_cost_rate_ovr_tab(i),bl.txn_cost_rate_override),g_rbl_txn_cost_rate_ovr_tab(i))
                                ,decode(g_rbl_txn_burden_cost_tab(i),0,NULL,g_rbl_txn_burden_cost_tab(i))
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,decode(g_rbl_txn_burden_rate_tab(i),0,NULL,g_rbl_txn_burden_rate_tab(i)),NULL)
                                ,decode(g_rbl_txn_curr_code_ovr_tab(i),NULL,NVL(g_rbl_txn_burden_rate_ovr_tab(i),bl.burden_cost_rate_override),g_rbl_txn_burden_rate_ovr_tab(i))
                                ,decode(g_rbl_txn_revenue_tab(i),0,NULL,g_rbl_txn_revenue_tab(i))
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,decode(g_rbl_txn_bill_rate_tab(i),0,NULL,g_rbl_txn_bill_rate_tab(i)),NULL)
,decode(g_rbl_txn_curr_code_ovr_tab(i),NULL,NVL(g_rbl_txn_bill_rate_ovr_tab(i),bl.txn_bill_rate_override),g_rbl_txn_bill_rate_ovr_tab(i))
            			,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,bl.RAW_COST,NULL)
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,bl.BURDENED_COST,NULL)
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,bl.REVENUE,NULL)
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,bl.COST_REJECTION_CODE,NULL)
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,bl.REVENUE_REJECTION_CODE,NULL)
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,bl.BURDEN_REJECTION_CODE,NULL)
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,bl.PROJFUNC_COST_RATE_TYPE,NULL)
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,bl.PROJFUNC_COST_EXCHANGE_RATE,NULL)
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,bl.PROJFUNC_COST_RATE_DATE_TYPE,NULL)
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,bl.PROJFUNC_COST_RATE_DATE,NULL)
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,bl.PROJFUNC_REV_RATE_TYPE,NULL)
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,bl.PROJFUNC_REV_EXCHANGE_RATE,NULL)
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,bl.PROJFUNC_REV_RATE_DATE_TYPE,NULL)
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,bl.PROJFUNC_REV_RATE_DATE,NULL)
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,bl.PROJECT_COST_RATE_TYPE,NULL)
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,bl.PROJECT_COST_EXCHANGE_RATE,NULL)
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,bl.PROJECT_COST_RATE_DATE_TYPE,NULL)
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,bl.PROJECT_COST_RATE_DATE,NULL)
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,bl.PROJECT_RAW_COST,NULL)
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,bl.PROJECT_BURDENED_COST,NULL)
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,bl.PROJECT_REV_RATE_TYPE,NULL)
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,bl.PROJECT_REV_EXCHANGE_RATE,NULL)
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,bl.PROJECT_REV_RATE_DATE_TYPE,NULL)
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,bl.PROJECT_REV_RATE_DATE,NULL)
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,bl.PROJECT_REVENUE,NULL)
                                ,bl.INIT_QUANTITY
                                ,bl.TXN_INIT_RAW_COST
                                ,bl.TXN_INIT_BURDENED_COST
                                ,bl.TXN_INIT_REVENUE
                                ,bl.TXN_MARKUP_PERCENT
                                ,DECODE(g_rbl_txn_curr_code_ovr_tab(i),NULL,bl.COST_IND_COMPILED_SET_ID,NULL)
					  ,bl.QUANTITY_SOURCE
				 	  ,bl.RAW_COST_SOURCE
					  ,bl.BURDENED_COST_SOURCE
					  ,bl.REVENUE_SOURCE
					  ,bl.INIT_RAW_COST
                                ,bl.INIT_BURDENED_COST
                                ,bl.INIT_REVENUE
                                ,bl.PROJECT_INIT_RAW_COST
                                ,bl.PROJECT_INIT_BURDENED_COST
                                ,bl.PROJECT_INIT_REVENUE
                        FROM PA_BUDGET_LINES bl
			WHERE bl.budget_line_id = g_rbl_budget_line_id_tab(i)

			/*Perf Bug fix:4251959 AND  bl.budget_version_id = g_rbl_budget_version_id_tab(i) */
			;
Line: 804

                print_msg('Unexpected error in blkInsertBlFpLines['||sqlcode||sqlerrm||']');
Line: 807

                                        p_procedure_name => 'blkInsertBlFpLines'||l_stage);
Line: 813

END blkInsertBlFpLines;
Line: 815

/* This API populates the plsql tables with budget lines for bulk insert */
PROCEDURE insert_budget_line(
	p_resource_assignment_id IN pa_budget_lines.RESOURCE_ASSIGNMENT_ID%TYPE
	,p_start_date		 IN pa_budget_lines.START_DATE%TYPE
	,p_end_date		 IN pa_budget_lines.END_DATE%TYPE
	,p_period_name		 IN pa_budget_lines.PERIOD_NAME%TYPE
	,p_txn_currency_code	 IN pa_budget_lines.TXN_CURRENCY_CODE%TYPE
	,p_txn_curr_code_ovr	 IN pa_budget_lines.TXN_CURRENCY_CODE%TYPE
	,x_budget_line_id	 OUT NOCOPY pa_budget_lines.BUDGET_LINE_ID%TYPE
	,p_budget_version_id	 IN pa_budget_lines.BUDGET_VERSION_ID%TYPE
	,p_proj_curr_cd		 IN pa_projects_all.project_currency_code%TYPE
	,p_projfunc_curr_cd	 IN pa_projects_all.projfunc_currency_code%TYPE
        ,x_return_status         OUT NOCOPY VARCHAR2
        ,x_msg_count             OUT NOCOPY NUMBER
        ,x_msg_data              OUT NOCOPY VARCHAR2) IS


  	l_stage			VARCHAR2(1000);
Line: 836

	l_stage := '1100 :: Entered insert_budget_line()';
Line: 842

	SELECT PA_BUDGET_LINES_S.NEXTVAL
	INTO l_budget_line_id
	FROM DUAL;
Line: 865

				p_procedure_name => 'insert_budget_line'||l_stage);
Line: 871

END insert_budget_line;
Line: 873

/* This API populates the plsql tables with rollup tmp lines for bulk insert */
PROCEDURE insert_rollup_tmp(
  	p_ra_rec		IN resource_assignment_rec_type
	,p_budget_version_id    IN NUMBER
	,p_start_date		IN pa_fp_rollup_tmp.START_DATE%TYPE
	,p_end_date		IN pa_fp_rollup_tmp.END_DATE%TYPE
	,p_period_name		IN pa_fp_rollup_tmp.PERIOD_NAME%TYPE
	,p_budget_line_id	IN pa_fp_rollup_tmp.BUDGET_LINE_ID%TYPE
	,p_quantity		IN pa_fp_rollup_tmp.QUANTITY%TYPE
	,p_txn_raw_cost		IN pa_fp_rollup_tmp.TXN_RAW_COST%TYPE
	,p_txn_burdened_cost	IN pa_fp_rollup_tmp.TXN_BURDENED_COST%TYPE
	,p_txn_revenue		IN pa_fp_rollup_tmp.TXN_REVENUE%TYPE
        ,x_return_status        OUT NOCOPY VARCHAR2
        ,x_msg_count            OUT NOCOPY NUMBER
        ,x_msg_data             OUT NOCOPY VARCHAR2) IS

  	l_stage			VARCHAR2(1000);
Line: 893

	l_stage := '1200::Entered insert_rollup_tmp()';
Line: 923

				p_procedure_name => 'insert_rollup_tmp()'||l_stage);
Line: 929

END insert_rollup_tmp;
Line: 931

/* This API populates the plsql tables with rollup tmp lines for bulk insert */
PROCEDURE insert_rollup_tmp_with_bl(
  	p_ra_rec		IN resource_assignment_rec_type
	,p_budget_version_id    IN NUMBER
	,p_start_date		IN pa_fp_rollup_tmp.START_DATE%TYPE
	,p_end_date		IN pa_fp_rollup_tmp.END_DATE%TYPE
	,p_period_name		IN pa_fp_rollup_tmp.PERIOD_NAME%TYPE
	,p_budget_line_id	IN pa_fp_rollup_tmp.BUDGET_LINE_ID%TYPE
	,p_quantity		IN pa_fp_rollup_tmp.QUANTITY%TYPE
	,p_txn_raw_cost		IN pa_fp_rollup_tmp.TXN_RAW_COST%TYPE
	,p_txn_burdened_cost	IN pa_fp_rollup_tmp.TXN_BURDENED_COST%TYPE
	,p_txn_revenue		IN pa_fp_rollup_tmp.TXN_REVENUE%TYPE
        ,x_return_status        OUT NOCOPY VARCHAR2
        ,x_msg_count            OUT NOCOPY NUMBER
        ,x_msg_data             OUT NOCOPY VARCHAR2) IS


  	l_stage		VARCHAR2(1000);
Line: 951

	l_stage := '1400:: Entered insert_rollup_tmp_with_bl()';
Line: 982

				p_procedure_name => 'insert_rollup_tmp_with_bl()'||l_stage);
Line: 988

END insert_rollup_tmp_with_bl;
Line: 1240

		-- update 032504 iand
		-- OR
		-- p_start_period BETWEEN 1 AND x_spread_amounts.COUNT() AND
		-- p_end_period = 0 OR
		-- p_start_period = 0 AND
		-- p_end_period BETWEEN 1 AND x_spread_amounts.COUNT() OR
		-- p_start_period = 0 AND p_end_period = 0) THEN

			x_return_status := FND_API.G_RET_STS_ERROR;
Line: 1385

	-- update 032204 iand
	IF p_global_start_date IS NOT NULL THEN
		l_global_allocation := l_global_actual_periods * time_step;
Line: 1613

		/* Bug fix: 3961955 : The last period is getting updated with -ve amounts when spread curve weightage is zero
		 * Logic: The following code is updating the last budget line with the rounding diff amount
		 * Loop through the periodic budget lines in the reverse order. If the last period line is having zero weightage
		 * then put the diff amounts in the previous period.  If all the periods are zero weightage then put the
		 * entire amounts/diff amounts in the Last period of the profile
		 */
		IF k = 1 THEN
			IF (p_amount1 - amount_sum) <> 0 Then
			   IF (p_amount1 - amount_sum) > 0 Then
				x_spread_amounts(l_end_period).amount1 := nvl(x_spread_amounts(l_end_period).amount1,0) +
                                                (p_amount1 - amount_sum);
Line: 1939

      SELECT                                        --gsb.period_set_name /*Start changes for bug 6156873*/
   	decode(decode(pbv.version_type,
		              'COST',ppfo.cost_time_phased_code,
                	'REVENUE',ppfo.revenue_time_phased_code,
			              ppfo.all_time_phased_code)
			     ,'P', pia.period_set_name
			     ,gsb.period_set_name) period_set_name          /*End changes for bug 6156873*/
         	,gsb.accounted_period_type
		,pia.pa_period_type
		,decode(pbv.version_type,
		        'COST',ppfo.cost_time_phased_code,
                	'REVENUE',ppfo.revenue_time_phased_code,
			 ppfo.all_time_phased_code) time_phase_code
	 FROM gl_sets_of_books       	gsb
	     	,pa_implementations_all pia
		,pa_projects_all        ppa
		,pa_budget_versions     pbv
		,pa_proj_fp_options     ppfo
	WHERE ppa.project_id        = pbv.project_id
	  AND pbv.budget_version_id = ppfo.fin_plan_version_id
	  /* MOAC Changes: AND nvl(ppa.org_id,-99)   = nvl(pia.org_id,-99) */
          AND ppa.org_id   = pia.org_id
	  AND gsb.set_of_books_id   = pia.set_of_books_id
	  AND pbv.budget_version_id = p_budget_version_id;
Line: 2079

	1:SELECT STATEMENT   :(cost=8,rows=2)
 	 2:SORT ORDER BY  :(cost=8,rows=2)
   	  3:TABLE ACCESS BY INDEX ROWID GL_PERIODS :(cost=4,rows=2)
     	   4:INDEX RANGE SCAN GL_PERIODS_U2 :(cost=2,rows=2)
	**/
	CURSOR get_gl_periods_csr IS
        SELECT START_DATE, END_DATE, PERIOD_NAME
        FROM gl_periods gp
        WHERE gp.period_set_name  = l_period_set_name
        AND gp.period_type        = decode(l_time_phase_code,'G',l_accounted_period_type,'P',l_pa_period_type)
	AND gp.adjustment_period_flag = 'N'
	AND gp.start_date  <= l_end_date   -- plan end date
	AND  gp.end_date   >= l_start_date -- planning start date
	ORDER BY gp.start_date;
Line: 2098

	1:SELECT STATEMENT   :(cost=8,rows=1)
 	 2:FILTER   :(cost=,rows=)
   	  3:TABLE ACCESS BY INDEX ROWID GL_PERIODS :(cost=8,rows=1)
     	   4:INDEX RANGE SCAN GL_PERIODS_N1 :(cost=2,rows=1)
       	    5:SORT AGGREGATE  :(cost=,rows=1)
             6:TABLE ACCESS BY INDEX ROWID GL_PERIODS :(cost=4,rows=4)
              7:INDEX RANGE SCAN GL_PERIODS_U2 :(cost=2,rows=4)
          3:SORT AGGREGATE  :(cost=,rows=1)
           4:TABLE ACCESS BY INDEX ROWID GL_PERIODS :(cost=4,rows=5)
            5:INDEX RANGE SCAN GL_PERIODS_U2 :(cost=2,rows=5)
  	CURSOR get_gl_periods_csr IS
     	SELECT START_DATE, END_DATE, PERIOD_NAME
       	FROM gl_periods gp
      	WHERE gp.period_set_name = l_period_set_name
        AND gp.period_type 	= decode(l_time_phase_code,'G',l_accounted_period_type,'P',l_pa_period_type)
        AND gp.start_date       >=
			(SELECT MIN(start_date)
			FROM gl_periods
			WHERE end_date >= l_start_date
			AND period_set_name = l_period_set_name
			AND period_type =
				decode(l_time_phase_code,'G',
				l_accounted_period_type,
        			'P',l_pa_period_type)
			AND adjustment_period_flag = 'N')
       	AND gp.end_date         <=
			(SELECT MAX(end_date)
			FROM gl_periods
			WHERE start_date <= l_end_date
			AND period_set_name = l_period_set_name
			AND period_type =
				decode(l_time_phase_code,'G',
				l_accounted_period_type,
        			'P',l_pa_period_type)
			AND adjustment_period_flag = 'N')
       	AND gp.adjustment_period_flag = 'N'
      	ORDER BY gp.start_date;
Line: 2348

	SELECT RESOURCE_ASSIGNMENT_ID,
		START_DATE,
		END_DATE,
		PERIOD_NAME,
		QUANTITY,
		TXN_RAW_COST,
		TXN_BURDENED_COST,
		TXN_REVENUE,
		INIT_QUANTITY,
		TXN_INIT_RAW_COST,
		TXN_INIT_BURDENED_COST,
		TXN_INIT_REVENUE,
		TXN_CURRENCY_CODE,
		BUDGET_LINE_ID,
		BUDGET_VERSION_ID
	FROM PA_BUDGET_LINES
	WHERE RESOURCE_ASSIGNMENT_ID = v_resource_assignment_id
	AND TXN_CURRENCY_CODE = v_txn_currency_code
	AND START_DATE BETWEEN l_line_start_date AND l_line_end_date
	AND END_DATE BETWEEN l_line_start_date AND l_line_end_date
	AND PERIOD_NAME IS NOT NULL
	ORDER BY START_DATE;
Line: 2377

        SELECT RESOURCE_ASSIGNMENT_ID,
                START_DATE,
                END_DATE,
                PERIOD_NAME,
                QUANTITY,
                TXN_RAW_COST,
                TXN_BURDENED_COST,
                TXN_REVENUE,
                INIT_QUANTITY,
                TXN_INIT_RAW_COST,
                TXN_INIT_BURDENED_COST,
                TXN_INIT_REVENUE,
                TXN_CURRENCY_CODE,
                BUDGET_LINE_ID,
                BUDGET_VERSION_ID
        FROM PA_BUDGET_LINES
        WHERE RESOURCE_ASSIGNMENT_ID = p_resAsgnId
        AND TXN_CURRENCY_CODE = p_txn_cur_code
        AND START_DATE BETWEEN p_line_start_date AND p_line_end_date
        AND END_DATE BETWEEN p_line_start_date AND p_line_end_date
        AND PERIOD_NAME IS NOT NULL
        ORDER BY START_DATE;
Line: 2402

	SELECT BUDGET_LINE_ID
	FROM PA_BUDGET_LINES
	WHERE RESOURCE_ASSIGNMENT_ID = v_resource_assignment_id
	AND TXN_CURRENCY_CODE = v_txn_currency_code
	--AND START_DATE = l_plan_start_date 	bug 6339811
	--AND END_DATE = l_plan_end_date 		bug 6339811
	AND PERIOD_NAME IS NULL;
Line: 2414

	SELECT RESOURCE_ASSIGNMENT_ID
		,BUDGET_VERSION_ID
		,PROJECT_ID
		,TASK_ID
		,RESOURCE_LIST_MEMBER_ID
		,PLANNING_START_DATE
		,PLANNING_END_DATE
		,SPREAD_CURVE_ID
		,SP_FIXED_DATE
		,TXN_CURRENCY_CODE
		,TXN_CURRENCY_CODE_OVERRIDE
		,PROJECT_CURRENCY_CODE
		,PROJFUNC_CURRENCY_CODE
		,TXN_REVENUE
		,TXN_REVENUE_ADDL
		,TXN_RAW_COST
		,TXN_RAW_COST_ADDL
		,TXN_BURDENED_COST
		,TXN_BURDENED_COST_ADDL
		,TXN_PLAN_QUANTITY
		,TXN_PLAN_QUANTITY_ADDL
		,LINE_START_DATE
		,LINE_END_DATE
		,SOURCE_CONTEXT
		,RAW_COST_RATE
		,RW_COST_RATE_OVERRIDE
		,BURDEN_COST_RATE
		,BURDEN_COST_RATE_OVERRIDE
		,BILL_RATE
		,BILL_RATE_OVERRIDE
		,RATE_BASED_FLAG
		,SPREAD_AMOUNTS_FLAG
		,INIT_QUANTITY
		,TXN_INIT_RAW_COST
		,TXN_INIT_BURDENED_COST
		,TXN_INIT_REVENUE
		/* Bug fix:5726773 : Added the following columns to store the negative quantity/amt change flags*/
 	        ,NVL(NEG_QUANTITY_CHANGE_FLAG,'N')        neg_Qty_Change_flag
 	        ,NVL(NEG_RAWCOST_CHANGE_FLAG,'N')        neg_RawCst_Change_flag
 	        ,NVL(NEG_BURDEN_CHANGE_FALG,'N')        neg_BurdCst_Change_flag
 	        ,NVL(NEG_REVENUE_CHANGE_FLAG,'N')        neg_rev_Change_flag
	FROM PA_FP_RES_ASSIGNMENTS_TMP tmp
	WHERE tmp.BUDGET_VERSION_ID = p_budget_version_id
	AND (NVL(tmp.TXN_PLAN_QUANTITY_ADDL,0) <> 0
	    OR NVL(tmp.TXN_RAW_COST_ADDL,0) <> 0
	    OR NVL(tmp.TXN_BURDENED_COST_ADDL,0) <> 0
	    OR NVL(tmp.TXN_REVENUE_ADDL,0) <> 0
	   );
Line: 2476

	SELECT POINT1,
		POINT2,
		POINT3,
		POINT4,
		POINT5,
		POINT6,
		POINT7,
		POINT8,
		POINT9,
		POINT10,
	SPREAD_CURVE_CODE
	FROM PA_SPREAD_CURVES_B
	WHERE SPREAD_CURVE_ID = l_spread_curve_id;
Line: 2493

        SELECT ppa.name project_name
               ,pt.name task_name
               ,prl.alias resource_name
        FROM pa_projects_all ppa
               ,pa_proj_elements pt
               ,pa_resource_list_members prl
               ,pa_resource_assignments pra
        WHERE pra.resource_assignment_id = p_resource_assignment_id
        AND ppa.project_id = pra.project_id
        AND pt.proj_element_id(+) = pra.task_id
        AND prl.resource_list_member_id = pra.resource_list_member_id;
Line: 2511

	SELECT  sum(bl.quantity)
                ,sum(bl.txn_raw_cost)
                ,sum(bl.txn_burdened_cost)
                ,sum(bl.txn_revenue)
		,min(bl.budget_line_id)
                ,decode(min(bl.budget_line_id),NULL,0,1) NumOfBudgetLines
		,sum(NVL(bl.quantity,0)-NVL(bl.init_quantity,0)) Etc_Quantity
       FROM pa_budget_lines bl
       WHERE bl.resource_assignment_id = p_resAsgnId
       AND bl.txn_currency_code = p_txn_cur_code
       AND bl.START_DATE BETWEEN p_start_date AND p_end_date
       AND bl.END_DATE BETWEEN p_start_date AND p_end_date ;
Line: 2721

	    --		deleted before calling spread_amounts()
	    --       2. if budget line(s) is(are) there, it's not allowed to
	    --		change the time phase code - from N/R to G/P or from G/P
	    --		to N/R or from G to P or from P to G etc.
	    --	     3. line_start/end_date must at begin/end of period

		l_stage := 860;
Line: 2759

	    -- updated 030204 Sgoteti
            IF  l_time_phase_code IN  ('P','G')
		AND resource_assignment_rec.SOURCE_CONTEXT = 'BUDGET_LINE'
		AND ((resource_assignment_rec.LINE_END_DATE <
                	v_spread_amounts(1).start_date )
		     OR
                	( v_spread_amounts(v_spread_amounts.COUNT()).end_date <
                	   resource_assignment_rec.LINE_START_DATE)) THEN

                	l_stage := 863;
Line: 2777

	    -- updated 030204 Sgoteti
            IF l_time_phase_code IN  ('P','G')  THEN
                l_line_start_date := v_spread_amounts(1).start_date;
Line: 2793

	    -- updated 030204 Sgoteti
            END IF;
Line: 2862

				--print_msg('Inserting records into budget line for l_budget_line_time_phase_count = 0');
Line: 2863

				-- Insert into PA_BUDGET_LINES,
				insert_budget_line(
				v_resource_assignment_id,
				resource_assignment_rec.PLANNING_START_DATE,
				resource_assignment_rec.PLANNING_END_DATE,
				NULL,
				resource_assignment_rec.TXN_CURRENCY_CODE,
				resource_assignment_rec.TXN_CURRENCY_CODE_OVERRIDE,
				v_budget_line_id,
				p_budget_version_id,
				l_proj_curr_cd,
				l_projfunc_curr_cd,
				v_return_status,
				v_msg_count,
				v_msg_data);
Line: 2884

				--print_msg('Inserting records into rollup tmp for l_budget_line_time_phase_count = 0');
Line: 2885

				insert_rollup_tmp(
				resource_assignment_rec,
				p_budget_version_id,
				resource_assignment_rec.PLANNING_START_DATE,
				resource_assignment_rec.PLANNING_END_DATE,
				NULL,
				v_budget_line_id,
				resource_assignment_rec.TXN_PLAN_QUANTITY,
				resource_assignment_rec.TXN_RAW_COST,
				resource_assignment_rec.TXN_BURDENED_COST,
				resource_assignment_rec.TXN_REVENUE,
				v_return_status,
				v_msg_count,
				v_msg_data);
Line: 2906

				--print_msg('Inserting records into rollup tmp for l_budget_line_time_phase_count = 1');
Line: 2907

				-- Insert Rollup Temporary Table
				insert_rollup_tmp_with_bl(
				resource_assignment_rec,
				p_budget_version_id,
				resource_assignment_rec.PLANNING_START_DATE,
				resource_assignment_rec.PLANNING_END_DATE,
				NULL,
				budget_line_time_phase_rec.budget_line_id,
				resource_assignment_rec.TXN_PLAN_QUANTITY,
				resource_assignment_rec.TXN_RAW_COST,
				resource_assignment_rec.TXN_BURDENED_COST,
				resource_assignment_rec.TXN_REVENUE,
				v_return_status,
				v_msg_count,
				v_msg_data);
Line: 3020

				  	insert_budget_line(
				  	v_resource_assignment_id,
				  	v_spread_amounts(v_spread_amounts.COUNT).start_date,
				  	v_spread_amounts(v_spread_amounts.COUNT).end_date,
				  	v_spread_amounts(v_spread_amounts.COUNT).period_name,
				  	v_txn_currency_code,
					resource_assignment_rec.TXN_CURRENCY_CODE_OVERRIDE,
				  	v_budget_line_id,
				  	p_budget_version_id,
					l_proj_curr_cd,
					l_projfunc_curr_cd,
				  	v_return_status,
				  	v_msg_count,
				  	v_msg_data);
Line: 3041

				  	-- print_msg(l_stage||' after insert budget line');
Line: 3042

				  	-- Insert into Rollup Temporary Table
				  	insert_rollup_tmp(
				  	resource_assignment_rec,
					p_budget_version_id,
				  	v_spread_amounts(v_spread_amounts.COUNT).start_date,
				  	v_spread_amounts(v_spread_amounts.COUNT).end_date,
				  	v_spread_amounts(v_spread_amounts.COUNT).period_name,
				  	v_budget_line_id,
				  	resource_assignment_rec.TXN_PLAN_QUANTITY_ADDL,
				  	resource_assignment_rec.TXN_RAW_COST_ADDL,
				  	resource_assignment_rec.TXN_BURDENED_COST_ADDL,
				  	resource_assignment_rec.TXN_REVENUE_ADDL,
				  	v_return_status,
				  	v_msg_count,
				  	v_msg_data);
Line: 3066

				  insert_rollup_tmp_with_bl(
				  resource_assignment_rec,
				  p_budget_version_id,
				  v_spread_amounts(v_spread_amounts.COUNT).start_date,
				  v_spread_amounts(v_spread_amounts.COUNT).end_date,
				  v_spread_amounts(v_spread_amounts.COUNT).period_name,
				  v_budget_line_id,
				  nvl(l_quantity,0) + resource_assignment_rec.TXN_PLAN_QUANTITY_ADDL,
				  nvl(l_txn_raw_cost,0) + resource_assignment_rec.TXN_RAW_COST_ADDL,
				  nvl(l_txn_burdened_cost,0) + resource_assignment_rec.TXN_BURDENED_COST_ADDL,
				  nvl(l_txn_revenue,0) + resource_assignment_rec.TXN_REVENUE_ADDL,
				  v_return_status,
				  v_msg_count,
				  v_msg_data);
Line: 3265

			print_msg(l_stage||' before update loop');
Line: 3319

				  -- Insert into PA_BUDGET_LINES,

				  insert_budget_line(
				  v_resource_assignment_id,
				  v_spread_amounts(i).start_date,
				  v_spread_amounts(i).end_date,
				  v_spread_amounts(i).period_name,
				  v_txn_currency_code,
				  resource_assignment_rec.TXN_CURRENCY_CODE_OVERRIDE,
				  v_budget_line_id,
				  p_budget_version_id,
				  l_proj_curr_cd,
				  l_projfunc_curr_cd,
				  v_return_status,
				  v_msg_count,
				  v_msg_data);
Line: 3344

				  -- print_msg(l_stage||' after insert budget line');
Line: 3346

				  -- Insert into Rollup Temporary Table

				  insert_rollup_tmp(
				  resource_assignment_rec,
				  p_budget_version_id,
				  v_spread_amounts(i).start_date,
				  v_spread_amounts(i).end_date,
				  v_spread_amounts(i).period_name,
				  v_budget_line_id,
				  v_spread_amounts(i).amount1,
				  v_spread_amounts(i).amount2,
				  v_spread_amounts(i).amount3,
				  v_spread_amounts(i).amount4,
				  v_return_status,
				  v_msg_count,
				  v_msg_data);
Line: 3371

				  -- print_msg(l_stage||' after insert rollup tmp');
Line: 3406

				  insert_rollup_tmp_with_bl(
				  resource_assignment_rec,
				  p_budget_version_id,
				  v_spread_amounts(i).start_date,
				  v_spread_amounts(i).end_date,
				  v_spread_amounts(i).period_name,
				  v_budget_line_id,
				  l_quantity,
				  l_txn_raw_cost,
				  l_txn_burdened_cost,
				  l_txn_revenue,
				  v_return_status,
				  v_msg_count,
				  v_msg_data);
Line: 3429

				  -- print_msg(l_stage||' after update rollup tmp');
Line: 3434

			print_msg(l_stage||' after update db');
Line: 3459

			   	-- update amounts based on existing distribution


				l_last_budget_line_id := budget_line_rec.budget_line_id;
Line: 3532

                                print_msg(' Before insert into insert_rollup_tmp_with_bl');
Line: 3536

				-- Insert into rollup tmp table
				insert_rollup_tmp_with_bl(
				resource_assignment_rec,
				p_budget_version_id,
				budget_line_rec.start_date,
				budget_line_rec.end_date,
				budget_line_rec.period_name,
				budget_line_rec.budget_line_id,
				tmp_quantity,
				tmp_txn_raw_cost,
				tmp_txn_burdened_cost,
				tmp_txn_revenue,
				v_return_status,
				v_msg_count,
				v_msg_data);
Line: 3613

				-- Insert Rollup Temporary Table
				IF l_g_start_date IS NOT NULL AND
					(budget_line_rec.init_quantity IS NOT NULL OR
					budget_line_rec.txn_init_raw_cost IS NOT NULL OR
					budget_line_rec.txn_init_burdened_cost IS NOT NULL OR
					budget_line_rec.txn_init_revenue IS NOT NULL) THEN

					l_stage := 1043;
Line: 3644

				    insert_rollup_tmp_with_bl(
				    resource_assignment_rec,
				    p_budget_version_id,
				    budget_line_rec.start_date,
				    budget_line_rec.end_date,
				    budget_line_rec.period_name,
				    budget_line_rec.budget_line_id,
				    l_sp_fixed_qty,
				    l_sp_fixed_cost,
				    l_sp_fixed_burden,
				    l_sp_fixed_revenue,
				    v_return_status,
				    v_msg_count,
				    v_msg_data);
Line: 3671

				    insert_rollup_tmp_with_bl(
				    resource_assignment_rec,
				    p_budget_version_id,
				    budget_line_rec.start_date,
				    budget_line_rec.end_date,
				    budget_line_rec.period_name,
				    budget_line_rec.budget_line_id,
				   (nvl(budget_line_rec.quantity,0) + nvl(l_txn_quantity_addl,0)),
				   (nvl(budget_line_rec.txn_raw_cost,0) + nvl(l_txn_raw_cost_addl,0)),
				   (nvl(budget_line_rec.txn_burdened_cost,0) + nvl(l_txn_burdened_cost_addl,0)),
				   (nvl(budget_line_rec.txn_revenue,0) + nvl(l_txn_revenue_addl,0)),
				    v_return_status,
				    v_msg_count,
				    v_msg_data);
Line: 3704

				    	insert_rollup_tmp_with_bl(
				    	resource_assignment_rec,
					p_budget_version_id,
				    	budget_line_rec.start_date,
				    	budget_line_rec.end_date,
				    	budget_line_rec.period_name,
				    	budget_line_rec.budget_line_id,
				    	budget_line_rec.init_quantity,
				    	budget_line_rec.txn_init_raw_cost,
				    	budget_line_rec.txn_init_burdened_cost,
				    	budget_line_rec.txn_init_revenue,
				    	v_return_status,
				    	v_msg_count,
				    	v_msg_data);
Line: 3759

				-- Insert into PA_BUDGET_LINES,

				insert_budget_line(
				v_resource_assignment_id,
				v_spread_amounts(i).start_date,
				v_spread_amounts(i).end_date,
				v_spread_amounts(i).period_name,
				resource_assignment_rec.TXN_CURRENCY_CODE,
				resource_assignment_rec.TXN_CURRENCY_CODE_OVERRIDE,
				v_budget_line_id,
				p_budget_version_id,
				l_proj_curr_cd,
				l_projfunc_curr_cd,
				v_return_status,
				v_msg_count,
				v_msg_data);
Line: 3784

				-- Insert into Rollup Temporary Table
				-- INSERT INTO PA_FP_ROLLUP_TMP
				insert_rollup_tmp(
				resource_assignment_rec,
				p_budget_version_id,
				v_spread_amounts(i).start_date,
				v_spread_amounts(i).end_date,
				v_spread_amounts(i).period_name,
				v_budget_line_id,
				l_txn_quantity_addl,
				l_txn_raw_cost_addl,
				l_txn_burdened_cost_addl,
				l_txn_revenue_addl,
				v_return_status,
				v_msg_count,
				v_msg_data);
Line: 3810

			print_msg(l_stage||' after update db ');
Line: 3856

	/* Now Bulk insert all the budget lines */
	print_msg('Bulk update/Insert of budget and rollup tmp lines');
Line: 3858

        blkInsertBudgetLines(x_return_status => L_FINAL_RETURN_STATUS);
Line: 3859

	blkInsertFpLines(x_return_status     => L_FINAL_RETURN_STATUS);
Line: 3860

	blkInsertBlFpLines(x_return_status   => L_FINAL_RETURN_STATUS);
Line: 3863

		/* update the last rollup tmp line with rounding difference amount */
		IF g_edist_blId.COUNT > 0 THEN
		   print_msg('Calling Process_Rounding_Diff API');
Line: 3880

       		    FOR i IN  ( SELECT  tmp.resource_assignment_id resAgnId
				    ,tmp.txn_currency_code	Currency
			            ,sum(tmp.quantity) tmpqty
       				    ,sum(tmp.txn_raw_cost) tmprawcost
       				    ,sum(tmp.txn_burdened_cost) tmpburdencost
       				    ,sum(tmp.txn_revenue) tmprevenue
				    ,sum(tmp.init_quantity) initQty
				    ,sum(tmp.txn_init_raw_cost) initraw
                                    ,sum(tmp.txn_init_burdened_cost) initbud
				    ,sum(tmp.txn_init_revenue) initrev
				    ,count(*) numrows
			    FROM pa_fp_rollup_tmp tmp
			    WHERE tmp.budget_version_id = p_budget_version_id
                            AND   NVL(tmp.system_reference5,'N') = 'N'
			    GROUP BY tmp.resource_assignment_id,tmp.txn_currency_code ) LOOP
			print_msg('Number of Records in rolluptmp after Spread['||i.numrows||']');