DBA Data[Home] [Help]

APPS.PA_REP_UTIL_SCREEN SQL Statements

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

Line: 26

  delete from PA_REP_UTIL_SCREEN_TMP;
Line: 35

     INSERT INTO PA_REP_UTIL_SCREEN_TMP  (
        Organization_id
        , Person_id
        , Resource_id
        , Resource_Name
        , Resource_Type
        , Resource_Type_Code
        , Calling_Mode
        , Job_Level
        , Actuals_Capacity
        , Actuals_hours
        , Actuals_Weighted_hours
        , Actuals_Weighted_hours_P
        , Actuals_Cap_OR_Tot_Hrs
        , Forecast_Capacity
        , Forecast_hours
        , Forecast_Weighted_hours
        , Forecast_Weighted_hours_P
        , Forecast_Cap_OR_Tot_Hrs
        )
     SELECT
     DECODE(p_calling_mode
            , 'ORGMGR', paobj.expenditure_organization_id
            , 'RESMGR', NULL
            )                               AS ORGANIZATION_ID
     , resdnorm.person_id                   AS PERSON_ID
     , resdnorm.resource_id                 AS RESOURCE_ID
     , max(resdnorm.resource_name)          AS RESOURCE_NAME
     , max(lkup.meaning)                    AS RESOURCE_TYPE
     , max(resdnorm.resource_type)          AS RESOURCE_TYPE_CODE
     , p_Calling_Mode                       AS CALLING_MODE
     , max(resdnorm.resource_job_level)     AS JOB_LEVEL
 /*
  * Field below is for ACTUALS_CAPACITY
  */
     ,DECODE( p_Utilization_Category_ID, 0,(
      DECODE(
		  sign(
                   sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeActuals
                          , Decode(summbal.amount_type_id
                               , 9, NVL(summbal.period_balance,0)
                               , 0)
                      , 0))
                  -sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeActuals
                          , Decode(summbal.amount_type_id
                               , 10, NVL(summbal.period_balance,0)
                               , 0)
                      , 0)))
          , 1,
                  (sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeActuals
                          , Decode(summbal.amount_type_id
                               , 9, NVL(summbal.period_balance,0)
                               , 0)
                      , 0))
                  -sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeActuals
                          , Decode(summbal.amount_type_id
                               , 10, NVL(summbal.period_balance,0)
                               , 0)
                      , 0)))
          ,+0)),PA_REP_UTIL_SCREEN.calculate_capacity(
                   PA_REP_UTIL_GLOB.GetOrgId
                   , PA_REP_UTIL_GLOB.GetBalTypeActuals
                   , max(paobj.person_id)
                   , max(summbal.version_id)
                   , max(summbal.period_type)
                   , max(summbal.period_set_name)
                   , max(summbal.period_name)
                   , max(summbal.global_exp_period_end_date)
                   , 1
                   , 9
                   , 10
                   , p_Show_Percentage_By
				   , p_organization_id)) AS ACTUALS_CAPACITY
  /*
  * Field below is for ACTUALS_HOURS
  */
     , sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeActuals
			  , Decode(summbal.amount_type_id
                   , 1, NVL(summbal.period_balance,0)
                   , 0)
          , 0))             AS ACTUALS_HOURS
 /*
  * Field below is for ACTUALS_WEIGHTED_HOURS
  */
     , sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeActuals
              , Decode(p_utilization_method
                   , 'ORGANIZATION'
                       , decode(summbal.amount_type_id
                            , 2, NVL(summbal.period_balance,0)
                            , 0)
                   , 'RESOURCE'
                       , decode(summbal.amount_type_id
                            , 3, NVL(summbal.period_balance,0)
                            , 0)
                   )
          , 0))                  AS ACTUALS_WEIGHTED_HOURS
 /*
  * Field below is for ACTUALS_WEIGHTED_HOURS_P
  */
     ,ROUND(NVL(sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeActuals
              , Decode(p_utilization_method
                   , 'ORGANIZATION'
                       , decode(summbal.amount_type_id
                            , 2, NVL(summbal.period_balance,0)
                            , 0)
                   , 'RESOURCE'
                       , decode(summbal.amount_type_id
                            , 3, NVL(summbal.period_balance,0)
                            , 0)
                   )
          , 0))*100/
       DECODE(p_Utilization_Category_Id
       ,0 , DECODE(p_Show_Percentage_By
            , 'CAPACITY'
              , DECODE(
                   sign(
                            sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   , 1,
                           (sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   ,1)
          , 'TOTAL_WORKED_HOURS'
              , DECODE(
                   sign(
                     sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeActuals
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0)))
                   , 1, sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeActuals
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0))
              , 1)
          )
       ,  PA_REP_UTIL_SCREEN.calculate_capacity(
                   PA_REP_UTIL_GLOB.GetOrgId
                   , PA_REP_UTIL_GLOB.GetBalTypeActuals
                   , max(paobj.person_id)
                   , max(summbal.version_id)
                   , max(summbal.period_type)
                   , max(summbal.period_set_name)
                   , max(summbal.period_name)
                   , max(summbal.global_exp_period_end_date)
                   , 1
                   , 9
                   , 10
                   , p_Show_Percentage_By)
       )
        , -9999)    -- finished NVL
        , 0) AS ACTUALS_WEIGHTED_HOURS_P      -- finished rounding and concatenation
 /*
  * Field below is for ACTUALS_CAP_OR_TOT_HRS
  */
     , DECODE(p_Utilization_Category_Id
       ,0 , DECODE(p_Show_Percentage_By
            , 'CAPACITY'
              , DECODE(
                   sign(
                            sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   , 1,
                           (sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   ,1)
          , 'TOTAL_WORKED_HOURS'
              , DECODE(
                   sign(
                     sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeActuals
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0)))
                   , 1, sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeActuals
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0))
              , 1)
          )
       ,  PA_REP_UTIL_SCREEN.calculate_capacity(
                   PA_REP_UTIL_GLOB.GetOrgId
                   , PA_REP_UTIL_GLOB.GetBalTypeActuals
                   , max(paobj.person_id)
                   , max(summbal.version_id)
                   , max(summbal.period_type)
                   , max(summbal.period_set_name)
                   , max(summbal.period_name)
                   , max(summbal.global_exp_period_end_date)
                   , 1
                   , 9
                   , 10
                   , p_Show_Percentage_By)
       )                           AS ACTUALS_CAP_OR_TOT_HRS
 /*
  * Field below is for FORECAST_CAPACITY
  */
     ,DECODE( p_Utilization_Category_ID, 0,(
      DECODE(
		  sign(
                   sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeForecast
                          , Decode(summbal.amount_type_id
                               , 9, NVL(summbal.period_balance,0)
                               , 0)
                      , 0))
                  -sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeForecast
                          , Decode(summbal.amount_type_id
                               , 10, NVL(summbal.period_balance,0)
                               , 0)
                      , 0)))
          , 1,
                  (sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeForecast
                          , Decode(summbal.amount_type_id
                               , 9, NVL(summbal.period_balance,0)
                               , 0)
                      , 0))
                  -sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeForecast
                          , Decode(summbal.amount_type_id
                               , 10, NVL(summbal.period_balance,0)
                               , 0)
                      , 0)))
          ,+0)),PA_REP_UTIL_SCREEN.calculate_capacity(
                   PA_REP_UTIL_GLOB.GetOrgId
                   , PA_REP_UTIL_GLOB.GetBalTypeForecast
                   , max(paobj.person_id)
                   , max(summbal.version_id)
                   , max(summbal.period_type)
                   , max(summbal.period_set_name)
                   , max(summbal.period_name)
                   , max(summbal.global_exp_period_end_date)
                   , 1
                   , 9
                   , 10
                   , p_Show_Percentage_By
				   , p_organization_id)) AS FORECAST_CAPACITY
  /*
  * Field below is for FORECAST_HOURS
  */
     , sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeForecast
              , Decode(p_Assignment_Status
                   , 'ALL'
                       , decode(summbal.amount_type_id
                            , 1, NVL(summbal.period_balance,0)
                            , 0)
                   , 'PROVISIONAL'
                       , decode(summbal.amount_type_id
                            , 4, NVL(summbal.period_balance,0)
                            , 0)
                   , 'CONFIRMED'
                       , decode(summbal.amount_type_id
                            , 1, NVL(summbal.period_balance,0)
                            , 0)
              , 0)
          , 0))
      -sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeForecast
              , Decode(p_Assignment_Status
                   , 'CONFIRMED'
                       , decode(summbal.amount_type_id
                            , 4, NVL(summbal.period_balance,0)
                            , 0)
              , 0)
          , 0))             AS FORECAST_HOURS
 /*
  * Field below is for FORECAST_WEIGHTED_HOURS
  */
     , (sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeForecast
              , DecodE(p_Assignment_Status
                   , 'ALL'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 2, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 3, NVL(summbal.period_balance,0)
                                     , 0))
                   , 'PROVISIONAL'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 5, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 6, NVL(summbal.period_balance,0)
                                     , 0))
                   , 'CONFIRMED'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 2, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 3, NVL(summbal.period_balance,0)
                                     , 0))
                   )
          , 0))
      -sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeForecast
              , Decode(p_Assignment_Status
                   , 'CONFIRMED'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 5, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 6, NVL(summbal.period_balance,0)
                                     , 0))
                   , 0)
          , 0)))            AS FORECAST_WEIGHTED_HOURS
 /*
  * Field below is for FORECAST_WEIGHTED_HOURS_P
  */
     ,ROUND(NVL(
       (sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeForecast
              , DecodE(p_Assignment_Status
                   , 'ALL'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 2, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 3, NVL(summbal.period_balance,0)
                                     , 0))
                   , 'PROVISIONAL'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 5, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 6, NVL(summbal.period_balance,0)
                                     , 0))
                   , 'CONFIRMED'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 2, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 3, NVL(summbal.period_balance,0)
                                     , 0))
                   )
          , 0))
      -sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeForecast
              , Decode(p_Assignment_Status
                   , 'CONFIRMED'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 5, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 6, NVL(summbal.period_balance,0)
                                     , 0))
                   , 0)
          , 0)))
       *100/
       DECODE(p_Utilization_Category_Id
       ,0 , DECODE(p_Show_Percentage_By
            , 'CAPACITY'
              , DECODE(
                   sign(
                            sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   , 1,
                           (sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   ,1)
          , 'TOTAL_WORKED_HOURS'
              , DECODE(
                   sign(
                     sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeForecast
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0)))
                   , 1, sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeForecast
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0))
              , 1)
          )
       ,  PA_REP_UTIL_SCREEN.calculate_capacity(
                   PA_REP_UTIL_GLOB.GetOrgId
                   , PA_REP_UTIL_GLOB.GetBalTypeForecast
                   , max(paobj.person_id)
                   , max(summbal.version_id)
                   , max(summbal.period_type)
                   , max(summbal.period_set_name)
                   , max(summbal.period_name)
                   , max(summbal.global_exp_period_end_date)
                   , 1
                   , 9
                   , 10
                   , p_Show_Percentage_By)
       )
        , -9999)    -- finished NVL
        , 0) AS FORECAST_WEIGHTED_HOURS_P      -- finished rounding
 /*
  * Field below is for FORECAST_CAP_OR_TOT_HRS
  */
     , DECODE(p_Utilization_Category_Id
       ,0 , DECODE(p_Show_Percentage_By
            , 'CAPACITY'
              , DECODE(
                   sign(
                            sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   , 1,
                           (sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   ,1)
          , 'TOTAL_WORKED_HOURS'
              , DECODE(
                   sign(
                     sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeForecast
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0)))
                   , 1, sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeForecast
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0))
              , 1)
          )
       ,  PA_REP_UTIL_SCREEN.calculate_capacity(
                   PA_REP_UTIL_GLOB.GetOrgId
                   , PA_REP_UTIL_GLOB.GetBalTypeForecast
                   , max(paobj.person_id)
                   , max(summbal.version_id)
                   , max(summbal.period_type)
                   , max(summbal.period_set_name)
                   , max(summbal.period_name)
                   , max(summbal.global_exp_period_end_date)
                   , 1
                   , 9
                   , 10
                   , p_Show_Percentage_By)
       )                           AS FORECAST_CAP_OR_TOT_HRS
     from
         PA_Summ_Balances                 summbal
         , PA_Objects                     paobj
         , pa_resources_denorm            resdnorm
         , pa_lookups                     lkup
     where
		 lkup.lookup_type = 'PERSON_TYPE'
		 AND lkup.lookup_code = 'EMPLOYEE'
         AND NVL(resdnorm.manager_id,-1) = NVL(p_manager_id,NVL(resdnorm.manager_id,-1))
         AND (
			  (summbal.global_exp_period_end_date-6 between trunc(resdnorm.resource_effective_start_date) and trunc(NVL(resdnorm.resource_effective_end_date,summbal.global_exp_period_end_date-6))+0.99999
			  and p_calling_mode = 'ORGMGR')
            OR
/* Bug 2003821: start */
		  (
		   (
			  (trunc(SYSDATE) between trunc(resdnorm.resource_effective_start_date) and trunc(NVL(resdnorm.resource_effective_end_date,summbal.global_exp_period_end_date-6))+0.99999
                           and (summbal.global_exp_period_end_date-6) <= sysdate) /* Added for Bug 2325539 */
			  OR
			  (summbal.global_exp_period_end_date-6 between trunc(resdnorm.resource_effective_start_date) and trunc(NVL(resdnorm.resource_effective_end_date,summbal.global_exp_period_end_date-6))+0.99999
			  and (summbal.global_exp_period_end_date-6) > sysdate)
		   )
		   and p_calling_mode = 'RESMGR'
		  )
             )
/* Bug 2003821: end */
         AND summbal.object_id = paobj.object_id
         AND summbal.version_id = -1
         AND summbal.period_type = p_Period_Type
         AND summbal.period_set_name = PA_REP_UTIL_GLOB.GetDummy
         AND summbal.period_name = PA_REP_UTIL_GLOB.GetDummy
         AND summbal.global_exp_period_end_date = p_Global_Week_End_Date
         AND summbal.amount_type_id in (  1   /* G_RES_HRS_C              */
                                        , 2   /* G_RES_WTDHRS_ORG_C       */
                                        , 3   /* G_RES_WTDHRS_PEOPLE_C    */
                                        , 4   /* G_RES_PRVHRS_C           */
                                        , 5   /* G_RES_PRVWTDHRS_ORG_C    */
                                        , 6   /* G_RES_PRVWTDHRS_PEOPLE_C */
                                        , 9   /* G_RES_CAP_C              */
                                        ,10   /* G_RES_REDUCEDCAP_C       */
                                        )
         AND summbal.object_type_code = DECODE(p_Utilization_Category_Id
             , 0 , PA_REP_UTIL_GLOB.GetObjectTypeRes
             , Decode(p_Utilization_Method
                      , 'ORGANIZATION', PA_REP_UTIL_GLOB.GetObjectTypeResUco
                      , 'RESOURCE', PA_REP_UTIL_GLOB.GetObjectTypeResUcr))
         AND paobj.object_type_code = summbal.object_type_code
         AND paobj.expenditure_org_id = PA_REP_UTIL_GLOB.GetOrgId
         AND paobj.project_org_id              = -1
         AND paobj.expenditure_organization_id = NVL(p_organization_id,paobj.expenditure_organization_id)
         AND paobj.project_organization_id     = -1
         AND paobj.project_id                  = -1
         AND paobj.task_id                     = -1
         AND paobj.person_id = resdnorm.person_id
         AND resdnorm.utilization_flag = 'Y' /* Added for Bug#2765050 */
         AND paobj.assignment_id = -1
         AND paobj.work_type_id                = -1
         AND paobj.org_util_category_id    = DECODE(p_Utilization_Category_Id
             , 0, -1
             , Decode(p_Utilization_Method
                      , 'ORGANIZATION', p_Utilization_Category_Id
                      , 'RESOURCE', -1))
         AND paobj.res_util_category_id     = DECODE(p_Utilization_Category_Id
             , 0, -1
             , Decode(p_Utilization_Method
                      , 'ORGANIZATION', -1
                      , 'RESOURCE', p_Utilization_Category_Id))
         AND paobj.balance_type_code in (PA_REP_UTIL_GLOB.GetBalTypeActuals,PA_REP_UTIL_GLOB.GetBalTypeForecast)
   group by
     DECODE(p_calling_mode
            , 'ORGMGR', paobj.expenditure_organization_id
            , 'RESMGR', NULL
            )
           , resdnorm.person_id
           , resdnorm.resource_id
  ;
Line: 722

     INSERT INTO PA_REP_UTIL_SCREEN_TMP  (
        Organization_id
        , Person_id
        , Resource_id
        , Resource_Name
        , Resource_Type
        , Resource_Type_Code
        , Calling_Mode
        , Job_Level
        , Actuals_Capacity
        , Actuals_hours
        , Actuals_Weighted_hours
        , Actuals_Weighted_hours_P
        , Actuals_Cap_OR_Tot_Hrs
        , Forecast_Capacity
        , Forecast_hours
        , Forecast_Weighted_hours
        , Forecast_Weighted_hours_P
        , Forecast_Cap_OR_Tot_Hrs
        )
     SELECT
     DECODE(p_calling_mode
            , 'ORGMGR', paobj.expenditure_organization_id
            , 'RESMGR', NULL
            )                               AS ORGANIZATION_ID
     , resdnorm.person_id                   AS PERSON_ID
     , resdnorm.resource_id                 AS RESOURCE_ID
     , max(resdnorm.resource_name)          AS RESOURCE_NAME
     , max(lkup.meaning)                    AS RESOURCE_TYPE
     , max(resdnorm.resource_type)          AS RESOURCE_TYPE_CODE
     , p_Calling_Mode                       AS CALLING_MODE
     , max(resdnorm.resource_job_level)     AS JOB_LEVEL
 /*
  * Field below is for ACTUALS_CAPACITY
  */
     ,DECODE( p_Utilization_Category_ID, 0,(
      DECODE(
		  sign(
                   sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeActuals
                          , Decode(summbal.amount_type_id
                               , 9, NVL(summbal.period_balance,0)
                               , 0)
                      , 0))
                  -sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeActuals
                          , Decode(summbal.amount_type_id
                               , 10, NVL(summbal.period_balance,0)
                               , 0)
                      , 0)))
          , 1,
                  (sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeActuals
                          , Decode(summbal.amount_type_id
                               , 9, NVL(summbal.period_balance,0)
                               , 0)
                      , 0))
                  -sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeActuals
                          , Decode(summbal.amount_type_id
                               , 10, NVL(summbal.period_balance,0)
                               , 0)
                      , 0)))
          ,+0)),PA_REP_UTIL_SCREEN.calculate_capacity(
                   PA_REP_UTIL_GLOB.GetOrgId
                   , PA_REP_UTIL_GLOB.GetBalTypeActuals
                   , max(paobj.person_id)
                   , max(summbal.version_id)
                   , max(summbal.period_type)
                   , max(summbal.period_set_name)
                   , max(summbal.period_name)
                   , max(summbal.global_exp_period_end_date)
                   , 1
                   , 9
                   , 10
                   , p_Show_Percentage_By
				   , p_organization_id)) AS ACTUALS_CAPACITY

 /*
  * Field below is for ACTUALS_HOURS
  */
     , sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeActuals
			  , Decode(summbal.amount_type_id
                   , 1, NVL(summbal.period_balance,0)
                   , 0)
          , 0))             AS ACTUALS_HOURS
 /*
  * Field below is for ACTUALS_WEIGHTED_HOURS
  */
     , sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeActuals
              , Decode(p_utilization_method
                   , 'ORGANIZATION'
                       , decode(summbal.amount_type_id
                            , 2, NVL(summbal.period_balance,0)
                            , 0)
                   , 'RESOURCE'
                       , decode(summbal.amount_type_id
                            , 3, NVL(summbal.period_balance,0)
                            , 0)
                   )
          , 0))                  AS ACTUALS_WEIGHTED_HOURS
 /*
  * Field below is for ACTUALS_WEIGHTED_HOURS_P
  */
     ,ROUND(NVL(sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeActuals
              , Decode(p_utilization_method
                   , 'ORGANIZATION'
                       , decode(summbal.amount_type_id
                            , 2, NVL(summbal.period_balance,0)
                            , 0)
                   , 'RESOURCE'
                       , decode(summbal.amount_type_id
                            , 3, NVL(summbal.period_balance,0)
                            , 0)
                   )
          , 0))*100/
       DECODE(p_Utilization_Category_Id
       ,0 , DECODE(p_Show_Percentage_By
            , 'CAPACITY'
              , DECODE(
                   sign(
                            sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   , 1,
                           (sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   ,1)
          , 'TOTAL_WORKED_HOURS'
              , DECODE(
                   sign(
                     sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeActuals
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0)))
                   , 1, sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeActuals
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0))
              , 1)
          )
       ,  PA_REP_UTIL_SCREEN.calculate_capacity(
                   PA_REP_UTIL_GLOB.GetOrgId
                   , PA_REP_UTIL_GLOB.GetBalTypeActuals
                   , max(paobj.person_id)
                   , max(summbal.version_id)
                   , max(summbal.period_type)
                   , max(summbal.period_set_name)
                   , max(summbal.period_name)
                   , max(summbal.global_exp_period_end_date)
                   , 1
                   , 9
                   , 10
                   , p_Show_Percentage_By)
       )
        , -9999)    -- finished NVL
        , 0) AS ACTUALS_WEIGHTED_HOURS_P      -- finished rounding
 /*
  * Field below is for ACTUALS_CAP_OR_TOT_HRS
  */
     , DECODE(p_Utilization_Category_Id
       ,0 , DECODE(p_Show_Percentage_By
            , 'CAPACITY'
              , DECODE(
                   sign(
                            sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   , 1,
                           (sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   ,1)
          , 'TOTAL_WORKED_HOURS'
              , DECODE(
                   sign(
                     sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeActuals
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0)))
                   , 1, sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeActuals
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0))
              , 1)
          )
       ,  PA_REP_UTIL_SCREEN.calculate_capacity(
                   PA_REP_UTIL_GLOB.GetOrgId
                   , PA_REP_UTIL_GLOB.GetBalTypeActuals
                   , max(paobj.person_id)
                   , max(summbal.version_id)
                   , max(summbal.period_type)
                   , max(summbal.period_set_name)
                   , max(summbal.period_name)
                   , max(summbal.global_exp_period_end_date)
                   , 1
                   , 9
                   , 10
                   , p_Show_Percentage_By)
       )                           AS ACTUALS_CAP_OR_TOT_HRS
 /*
  * Field below is for FORECAST_CAPACITY
  */
     ,DECODE( p_Utilization_Category_ID, 0,(
      DECODE(
		  sign(
                   sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeForecast
                          , Decode(summbal.amount_type_id
                               , 9, NVL(summbal.period_balance,0)
                               , 0)
                      , 0))
                  -sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeForecast
                          , Decode(summbal.amount_type_id
                               , 10, NVL(summbal.period_balance,0)
                               , 0)
                      , 0)))
          , 1,
                  (sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeForecast
                          , Decode(summbal.amount_type_id
                               , 9, NVL(summbal.period_balance,0)
                               , 0)
                      , 0))
                  -sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeForecast
                          , Decode(summbal.amount_type_id
                               , 10, NVL(summbal.period_balance,0)
                               , 0)
                      , 0)))
          ,+0)),PA_REP_UTIL_SCREEN.calculate_capacity(
                   PA_REP_UTIL_GLOB.GetOrgId
                   , PA_REP_UTIL_GLOB.GetBalTypeForecast
                   , max(paobj.person_id)
                   , max(summbal.version_id)
                   , max(summbal.period_type)
                   , max(summbal.period_set_name)
                   , max(summbal.period_name)
                   , max(summbal.global_exp_period_end_date)
                   , 1
                   , 9
                   , 10
                   , p_Show_Percentage_By
				   , p_organization_id)) AS FORECAST_CAPACITY
 /*
  * Field below is for FORECAST_HOURS
  */
     , sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeForecast
              , Decode(p_Assignment_Status
                   , 'ALL'
                       , decode(summbal.amount_type_id
                            , 1, NVL(summbal.period_balance,0)
                            , 0)
                   , 'PROVISIONAL'
                       , decode(summbal.amount_type_id
                            , 4, NVL(summbal.period_balance,0)
                            , 0)
                   , 'CONFIRMED'
                       , decode(summbal.amount_type_id
                            , 1, NVL(summbal.period_balance,0)
                            , 0)
              , 0)
          , 0))
      -sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeForecast
              , Decode(p_Assignment_Status
                   , 'CONFIRMED'
                       , decode(summbal.amount_type_id
                            , 4, NVL(summbal.period_balance,0)
                            , 0)
              , 0)
          , 0))             AS FORECAST_HOURS
 /*
  * Field below is for FORECAST_WEIGHTED_HOURS
  */
     , (sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeForecast
              , DecodE(p_Assignment_Status
                   , 'ALL'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 2, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 3, NVL(summbal.period_balance,0)
                                     , 0))
                   , 'PROVISIONAL'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 5, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 6, NVL(summbal.period_balance,0)
                                     , 0))
                   , 'CONFIRMED'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 2, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 3, NVL(summbal.period_balance,0)
                                     , 0))
                   )
          , 0))
      -sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeForecast
              , Decode(p_Assignment_Status
                   , 'CONFIRMED'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 5, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 6, NVL(summbal.period_balance,0)
                                     , 0))
                   , 0)
          , 0)))            AS FORECAST_WEIGHTED_HOURS
 /*
  * Field below is for FORECAST_WEIGHTED_HOURS_P
  */
     ,ROUND(NVL(
       (sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeForecast
              , DecodE(p_Assignment_Status
                   , 'ALL'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 2, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 3, NVL(summbal.period_balance,0)
                                     , 0))
                   , 'PROVISIONAL'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 5, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 6, NVL(summbal.period_balance,0)
                                     , 0))
                   , 'CONFIRMED'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 2, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 3, NVL(summbal.period_balance,0)
                                     , 0))
                   )
          , 0))
      -sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeForecast
              , Decode(p_Assignment_Status
                   , 'CONFIRMED'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 5, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 6, NVL(summbal.period_balance,0)
                                     , 0))
                   , 0)
          , 0)))
       *100/
       DECODE(p_Utilization_Category_Id
       ,0 , DECODE(p_Show_Percentage_By
            , 'CAPACITY'
              , DECODE(
                   sign(
                            sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   , 1,
                           (sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   ,1)
          , 'TOTAL_WORKED_HOURS'
              , DECODE(
                   sign(
                     sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeForecast
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0)))
                   , 1, sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeForecast
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0))
              , 1)
          )
       ,  PA_REP_UTIL_SCREEN.calculate_capacity(
                   PA_REP_UTIL_GLOB.GetOrgId
                   , PA_REP_UTIL_GLOB.GetBalTypeForecast
                   , max(paobj.person_id)
                   , max(summbal.version_id)
                   , max(summbal.period_type)
                   , max(summbal.period_set_name)
                   , max(summbal.period_name)
                   , max(summbal.global_exp_period_end_date)
                   , 1
                   , 9
                   , 10
                   , p_Show_Percentage_By)
       )
        , -9999)    -- finished NVL
        , 0) AS FORECAST_WEIGHTED_HOURS_P      -- finished rounding and concatenation
 /*
  * Field below is for FORECAST_CAP_OR_TOT_HRS
  */
     , DECODE(p_Utilization_Category_Id
       ,0 , DECODE(p_Show_Percentage_By
            , 'CAPACITY'
              , DECODE(
                   sign(
                            sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   , 1,
                           (sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   ,1)
          , 'TOTAL_WORKED_HOURS'
              , DECODE(
                   sign(
                     sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeForecast
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0)))
                   , 1, sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeForecast
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0))
              , 1)
          )
       ,  PA_REP_UTIL_SCREEN.calculate_capacity(
                   PA_REP_UTIL_GLOB.GetOrgId
                   , PA_REP_UTIL_GLOB.GetBalTypeForecast
                   , max(paobj.person_id)
                   , max(summbal.version_id)
                   , max(summbal.period_type)
                   , max(summbal.period_set_name)
                   , max(summbal.period_name)
                   , max(summbal.global_exp_period_end_date)
                   , 1
                   , 9
                   , 10
                   , p_Show_Percentage_By)
       )                           AS FORECAST_CAP_OR_TOT_HRS
     from
         PA_Summ_Balances                 summbal
         , PA_Objects                     paobj
         , pa_resources_denorm            resdnorm
         , gl_periods                     glprd
         , pa_lookups                     lkup
     where
		 lkup.lookup_type = 'PERSON_TYPE'
		 AND lkup.lookup_code = 'EMPLOYEE'
         AND NVL(resdnorm.manager_id,-1) = NVL(p_manager_id,NVL(resdnorm.manager_id,-1))
         AND (
			  (glprd.start_date between trunc(resdnorm.resource_effective_start_date) and trunc(NVL(resdnorm.resource_effective_end_date,glprd.start_date))+0.99999
			  and p_calling_mode = 'ORGMGR')
            OR
/* Bug 2003821: start */
		  (
		   (
			  (trunc(SYSDATE) between trunc(resdnorm.resource_effective_start_date) and trunc(NVL(resdnorm.resource_effective_end_date,trunc(sysdate)))+0.99999
                           and glprd.start_date <=sysdate) /* Added for Bug 2325539 */
			  OR
			  (glprd.start_date between trunc(resdnorm.resource_effective_start_date) and trunc(NVL(resdnorm.resource_effective_end_date,glprd.start_date))+0.99999
			  and glprd.start_date > sysdate)
		   )
		   and p_calling_mode = 'RESMGR'
		  )
             )
/* Bug 2003821: end */
         AND glprd.period_set_name = summbal.period_set_name
         AND glprd.period_name = summbal.period_name
         AND summbal.object_id = paobj.object_id
         AND summbal.version_id = -1
         AND summbal.period_type = p_Period_Type
         AND summbal.period_set_name = PA_REP_UTIL_GLOB.GetPeriodSetName
         AND summbal.period_name = p_Period_Name
         AND summbal.amount_type_id in (  1   /* G_RES_HRS_C              */
                                        , 2   /* G_RES_WTDHRS_ORG_C       */
                                        , 3   /* G_RES_WTDHRS_PEOPLE_C    */
                                        , 4   /* G_RES_PRVHRS_C           */
                                        , 5   /* G_RES_PRVWTDHRS_ORG_C    */
                                        , 6   /* G_RES_PRVWTDHRS_PEOPLE_C */
                                        , 9   /* G_RES_CAP_C              */
                                        ,10   /* G_RES_REDUCEDCAP_C       */
                                        )
         AND summbal.object_type_code = DECODE(p_Utilization_Category_Id
             , 0, PA_REP_UTIL_GLOB.GetObjectTypeRes
             , Decode(p_Utilization_Method
                      , 'ORGANIZATION', PA_REP_UTIL_GLOB.GetObjectTypeResUco
                      , 'RESOURCE', PA_REP_UTIL_GLOB.GetObjectTypeResUcr))
         AND paobj.object_type_code = summbal.object_type_code
         AND paobj.expenditure_org_id = PA_REP_UTIL_GLOB.GetOrgId
         AND paobj.project_org_id              = -1
         AND paobj.expenditure_organization_id = NVL(p_organization_id,paobj.expenditure_organization_id)
         AND paobj.project_organization_id     = -1
         AND paobj.project_id                  = -1
         AND paobj.task_id                     = -1
         AND paobj.person_id = resdnorm.person_id
         AND resdnorm.utilization_flag = 'Y' /* Added for Bug#2765050 */
         AND paobj.assignment_id = -1
         AND paobj.work_type_id                = -1
         AND paobj.org_util_category_id     = DECODE(p_Utilization_Category_Id
             , 0, -1
             , Decode(p_Utilization_Method
                      , 'ORGANIZATION', p_Utilization_Category_Id
                      , 'RESOURCE', -1))
         AND paobj.res_util_category_id     = DECODE(p_Utilization_Category_Id
             , 0, -1
             , Decode(p_Utilization_Method
                      , 'ORGANIZATION', -1
                      , 'RESOURCE', p_Utilization_Category_Id))
         AND paobj.balance_type_code in (PA_REP_UTIL_GLOB.GetBalTypeActuals,PA_REP_UTIL_GLOB.GetBalTypeForecast)
   group by
     DECODE(p_calling_mode
            , 'ORGMGR', paobj.expenditure_organization_id
            , 'RESMGR', NULL
            )
           , resdnorm.person_id
           , resdnorm.resource_id
  ;
Line: 1411

     INSERT INTO PA_REP_UTIL_SCREEN_TMP  (
        Organization_id
        , Person_id
        , Resource_id
        , Resource_Name
        , Resource_Type
        , Resource_Type_Code
        , Calling_Mode
        , Job_Level
        , Actuals_Capacity
        , Actuals_hours
        , Actuals_Weighted_hours
        , Actuals_Weighted_hours_P
        , Actuals_Cap_OR_Tot_Hrs
        , Forecast_Capacity
        , Forecast_hours
        , Forecast_Weighted_hours
        , Forecast_Weighted_hours_P
        , Forecast_Cap_OR_Tot_Hrs
        )
     SELECT
     DECODE(p_calling_mode
            , 'ORGMGR', paobj.expenditure_organization_id
            , 'RESMGR', NULL
            )                               AS ORGANIZATION_ID
     , resdnorm.person_id                   AS PERSON_ID
     , resdnorm.resource_id                 AS RESOURCE_ID
     , max(resdnorm.resource_name)          AS RESOURCE_NAME
     , max(lkup.meaning)                    AS RESOURCE_TYPE
     , max(resdnorm.resource_type)          AS RESOURCE_TYPE_CODE
     , p_Calling_Mode                       AS CALLING_MODE
     , max(resdnorm.resource_job_level)     AS JOB_LEVEL
 /*
  * Field below is for ACTUALS_CAPACITY
  */
     ,DECODE( p_Utilization_Category_ID, 0,(
      DECODE(
		  sign(
                   sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeActuals
                          , Decode(summbal.amount_type_id
                               , 9, NVL(summbal.period_balance,0)
                               , 0)
                      , 0))
                  -sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeActuals
                          , Decode(summbal.amount_type_id
                               , 10, NVL(summbal.period_balance,0)
                               , 0)
                      , 0)))
          , 1,
                  (sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeActuals
                          , Decode(summbal.amount_type_id
                               , 9, NVL(summbal.period_balance,0)
                               , 0)
                      , 0))
                  -sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeActuals
                          , Decode(summbal.amount_type_id
                               , 10, NVL(summbal.period_balance,0)
                               , 0)
                      , 0)))
          ,+0)),PA_REP_UTIL_SCREEN.calculate_capacity(
                   PA_REP_UTIL_GLOB.GetOrgId
                   , PA_REP_UTIL_GLOB.GetBalTypeActuals
                   , max(paobj.person_id)
                   , max(summbal.version_id)
                   , PA_REP_UTIL_GLOB.GetPeriodTypeQr
                   , null
                   , null
                   , null
                   , 1
                   , 9
                   , 10
                   , p_Show_Percentage_By
				   , p_organization_id
				   , max(summbal.period_year)
				   , max(quarter_or_month_number))) AS ACTUALS_CAPACITY
 /*
  * Field below is for ACTUALS_HOURS
  */
     , sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeActuals
			  , Decode(summbal.amount_type_id
                   , 1, NVL(summbal.period_balance,0)
                   , 0)
          , 0))             AS ACTUALS_HOURS
 /*
  * Field below is for ACTUALS_WEIGHTED_HOURS
  */
     , sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeActuals
              , Decode(p_utilization_method
                   , 'ORGANIZATION'
                       , decode(summbal.amount_type_id
                            , 2, NVL(summbal.period_balance,0)
                            , 0)
                   , 'RESOURCE'
                       , decode(summbal.amount_type_id
                            , 3, NVL(summbal.period_balance,0)
                            , 0)
                   )
          , 0))                  AS ACTUALS_WEIGHTED_HOURS
 /*
  * Field below is for ACTUALS_WEIGHTED_HOURS_P
  */
     ,ROUND(NVL(sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeActuals
              , Decode(p_utilization_method
                   , 'ORGANIZATION'
                       , decode(summbal.amount_type_id
                            , 2, NVL(summbal.period_balance,0)
                            , 0)
                   , 'RESOURCE'
                       , decode(summbal.amount_type_id
                            , 3, NVL(summbal.period_balance,0)
                            , 0)
                   )
          , 0))*100/
       DECODE(p_Utilization_Category_Id
       ,0 , DECODE(p_Show_Percentage_By
            , 'CAPACITY'
              , DECODE(
                   sign(
                            sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   , 1,
                           (sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   ,1)
          , 'TOTAL_WORKED_HOURS'
              , DECODE(
                   sign(
                     sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeActuals
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0)))
                   , 1, sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeActuals
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0))
              , 1)
          )
       ,  PA_REP_UTIL_SCREEN.calculate_capacity(
                   PA_REP_UTIL_GLOB.GetOrgId
                   , PA_REP_UTIL_GLOB.GetBalTypeActuals
                   , max(paobj.person_id)
                   , max(summbal.version_id)
                   , PA_REP_UTIL_GLOB.GetPeriodTypeQr --Bug 8528649 Start changes for Quarter
                   , null
                   , null
                   , null
                   , 1
                   , 9
                   , 10
                   , p_Show_Percentage_By
                   , p_Organization_ID
                   , p_Period_Year
                   , p_Period_Quarter)  --Bug 8528649 End changes for Quarter
       )
        , -9999)    -- finished NVL
        , 0)  AS ACTUALS_WEIGHTED_HOURS_P      -- finished rounding and concatenation
 /*
  * Field below is for ACTUALS_CAP_OR_TOT_HRS
  */
     , DECODE(p_Utilization_Category_Id
       ,0 , DECODE(p_Show_Percentage_By
            , 'CAPACITY'
              , DECODE(
                   sign(
                            sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   , 1,
                           (sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   ,1)
          , 'TOTAL_WORKED_HOURS'
              , DECODE(
                   sign(
                     sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeActuals
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0)))
                   , 1, sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeActuals
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0))
              , 1)
          )
       ,  PA_REP_UTIL_SCREEN.calculate_capacity(
                   PA_REP_UTIL_GLOB.GetOrgId
                   , PA_REP_UTIL_GLOB.GetBalTypeActuals
                   , max(paobj.person_id)
                   , max(summbal.version_id)
                   , PA_REP_UTIL_GLOB.GetPeriodTypeQr --Bug 8528649 Start changes for Quarter
                   , null
                   , null
                   , null
                   , 1
                   , 9
                   , 10
                   , p_Show_Percentage_By
                   , p_Organization_ID
                   , p_Period_Year
                   , p_Period_Quarter) --Bug 8528649 End changes for Quarter
       )                           AS ACTUALS_CAP_OR_TOT_HRS
 /*
  * Field below is for FORECAST_CAPACITY
  */
     ,DECODE( p_Utilization_Category_ID, 0,(
      DECODE(
		  sign(
                   sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeForecast
                          , Decode(summbal.amount_type_id
                               , 9, NVL(summbal.period_balance,0)
                               , 0)
                      , 0))
                  -sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeForecast
                          , Decode(summbal.amount_type_id
                               , 10, NVL(summbal.period_balance,0)
                               , 0)
                      , 0)))
          , 1,
                  (sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeForecast
                          , Decode(summbal.amount_type_id
                               , 9, NVL(summbal.period_balance,0)
                               , 0)
                      , 0))
                  -sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeForecast
                          , Decode(summbal.amount_type_id
                               , 10, NVL(summbal.period_balance,0)
                               , 0)
                      , 0)))
          ,+0)),PA_REP_UTIL_SCREEN.calculate_capacity(
                   PA_REP_UTIL_GLOB.GetOrgId
                   , PA_REP_UTIL_GLOB.GetBalTypeForecast
                   , max(paobj.person_id)
                   , max(summbal.version_id)
                   , PA_REP_UTIL_GLOB.GetPeriodTypeQr
                   , null
                   , null
                   , null
                   , 1
                   , 9
                   , 10
                   , p_Show_Percentage_By
				   , p_organization_id
				   , max(summbal.period_year)
				   , max(quarter_or_month_number))) AS FORECAST_CAPACITY
 /*
  * Field below is for FORECAST_HOURS
  */
     , sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeForecast
              , Decode(p_Assignment_Status
                   , 'ALL'
                       , decode(summbal.amount_type_id
                            , 1, NVL(summbal.period_balance,0)
                            , 0)
                   , 'PROVISIONAL'
                       , decode(summbal.amount_type_id
                            , 4, NVL(summbal.period_balance,0)
                            , 0)
                   , 'CONFIRMED'
                       , decode(summbal.amount_type_id
                            , 1, NVL(summbal.period_balance,0)
                            , 0)
              , 0)
          , 0))
      -sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeForecast
              , Decode(p_Assignment_Status
                   , 'CONFIRMED'
                       , decode(summbal.amount_type_id
                            , 4, NVL(summbal.period_balance,0)
                            , 0)
              , 0)
          , 0))             AS FORECAST_HOURS
 /*
  * Field below is for FORECAST_WEIGHTED_HOURS
  */
     , (sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeForecast
              , DecodE(p_Assignment_Status
                   , 'ALL'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 2, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 3, NVL(summbal.period_balance,0)
                                     , 0))
                   , 'PROVISIONAL'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 5, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 6, NVL(summbal.period_balance,0)
                                     , 0))
                   , 'CONFIRMED'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 2, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 3, NVL(summbal.period_balance,0)
                                     , 0))
                   )
          , 0))
      -sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeForecast
              , Decode(p_Assignment_Status
                   , 'CONFIRMED'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 5, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 6, NVL(summbal.period_balance,0)
                                     , 0))
                   , 0)
          , 0)))            AS FORECAST_WEIGHTED_HOURS
 /*
  * Field below is for FORECAST_WEIGHTED_HOURS_P
  */
     ,ROUND(NVL(
       (sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeForecast
              , DecodE(p_Assignment_Status
                   , 'ALL'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 2, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 3, NVL(summbal.period_balance,0)
                                     , 0))
                   , 'PROVISIONAL'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 5, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 6, NVL(summbal.period_balance,0)
                                     , 0))
                   , 'CONFIRMED'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 2, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 3, NVL(summbal.period_balance,0)
                                     , 0))
                   )
          , 0))
      -sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeForecast
              , Decode(p_Assignment_Status
                   , 'CONFIRMED'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 5, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 6, NVL(summbal.period_balance,0)
                                     , 0))
                   , 0)
          , 0)))
       *100/
       DECODE(p_Utilization_Category_Id
       ,0 , DECODE(p_Show_Percentage_By
            , 'CAPACITY'
              , DECODE(
                   sign(
                            sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   , 1,
                           (sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   ,1)
          , 'TOTAL_WORKED_HOURS'
              , DECODE(
                   sign(
                     sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeForecast
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0)))
                   , 1, sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeForecast
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0))
              , 1)
          )
       ,  PA_REP_UTIL_SCREEN.calculate_capacity(
                   PA_REP_UTIL_GLOB.GetOrgId
                   , PA_REP_UTIL_GLOB.GetBalTypeForecast
                   , max(paobj.person_id)
                   , max(summbal.version_id)
                   , PA_REP_UTIL_GLOB.GetPeriodTypeQr  --Bug 8528649 Start changes for Quarter
                   , null
                   , null
                   , null
                   , 1
                   , 9
                   , 10
                   , p_Show_Percentage_By
                   , p_Organization_ID
                   , p_Period_Year
                   , p_Period_Quarter)  --Bug 8528649 End changes for Quarter
       )
        , -9999)    -- finished NVL
        , 0) AS FORECAST_WEIGHTED_HOURS_P      -- finished rounding and concatenation
 /*
  * Field below is for FORECAST_CAP_OR_TOT_HRS
  */
     , DECODE(p_Utilization_Category_Id
       ,0 , DECODE(p_Show_Percentage_By
            , 'CAPACITY'
              , DECODE(
                   sign(
                            sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   , 1,
                           (sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   ,1)
          , 'TOTAL_WORKED_HOURS'
              , DECODE(
                   sign(
                     sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeForecast
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0)))
                   , 1, sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeForecast
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0))
              , 1)
          )
       ,  PA_REP_UTIL_SCREEN.calculate_capacity(
                   PA_REP_UTIL_GLOB.GetOrgId
                   , PA_REP_UTIL_GLOB.GetBalTypeForecast
                   , max(paobj.person_id)
                   , max(summbal.version_id)
                   , PA_REP_UTIL_GLOB.GetPeriodTypeQr  --Bug 8528649 Start changes for Quarter
                   , null
                   , null
                   , null
                   , 1
                   , 9
                   , 10
                   , p_Show_Percentage_By
                   , p_Organization_ID
                   , p_Period_Year
                   , p_Period_Quarter)  --Bug 8528649 End changes for Quarter
       )                           AS FORECAST_CAP_OR_TOT_HRS
     from
         PA_Summ_Balances                 summbal
         , PA_Objects                     paobj
         , pa_resources_denorm            resdnorm
         , gl_periods                     glprd
         , pa_lookups                     lkup
     where
		 lkup.lookup_type = 'PERSON_TYPE'
		 AND lkup.lookup_code = 'EMPLOYEE'
         AND NVL(resdnorm.manager_id,-1) = NVL(p_manager_id,NVL(resdnorm.manager_id,-1))
         AND (
			  (glprd.start_date between trunc(resdnorm.resource_effective_start_date) and trunc(NVL(resdnorm.resource_effective_end_date,glprd.end_date))+0.99999
			  and p_calling_mode = 'ORGMGR')
            OR
/* Bug 2003821: start */
		  (
		   (
			  (trunc(SYSDATE) between trunc(resdnorm.resource_effective_start_date) and trunc(NVL(resdnorm.resource_effective_end_date,trunc(sysdate)))+0.99999
                            and glprd.start_date <=sysdate)  /* Added for Bug 2325539 */
			  OR
			  (glprd.start_date between trunc(resdnorm.resource_effective_start_date) and trunc(NVL(resdnorm.resource_effective_end_date,glprd.end_date))+0.99999
			  and glprd.start_date > sysdate)
		   )
		   and p_calling_mode = 'RESMGR'
		  )
             )
/* Bug 2003821: end */
         AND glprd.period_set_name = summbal.period_set_name
         AND glprd.period_name = summbal.period_name
         AND summbal.object_id = paobj.object_id
         AND summbal.version_id = -1
         AND summbal.period_type = PA_REP_UTIL_GLOB.GetPeriodTypeGl
         AND summbal.period_set_name = PA_REP_UTIL_GLOB.GetPeriodSetName
         AND summbal.period_year = p_Period_Year
         AND summbal.quarter_or_month_number = p_Period_Quarter
         AND summbal.amount_type_id in (  1   /* G_RES_HRS_C              */
                                        , 2   /* G_RES_WTDHRS_ORG_C       */
                                        , 3   /* G_RES_WTDHRS_PEOPLE_C    */
                                        , 4   /* G_RES_PRVHRS_C           */
                                        , 5   /* G_RES_PRVWTDHRS_ORG_C    */
                                        , 6   /* G_RES_PRVWTDHRS_PEOPLE_C */
                                        , 9   /* G_RES_CAP_C              */
                                        ,10   /* G_RES_REDUCEDCAP_C       */
                                        )
         AND summbal.object_type_code = DECODE(p_Utilization_Category_Id
             , 0, PA_REP_UTIL_GLOB.GetObjectTypeRes
             , Decode(p_Utilization_Method
                      , 'ORGANIZATION', PA_REP_UTIL_GLOB.GetObjectTypeResUco
                      , 'RESOURCE', PA_REP_UTIL_GLOB.GetObjectTypeResUcr))
         AND paobj.object_type_code = summbal.object_type_code
         AND paobj.expenditure_org_id = PA_REP_UTIL_GLOB.GetOrgId
         AND paobj.project_org_id              = -1
         AND paobj.expenditure_organization_id = NVL(p_organization_id,paobj.expenditure_organization_id)
         AND paobj.project_organization_id     = -1
         AND paobj.project_id                  = -1
         AND paobj.task_id                     = -1
         AND paobj.person_id = resdnorm.person_id
         AND resdnorm.utilization_flag = 'Y' /* Added for Bug#2765050 */
         AND paobj.assignment_id = -1
         AND paobj.work_type_id                = -1
         AND paobj.org_util_category_id     = DECODE(p_Utilization_Category_Id
             , 0, -1
             , Decode(p_Utilization_Method
                      , 'ORGANIZATION', p_Utilization_Category_Id
                      , 'RESOURCE', -1))
         AND paobj.res_util_category_id     = DECODE(p_Utilization_Category_Id
             , 0, -1
             , Decode(p_Utilization_Method
                      , 'ORGANIZATION', -1
                      , 'RESOURCE', p_Utilization_Category_Id))
         AND paobj.balance_type_code in (PA_REP_UTIL_GLOB.GetBalTypeActuals,PA_REP_UTIL_GLOB.GetBalTypeForecast)
   group by
     DECODE(p_calling_mode
            , 'ORGMGR', paobj.expenditure_organization_id
            , 'RESMGR', NULL
            )
           , resdnorm.person_id
           , resdnorm.resource_id
  ;
Line: 2117

     INSERT INTO PA_REP_UTIL_SCREEN_TMP  (
        Organization_id
        , Person_id
        , Resource_id
        , Resource_Name
        , Resource_Type
        , Resource_Type_Code
        , Calling_Mode
        , Job_Level
        , Actuals_Capacity
        , Actuals_hours
        , Actuals_Weighted_hours
        , Actuals_Weighted_hours_P
        , Actuals_Cap_OR_Tot_Hrs
        , Forecast_Capacity
        , Forecast_hours
        , Forecast_Weighted_hours
        , Forecast_Weighted_hours_P
        , Forecast_Cap_OR_Tot_Hrs
        )
     SELECT
     DECODE(p_calling_mode
            , 'ORGMGR', paobj.expenditure_organization_id
            , 'RESMGR', NULL
            )                               AS ORGANIZATION_ID
     , resdnorm.person_id                   AS PERSON_ID
     , resdnorm.resource_id                 AS RESOURCE_ID
     , max(resdnorm.resource_name)          AS RESOURCE_NAME
     , max(lkup.meaning)                    AS RESOURCE_TYPE
     , max(resdnorm.resource_type)          AS RESOURCE_TYPE_CODE
     , p_Calling_Mode                       AS CALLING_MODE
     , max(resdnorm.resource_job_level)     AS JOB_LEVEL
 /*
  * Field below is for ACTUALS_CAPACITY
  */
     ,DECODE( p_Utilization_Category_ID, 0,(
      DECODE(
		  sign(
                   sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeActuals
                          , Decode(summbal.amount_type_id
                               , 9, NVL(summbal.period_balance,0)
                               , 0)
                      , 0))
                  -sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeActuals
                          , Decode(summbal.amount_type_id
                               , 10, NVL(summbal.period_balance,0)
                               , 0)
                      , 0)))
          , 1,
                  (sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeActuals
                          , Decode(summbal.amount_type_id
                               , 9, NVL(summbal.period_balance,0)
                               , 0)
                      , 0))
                  -sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeActuals
                          , Decode(summbal.amount_type_id
                               , 10, NVL(summbal.period_balance,0)
                               , 0)
                      , 0)))
          ,+0)),PA_REP_UTIL_SCREEN.calculate_capacity(
                   PA_REP_UTIL_GLOB.GetOrgId
                   , PA_REP_UTIL_GLOB.GetBalTypeActuals
                   , max(paobj.person_id)
                   , max(summbal.version_id)
                   , PA_REP_UTIL_GLOB.GetPeriodTypeYr
                   , null
                   , null
                   , null
                   , 1
                   , 9
                   , 10
                   , p_Show_Percentage_By
				   , p_organization_id
				   , max(summbal.period_year))) AS ACTUALS_CAPACITY
 /*
  * Field below is for ACTUALS_HOURS
  */
     , sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeActuals
			  , Decode(summbal.amount_type_id
                   , 1, NVL(summbal.period_balance,0)
                   , 0)
          , 0))             AS ACTUALS_HOURS
 /*
  * Field below is for ACTUALS_WEIGHTED_HOURS
  */
     , sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeActuals
              , Decode(p_utilization_method
                   , 'ORGANIZATION'
                       , decode(summbal.amount_type_id
                            , 2, NVL(summbal.period_balance,0)
                            , 0)
                   , 'RESOURCE'
                       , decode(summbal.amount_type_id
                            , 3, NVL(summbal.period_balance,0)
                            , 0)
                   )
          , 0))                  AS ACTUALS_WEIGHTED_HOURS
 /*
  * Field below is for ACTUALS_WEIGHTED_HOURS_P
  */
     ,ROUND(NVL(sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeActuals
              , Decode(p_utilization_method
                   , 'ORGANIZATION'
                       , decode(summbal.amount_type_id
                            , 2, NVL(summbal.period_balance,0)
                            , 0)
                   , 'RESOURCE'
                       , decode(summbal.amount_type_id
                            , 3, NVL(summbal.period_balance,0)
                            , 0)
                   )
          , 0))*100/
       DECODE(p_Utilization_Category_Id
       ,0 , DECODE(p_Show_Percentage_By
            , 'CAPACITY'
              , DECODE(
                   sign(
                            sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   , 1,
                           (sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   ,1)
          , 'TOTAL_WORKED_HOURS'
              , DECODE(
                   sign(
                     sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeActuals
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0)))
                   , 1, sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeActuals
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0))
              , 1)
          )
       ,  PA_REP_UTIL_SCREEN.calculate_capacity(
                   PA_REP_UTIL_GLOB.GetOrgId
                   , PA_REP_UTIL_GLOB.GetBalTypeActuals
                   , max(paobj.person_id)
                   , max(summbal.version_id)   /*8528649 changes for actuals_weighted_hours_p*/
                   , PA_REP_UTIL_GLOB.GetPeriodTypeYr
                   , NULL
                   , NULL
                   , NULL
                   , 1
                   , 9
                   , 10
                   , p_Show_Percentage_By
                   , p_organization_id
                   , p_period_year)
       )
        , -9999)    -- finished NVL
        , 0) AS ACTUALS_WEIGHTED_HOURS_P      -- finished rounding and concatenation
 /*
  * Field below is for ACTUALS_CAP_OR_TOT_HRS
  */
     , DECODE(p_Utilization_Category_Id
       ,0 , DECODE(p_Show_Percentage_By
            , 'CAPACITY'
              , DECODE(
                   sign(
                            sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   , 1,
                           (sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeActuals
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   ,1)
          , 'TOTAL_WORKED_HOURS'
              , DECODE(
                   sign(
                     sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeActuals
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0)))
                   , 1, sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeActuals
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0))
              , 1)
          )
       ,  PA_REP_UTIL_SCREEN.calculate_capacity(
                   PA_REP_UTIL_GLOB.GetOrgId
                   , PA_REP_UTIL_GLOB.GetBalTypeActuals
                   , max(paobj.person_id)
                   , max(summbal.version_id)  /*8528649 changes for ACTUALS_CAP_OR_TOT_HRS*/
                   , PA_REP_UTIL_GLOB.GetPeriodTypeYr
                   , NULL
                   , NULL
                   , NULL
                   , 1
                   , 9
                   , 10
                   , p_Show_Percentage_By
                   , p_organization_id
                   ,p_period_year)
       )                           AS ACTUALS_CAP_OR_TOT_HRS
 /*
  * Field below is for FORECAST_CAPACITY
  */
     ,DECODE( p_Utilization_Category_ID, 0,(
      DECODE(
		  sign(
                   sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeForecast
                          , Decode(summbal.amount_type_id
                               , 9, NVL(summbal.period_balance,0)
                               , 0)
                      , 0))
                  -sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeForecast
                          , Decode(summbal.amount_type_id
                               , 10, NVL(summbal.period_balance,0)
                               , 0)
                      , 0)))
          , 1,
                  (sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeForecast
                          , Decode(summbal.amount_type_id
                               , 9, NVL(summbal.period_balance,0)
                               , 0)
                      , 0))
                  -sum(
                   DecodE(paobj.balance_type_code
                      , PA_REP_UTIL_GLOB.GetBalTypeForecast
                          , Decode(summbal.amount_type_id
                               , 10, NVL(summbal.period_balance,0)
                               , 0)
                      , 0)))
          ,+0)),PA_REP_UTIL_SCREEN.calculate_capacity(
                   PA_REP_UTIL_GLOB.GetOrgId
                   , PA_REP_UTIL_GLOB.GetBalTypeForecast
                   , max(paobj.person_id)
                   , max(summbal.version_id)
                   , PA_REP_UTIL_GLOB.GetPeriodTypeYr
                   , null
                   , null
                   , null
                   , 1
                   , 9
                   , 10
                   , p_Show_Percentage_By
				   , p_organization_id
				   , max(summbal.period_year))) AS FORECAST_CAPACITY
 /*
  * Field below is for FORECAST_HOURS
  */
     , sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeForecast
              , Decode(p_Assignment_Status
                   , 'ALL'
                       , decode(summbal.amount_type_id
                            , 1, NVL(summbal.period_balance,0)
                            , 0)
                   , 'PROVISIONAL'
                       , decode(summbal.amount_type_id
                            , 4, NVL(summbal.period_balance,0)
                            , 0)
                   , 'CONFIRMED'
                       , decode(summbal.amount_type_id
                            , 1, NVL(summbal.period_balance,0)
                            , 0)
              , 0)
          , 0))
      -sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeForecast
              , Decode(p_Assignment_Status
                   , 'CONFIRMED'
                       , decode(summbal.amount_type_id
                            , 4, NVL(summbal.period_balance,0)
                            , 0)
              , 0)
          , 0))             AS FORECAST_HOURS
 /*
  * Field below is for FORECAST_WEIGHTED_HOURS
  */
     , (sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeForecast
              , DecodE(p_Assignment_Status
                   , 'ALL'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 2, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 3, NVL(summbal.period_balance,0)
                                     , 0))
                   , 'PROVISIONAL'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 5, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 6, NVL(summbal.period_balance,0)
                                     , 0))
                   , 'CONFIRMED'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 2, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 3, NVL(summbal.period_balance,0)
                                     , 0))
                   )
          , 0))
      -sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeForecast
              , Decode(p_Assignment_Status
                   , 'CONFIRMED'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 5, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 6, NVL(summbal.period_balance,0)
                                     , 0))
                   , 0)
          , 0)))            AS FORECAST_WEIGHTED_HOURS
 /*
  * Field below is for FORECAST_WEIGHTED_HOURS_P
  */
     ,ROUND(NVL(
       (sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeForecast
              , DecodE(p_Assignment_Status
                   , 'ALL'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 2, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 3, NVL(summbal.period_balance,0)
                                     , 0))
                   , 'PROVISIONAL'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 5, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 6, NVL(summbal.period_balance,0)
                                     , 0))
                   , 'CONFIRMED'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 2, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 3, NVL(summbal.period_balance,0)
                                     , 0))
                   )
          , 0))
      -sum(
       DECODE(paobj.balance_type_code
          , PA_REP_UTIL_GLOB.GetBalTypeForecast
              , Decode(p_Assignment_Status
                   , 'CONFIRMED'
                       , Decode(p_Utilization_Method
                            , 'ORGANIZATION'
                                , decode(summbal.amount_type_id
                                     , 5, NVL(summbal.period_balance,0)
                                     , 0)
                            , 'RESOURCE'
                                , decode(summbal.amount_type_id
                                     , 6, NVL(summbal.period_balance,0)
                                     , 0))
                   , 0)
          , 0)))
       *100/
       DECODE(p_Utilization_Category_Id
       ,0 , DECODE(p_Show_Percentage_By
            , 'CAPACITY'
              , DECODE(
                   sign(
                            sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   , 1,
                           (sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   ,1)
          , 'TOTAL_WORKED_HOURS'
              , DECODE(
                   sign(
                     sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeForecast
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0)))
                   , 1, sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeForecast
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0))
              , 1)
          )
       ,  PA_REP_UTIL_SCREEN.calculate_capacity(
                   PA_REP_UTIL_GLOB.GetOrgId
                   , PA_REP_UTIL_GLOB.GetBalTypeForecast
                   , max(paobj.person_id)
                   , max(summbal.version_id)     /*8528649 changes for FORECAST_WEIGHTED_HOURS_P*/
                   , PA_REP_UTIL_GLOB.GetPeriodTypeYr
                   , NULL
                   , NULL
                   , NULL
                   , 1
                   , 9
                   , 10
                   , p_Show_Percentage_By
                   , p_organization_id
                   , p_period_year)
       )
        , -9999)    -- finished NVL
        , 0) AS FORECAST_WEIGHTED_HOURS_P      -- finished rounding and concatenation
 /*
  * Field below is for FORECAST_CAP_OR_TOT_HRS
  */
     , DECODE(p_Utilization_Category_Id
       ,0 , DECODE(p_Show_Percentage_By
            , 'CAPACITY'
              , DECODE(
                   sign(
                            sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   , 1,
                           (sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 9, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0))
                           -sum(
                            DecodE(paobj.balance_type_code
                               , PA_REP_UTIL_GLOB.GetBalTypeForecast
                                   , Decode(summbal.amount_type_id
                                        , 10, NVL(summbal.period_balance,0)
                                        , 0)
                               , 0)))
                   ,1)
          , 'TOTAL_WORKED_HOURS'
              , DECODE(
                   sign(
                     sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeForecast
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0)))
                   , 1, sum(
                     DecodE(paobj.balance_type_code
                        , PA_REP_UTIL_GLOB.GetBalTypeForecast
                            , Decode(summbal.amount_type_id
                                 , 1, NVL(summbal.period_balance,0)
                                 , 0)
                        , 0))
              , 1)
          )
       ,  PA_REP_UTIL_SCREEN.calculate_capacity(
                   PA_REP_UTIL_GLOB.GetOrgId
                   , PA_REP_UTIL_GLOB.GetBalTypeForecast
                   , max(paobj.person_id)
                   , max(summbal.version_id)  /*8528649 changes for forecast_cap_or_tot_hrs*/
                   , PA_REP_UTIL_GLOB.GetPeriodTypeYr
                   , NULL
                   , NULL
                   , NULL
                   , 1
                   , 9
                   , 10
                   , p_Show_Percentage_By
                   , p_organization_id
                   , p_period_year)
       )                           AS FORECAST_CAP_OR_TOT_HRS
     from
         PA_Summ_Balances                 summbal
         , PA_Objects                     paobj
         , pa_resources_denorm            resdnorm
         , gl_periods                     glprd
         , pa_lookups                     lkup
     where
		 lkup.lookup_type = 'PERSON_TYPE'
		 AND lkup.lookup_code = 'EMPLOYEE'
         AND NVL(resdnorm.manager_id,-1) = NVL(p_manager_id,NVL(resdnorm.manager_id,-1))
         AND (
			  (glprd.start_date between trunc(resdnorm.resource_effective_start_date) and trunc(NVL(resdnorm.resource_effective_end_date,glprd.end_date))+0.99999
			  and p_calling_mode = 'ORGMGR')
            OR
/* Bug 2003821: start */
		  (
		   (
			  (trunc(SYSDATE) between trunc(resdnorm.resource_effective_start_date) and trunc(NVL(resdnorm.resource_effective_end_date,trunc(sysdate)))+0.99999
                            and glprd.start_date <=sysdate)  /* Added for Bug 2325539 */
			  OR
			  (glprd.start_date between trunc(resdnorm.resource_effective_start_date) and trunc(NVL(resdnorm.resource_effective_end_date,glprd.end_date))+0.99999
			  and glprd.start_date > sysdate)
		   )
		   and p_calling_mode = 'RESMGR'
		  )
             )
/* Bug 2003821: end */
         AND glprd.period_set_name = summbal.period_set_name
         AND glprd.period_name = summbal.period_name
         AND summbal.object_id = paobj.object_id
         AND summbal.version_id = -1
         AND summbal.period_type = PA_REP_UTIL_GLOB.GetPeriodTypeGl
         AND summbal.period_set_name = PA_REP_UTIL_GLOB.GetPeriodSetName
         AND summbal.period_year = p_Period_Year
         AND summbal.amount_type_id in (  1   /* G_RES_HRS_C              */
                                        , 2   /* G_RES_WTDHRS_ORG_C       */
                                        , 3   /* G_RES_WTDHRS_PEOPLE_C    */
                                        , 4   /* G_RES_PRVHRS_C           */
                                        , 5   /* G_RES_PRVWTDHRS_ORG_C    */
                                        , 6   /* G_RES_PRVWTDHRS_PEOPLE_C */
                                        , 9   /* G_RES_CAP_C              */
                                        ,10   /* G_RES_REDUCEDCAP_C       */
                                        )
         AND summbal.object_type_code = DECODE(p_Utilization_Category_Id
             , 0, PA_REP_UTIL_GLOB.GetObjectTypeRes
             , Decode(p_Utilization_Method
                      , 'ORGANIZATION', PA_REP_UTIL_GLOB.GetObjectTypeResUco
                      , 'RESOURCE', PA_REP_UTIL_GLOB.GetObjectTypeResUcr))
         AND paobj.object_type_code = summbal.object_type_code
         AND paobj.expenditure_org_id = PA_REP_UTIL_GLOB.GetOrgId
         AND paobj.project_org_id              = -1
         AND paobj.expenditure_organization_id = NVL(p_organization_id,paobj.expenditure_organization_id)
         AND paobj.project_organization_id     = -1
         AND paobj.project_id                  = -1
         AND paobj.task_id                     = -1
         AND paobj.person_id = resdnorm.person_id
         AND resdnorm.utilization_flag = 'Y' /* Added for Bug#2765050 */
         AND paobj.assignment_id = -1
         AND paobj.work_type_id                = -1
         AND paobj.org_util_category_id     = DECODE(p_Utilization_Category_Id
             , 0, -1
             , Decode(p_Utilization_Method
                      , 'ORGANIZATION', p_Utilization_Category_Id
                      , 'RESOURCE', -1))
         AND paobj.res_util_category_id     = DECODE(p_Utilization_Category_Id
             , 0, -1
             , Decode(p_Utilization_Method
                      , 'ORGANIZATION', -1
                      , 'RESOURCE', p_Utilization_Category_Id))
         AND paobj.balance_type_code in (PA_REP_UTIL_GLOB.GetBalTypeActuals,PA_REP_UTIL_GLOB.GetBalTypeForecast)
   group by
     DECODE(p_calling_mode
            , 'ORGMGR', paobj.expenditure_organization_id
            , 'RESMGR', NULL
            )
           , resdnorm.person_id
           , resdnorm.resource_id
  ;
Line: 2815

  * Now to update the resource_type_code, added through bug 1633069,
  * to identify the resources reporting to the select manager who are also
  * in turn managers of other resources.  The above select put the value of
  * of EMPLOYEE for all the records now check against pa_resources_denorm
  * to update the resource_type_code to MANAGERS appropriately.
  */

  Update PA_REP_UTIL_SCREEN_TMP  tmp
  Set (resource_type,resource_type_code) = (select lkup2.meaning,lkup2.lookup_code
							  from pa_lookups lkup2
							  where lkup2.lookup_type='PERSON_TYPE'
							  and   lkup2.lookup_code = 'MANAGER')
  Where exists (select prd.Person_id
				from   pa_resources_denorm  prd
				where  prd.manager_id = tmp.person_id)
  ;
Line: 2850

   * such cases the select will calculate the capacity from the current record
   * which is incorrect since capacity should ALWAYS be calculated using the
   * RES record. Thus for cases when the object_type_code <> RES the decode
   * has been coded such that the function calculate_capacity would be called.
   */

  FUNCTION calculate_capacity(
            p_ORG_ID                        IN NUMBER
            , p_Balance_Type_Code           IN VARCHAR2
            , p_Entity_ID                   IN NUMBER
            , p_Version_ID                  IN NUMBER
            , p_Period_Type                 IN VARCHAR2
            , p_Period_Set_Name             IN VARCHAR2
            , p_Period_Name                 IN VARCHAR2
            , p_Global_Exp_Period_End_Date  IN DATE
            , p_Amount_ID_Resource_Hours    IN NUMBER
            , p_Amount_ID_Capacity          IN NUMBER
            , p_Amount_ID_Reduced_Capacity  IN NUMBER
            , p_Show_Percentage_By          IN VARCHAR2
			, p_Organization_Id				IN NUMBER DEFAULT NULL
			, p_Period_Year					IN NUMBER DEFAULT NULL
			, p_Quarter_Or_Month_Number		IN NUMBER DEFAULT NULL
            )
            RETURN NUMBER
  IS
    v_total_hours      NUMBER := 0;
Line: 2886

		     select
		          summbal2.amount_type_id           AS amount_type_id
		         , sum(summbal2.period_balance)    AS period_balance
             from
		     		 PA_Summ_Balances  summbal2
		              , PA_Objects      paobj2
             where
			         paobj2.Balance_Type_Code = p_Balance_Type_Code
			         AND paobj2.expenditure_org_id = p_ORG_ID
			         AND summbal2.version_id = p_Version_ID
			         AND (( summbal2.object_type_code =
					 PA_REP_UTIL_GLOB.GetObjectTypeRes
			         AND paobj2.person_id = p_Entity_ID
					 AND paobj2.expenditure_organization_id =
					 nvl(p_organization_id,paobj2.expenditure_organization_id))
			         OR
			         ( summbal2.object_type_code = PA_REP_UTIL_GLOB.GetObjectTypeOrg
			         AND paobj2.expenditure_organization_id = p_Entity_ID)
			         )
			         AND summbal2.object_id = paobj2.object_id
			         AND summbal2.period_type = PA_REP_UTIL_GLOB.GetPeriodTypeGl
			         AND period_year = p_Period_Year
					 AND quarter_or_month_number = p_Quarter_Or_Month_Number
			         AND summbal2.amount_type_id in (p_Amount_ID_Resource_Hours,p_Amount_ID_Capacity,p_Amount_ID_Reduced_Capacity)
             group by
			         summbal2.amount_type_id;
Line: 2915

		     select
		          summbal2.amount_type_id           AS amount_type_id
		         , sum(summbal2.period_balance)    AS period_balance
             from
		     		 PA_Summ_Balances  summbal2
		              , PA_Objects      paobj2
             where
			         paobj2.Balance_Type_Code = p_Balance_Type_Code
			         AND paobj2.expenditure_org_id = p_ORG_ID
			         AND summbal2.version_id = p_Version_ID
			         AND (( summbal2.object_type_code =
					 PA_REP_UTIL_GLOB.GetObjectTypeRes
			         AND paobj2.person_id = p_Entity_ID
					 AND paobj2.expenditure_organization_id =
					 nvl(p_organization_id,paobj2.expenditure_organization_id))
			         OR
			         ( summbal2.object_type_code =
					 PA_REP_UTIL_GLOB.GetObjectTypeOrg
			         AND paobj2.expenditure_organization_id = p_Entity_ID)
			         )
			         AND summbal2.object_id = paobj2.object_id
			         AND summbal2.period_type = PA_REP_UTIL_GLOB.GetPeriodTypeGl
			         AND period_year = p_Period_Year
			         AND summbal2.amount_type_id in (p_Amount_ID_Resource_Hours,p_Amount_ID_Capacity,p_Amount_ID_Reduced_Capacity)
             group by
			         summbal2.amount_type_id;
Line: 2943

		     select
			 		 summbal2.amount_type_id           AS amount_type_id
					 , sum(summbal2.period_balance)    AS period_balance
			 from
					 PA_Summ_Balances  summbal2
			         , PA_Objects      paobj2
             where
			         paobj2.Balance_Type_Code = p_Balance_Type_Code
			         AND paobj2.expenditure_org_id = p_ORG_ID
			         AND summbal2.version_id = p_Version_ID
			         AND (( summbal2.object_type_code =
					 PA_REP_UTIL_GLOB.GetObjectTypeRes
			         AND paobj2.person_id = p_Entity_ID
					 AND paobj2.expenditure_organization_id =
					 nvl(p_organization_id,paobj2.expenditure_organization_id))
					 OR
             		 ( summbal2.object_type_code =
					 PA_REP_UTIL_GLOB.GetObjectTypeOrg
					   AND paobj2.expenditure_organization_id = p_Entity_ID)
					 )
			         AND summbal2.object_id = paobj2.object_id
			         AND summbal2.period_type = p_Period_Type
			         AND summbal2.period_set_name = p_Period_Set_Name
			         AND summbal2.period_name = p_Period_Name
			         AND summbal2.global_exp_period_end_date =
					 p_Global_Exp_Period_End_Date
			         AND summbal2.amount_type_id in (p_Amount_ID_Resource_Hours,p_Amount_ID_Capacity,p_Amount_ID_Reduced_Capacity)
			 group by
			         summbal2.amount_type_id;
Line: 3016

    delete from PA_REP_UTIL_SCR_U1_TMP;
Line: 3023

	INSERT INTO PA_REP_UTIL_SCR_U1_TMP
	(
	 title_name
	 , title_code
	 , exp_organization_id
	 , exp_sub_organization_id
	 , exp_sub_organization_name
	 , emp_head_count
	 , others_head_count
	 , actuals_capacity
	 , actuals_hours
	 , actuals_weighted_hours
	 , actuals_utilization
	 , forecast_capacity
	 , forecast_hours
	 , forecast_weighted_hours
	 , forecast_utilization
	 , period_year
	 , period_month
	 , exp_end_date )
	 SELECT
	 title_name
	 , title_code
	 , exp_organization_id
	 , exp_sub_organization_id
	 , exp_sub_organization_name
	 , emp_head_count
	 , others_head_count
	 , actuals_capacity
	 , actuals_hours
	 , actuals_weighted_hours
	 , actuals_utilization
	 , forecast_capacity
	 , forecast_hours
	 , forecast_weighted_hours
	 , forecast_utilization
	 , period_year
	 , period_month
	 , exp_end_date from PA_REP_UTIL_ORG_GE_V;
Line: 3073

	INSERT INTO PA_REP_UTIL_SCR_U1_TMP
	(
	 title_name
	 , title_code
	 , exp_organization_id
	 , exp_sub_organization_id
	 , exp_sub_organization_name
	 , emp_head_count
	 , others_head_count
	 , actuals_capacity
	 , actuals_hours
	 , actuals_weighted_hours
	 , actuals_utilization
	 , forecast_capacity
	 , forecast_hours
	 , forecast_weighted_hours
	 , forecast_utilization
	 , period_set_name
	 , period_year
	 , period_quarter
	 , period_name
	 , period_num)
 	 SELECT
	 title_name
	 , title_code
	 , exp_organization_id
	 , exp_sub_organization_id
	 , exp_sub_organization_name
	 , emp_head_count
	 , others_head_count
	 , actuals_capacity
	 , actuals_hours
	 , actuals_weighted_hours
	 , actuals_utilization
	 , forecast_capacity
	 , forecast_hours
	 , forecast_weighted_hours
	 , forecast_utilization
	 , period_set_name
	 , period_year
	 , period_quarter
	 , period_name
	 , period_num
	 from PA_REP_UTIL_ORG_GL_V;
Line: 3128

 	 INSERT INTO PA_REP_UTIL_SCR_U1_TMP
	 (
	 title_name
	 , title_code
	 , exp_organization_id
	 , exp_sub_organization_id
	 , exp_sub_organization_name
	 , emp_head_count
	 , others_head_count
	 , actuals_capacity
	 , actuals_hours
	 , actuals_weighted_hours
	 , actuals_utilization
	 , forecast_capacity
	 , forecast_hours
	 , forecast_weighted_hours
	 , forecast_utilization
	 , period_set_name
	 , period_year
	 , period_quarter
	 , period_name
	 , period_num)
 	 SELECT
	 title_name
	 , title_code
	 , exp_organization_id
	 , exp_sub_organization_id
	 , exp_sub_organization_name
	 , emp_head_count
	 , others_head_count
	 , actuals_capacity
	 , actuals_hours
	 , actuals_weighted_hours
	 , actuals_utilization
	 , forecast_capacity
	 , forecast_hours
	 , forecast_weighted_hours
	 , forecast_utilization
	 , period_set_name
	 , period_year
	 , period_quarter
	 , period_name
	 , period_num
	 from PA_REP_UTIL_ORG_PA_V;
Line: 3183

	INSERT INTO PA_REP_UTIL_SCR_U1_TMP
	(
	 title_name
	 , title_code
	 , exp_organization_id
	 , exp_sub_organization_id
	 , exp_sub_organization_name
	 , emp_head_count
	 , others_head_count
	 , actuals_capacity
	 , actuals_hours
	 , actuals_weighted_hours
	 , actuals_utilization
	 , forecast_capacity
	 , forecast_hours
	 , forecast_weighted_hours
	 , forecast_utilization
	 , period_set_name
	 , period_year)
	 SELECT
	 title_name
	 , title_code
	 , exp_organization_id
	 , exp_sub_organization_id
	 , exp_sub_organization_name
	 , emp_head_count
	 , others_head_count
	 , actuals_capacity
	 , actuals_hours
	 , actuals_weighted_hours
	 , actuals_utilization
	 , forecast_capacity
	 , forecast_hours
	 , forecast_weighted_hours
	 , forecast_utilization
	 , period_set_name
	 , period_year from PA_REP_UTIL_ORG_YR_V;
Line: 3231

	INSERT INTO PA_REP_UTIL_SCR_U1_TMP
	(
	 title_name
	 , title_code
	 , exp_organization_id
	 , exp_sub_organization_id
	 , exp_sub_organization_name
	 , emp_head_count
	 , others_head_count
	 , actuals_capacity
	 , actuals_hours
	 , actuals_weighted_hours
	 , actuals_utilization
	 , forecast_capacity
	 , forecast_hours
	 , forecast_weighted_hours
	 , forecast_utilization
	 , period_set_name
	 , period_year
	 , period_quarter )
	 SELECT
	 title_name
	 , title_code
	 , exp_organization_id
	 , exp_sub_organization_id
	 , exp_sub_organization_name
	 , emp_head_count
	 , others_head_count
	 , actuals_capacity
	 , actuals_hours
	 , actuals_weighted_hours
	 , actuals_utilization
	 , forecast_capacity
	 , forecast_hours
	 , forecast_weighted_hours
	 , forecast_utilization
	 , period_set_name
	 , period_year
	 , period_quarter from PA_REP_UTIL_ORG_QR_V
	 WHERE
	 period_quarter = p_period_quarter;
Line: 3282

    UPDATE PA_REP_UTIL_SCR_U1_TMP U1
	Set (emp_head_count, others_head_count) =
	    (Select HC.emp_headcount,0
        From   PA_RES_EMP_HCOUNT_V  HC
        Where  U1.exp_sub_organization_id = HC.organization_id
        And    DECODE(U1.exp_sub_organization_id
					  , p_organization_id, U1.title_code
					  , HC.headcount_code)
					  = HC.headcount_code
        );