Extra Input
This formula type is used to pass an extra value to the payroll element which is linked to the standard rate.
Contexts
The following contexts are available:
- BUSINESS_GROUP_ID (ENTERPRISE_ID)
- EFFECTIVE_DATE
- HR_ASSIGNMENT_ID
- PGM_ID
- PL_ID
- PL_TYP_ID
- OPT_ID
- PERSON_ID
- LER_ID
- BENEFIT_RELATION_ID
- ACTY_BASE_RT_ID
- ORGANIZATION_ID
Database Items
Use only the following database items that are available to formulas of this type:
- Database items based on person’s assignment: HR_ASSIGNMENT_ID AND PERSON_ID
Input Variables
Input variables are not available to formulas of this type.
Return Variables
The following return variables are available to formulas of this type. Any name can be used for the return variable.
Out Variable Name | Data Type | Remarks |
---|---|---|
L_OUTPUT | Number/Character | Return a number/character value depending on the data type of the corresponding payroll element’s input value |
Sample Formula 1:
FORMULA TYPE : Extra Input
DESCRIPTION : Formula to get the Medical Care Reimbursement Coverage amount
P_ENRLD_BNFT_AMT = 0
l_bnft_amt_char = '0'
l_lf_evt_dt_char = ben_fn_get_char_value('BEN_PER_IN_LER'
,'LF_EVT_OCRD_DT'
,' '
,' '
,'BENEFIT_RELATION_NAME'
,'DFLT')
l_lf_evt_dt = to_date(l_lf_evt_dt_char)
l_pay_perd_end_date = TO_DATE(BEN_FN_GET_CHAR_VALUE( 'PAY_TIME_PERIODS'
,'END_DATE'
,' '
,' '
,'START_DATE'
,l_lf_evt_dt_char
)
)
CHANGE_CONTEXTS (EFFECTIVE_DATE = l_pay_perd_end_date)
(
l_bnft_amt_char = ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT'
,'BNFT_AMT'
,'Medical Care Reimbursement'
,'Coverage'
)
IF (l_bnft_amt_char <> 'N' AND l_bnft_amt_char <> 'NO_DATA_FOUND' AND l_bnft_amt_char <> ' ')
THEN
(
P_ENRLD_BNFT_AMT = TO_NUMBER(l_bnft_amt_char)
)
)
Return P_ENRLD_BNFT_AMT
Sample Formula 2:
FORMULA TYPE: Extra Input
DESCRIPTION : Get HSA Coverage Amount
COVERAGE_AMT = 0
l_eff_dt = GET_CONTEXT(EFFECTIVE_DATE, to_date('1951/01/01 00:00:00'))
CHANGE_CONTEXTS(EFFECTIVE_DATE=l_eff_dt)
(
l_cvg_amt_char = ben_fn_get_char_value('BEN_PRTT_ENRT_RSLT'
, 'BNFT_AMT'
, 'Health Savings Account'
, 'Elect')
) /* end change contexts */
if (l_cvg_amt_char <> 'NO_DATA_FOUND' AND l_cvg_amt_char <> 'N' AND l_cvg_amt_char <> ' ')
then
(
COVERAGE_AMT = to_number(l_cvg_amt_char)
)
else
(
COVERAGE_AMT = 0
)
return COVERAGE_AMT