Friday, 3 May 2013

Query to fetch last FINALIZED calendar for entitlement,take, balance in absence peoplesoft


SELECT V.EMPLID ,V.CAL_ID ,C.CAL_RUN_ID, C.RUN_FINALIZED_TS ,PIN_PARENT_NUM ,PIN_NUM ,PIN_NM ,ACM_FROM_DT ,ACM_THRU_DT,ROUND((CALC_RSLT_VAL+USER_ADJ_VAL) ,2)  

FROM PS_GP_RSLT_ACUM_VW V , PS_JOB J,PS_GP_CAL_RUN CWHERE 
(V.PIN_NM LIKE '%ENT_ENT' OR V.PIN_NM LIKE '%ENT_BAL' OR V.PIN_NM LIKE '%ENT_TKE')
 AND V.EMPLID=J.EMPLID AND J.HR_STATUS='A' AND J.EMPL_RCD=0
 AND   J.EFFDT = 
( SELECT MAX(EFFDT) FROM PS_JOB J1 WHERE J1.EMPLID=J.EMPLID AND J1.EMPL_RCD=0 AND J1.EFFDT<=TO_DATE(('31-DEC-2012'),'DD-MON-YYYY')
  )
AND  J.EFFSEQ=
( SELECT MAX(EFFSEQ) FROM PS_JOB J2 WHERE J2.EMPLID=J.EMPLID AND J2.EMPL_RCD=J2.EMPL_RCD AND J2.EFFDT=J.EFFDT
)
AND V.CAL_RUN_ID=C.CAL_RUN_ID AND C.RUN_FINALIZED_IND='Y'  AND  V.CAL_ID LIKE 'ABS%' AND V.ACM_FROM_DT>=TO_DATE(('01-JAN-2012'),'DD-MON-YYYY') AND  V.ACM_THRU_DT<=TO_DATE(('31-DEC-2012'),'DD-MON-YYYY')

AND V.CAL_ID=
(SELECT MAX(CAL_ID) CAL_ID  FROM SYSADM.PS_GP_CAL_RUN AA,PS_GP_RSLT_ACUM_VW BB          
WHERE AA.CAL_RUN_ID=BB.CAL_RUN_ID AND C.RUN_FINALIZED_IND=AA.RUN_FINALIZED_IND  AND CAL_ID LIKE 'ABS%' AND BB.ACM_FROM_DT>=V.ACM_FROM_DT AND  BB.ACM_THRU_DT<=V.ACM_THRU_DT
AND V.EMPLID=BB.EMPLID AND V.EMPL_RCD=BB.EMPL_RCD AND V.GP_PAYGROUP=BB.GP_PAYGROUP )

AND C.RUN_FINALIZED_TS=
(SELECT  MAX(RUN_FINALIZED_TS) RUN_FINALIZED_TS  FROM SYSADM.PS_GP_CAL_RUN AA,PS_GP_RSLT_ACUM_VW BB          
WHERE V.CAL_ID=BB.CAL_ID AND AA.CAL_RUN_ID=BB.CAL_RUN_ID  AND C.RUN_FINALIZED_IND=AA.RUN_FINALIZED_IND  AND CAL_ID LIKE 'ABS%' AND BB.ACM_FROM_DT>=V.ACM_FROM_DT AND  BB.ACM_THRU_DT<=V.ACM_THRU_DT
AND V.EMPLID=BB.EMPLID AND V.EMPL_RCD=BB.EMPL_RCD AND V.GP_PAYGROUP=BB.GP_PAYGROUP )

AND V.EMPLID='000149'

No comments:

Post a Comment