1. Logon using US Super User HRSM Manager.
2. Go to Other Definitions > Formula Function.
And look for the function with the problem.
Definition is the actual Database Package name and the function.
3. Describe the code:
FUNCTION get_plan_year
( -- Input values --
p_date_earned IN DATE
)
RETURN DATE
IS
--
l_out_date DATE;
--
BEGIN
select start_date
i nto l_out_date
from BEN_YR_PERD
where p_date_earned between start_date and end_date;
RETURN l_out_date;
END get_plan_year;
-----------------------------------------------------------
END amri_ff_ben;
4. To see the register parameters for that function click in the button Context Usages:
also using next query we can see the parameter in the back end:
SELECT context_id
,context_name
,data_type
,fl.meaning
FROM ff_contexts, hr_lookups fl
WHERE fl.lookup_code = data_type
AND fl.lookup_type = 'DATA_TYPE'
and context_name = 'DATE_EARNED'
Parameters button do not have anything define in this case, because there are not any user defined parameter.
5. Find the Fast Formula definition.
Total Compensation > Basic > Write Formulas > query up formula you need.
6. Press Edit button. (sample script)
/************************************************************************
FORMULA NAME: AGE_AS_OF_PLAN_YEAR
FORMULA TYPE : Age Determination Date
DESCRIPTION : The Age determination date is 01-MAR-YYYY.
*************************************************************************
Change History:Name Date Description
----------------------------------------------------------------------------------------
Initial Version
**************************************************************************
FORMULA TEXT: Logic in simple terms.*
***************************************************************************/
/*=========== DATABASE ITEM DEFAULTS BEGIN =========*/
/*=========== DATABASE ITEM DEFAULTS ENDS==========*/
/*============ INPUT VALUES DEFAULT BEGIN ===========*/
/*============== INPUT VALUES DEFAUT ENDS ==========*/
/*================= INPUTS SECTION BEGIN =============*/
/*================== INPUTS SECTION ENDS ============*/
/*================ FORMULA SECTION BEGIN ============*/
DEFAULT FOR l_plan_date is '01-JAN-1951'(date)
l_plan_date = GET_PLAN_YEAR() /*this is the call to the external function*/
return l_plan_date
/*================ FORMULA SECTION END ==============*/
7. if you change the PLSQL, then you have to compile the formula.
to find the invalid plsql use following query:
sELECT object_type, object_name, status, last_ddl_time
FROM all_objects
WHERE owner = 'APPS'
and status != 'VALID'
AND object_type LIKE 'PACKA%%'
AND object_name LIKE 'FFP_%'
--OR object_name LIKE 'FFW_%'
but do not compile using sql*plus instea use the program:
$FF_TOP/bin/FFXBCP apps/apps 0 Y %% %%
or
$FF_TOP/bin/FFXBCP apps/apps 0 Y %% %formula_group%
or
Processes and Reports -> Submit Processes and Reports and Select Bulk Compile of Formulas
good luck.