Query to get costing by person

  SELECT PAP.PERSON_NUMBER,

        PPN.FULL_NAME,

                                PAA.ASSIGNMENT_NUMBER,

                                SUBSTR(PCAF.EFFECTIVE_START_DATE,1,10) AS COSTING_START_DATE,

                                SUBSTR(PCAF.EFFECTIVE_END_DATE,1,10) AS COSTING_END_DATE,

                   (PCA.PROPORTION * 100) AS PERCENTAGE,

        PCA.SEGMENT1 AS COMPANY,

                                PCA.SEGMENT2 AS DEPARTMENT_ID,

                                PCA.SEGMENT3 AS ACCOUNT_NUMBER,

                                PCA.SEGMENT4 AS PROJECT_TYPE,

                                PCA.SEGMENT5 AS PROJECT_CODE,

                                PCA.SEGMENT6 AS PERSHING,

                                PCAF.SOURCE_TYPE,

                                PAS.USER_STATUS

   FROM PER_ALL_PEOPLE_F PAP,

                                PER_PERSON_NAMES_F PPN,

                    PER_ALL_ASSIGNMENTS_M PAA,

                    PAY_PAY_RELATIONSHIPS_DN PPR,

                    PAY_RELATIONSHIP_TYPES PRT,

                    PAY_COST_ALLOCATIONS_F PCAF,

                    PAY_COST_ALLOC_ACCOUNTS PCA,

                                PER_ASSIGNMENT_STATUS_TYPES_VL PAS

  WHERE 1 = 1

                AND PAP.PERSON_ID = PPN.PERSON_ID

                AND PPN.NAME_TYPE = 'GLOBAL'

                AND PPN.PERSON_ID = PAA.PERSON_ID

    AND PAA.ASSIGNMENT_TYPE = 'E'

    AND PAA.ASSIGNMENT_SEQUENCE = (SELECT MAX(ASSIGNMENT_SEQUENCE)

                                    FROM PER_ALL_ASSIGNMENTS_M

                                                                                                                                   WHERE PERSON_ID = PAP.PERSON_ID

                                                                                                                                     AND ASSIGNMENT_TYPE = 'E'

                                                                                                                                                AND EFFECTIVE_LATEST_CHANGE = 'Y'

                                                                                                                                                AND TRUNC(SYSDATE) BETWEEN EFFECTIVE_START_DATE AND EFFECTIVE_END_DATE)

    AND PAA.EFFECTIVE_LATEST_CHANGE = 'Y'

                AND PAA.ASSIGNMENT_STATUS_TYPE_ID = PAS.ASSIGNMENT_STATUS_TYPE_ID(+)

                AND PAP.PERSON_ID = PPR.PERSON_ID

                AND TO_CHAR(PPR.START_DATE,'YYYYMMDD') = (SELECT MAX(TO_CHAR(START_DATE,'YYYYMMDD')) FROM PAY_PAY_RELATIONSHIPS_DN WHERE PERSON_ID = PAP.PERSON_ID)

                AND PPR.PAYROLL_RELATIONSHIP_ID = PCAF.PAYROLL_RELATIONSHIP_ID(+)

                AND PCAF.COST_ALLOCATION_RECORD_ID = PCA.COST_ALLOCATION_RECORD_ID(+)

                AND (PCAF.SOURCE_TYPE IN ('PREL','ASG') OR PCAF.SOURCE_TYPE IS NULL)

                AND PCA.SOURCE_SUB_TYPE(+) = 'COST'

    AND PPR.RELATIONSHIP_TYPE_ID = PRT.RELATIONSHIP_TYPE_ID

    AND PRT.BASE_REL_TYPE_NAME = 'Standard'

    --AND PCA.SEGMENT1 IS NULL

                AND TRUNC(SYSDATE) BETWEEN PCAF.EFFECTIVE_START_DATE(+) AND PCAF.EFFECTIVE_END_DATE(+)

                AND TRUNC(SYSDATE) BETWEEN PPR.START_DATE AND PPR.END_DATE

                AND TRUNC(SYSDATE) BETWEEN PAP.EFFECTIVE_START_DATE AND PAP.EFFECTIVE_END_DATE

    AND TRUNC(SYSDATE) BETWEEN PPN.EFFECTIVE_START_DATE AND PPN.EFFECTIVE_END_DATE

                AND TRUNC(SYSDATE) BETWEEN PAA.EFFECTIVE_START_DATE AND PAA.EFFECTIVE_END_DATE

  ORDER BY PAP.PERSON_NUMBER

Comments

  1. The tips and tricks you shared for optimizing Oracle Fusion performance are invaluable. Keep up the great work! Fusion SCM Training in hyderabad

    ReplyDelete

Post a Comment

Popular posts from this blog

Query to get Salary Change details in Fusion HCM

Oracle Fusion HCM - Enhancements to Summary of Changes and History Sections in Redwood Workforce Structures Pages

๐Ÿงพ Streamlining Payroll Operations with Oracle Payroll Activity Center