Absence Management/Leave Queries

By | August 20, 2018

I frequently get requests to report absences.  Most Absences are administered using Absence Management.  However, extended leave requests/absences are typically administered via Job Data, which is more difficult to extract.

This is a relatively simple to extract Global Payroll absence events using the “PS_GP_ABS_EVENT” record.  For example the following SQL Script:

SELECT c.EMPLID,
c.EMPL_RCD,
c.NAME,
b.PIN_NM,
b.DESCR,
a.BGN_DT,
a.END_DT,
a.DURATION_HOURS,
a.COMMENTS
FROM PS_GP_ABS_EVENT a,
/*Include GP Element Table for Absence Take details.*/
PS_GP_PIN b,
/*Include employees with status of ‘A’, ‘L’, ‘P’, ‘S’*/
PS_EMPLOYEES c
WHERE a.EMPLID = c.EMPLID
AND a.EMPL_RCD = c.EMPL_RCD
AND a.PIN_TAKE_NUM = b.PIN_NUM
/*Exclude voided absence requests.*/
AND a.VOIDED_IND = ‘N’
/*Only include approved absence requests.*/
AND a.MANAGER_APPR_IND = ‘Y’;

However, it is less simple to query extended absences administered via Job Data.  The following SQL query extracts extended leave from Job data, using the “LEAD” SQL function to consolidate begin and end dates into a single row:

select r.*
from(
select a.emplid,
a.empl_rcd,
c.name,
a.action,
d.action_descr,
a.action_reason as reason,
b.descr as reason_descr,
a.effdt as bgn_dt,
/*Get extended leave end date from next row of results.*/
LEAD(A.EFFDT respect nulls) 
  OVER (partition by a.emplid, a.empl_rcd 
  ORDER BY a.emplid, a.empl_rcd, a.effdt) AS end_dt
/*Get Job Data*/
from ps_job a,
/*Get Action Reasons*/
(select * from PS_ACTN_REASON_TBL e
  WHERE e.effdt = (select max(f.effdt)
  from ps_actn_reason_tbl f
  where e.action = f.action
  and e.action_reason = f.action_reason)) b,
/*Get employees with status 'A', 'L', 'P', 'S'.*/
ps_employees c,
/*Get Actions*/
(select *
  from ps_action_tbl g
  where g.effdt = (select max(h.effdt)
  from ps_action_tbl h
  where h.action = g.action)) d
/*Select Actions for commencing and ending extended leave.*/
where a.action IN ('PLA', 'RFL')
and a.emplid = c.emplid
and a.empl_rcd = c.empl_rcd
and d.action = a.action
and b.action = a.action
and b.action_reason = a.action_reason
)r
/*Only report rows where extended leave commences.*/
where r.action = 'PLA';

Note: These queries were written for an Oracle database and may require tweaking for use with other databases.

2 thoughts on “Absence Management/Leave Queries

  1. נערות ליווי פרטיות

    The next time I read a blog, Hopefully it doesnt disappoint me just as much as this one. I mean, Yes, it was my choice to read, but I really believed youd have something interesting to talk about. All I hear is a bunch of moaning about something that you can fix if you werent too busy seeking attention.

    Reply
  2. שירותי ליווי בתל אביב

    • מרכז טיפולים – מרכז טיפולים
    חדשני ובלעדי, קליניקות מתקדמות,
    טכנולוגיות טיפול חדשניות, עם המטפלים המנוסים והמקצועיים ביותר.
    השוואת מחירים של קליניקות לטיפולי
    תא לחץ בארץ – הירשמו וקבלו הנחה!
    מסאז’ אירוטי בחיפה מבחורה יפה
    או אפילו משתיים, כי ישנם גברים שאוהבים להתפנק בארבע ידיים.
    אם אתה רוצה להיפתח, את אתה רוצה
    לחוש את המגע המתמסר של ידיים לוהטות, אתה בוחר את הזמן והמקום.

    י מעסות ומעסים מנוסים כל סוגי עיסויים מפנקים ממעסות ומעסים עם ידיים חמות לכל הגוף ונשמה גם ליחיד וגם לזוג וגם במקום
    פרטי אצלכם.כל סוגי עיסוי מפנקים בנתניה/השרון גם לזוג
    וגם ליחיד.הפרסום הוא בתשלום.ללא
    מין עיסוי מפנק בנתניה/השרון מתיחת שרירים, רצועות,
    פאסיה, מפרק מתיחה מתבצעת לאחר המישוש.
    מי שמחפש עיסויים מפנקים בלוד המשלבים פינוק וייחודיות ללא ספק
    צריך לבחור או לפחות לנסות פעם
    אחת עיסוי אבנים חמות. כמובן, שתוכלו להפוך ללקוחות קבועים ונאמנים או להמשיך לגוון ולנסות בכל פעם בה אתם
    מעוניינים בשירות בבחורה אחרת.
    מטופלים אשר מעוניינים בעיסוי ברמת הגולן אבל עצם המאמץ בהגעה לקליניקה ברמת
    הגולן של המעסה, למצוא חניה ולכל זה
    מתווספת גם החזרה הביתה. הכי טובים:
    צימרים ברמת הגולן דקה 90
    והצפון! הבחירה היא לגמרי שלכם ותוכלו בשעות אלו להתפנק כמו שאתם אוהבים.
    זהו אחד מהעיסויים בלוד הפופולאריים ביותר אשר לקוחות שאוהבים להתפנק מזמינים.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *