You're almost there! Please answer a few more questions for access to the Applications content. Complete registration
Interested in joining? Complete your registration by providing Areas of Interest here. Register

GET_CONTEXT(HR_ASSIGNMENT_ID,0) returns incorrect Assignment ID when employee is on Temp Assignment.

Received Response
378
Views
2
Comments
edited May 26, 2020 5:12AM in Workforce Management 2 comments

Summary

GET_CONTEXT(HR_ASSIGNMENT_ID,0) returns incorrect Assignment ID when employee is on Temp Assignment

Content

When employee is on a temporary assignment, he has two assignments one in suspended status and one active. Absence Entry Validation Fast Formula is getting incorrect context and hence validations are failing. Can you please help me get correct context ? Formulas work fine for employees on the single assignment.

ln_ASSG_ID = GET_CONTEXT(HR_ASSIGNMENT_ID,0) gives me suspended assignment id even when leave is applied with active assignment. Please find formula below.

Version

20B

Code Snippet

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_DATA_VALUE for ANC_PER_ABS_ENTRS_ABSENCE_ENTRY_ID_ARR is 0
DEFAULT for PER_ASG_REL_ORIGINAL_DATE_OF_HIRE is '1951/01/01 00:00:00' (date)
DEFAULT FOR ANC_ABS_ENTRS_ABSENCE_TYPE_ID is 0
DEFAULT FOR PER_JOB_FAMILY_NAME IS 'A'
DEFAULT FOR ANC_ABS_ENTRS_END_DATE IS '4712/12/31 00:00:00' (date)
DEFAULT FOR PER_ASG_COL_AGREEMENT_IDENTIFICATION_CODE IS '123'
DEFAULT FOR PER_ASG_LOC_REGION2      IS 'X'
DEFAULT FOR ANC_ABS_ENTRS_ABSENCE_TYPE_ID is 0


INPUTS ARE IV_END_DATE (date), IV_START_DATE (date),IV_TOTALDURATION, IV_PERSON_ID,IV_TERM_ID

ld_effective_date = IV_START_DATE
ln_person_id =  GET_CONTEXT(PERSON_ID,0)
ln_term_id   = GET_CONTEXT(HR_TERM_ID,0)
ln_ASSG_ID = GET_CONTEXT(HR_ASSIGNMENT_ID,0)
ln_pay_assg_ID = GET_CONTEXT(PAYROLL_ASSIGNMENT_ID,0)
ln_anl_bal = 0
ln_lsl_bal = 0
ACCRUAL_PLAN_ID = 0
ln_lsl_exec = 0
ln_net_balance = 0
LOS = 0
LOS = MONTHS_BETWEEN(IV_START_DATE, PER_ASG_REL_ORIGINAL_DATE_OF_HIRE)
l_vesting_period = 0
VALID = 'N'

/* CHANGE_CONTEXTS(HR_ASSIGNMENT_ID=300000009674037) */
(
ln_entry_schedule_duration = GET_PAY_AVAILABILITY ('ASSIGN',
IV_START_DATE,
IV_END_DATE,
'Y',
'Y',
'Y',
'Y',
'H')
)

IF (TO_CHAR(IV_START_DATE,'DD/MM/YYYY') != TO_CHAR(IV_END_DATE,'DD/MM/YYYY')

Howdy, Stranger!

Log In

To view full details, sign in.

Register

Don't have an account? Click here to get started!