Wednesday, 15 April 2015

Oracle Fusion Compensation Main Table CMP_CWB_PERSON_INFO query

SELECT 
PPNF.FULL_NAME            "Full Name",            CCPI.PERSON_NUMBER        "EEID", 
PASTT.USER_STATUS         "Assignment Status",    CCPI.CUSTOM_SEGMENT6      "Worker Category",
PPNF1.FULL_NAME           "Supervisor",           HOUTL.NAME                "Country",
PD.NAME                   "Department",           HLAFV.LOCATION_CODE       "Location",
CCPI.CUSTOM_SEGMENT31     "GeoZone",              CCPI.NORMAL_HOURS         "Standard Work Hours",
PJFV.JOB_CODE             "Job Code",             PJFV.NAME                 "Job Title",
CCPI.CUSTOM_SEGMENT4      "Primary SPARS Role",   CCPI.CUSTOM_SEGMENT37     "Corporate Title",
CCPI.BASE_SALARY          "Pay Rate",  BASE_SALARY_CURRENCY      "Base Salary Currency",
BASE_SALARY_FREQUENCY     "Base Salary Frequency",
CCPI.BASE_SALARY*CCPI.PAY_ANNUALIZATION_FACTOR*CCPI.FTE_FACTOR   "Annual Salary",
CCPI.BASE_SALARY*CCPI.PAY_ANNUALIZATION_FACTOR               "Annualized Salary",
PGFT.NAME                  "Salary Grade",  CCPI.CUSTOM_SEGMENT29      "Salary Range Min",
CCPI.CUSTOM_SEGMENT28      "Salary Range Mid",  CCPI.CUSTOM_SEGMENT30      "Salary Range Max",
CCPI.CUSTOM_SEGMENT32      "Compa Ratio",         CCPI.CUSTOM_SEGMENT7       "Quartile",
HRLVL.RATING_DESCRIPTION   "PER_MANAGE_OVER_RATE",CPV.PERF_DOCUMENT_ID       "Performance Document",
PJFVL1.NAME                "New Job Title",  CCPI.NEW_BASE_SALARY       "New Pay Rate",
CCPI.CUSTOM_SEGMENT18                              "New Annual Salary",
       CCPI.NEW_BASE_SALARY*PAY_ANNUALIZATION_FACTOR      "New Annualized Salary",
       PGFTL1.NAME                                        "New Salary Grade",
       CCPI.CUSTOM_SEGMENT34                              "New Salary Range Min",
       CCPI.CUSTOM_SEGMENT36                              "New Salary Range Mid",
       CCPI.CUSTOM_SEGMENT35                              "New Salary Range Max",
       CCPI.CUSTOM_SEGMENT33                              "New Compa Ratio",
       CCPI.CUSTOM_SEGMENT3                               "New Quartile",
    NULL                                  "MER_INC_GUIDE_PER",
    CCPI.CUSTOM_SEGMENT19                 "MER_INC_PER",
       CCPI.CUSTOM_SEGMENT22                 "MER_INC_PAY_RAT_AMT",
       ROUND(CCPI.CUSTOM_SEGMENT38,2)        "ANNU_MER_INC",
       ROUND(CCPRATMI.WS_VAL,2)              "ANNU_MER_AMT_ROUND",
    CCPI.CUSTOM_SEGMENT20                 "PRM_INC_PER",
       CCPI.CUSTOM_SEGMENT23                 "PRM_INC_PAY_RAT_AMT",
       CCPI.CUSTOM_SEGMENT20                 "ANNU_PROM_INC_PER",
       ROUND(CCPRATPI.WS_VAL,2)              "ANNU_PROM_AMT_ROUND",
    CCPI.CUSTOM_SEGMENT21                 "MAR_ADJ_INC_PER",
       CCPI.CUSTOM_SEGMENT24                 "MAR_ADJ_INC_PAY_RAT_AMT",
       CCPI.CUSTOM_SEGMENT21                 "ANNU_MARK_ADJ_INC_PER",
       ROUND(CCPRATMA.WS_VAL,2)              "ANNU_MARK_ADJ_AMT",
       ROUND((CCPI.CUSTOM_SEGMENT19 + CCPI.CUSTOM_SEGMENT20 + CCPI.CUSTOM_SEGMENT21),2) "TOT_INC_PER_ROUND",
       ROUND((CCPRATMI.WS_VAL + CCPRATPI.WS_VAL + CCPRATMA.WS_VAL),2)                   "TOT_ANNU_INC_AMT",    
       CCPI.CUSTOM_SEGMENT26         "SPARS Award",
       CCPI.CUSTOM_SEGMENT27         "Overseas Differential",    
       CCPI.CUSTOM_SEGMENT2          "Justification/Comments"

          
  FROM CMP_PLANS_VL                        CPV,
       CMP_PLAN_PERIODS                    CPP,
    CMP_CWB_PERSON_INFO                CCPI,
    PER_PERSON_NAMES_F                 PPNF,
    PER_ASSIGNMENT_STATUS_TYPES_TL    PASTT,
    PER_ALL_ASSIGNMENTS_M_V           PAAMV,
    PER_PERSON_NAMES_F                PPNF1,
    HR_ORGANIZATION_UNITS_F_TL      HOUTL,
    PER_DEPARTMENTS                      PD,
    HR_LOCATIONS_ALL_F_VL             HLAFV,
    PER_JOBS_F_VL                      PJFV,
    PER_GRADES_F_TL                    PGFT,
    HR_ALL_ORGANIZATION_UNITS_F        HAOUF,
    CMP_CWB_PERF_RATINGS               CCPR,
    HRT_RATING_LEVELS_VL              HRLVL,
    CMP_COMPONENTS_TL                  CCTLPI,
     CMP_CWB_PERSON_RATES             CCPRATPI,
  CMP_COMPONENTS_TL                  CCTLMI,
     CMP_CWB_PERSON_RATES             CCPRATMI,
  CMP_COMPONENTS_TL                  CCTLMA,
     CMP_CWB_PERSON_RATES             CCPRATMA,
  CMP_CWB_PROMOTIONS                 CCPROM,
        PER_JOBS_F_VL                      PJFVL1,
  PER_GRADES_F_TL                    PGFTL1
    
 WHERE (:P_UNIT         IS NULL OR HAOUF.ATTRIBUTE1 = :P_UNIT)
   AND (:P_REGION       IS NULL OR HAOUF.ATTRIBUTE3 = :P_REGION)
   AND (:P_DEPARTMENT   IS NULL OR PD.NAME          = :P_DEPARTMENT)
   AND ((:P_PLAN         IS NULL AND CPV.PLAN_NAME IN ('SPARS Salary','Annual Salary')) OR CPV.PLAN_NAME = :P_PLAN)
   AND CPV.STATUS_CODE = 'ACTIVE'
   AND CPV.PLAN_ID    = CPP.PLAN_ID
   AND PERIOD_NAME    = TO_CHAR(SYSDATE,'YYYY')
   AND CCPI.PLAN_ID   = CPV.PLAN_ID
   AND CCPI.PERSON_ID = PPNF.PERSON_ID
   AND TRUNC(SYSDATE) BETWEEN PPNF.EFFECTIVE_START_DATE(+)
   AND PPNF.EFFECTIVE_END_DATE(+)
   AND UPPER(PPNF.NAME_TYPE) = 'GLOBAL'
   AND CCPI.ASSIGNMENT_ID = PAAMV.ASSIGNMENT_ID
   AND PAAMV.ASSIGNMENT_TYPE IN ('E','C')
   AND TRUNC(SYSDATE) BETWEEN PAAMV.EFFECTIVE_START_DATE(+) 
   AND PAAMV.EFFECTIVE_END_DATE(+)
   AND PAAMV.ASSIGNMENT_STATUS_TYPE_ID = PASTT.ASSIGNMENT_STATUS_TYPE_ID
   AND PASTT.LANGUAGE = 'US'
   AND TRUNC(SYSDATE) BETWEEN PPNF1.EFFECTIVE_START_DATE(+) AND PPNF1.EFFECTIVE_END_DATE(+)
   AND PPNF1.PERSON_ID =  CCPI.SUPERVISOR_ID
   AND UPPER(PPNF1.NAME_TYPE(+)) = 'GLOBAL'
   AND CCPI.PERSON_NUMBER    = '92015'
   AND CCPI.BUSINESS_UNIT_ID = HOUTL.ORGANIZATION_ID
   AND HOUTL.LANGUAGE='US'
   AND TRUNC(SYSDATE) BETWEEN HOUTL.EFFECTIVE_START_DATE(+) 
   AND HOUTL.EFFECTIVE_END_DATE(+)
   AND CCPI.ORGANIZATION_ID = PD.ORGANIZATION_ID(+)
   AND TRUNC(SYSDATE) BETWEEN PD.EFFECTIVE_START_DATE(+) 
   AND PD.EFFECTIVE_END_DATE(+)
   AND CCPI.LOCATION_ID     = HLAFV.LOCATION_ID(+)
   AND TRUNC(SYSDATE) BETWEEN HLAFV.EFFECTIVE_START_DATE(+) 
   AND HLAFV.EFFECTIVE_END_DATE(+)
   AND CCPI.JOB_ID          = PJFV.JOB_ID(+)
   AND TRUNC(SYSDATE) BETWEEN PJFV.EFFECTIVE_START_DATE(+) 
   AND PJFV.EFFECTIVE_END_DATE(+)
   AND CCPI.GRADE_ID = PGFT.GRADE_ID(+)
   AND TRUNC(SYSDATE) BETWEEN PGFT.EFFECTIVE_START_DATE(+) 
   AND PGFT.EFFECTIVE_END_DATE(+)
   AND PGFT.LANGUAGE(+)     = 'US'
   AND CCPI.ORGANIZATION_ID = HAOUF.ORGANIZATION_ID(+)
   AND TRUNC(SYSDATE) BETWEEN HAOUF.EFFECTIVE_START_DATE(+) 
   AND HAOUF.EFFECTIVE_END_DATE(+)
   AND CCPI.PERSON_ID               = CCPR.PERSON_ID(+)
   AND CCPI.ASSIGNMENT_ID           = CCPR.ASSIGNMENT_ID(+)
   AND CCPI.PERFORMANCE_RATING_DATE = CCPR.PERF_DATE(+)
   AND CCPR.PERF_RATING_ID          = HRLVL.RATING_LEVEL_ID(+)
   AND CCPI.PERFORMANCE_RATING      = CCPR.PERF_RATING(+)
   AND CCPI.PLAN_ID           = CCTLPI.PLAN_ID(+)
   AND CCTLPI.LANGUAGE(+)     = 'US'
   AND CCTLPI.COMPONENT_NAME(+) = ('Promotion Increase')
   AND CCTLPI.COMPONENT_ID      = CCPRATPI.COMPONENT_ID(+)
   AND CCPI.PERSON_EVENT_ID     = CCPRATPI.PERSON_EVENT_ID
   AND CCPI.PERSON_ID           = CCPRATPI.PERSON_ID 
   AND CCPI.PLAN_ID             = CCTLMI.PLAN_ID(+)
   AND CCTLMI.LANGUAGE(+)       = 'US'
   AND CCTLMI.COMPONENT_NAME(+) = ('Merit Increase')
   AND CCTLMI.COMPONENT_ID      = CCPRATMI.COMPONENT_ID(+)
   AND CCPI.PERSON_EVENT_ID     = CCPRATMI.PERSON_EVENT_ID
   AND CCPI.PERSON_ID           = CCPRATMI.PERSON_ID 
   AND CCPI.PLAN_ID             = CCTLMA.PLAN_ID(+)
   AND CCTLMA.LANGUAGE(+)       = 'US'   
   AND CCTLMA.COMPONENT_NAME(+) = ('Market Adjustment')
   AND CCTLMA.COMPONENT_ID    = CCPRATMA.COMPONENT_ID(+)
   AND CCPI.PERSON_EVENT_ID   = CCPRATMA.PERSON_EVENT_ID
   AND CCPI.PERSON_ID         = CCPRATMA.PERSON_ID 
   AND CCPI.PERSON_ID         = CCPROM.PERSON_ID
   AND CCPROM.JOB_ID          = PJFVL1.JOB_ID(+)
   AND TRUNC(SYSDATE) BETWEEN PJFVL1.EFFECTIVE_START_DATE(+) 
   AND PJFVL1.EFFECTIVE_END_DATE(+)
   AND CCPROM.GRADE_ID        = PGFTL1.GRADE_ID(+)
   AND TRUNC(SYSDATE) BETWEEN PGFTL1.EFFECTIVE_START_DATE(+) 
   AND PGFTL1.EFFECTIVE_END_DATE(+)
   AND PGFTL1.LANGUAGE(+)     = 'US'
ORDER BY PPNF.FULL_NAME

2 comments:

  1. can you elaborate more on custom_segment

    ReplyDelete
  2. I am also not sure, this field is relate to flex fields. Click on below link to know more about flex fields. https://blogs.oracle.com/fadevrel/entry/flexfields_series_an_basic_introduction

    ReplyDelete