Thursday 2 June 2022

Query to fetch Union Code on Employment page

 Hi All,

I was trying to pull the union code from employment page for an employee. There is a union_id column in per_all_assignments_m. This needs to be joined with organization_id from hr_organization_units_f_tl and pull the name from this table for union code.

select name from fusion.hr_organization_units_f_tl where organization_id=<PER_ALL_ASSIGNMENTS_M.UNION_ID> and language='US' and trunc(sysdate) between effective_start_date and effective_end_date

Wednesday 1 June 2022

Absence Reason validation in Absence Entry Validation formula

 /******************************************************************************
FORMULA NAME: GSE_PRGUS_BEREAVEMENT_VALIDATION
FORMULA TYPE: Global Absence Entry Validation
DESCRIPTION: This formula validates the bereavement absence entry.  Allow
             a certain number of days for immediate family and fewer days
             for non-immediate family.
*******************************************************************************/
DEFAULT FOR IV_START_DATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR IV_END_DATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR IV_ABSENCE_REASON IS ' '
DEFAULT FOR IV_TOTALDURATION  IS 0
DEFAULT_DATA_VALUE for ANC_PER_ABS_ENTRS_ABSENCE_ENTRY_ID_ARR is 0
DEFAULT FOR ANC_ABS_ENTRS_ABSENCE_TYPE_ID is 0
DEFAULT FOR ANC_ABS_ENTRS_ABSENCE_STATUS_CD IS ' '
DEFAULT FOR ANC_ABS_TYP_NAME IS ' '
DEFAULT FOR ANC_ABS_ENTRS_END_DATE IS '4712/12/31 00:00:00' (date)
INPUTS ARE IV_END_DATE (date), IV_START_DATE (date), IV_ABSENCE_REASON, IV_TOTALDURATION
lc_absence_reason1 = 'Immediate Family'
lc_absence_reason2 = 'Other Relative/Friend'
lc_valid           = 'N'
if IV_ABSENCE_REASON = lc_absence_reason1 then
  (if IV_TOTALDURATION > 40 then
     (lc_valid = 'N'
      ERROR_MESSAGE = 'GSE_PRGUS_ANC_BEREAVEMENT_IF')
   else
      (lc_valid = 'Y')
  )
if IV_ABSENCE_REASON = lc_absence_reason2 then
  (if IV_TOTALDURATION > 24 then
     (lc_valid = 'N'
      ERROR_MESSAGE = 'GSE_PRGUS_ANC_BEREAVEMENT_OT')
   else
      (lc_valid = 'Y')
  )

VALID = lc_valid

if lc_valid = 'N' then
(ERROR_CODE    = 'E'
 RETURN VALID, ERROR_MESSAGE, ERROR_CODE)
ELSE
(RETURN VALID)