FF fundamentals
FF fundamentals
select per_extract_utility.get_latest_termination_date(&B1,EFFECTIVE_DATE)
from
per_all_people_f papf,
per_person_names_f_v ppnf,
per_people_legislative_f pplf,
per_persons pp
WHERE papf.person_id = &B1
AND papf.person_id = ppnf.person_id
AND ppnf.person_id = pplf.person_id(+)
AND ppnf.legislation_code = pplf.legislation_code(+)
AND papf.person_id = pp.person_id
AND TRUNC(EFFECTIVE_DATE) BETWEEN papf.effective_start_date AND papf.effective_end_date
AND TRUNC(EFFECTIVE_DATE) BETWEEN ppnf.effective_start_date AND ppnf.effective_end_date
AND TRUNC(EFFECTIVE_DATE) BETWEEN pplf.effective_start_date(+) AND pplf.effective_end_date(+)Here the parameters or bind variables are PERSON_ID and EFFECTIVE_DATE
These are called Contexts
4. Is it always required to explicitly set the context value?
No. There are certain context values such as Person_id, assignment_id, Effective_date, payroll_id which are ready available for the Formula type
Based on these contexts we can use DBI’s which use these contexts.
These contexts are ready available, so no need to explicitly set the value for these.
For example, if we want to get a person name,then we have to use such a DBI that uses the contexts person_id and effective_date
*****************************************************/
/*Checking for the TOBACCO_USER lookup code as 'Y' corresponding to the meaning as 'ANY'*/
If BEN_PHB_TOBACCO_TYPE_USAGE = 'Y' THEN
(ELIGIBLE = 'Y'
)
6. Using WSA:
WSA_SET
/*
** Before setting each array in the Working Storage Area
** We need to first check if each one already exists, and if so, retrieve it to add the new values.
*/
IF (WSA_EXISTS('calculated_rate','NUMBER_NUMBER')) THEN
(
log = PAY_INTERNAL_LOG_WRITE('(GLBEARN) - Array found for calculated_rate')
wsa_calculated_rate = WSA_GET('CALCULATED_RATE',EMPTY_NUMBER_NUMBER)
)
wsa_calculated_rate[ee_Id] = l_actual_amount
WSA_SET('calculated_rate',wsa_calculated_rate)
IF (WSA_EXISTS('multiple','NUMBER_NUMBER')) THEN
(
log = PAY_INTERNAL_LOG_WRITE('(GLBEARN) - Array found for multiple')
wsa_multiple = WSA_GET('multiple',EMPTY_NUMBER_NUMBER)
)
wsa_multiple[ee_Id] = multiple
WSA_SET('multiple',wsa_multiple)
WSA_GET
IF (WSA_EXISTS('unit_type','TEXT_NUMBER')) THEN
(
log = PAY_INTERNAL_LOG_WRITE('(GLBEARN) - Array found for unit_type')
wsa_unit_type = WSA_GET('unit_type', EMPTY_TEXT_NUMBER)
)