You are on page 1of 2

)*/

l_cleared = ARCHIVE_CLEAR() /* Clear Record */


RETURN
)

/* Setup data element to flex column mapping array */


C = EMPTY_TEXT_TEXT
C['PROCESS_SAL'] = '100'
/* Completed setup of data element to flex column mapping array */

/* Archive Data */
I = D.FIRST(' ')
WHILE D.EXISTS(I) LOOP (
IF C.EXISTS(I) THEN l_archived = ARCHIVE_VALUE('ACTION_INFORMATION'+C[I],D[I])
I = D.NEXT(I,' ')
)
l_archived = ARCHIVE_FLUSH()
RETURN

/******************************************************************************
FORMULA NAME: BZ EIDA LEAVE QUALIFICATION FORMULA
FORMULA TYPE: GLOBAL ABSENCE PLAN ENTITLEMENT
DESCRIPTION: THIS FORMULA EVALUATES THE ENTITLEMENT BAND BASED ON RELIGION OF
WORKER
*******************************************************************************/
DEFAULT FOR IV_END_DATE IS '1951/01/01 00:00:00' (Date)
DEFAULT FOR IV_START_DATE IS '1951/01/01 00:00:00' (Date)
DEFAULT FOR PER_PERSON_ENTERPRISE_HIRE_DATE IS '1951/01/01 00:00:00' (Date)
DEFAULT FOR L_CHECK_DATE IS '1951/01/01 00:00:00' (Date)

INPUTS ARE IV_START_DATE,


IV_END_DATE

L_CHECK_DATE = GREATEST(IV_START_DATE,PER_PERSON_ENTERPRISE_HIRE_DATE)
L_DATE = TO_CHAR(L_CHECK_DATE,'YYYY/MM/DD')
L_PERSON_ID = TO_CHAR(GET_CONTEXT(PERSON_ID,0))
L_RELIGION = GET_VALUE_SET('BZ_GET_EMPLOYEE_RELIGION','|=P_PERSON_ID='''||
L_PERSON_ID||''''||'|P_DATE='''||L_DATE||'''')

IF UPPER(L_RELIGION) = 'MUSLIM' THEN


(BAND1PAYFACTOR = 100
BAND1ENTITLEMENT = 130)
ELSE
(BAND1PAYFACTOR = 100
BAND1ENTITLEMENT = 15)

RETURN BAND1PAYFACTOR, BAND1ENTITLEMENT

/******************************************************************************
FORMULA NAME: BZ ANNUAL LEAVE DURATION
FORMULA TYPE: Global Absence Type Duration Formula
*******************************************************************************/
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_START_TIME IS '00:00'
DEFAULT FOR IV_END_TIME IS '23:59'

INPUTS ARE IV_START_DATE (DATE), IV_END_DATE (DATE),


IV_START_TIME(TEXT),IV_END_TIME(TEXT)
LN_ENTRY_DURATION_D = 0
LN_UNROUNDED_DURATION_D = 0
L_HOLIDAYS = 0
L_DURATION_EXC_HOL = 0
L_DURATION_INC_HOL = 0
DAYS_INDEX = 1
L_HOLIDAY_DAYS = 0
LD_PERIOD_START_DATE = TO_DATE(TO_CHAR(IV_START_DATE,'DD/MM/RRRR'))
LD_PERIOD_END_DATE = TO_DATE(TO_CHAR(IV_END_DATE,'DD/MM/RRRR'))
UNPAID_DAYS = DAYS_BETWEEN(LD_PERIOD_END_DATE,LD_PERIOD_START_DATE) + 1

L_PERSON_ID = TO_CHAR(GET_CONTEXT(PERSON_ID,0))

CALL_FORMULA('BZ GET HOLIDAY DAYS COUNT',


LD_PERIOD_START_DATE > 'START_DATE',
LD_PERIOD_END_DATE > 'END_DATE',
L_PERSON_ID > 'L_PERSON_ID',
L_HOLIDAYS < 'L_COUNT' DEFAULT 0)

DURATION = (DAYS_BETWEEN(LD_PERIOD_END_DATE,LD_PERIOD_START_DATE) + 1) - L_HOLIDAYS

RETURN DURATION

DEFAULT for CMP_ASSIGNMENT_SALARY_ANNUAL_FULLTIME_AMOUNT IS 0


DEFAULT for CMP_TERM_SALARY_ANNUAL_FULLTIME_AMOUNT IS 0

rule_value = ' '

if CONTEXT_IS_SET(HR_ASSIGNMENT_ID) then (
IF CMP_ASSIGNMENT_SALARY_ANNUAL_FULLTIME_AMOUNT WAS NOT DEFAULTED THEN (
rule_value = TO_TEXT(CMP_ASSIGNMENT_SALARY_ANNUAL_FULLTIME_AMOUNT)
)
)
if rule_value = ' ' and CONTEXT_IS_SET(HR_TERM_ID) then (

You might also like