You are on page 1of 17

1.

Database items
2. FastFormula Application
Dictionary
Objective

 At the end of this lesson you should be able to

 Explain Database items


 Explain User Entities
 Understand how FastFormula accesses DBI
Database Items

 Database Item - An item of information in Oracle HRMS that


gives fast formula access a complete SELECT statement to
extract data from the database.

- Are accessed inside fast formula


– Strictly read only.
– Only one value returned.
– Database item cache for improved performance.
– Use “Context Values”.
 Contexts:
– Is the ‘context’ within which a Formula execution occurs.
– Examples: ASSIGNMENT_ID, PERSON_ID.
– Not visible to user: not “parameters”.
– Current architecture limits total number.

-Database Items contexts are related to the following:


– Business Group
– element and element link
– payroll and payroll run
– employee and employee assignment
Contexts:
– “Not parameters” : concrete example:
sd = ASG_START_DATE
Needs the ASSIGNMENT_ID context.
– Passed implicitly.
– Cannot ever be passed as NULL.
– Dependent on Formula Types
Database Items schema
 FF_DATABASE_ITEMS
 FF_USER_ENTITIES
 FF_ROUTES
 FF_CONTEXTS
 FF_ROUTE_CONTEXT_USAGES
 FF_ROUTE_PARAMETERS
 FF_ROUTE_PARAMETER_VALUES
DBI Example ( Simple )
 ASG_START_DATE
select min (effective_start_date) from
/* Assignment start date */
per_assignments_f
where assignment_id = &B1
Place holders are variables used in the WHERE clause to make
the SQL statement more dynamic. There are two types of place
holders, &U# and &B# (Where # is a sequence number)
&B# placeholders reference contexts in the tables
FF_ROUTE_CONTEXT_USAGES and FF_CONTEXTS.
The value of a context is NOT fixed. It is passed through by the
formula at run time.
DBI Example - Complex
NET_PAY_ASG_RUN
select /*+ RULE*/ nvl(sum(fnd_number.canonical_to_number(TARGET.result_value) *
FEED.scale),0) from
pay_balance_feeds_f FEED
,pay_run_result_values TARGET
,pay_run_results RR
,pay_payroll_actions PACT
,pay_assignment_actions ASSACT
where ASSACT.assignment_action_id = &B1
and PACT.payroll_action_id = ASSACT.payroll_action_id
and RR.assignment_action_id = ASSACT.assignment_action_id
and RR.status in ('P', 'PA')
and TARGET.run_result_id = RR.run_result_id
and nvl(TARGET.result_value, '0') <> '0'
and FEED.balance_type_id = &U1
and FEED.input_value_id = TARGET.input_value_id
and PACT.effective_date
between FEED.effective_start_date and FEED.effective_end_date
DBI Example - Complex
Place holders in the form of &U# are designed to be
used based on the user entity.
They reference parameters and parameter values in
the tables FF_ROUTE_PARAMETERS and
FF_ROUTE_PARAMETER_VALUES.
The available values for &U# place holders is fixed.
It is NOT passed through the formula.
DBI
DBI are automatically created for

– Global values,
– Balances,
– input values. – If create dbi is checked

Exception DBI for pay value is not created if "Multiple


entries allowed' and UOM is not
numeric/money/hours.
Fast Formula Application
Dictionary
 The FastFormula Application Dictionary contains
the information that FastFormula uses to generate
a complete SQL statement.

 The Dictionary stores various parts of the text of


SQL statements in several tables.
Entity Diagram
How FastFormula Uses the
Dictionary
 FastFormula gets the value in the DEFINITION_TEXT
column of FF_DATABASE_ITEMS and puts it in the
SELECT clause of the SQL statement.

 The USER_ENTITY_ID from FF_DATABASE_ITEMS is


used to get the route ID from FF_USER_ENTITES.

 The route ID is used to get the route text from


FF_ROUTES. The route text represents the FROM
clause of the SQL statement
User Entity
 EMPLOYEE_LAST_NAME is a value in the USER_NAME
column of table FF_DATABASE_ITEMS. When FastFormula
runs a formula in which EMPLOYEE_LAST_NAME is a variable,
it accesses this table for two reasons:
 It gets the value in the DEFINITION_TEXT column. This is the
value that appears in the SELECT clause of the SQL. In our
example, it is PER_PEOPLE.LAST_NAME. (TARGET is an alias
for PER_PEOPLE.)
 It identifies the user entity of which the database item is a part. A
user entity is a group of one or more database items that can be
accessed by the same route. In our example, the user entity
might be EMPLOYEE_DETAILS.
Restrict DBI in FastFormula
 There is a mechanism to restrict the database
items a formula can use. It can only use database
items appropriate to the formula context.

 FF_FTYPE_CONTEXT_USAGES holds the lists of


contexts available to a specific formula type. This
list determines which database items are
available to a specific formula.
Summary

In this lesson you have learnt about

Database Items
FastFormula Application Dictionary
User entities

You might also like