Professional Documents
Culture Documents
Technical Foundation
Human Resources
y
l
n
O
e
I
A
&
l
a
n
r
te
14817GC10
n
I
e
Edition 1.0
January 2002
l
c
a
D34307
r
O
s
U
Author
Jeanne Cecil
y
l
n
Peter Attwood, Matthew Blowers, John Cafolla, Alison Chambers, Bob Eagles, Dave Kerr,
Ratna Kuplish, Carol Margolis, Andy McGhee, Jan Pierce, Sam Smith, Nancy Snider, John
Thuringer
This book was published using: oracle
tutor
&
l
a
n
r
te
r
O
l
c
a
n
I
e
I
A
s
U
O
e
Table of Contents
HRMS Architecture ..............................................................................................................1-1
11i Oracle HRMS: Technical Foundation ...........................................................................1-2
Objectives ............................................................................................................................1-3
Agenda.................................................................................................................................1-4
HRMS Architecture.............................................................................................................1-5
Objectives ............................................................................................................................1-6
Agenda.................................................................................................................................1-7
HRMS Architecture: Core HRMS.......................................................................................1-8
Objectives ............................................................................................................................1-9
Agenda.................................................................................................................................1-10
HRMS Products...................................................................................................................1-11
Objectives ............................................................................................................................1-12
Agenda.................................................................................................................................1-13
Oracle ERP Applications Functional View .........................................................................1-14
Application Architecture .....................................................................................................1-15
Application Tier...................................................................................................................1-16
Forms Client Applet ............................................................................................................1-17
Forms Network Traffic ........................................................................................................1-18
Oracle Applications .............................................................................................................1-19
Oracle Applications Database Objects ................................................................................1-21
Application Servers .............................................................................................................1-22
APPS Schema ......................................................................................................................1-24
Additional Schemas.............................................................................................................1-25
Multiple Organizations Views.............................................................................................1-26
Application Server Architecture ..........................................................................................1-27
APPL_TOP..........................................................................................................................1-28
APPL_TOP SubDirectories .................................................................................................1-29
Typical Product Directory ...................................................................................................1-31
File Types ............................................................................................................................1-33
Application Components and Architecture..........................................................................1-34
HRMS Product Family ........................................................................................................1-35
HRMS Suite.........................................................................................................................1-36
Information Driven Applications.........................................................................................1-38
HRMS Application Information ..........................................................................................1-39
Localizations........................................................................................................................1-41
Summary..............................................................................................................................1-42
HRMS Naming Conventions...............................................................................................1-43
Objectives ............................................................................................................................1-44
Agenda.................................................................................................................................1-45
Standards .............................................................................................................................1-46
HRMS Product Codes .........................................................................................................1-47
Legislation Codes ................................................................................................................1-48
Example Legislation Codes .................................................................................................1-49
Functional Areas: Examples ................................................................................................1-50
Object Naming Standards: Tables .......................................................................................1-51
Practice: Locate Objects ......................................................................................................1-56
Object Naming Standards: Views........................................................................................1-57
Object Naming Standards: Sequences and Constraints .......................................................1-60
Database Trigger Naming Standards ...................................................................................1-61
Practice: Identify Table Triggers .........................................................................................1-62
HRMS Functional Area Names ...........................................................................................1-63
Euro: Shadow Tables...........................................................................................................1-64
O
e
y
l
n
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
O
e
y
l
n
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
O
e
y
l
n
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
O
e
y
l
n
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
O
e
y
l
n
I
A
s
U
Globalization ..........................................................................................................................4-1
Globalization .......................................................................................................................4-2
Objectives ............................................................................................................................4-3
Agenda.................................................................................................................................4-4
Language Support................................................................................................................4-5
Objectives ............................................................................................................................4-6
Agenda.................................................................................................................................4-7
Languages and Localizations...............................................................................................4-8
Language and Currency Relations.......................................................................................4-10
Localizations........................................................................................................................4-11
A Global Character Set........................................................................................................4-12
Multilingual Table Structure................................................................................................4-13
External Documents ............................................................................................................4-17
The General Preferences Page .............................................................................................4-18
Language Choices................................................................................................................4-19
Translated Navigator ...........................................................................................................4-20
Translated Form...................................................................................................................4-21
Date Format Choices ...........................................................................................................4-22
Date Format .........................................................................................................................4-23
Number Format Choices......................................................................................................4-24
&
l
a
n
r
te
n
I
e
l
c
a
r
O
O
e
y
l
n
I
A
s
U
&
l
a
n
r
te
n
I
e
l
c
a
r
O
O
e
y
l
n
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
O
e
y
l
n
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
O
e
y
l
n
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Summary..............................................................................................................................9-56
HRMS Interfaces: APIs and Data Pump Demos and Practices ........................................10-1
Practice: Calling HRMS Business Process APIs .................................................................10-2
Instructor Demonstration Solution: Locating HRMS API code ..........................................10-3
Practice: Calling an HRMS API ..........................................................................................10-5
Calling an API: Practice Solution........................................................................................10-6
Practice: Data Pump ............................................................................................................10-11
Practice Solution: Data Pump..............................................................................................10-12
HRMS Interfaces: Tools and Utilities Demos and Practices..............................................11-1
Practice: Batch Element Entry API .....................................................................................11-2
Practice Solution: Batch Element Entry API .......................................................................11-3
HRMS Interfaces: ADE Demos and Practices ....................................................................12-1
Practice: ADE Styles and Upload Modes ............................................................................12-2
Solution: ADE Styles...........................................................................................................12-3
Solution: Using ADE Upload ..............................................................................................12-4
Extending Business Rules in HRMS ....................................................................................13-1
11i Oracle HRMS: Extending Business Rules in HRMS ....................................................13-2
Objectives ............................................................................................................................13-3
Agenda.................................................................................................................................13-4
Extensions and Restrictions.................................................................................................13-6
Objectives ............................................................................................................................13-7
Agenda.................................................................................................................................13-8
Business Rule Framework ...................................................................................................13-9
API Layers and Triggers......................................................................................................13-10
Survey of Delivered Extensions ..........................................................................................13-12
Configuration Options .........................................................................................................13-15
Summary..............................................................................................................................13-16
Custom Library....................................................................................................................13-17
Objectives ............................................................................................................................13-18
Agenda.................................................................................................................................13-19
What Is Custom Library? ....................................................................................................13-20
Custom Library Architecture...............................................................................................13-21
Custom Library Structure ....................................................................................................13-22
Uses of the Custom Library.................................................................................................13-23
Zooms: Jump to Form..........................................................................................................13-24
Zoom: Enable Zoom............................................................................................................13-25
Zoom: Call New Form.........................................................................................................13-26
Generic Event Points ...........................................................................................................13-27
'Event' Code Structure .........................................................................................................13-28
Product Specific Events.......................................................................................................13-29
Custom Library Uses ...........................................................................................................13-31
Example 1: Highlight Fields................................................................................................13-32
Example 2: Remove Field(s) ...............................................................................................13-34
Example 3: Override LOV...................................................................................................13-36
Example 4: Override Default Where Clause .......................................................................13-38
Example 5: Call Server Side Procedure...............................................................................13-40
Example 6: Defaulting Field Values....................................................................................13-42
Design Considerations.........................................................................................................13-43
Date Track Considerations ..................................................................................................13-44
Code Considerations............................................................................................................13-45
Suggested Business Rule Framework..................................................................................13-47
Fundamentals.......................................................................................................................13-48
Practice: Custom Library.....................................................................................................13-49
Summary..............................................................................................................................13-50
API User Hooks...................................................................................................................13-51
O
e
y
l
n
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Objectives ............................................................................................................................13-52
Agenda.................................................................................................................................13-53
User Hook Overview ...........................................................................................................13-54
Hook Code Relationship......................................................................................................13-56
Uses of Hooks......................................................................................................................13-57
Implementing: Overview .....................................................................................................13-58
Implementing User Hooks...................................................................................................13-59
Available User Hooks..........................................................................................................13-60
Available Data .....................................................................................................................13-64
Implementing Extra Logic...................................................................................................13-65
Register Extra Logic............................................................................................................13-67
Error Handling and Messages..............................................................................................13-69
User Hooks in the Business Rule Framework .....................................................................13-70
Practice: User Hook Validation ...........................................................................................13-71
Summary..............................................................................................................................13-72
FastFormula Extensions: Database Items ............................................................................13-73
Objectives ............................................................................................................................13-74
Agenda.................................................................................................................................13-75
Overview .............................................................................................................................13-76
Database Items and FastFormula.........................................................................................13-77
Database Item Advantages ..................................................................................................13-78
Database Items: Application Dictionary..............................................................................13-79
Components of Database Items ...........................................................................................13-80
Database Items in FF_ tables...............................................................................................13-82
Database Item Contexts .......................................................................................................13-83
Designing the Database Item ...............................................................................................13-84
Building the Database Item .................................................................................................13-85
Using the Database Item......................................................................................................13-87
Database Items - Troubleshooting .......................................................................................13-88
Practice: Database Item Components ..................................................................................13-89
Summary..............................................................................................................................13-90
FastFormula Custom Functions...........................................................................................13-91
Objectives ............................................................................................................................13-92
Agenda.................................................................................................................................13-93
FastFormula Functions ........................................................................................................13-94
Components of a FastFormula Function..............................................................................13-95
FastFormula in HRMS.........................................................................................................13-96
Delivered Formula Functions ..............................................................................................13-97
Business Requirements........................................................................................................13-98
Custom Functions ................................................................................................................13-99
Design and Limitations........................................................................................................13-100
Setup Formula Functions.....................................................................................................13-101
Practice: Creating a Function...............................................................................................13-102
Summary..............................................................................................................................13-103
Calling Formulas from PL/SQL ..........................................................................................13-104
Objectives ............................................................................................................................13-105
Agenda.................................................................................................................................13-106
Business Requirements for Formulas ..................................................................................13-107
Formulas in Business Rule Framework ...............................................................................13-108
Execution Engine.................................................................................................................13-109
Overall Process ....................................................................................................................13-110
Engine Processes .................................................................................................................13-114
Design Considerations.........................................................................................................13-115
Summary..............................................................................................................................13-118
Forms Configurator .............................................................................................................13-119
Objectives ............................................................................................................................13-120
Agenda.................................................................................................................................13-121
O
e
y
l
n
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
O
e
y
l
n
s
U
I
A
&
l
a
n
r
te
n
I
e
l
c
a
r
O
Preface
Profile
Before You Begin This Course
Before you begin this course, you should have the following qualifications:
Prerequisites
y
l
n
O
e
s
U
R11i Oracle HRMS Technical Foundation is an instructor-led course featuring lecture, instructor
demonstrations, and hands-on exercises. Online demonstrations and written practice sessions
reinforce the concepts and skills introduced.
I
A
&
l
a
n
r
te
n
I
e
l
c
a
r
O
Related Publications
Oracle Publications
Title
Part Number
A7331301
A75396-04
A7329601
Additional Publications
read.me files
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Typographic Conventions
Typographic Conventions in Text
Convention
Bold italic
Element
Glossary term (if
there is a glossary)
Example
The algorithm inserts the new key.
Caps and
lowercase
Buttons,
check boxes,
triggers,
windows
Courier new,
case sensitive
(default is
lowercase)
Code output,
directory names,
filenames,
passwords,
pathnames,
URLs,
user input,
usernames
Initial cap
Graphics labels
(unless the term is a
proper noun)
Emphasized words
and phrases,
titles of books and
courses,
variables
Interface elements
with long names
that have only
initial caps;
lesson and chapter
titles in crossreferences
SQL column
names, commands,
functions, schemas,
table names
Italic
Quotation
marks
O
e
I
A
&
l
a
s
U
n
r
te
Uppercase
r
O
l
c
a
n
I
e
y
l
n
Convention
Arrow
Brackets
Element
Menu paths
Key names
Example
Commas
Key sequences
Plus signs
Key combinations
Element
Oracle Forms
triggers
Column names,
table names
Example
When-Validate-Item
Passwords
PL/SQL objects
SELECT last_name
FROM s_emp;
Lowercase
italic
Uppercase
Syntax variables
y
l
n
O
e
I
A
s
U
This course uses simplified navigation paths, such as the following example, to direct you
through Oracle Applications.
Example:
&
l
a
n
r
te
Assignment Window
(N) People > Enter and Maintain > (M) Query-Find > (B) Assignment
This simplified path translates to the following:
1 (N) From the Navigator, select People > Enter and Maintain.
2 (M) From the menu, select Query > Find your employee.
3 (B) Click the Assignment button.
n
I
e
l
c
a
r
O
Notations :
(N) = Navigator
(M) = Menu
(T) = Tab
(I) = Icon
(H) = Hyperlink
(B) = Button
Typographical Conventions in Help System Paths
This course uses a navigation path convention to represent actions you perform to find
pertinent information in the Oracle Applications Help System.
The following help navigation path, for example
Oracle HRMS Global > Compensation and Benefits Setup > How To > Define Elements >
Define an Element
y
l
n
O
e
1. In the navigation frame of the help system window, expand the Oracle HRMS Global entry.
2. Under the Oracle HRMS Global entry, expand Compensation and Benefits Setup.
3. Under Compensation and Benefits Setup, select How To.
4. Under How To, select Define Elements
5. Under Define Elements, select Define an Element
&
l
a
I
A
s
U
This will display step by step instructions on how to complete the Element window.
n
r
te
Getting Help
n
I
e
l
c
a
r
O
Choose Window Help from the Help menu, click the Help button on the toolbar, or hold
down the Control key and type 'h'.
A web browser window appears, containing search and navigation frames on the left, and a
frame that displays help documents on the right.
The document frame provides information on the window containing the cursor. The
navigation frame displays the top-level topics for your responsibility, arranged in a tree
control.
2.
If the document frame contains a list of topics associated with the window, click on a topic
of interest to display more detailed information.
3.
You can navigate to other topics of interest in the help system, or choose Close from your
web browser's File menu to close help.
y
l
n
A list of titles, ranked by relevance and linked to the documents in question, is returned from
your search in the right-hand document frame. Click on whichever title seems to best answer
your needs to display the complete document in this frame. If the document doesn't fully answer
your questions, use your browser's Back button to return to the list of titles and try another.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Objectives
Objectives
After completing this module, you should be able to do
the following:
Describe and use interfaces, including APIs
(Application Program Interfaces)
Identify HRMS interface tools
Describe ADE (Application Data Exchange)
capabilities and setup
1-2
y
l
n
Topics
This module describes the business process approach of HRMS Development to
interfaces, which includes components behind and beyond the professional
interface (forms) for getting data into and out of HRMS. Functionality of APIs
(Application Program Interfaces or Application Programmatic Interfaces),
payroll interfaces, and ADE (Application Data Exchange) are introduced.
The components of this module can be used for:
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Agenda
Agenda
APIs (Application Program Interfaces) and Data
Pump
Additional Interface Tools and Utilities
ADE (Application Data Exchange)
1-3
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Objectives
Objectives
After completing this unit, you should be able to do
the following:
Describe and use APIs (Application Program
Interfaces)
Identify HRMS Data Pump tables and process
Discuss how Data Pump and APIs are related
1-5
y
l
n
Topics
This unit describes the HRMS APIs and their use in Data Pump. APIs are the
primary building block for most interfaces.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Objectives
Objectives
After completing this lesson, you should be able to do
the following:
Describe application development standards and
the use of APIs (Application Program Interfaces) in
HRMS
Identify public APIs and their parameters
Know how and why to use HRMS APIs
1-7
y
l
n
Topics
This lesson introduces the HRMS business process approach and the strategy of
using APIs as the foundation for HRMS data. You will learn how to identify
publicly callable and supported APIs, specific parameters, and the guidelines
for using SQL scripts to call APIs. Other tools that help to automate interfaces
are also introduced.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Agenda
Agenda
1-8
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-9
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-10
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-11
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-12
y
l
n
Centralized Logic
You can use the published APIs as an alternative data entry point into Oracle
HRMS. Instead of accessing data using the online forms, you can implement
other programs to perform similar operations.
These other programs do not modify data directly in the database. They call the
APIs which:
Ensure it is appropriate to allow that particular business and datetracked
operation
Validate the data passed to the API
Insert/update/delete data in the HRMS schema
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Using APIs
Using APIs
Java
C Code
Web
Forms
APIs
Spreadsheets
Data Loading
1-13
y
l
n
Using APIs
The effect of API design in Oracle HRMS is an insulating layer between the
user and the data-entry mode, simplifying data-manipulation and protecting
customer extensions on upgrade. The APIs are executable PL/SQL package
procedures that use parameters and provide full data validation and
manipulation. This allows you to use delivered functionality with various
interfaces, including custom interfaces.
Layers allow you to extend logic at specific points in nested procedures (using
User Hooks, discussed separately). The APIs layer allows you to execute
business rules in the database not just in the form layer. This layer:
Supports the use of alternative interfaces to HRMS, such as web pages or
spreadsheets
Guarantees that all transactions comply with configured and delivered
business rules
Simplifies integration of Oracle HRMS with other systems or processes
Provides support for initial or staged data loading
Insulates your custom logic and scripts from changes in underlying tables
Simplifies managing upgrades by limiting changes to possible parameter
additions.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Module Structure
Module Structure
Programs
APIs
Database
1-14
y
l
n
API Structure
The work carried out by each API can be split into the following three parts.
1. Check that the Business Process is Appropriate
Oracle HRMS uses system person types for specific processes. For example, a
person who applies to join company is an applicant. When the applicant is
accepted, the person details change to become an employee. This change is
achieved by the hire applicant API. The API first confirms that the person is an
applicant.
2. Validate Data Provided
Validate against the organizations business rules. For example, when entering a
new employee, you may require that the user specifies the persons nationality.
If the nationality is entered incorrectly, an error is generated. The new employee
entry is therefore rejected.
3. Database Inserts/Updates/Deletes
If the data passes validation checks, the database is modified by an Insert,
Update, or Delete, depending on the API. It is important to note that data passed
through one API often causes changes in more than one table. Rule validation
crosses table boundaries.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
p_validate
p_language
p_object_version_number
1-15
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
p_validate Parameter
p_validate Parameter
A parameter that allows you to control the insert,
update, or delete action
Boolean values
TRUEvalidate only
FALSEvalidate and manipulate (default)
1-16
y
l
n
p_validate
This parameter allows you to control whether data is actually changed or only
validated against the data, business, and custom rules. You can call the API any
number of times with the value set to TRUE, to simply validate without entering
any changes in the HRMS tables. The default value is FALSE, which both
validates and manipulates data in the HRMS tables.
For example:
If you need to route an employees information, you can hold the data in a
temporary table and validate it each time changes are made, setting the value to
TRUE. When you are ready to commit the change, simply allow the parameter
p_validate to default to FALSE.
Another example is a custom form that allows various actions to accumulate or
repeatedly change values before the user commits. In that case you would want
to validate each time data in the form changed, but make the actual change only
if and when the user saves the changes (the form commits).
parameter validate?
Manipulate?
FALSE
validate
insert, update, delete
TRUE
validate
no action on table(s)
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
FALSE
When using Validate mode = FALSE: return values for any OUT, IN OUT, and
Warning parameters will be set by the process.
TRUE
A savepoint is issued at the start of an API call with p_validate = TRUE, and a
rollback is performed once the API has completed. The process only validates,
and does not manipulate table data.
If the procedure is successful:
non warning OUT parameters are set to null,
warning OUT parameters are set to a specific value, and
IN OUT parameters are set to their original IN values.
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
p_language_code Parameter
p_language_code Parameter
Allows you to control language, used by APIs that
have
Create and update style
Multi-lingual support features
1-17
y
l
n
P_language_code
HRMS entities provide Multilingual Support (MLS), with translated values in
_TL tables. The same surrogate key ID column and value identify translated and
non translated values; the MLS API PL/SQL procedure call manages both sets
of values. The p_language_code parameter is available only on create and
update style MLS APIs; it allows you to specify the translation value language.
The parameter can refer to different base or installed languages to translate data
in the same database. If this parameter is null, the default value of
hr_api.userenv_lang refers to the default language, as in select
userenv(LANG) from dual.
Each call to an update MLS API can change the non-translated values and one
set of translated values. The API updates the non-translated values in the main
table and translated data on corresponding row(s) in the _TL table, inserting a
row into the _TL table for each base and installed language.
For further information, see the Oracle Applications Concepts Manual for
details on Principles of MLS, or the Oracle Applications Install Guide for
details on Configuration of MLS.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-18
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
User 1
User 2
Database
Address id:1
OVN:1
Town:
Country: France
Address id:1
OVN:1
Town: Leeds
Country:
1-19
Address id:1
OVN:1
Town:
Country: UK
y
l
n
OVN Example
Sequence:
Both users query the same record, retrieving OVN 1
User A updates town to Leeds.
User A commits.
API locks row for update.
API: both OVN = 1; change is accepted, updating OVN in the table to 2.
User B updates country to UK.
User B attempts to save and commit.
API database locks.
API compare fails: table OVN is 2, user B has OVN 1.
User B requeries record, retrieving the latest OVN value of 2.
User B updates record again.
OVN match; change is accepted.
Table accumulates both changes.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-20
y
l
n
Unique Parameters
The parameters for each API can be found in the documentation of the package
header, or by using SQL*Plus to describe the API. Each API has a set of
parameters that may or may not be specified. Most of the parameters map to a
database column in the HR schema. You can become familiar with the
parameters by examining the views behind various application forms, or as you
investigate tables in HRMS.
Note that the variable for any IN OUT parameter must be included in the API
parameter calling list.
Note also that parameters may change depending on which API is called. For
example, p_employee_number will be IN OUT for creating an employee, but
only IN for update.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
API Layers
API Layers
Custom / Alternative Interface layer
1-21
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
create_employee
create_us_employee
Custom /
Alternative
Interface
hire_contact
Business
Process
Layer
Business
Support
Layer
create_default_emp_asg
Ins Upd Del Lck
Person
Assignment
Element Entries
1-22
Row
Handler
Layer
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-23
y
l
n
API Usage
Initial Data Upload: When a customer purchases Oracle HR, APIs can be used
to migrate data from the legacy system without data entry clerks. You can map
data to the API parameters, load legacy data into staging tables, then call APIs
to actually populate the Oracle HRMS tables.
Multivendor Solution: Purchased applications may use different vendors. A
change in one application affects another. Instead of the user having to
remember changes, updates are applied electronically either immediately or
with the next updated batch.
Customer Specific Forms: Localization may require customers to change the
Forms which are supplied by rearranging display order or removing unwanted
fields. Changes will not have application support unless additional manipulation
of Oracle HRMS data is performed using public APIs.
Spreadsheets: You can export Human Resources data from working
spreadsheets to text files, load the data into tables, and then upload the data
using APIs.
Exception handling as described previously.
Note that commit must be handled by user scripts: API success does not commit
transactions.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
WebServer
Application
Server
Wrapper
API
1-24
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-25
O
e
y
l
n
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-26
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Summary
Summary
Having completed this lesson you should be able to
Identify publicly callable business process APIs in
Oracle HRMS
Identify and use API parameters and
Use HRMS public APIs with SQL scripts
1-27
y
l
n
Summary
APIs are the basis of most interface tools for HRMS, and you will find frequent
use for them.
Please note that you can use only the APIs on the published list.
Recall that there are historic reasons that all standard HRMS Forms do not call
APIs; however, all of Self-Service is based on APIs.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Objectives
Objectives
After completing this lesson, you should be able to do
the following:
Describe Data Pump and its relation to APIs
Recognize steps to implement and use Data Pump
Identify Data Pump Processes
1-29
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Agenda
Agenda
Data Pump and APIs
Setting up Data Pump
Processes
1-30
y
l
n
Topics
This lesson describes the HRMS Data Pump utility, which uses the HRMS
APIs. Setting up Data Pump, running the processes including the Data Pump
Engine concurrent process are discussed.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Data Pump
Data Pump
HRMS Data Ext
API
Data
Pump
External
System
1-31
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-32
y
l
n
Data Pump
Data Pump provides several advantages over writing SQL API scripts: A major
advantage of Data Pump is that, in most cases, you can define and use actual
values instead of IDs for API parameters: Data Pump automatically translates
values into IDs.
Because you map data to the parameters of the APIs, you do not need to know
the complexity of the HRMS data model.
Data Pump provides predefined batch tables and standard processes.
The Data Pump Engine is a concurrent process, for which you can enable
parallel processing by setting the PAY_ACTION_PARAMETERS parameter
THREADS value.
Technical Note
The threads value includes the master or starting process. If you set a value of
two, the main engine code will start the master and add one slave process to
make the total of two concurrent processes. When running in parallel, it is
normal that the master process can finish before the slave processes
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Meta Mapper
A set of tables
A set of views
Data Pump PL/SQL interfaces
Data Pump engine
1-33
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Meta Views
APIs
1-34
Application
Tables
y
l
n
PL/SQL Routines
Meta-Mapper delivers and generates separate PL/SQL routines for each API
supported by Data Pump. You use those routines to insert data into the Data
Pump batch tables.
HR_PUMP_UTILS.CREATE_BATCH_HEADER( )
HRDPP_<API Procedure Name>.INSERT_BATCH_LINES
For example, HRDPP_ CREATE_EMPLOYEE .INSERT_BATCH_LINES.
HELP
A Help routine, HR_PUMP_META_MAPPER.HELP ( <package_name>,
<procedure_name>), provides detailed information on parameter options for
specific procedures. Viewing the help information identifies which parameters
are required, which have lookups, default values and so forth.
The Data Pump Engine Process
The Data Pump process is a standard concurrent process that performs the data
validation and loading operations. Some of the payroll process parameters that
impact data pump are THREADS, CHUNK_SIZE, and
MAX_ERRORS_ALLOWED.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-35
y
l
n
Meta Mapper
Meta Mapper is similar to an install process; it normally runs automatically,
creating views with HRDPV_ prefix. The process needs to be complete before
you load data using the predefined APIs. However, you can manually generate
the meta layer for all supported APIs using the following PL/SQL command.
SQL> execute hr_pump_meta_mapper.generateall;
Or, you generate the meta layer for a single APIs using the following PL/SQL
command.
SQL> execute hr_pump_meta_mapper.generate
(<package_name>,<procedure_name>);
For example:
SQL> execute hr_pump_meta_mapper.generate
('hr_employee_api', 'create_employee');
Technical Note
Note that not all publicly callable APIs are supported by Data Pump. Please
refer to Metalink for current information.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-36
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-37
y
l
n
User Keys
Data Pump lets you define the unique combination of items to identify records
for loading into HRMS. For example, when you are loading Person data, you
may use a combination of Last Name, First Name, Date of Birth, Gender, and
National Identifier to uniquely identify that person. USER_KEY_NAME is
literally the user key that you define.
Defining Keys: You must define parameter user key values with a name ending
in 'user_key'. Data Pump will resolve these values into _IDs for the HRMS
system records. The parameter may have type USER_KEY, implicit type is
VARCHAR2.
Note that the user_key_name must be unique in the entire database, not just in
each business group and unique across entities. For example, you cannot use a
Person user key value of SMITH987', and an Assignment user key value also
of 'SMITH987'.
You can define many different user keys for the same system ID. If you load
data from different external systems, you do not need to make the unique keys
match.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
You can use the same key with multiple APIs to update an existing entity, or to
specify another entity. For example, two person user keys can specify a contact
relationship.
For example, create_employee requires you to supply values for
p_person_user_key and p_assignment_user_key. When creating HRMS
records, Data Pump automatically inserts your key values and the HRMS APIgenerated key values into the user keys table.
The table HR_PUMP_BATCH_LINE_USER_KEYS holds key definitions,
important columns are:
USER_KEY_ID
Sequence generated ID
BATCH_LINE_ID
FK to batch lines table
USER_KEY_NAME
Actual key value
For subsequent actions, Data Pump can use the same keys to match records
between your external system and Oracle HRMS.Therefore, use caution when
purging the user key values table. For example, deleting assignment and person
user keys would prevent you from creating a secondary assignment for that
employee. You would first need to use the add_user_key procedure to recreate
the purged user keys.
Two ways to create User keys:
1. Data Pump Inserts New User Keys
You specify user keys for several API parameters. When an API is called
successfully, a new record is created. Data Pump then inserts a new row in the
user keys table, with the name you specified and the system ID value, which is a
PL/SQL OUT parameter returned from the API.
2. Manually Insert a New User Key
If you have already loaded data from an external system, or you want to create
multiple user keys for the same system ID, you can manually insert rows into
HR_PUMP_BATCH_LINE_USER_KEYS using the
ADD_USER_KEY_UTILITY procedure.
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-38
y
l
n
Exceptions
Processing errors are generated in HR_PUMP_BATCH_EXCEPTIONS.
When loading batch lines with related data, some operations must be performed
in a restricted sequence. For example, entering salary information for an
employee must take place after the employee record has been created. With
Data Pump, you use the P_USER_SEQUENCE parameter to control the order
of processing batch lines.
Note that Data Pump accepts sequence numbers that you enter; it does not
validate them. It attempts to process in the order you define. If you use
numbers that represent an invalid sequence, the process may return validation
errors when it tries to load data.
HR_PUMP_BATCH_EXCEPTIONS
EXCEPTION_SEQUENCE Generated Sequence ID
EXCEPTION_LEVEL
MESSAGE_LEVEL lookup
SOURCE_ID
BATCH_ID or BATCH_LINE_ID
SOURCE_TYPE
BATCH_HEADER / BATCH_LINE
EXCEPTION_TEXT
Text of Exception
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
HR_PUMP_REQUESTS
HR_API_MODULES
HR_PUMP_MODULE_PARAMETERS
HR_PUMP_DEFAULT_EXCEPTIONS
HR_PUMP_RANGES
1-39
y
l
n
HR_PUMP_REQUESTS
This table is accessed when you run in debug mode.
BATCH_ID
FK to HR_PUMP_BATCH_HEADERS
REQUEST_ID
Concurrent manager request ID
SESSION_ID
session ID
PROCESS_TYPE
MASTER/SLAVE
HR_API_MODULES
This table holds API module details (procedures); it is not a specifically a data
pump table.
HR_PUMP_MODULE_PARAMETERS
This table contains details of API parameters required by the meta mapper for
generating views and PL/SQL procedures.
HR_PUMP_DEFAULT_EXCEPTIONS
This table contains details of API modules not conforming to parameter
defaulting rules.
HR_PUMP_RANGES
This table contains parallelization control information.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-40
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
CALL
Convert name to ID
Review and confirm data
1-41
y
l
n
Meta Mapper
The Meta Mapper also generates a separate package for each API. These
packages are used to move data to the Data Pump batch lines, and
simultaneously to map names to the IDs required for APIs. These packages
allow you to easily load data into the batch lines and to review the content for
specific APIs.
For example, consider the package hrdpp_create_employee. The package
contains two procedures, the first named with INSERT_BATCH_LINES,
such as:
HRDPP_CREATE_EMPLOYEE.INSERT_BATCH LINES.
The second is named CALL. This wrapper procedure is used by the Data Pump
engine; it converts user key names to IDs.
Technical Notes
Direct calls to the CALL procedure are not supported.
For a few values, data pump does not use names having user-defined meanings.
The P_ATTRIBUTEx, included on the previous page, is one such occurrence.
You need to record the meanings of attributes (descriptive flex segments),
which is available from conversion mapping.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Meta Views
APIs
1-42
Application
Tables
y
l
n
PL/SQL Routines
Meta-Mapper delivers and generates separate PL/SQL routines for each API
supported by Data Pump. You use those routines to insert data into the Data
Pump batch tables.
HR_PUMP_UTILS.CREATE_BATCH_HEADER( )
HRDPP_<API Procedure Name>.INSERT_BATCH_LINES
For example, HRDPP_ CREATE_EMPLOYEE .INSERT_BATCH_LINES.
HELP
A Help routine, HR_PUMP_META_MAPPER.HELP ( <package_name>,
<procedure_name>), provides detailed information on parameter options for
specific procedures. Viewing the help information identifies which parameters
are required, which have lookups, default values and so forth.
The Data Pump Engine Process
The Data Pump process is a standard concurrent process that performs the data
validation and loading operations. Some of the payroll process parameters that
impact data pump are THREADS, CHUNK_SIZE, and
MAX_ERRORS_ALLOWED.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-43
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Logging Options
Logging Options
PAY_ACTION_PARAMETERS table
Data Pump Parameter PUMP_DEBUG_LEVEL
PYUPIP: Oracle HRMS trace
1-44
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Running PYUPIP
Running PYUPIP
Determine request ID for running process
Run PYUPIP
1-45
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-46
y
l
n
Summary of Features
Actual values, not codes, for example:
- P_PAYROLL_NAME instead of P_PAYROLL_ID
Supports explicit ordering of operations with P_USER_SEQUENCE
Rerun and Resubmit Batch process capability
Redo unprocessed or errored lines
Run in validate only mode
User Keys are defined for complex logical keys, such as person and address
Automatic parallelization
Insert/update a row for the THREADS parameter in
PAY_ACTION_PARAMETERS
Technical Note:
When using parallel processing, use the P_LINK_VALUE parameter in the
batch lines to group transactions that must be run within the same thread. Good
practice is to load unrelated data in separate batches.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Date parameters
Boolean parameters
Out parameters
User keys
Mandatory parameters
Flexfield attribute parameters
1-47
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Meta Views
Batch Header Table
Batch Line Table
DATA
FILE(s)
SQL
Loader
Custom
Program
APIs
Application
Tables
1-48
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-49
y
l
n
Online Help
For details on how to complete the Submit a New Request window please refer
to the on line Help path :
(Help) Oracle HRMS > Getting Started and Using Oracle Applications >
Submitting a Request
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Summary
Summary
Having completed this unit you should be able to:
Explain the relation of Data Pump and APIs
Describe benefits of using Data Pump
Use Data Pump
1-50
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Objectives
Objectives
After completing this unit, you should be able to do
the following:
Identify HRMS input and output features including
HRMS Mass Information Exchange (MIX)
HRMS data flows with Payroll Interfaces
1-2
y
l
n
Topics
This unit describes the HRMS interface utilities and tools. APIs are the primary
building block for most interfaces. There are additional tools built upon APIs,
as well as separate utilities for different components of HRMS, including
interface tables for batch element entry.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Agenda
Agenda
Interface utilities
MIX (Mass Information eXchange):
1-3
y
l
n
Note
MIX end-user functions are covered in other HRMS courses:the focus here is
on options to use, extend, or configure for core HR data.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Objectives
Objectives
At the end of this lesson you should be able to:
Identify Tables used in BEE
Understand the BEE process for Element Entry
1-5
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Agenda
Agenda
1-6
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-7
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Processes
Once tables are loaded, the BEE process includes a validation option that
confirms assignment numbers and verifies required and formula validated input
values.
Control Totals and Additional Validation
Predefined control totals check the number of batch lines in a batch and verify
the sum of pay values and hours. You can create control totals for other
numerical element input values by defining a value for the _CONTROL_TYPE.
This is discussed further in this lesson.
Transfer to Entries Table
When the batch is ready for transfer to the database, you run the BEE transfer
process from the Batch Header window. This process validates then transfers
entries from the PAY_BATCH_LINES table to the Entries tables in Oracle
HRMS.
Batch Statuses
The batch status relates to the status of the batch header, all batch lines, and any
batch control totals. The following status values are possible:
Valid: All of the lines, control totals, and header are valid.
Transferred: all batches are transferred
Unprocessed: At least one line, control total, or the header is unprocessed.
Error:At least one line, control total, or the header is in error.
Status Mismatch: The combination of statuses in the header, lines, and batch
is not consistent.
Note: When entry is limited to the Batch Header and Batch Lines windows,
status mismatch is prevented.
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
PAY_BATCH_HEADERS
PAY_BATCH_LINES
PAY_BATCH_CONTROL_TOTALS
PAY_MESSAGE_LINES
1-8
y
l
n
PAY_BATCH_HEADERS
Headers include information uniquely identifying each batch.
PAY_BATCH_LINES
This table hold lines of data for each BEE batch, corresponding to one entry for
each element for each assignment.
PAY_BATCH_CONTROL_TOTALS
Control totals are user-defined information to validate batch data.
PAY_MESSAGE_LINES
These hold details of messages produced while running the process. The
SOURCE_TYPE of the message can be identified by a single letter.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
BEE: PAY_BATCH_HEADERS
BEE: PAY_BATCH_HEADERS
Key Columns
Result: BATCH_STATUS
Process Rules:
ACTION_IF_EXISTS
REJECT_IF_FUTURE_CHANGES
Identification:
BATCH_ID
BATCH_SOURCE
1-9
Key Columns
BATCH_NAME
BATCH_STATUS
E = Error
T = Transfer
U = Unprocessed
V = Valid
W = Warning
ACTION_IF_EXISTS
I = Insert
R = Reject
U = Update
DATE_EFFECTIVE_CHANGES
C = Correct
O = Update/Override
U = Update/Change Insert
PURGE_AFTER_TRANSFER: Y/Yes or N/No
REJECT_IF_FUTURE_CHANGES: Y/Yes or N/No
I
A
&
l
a
y
l
n
s
U
n
r
te
n
I
e
l
c
a
r
O
O
e
BEE: PAY_BATCH_LINES
BEE: PAY_BATCH_LINES
Key Columns
Line Identification
Element Type
Entry Type
Batch Line Status
1-10
Key Columns
BATCH_LINE_ID
ELEMENT_TYPE_ID
ASSIGNMENT_ID
BATCH_LINE_STATUS
E = Error
T = Transfer
U = Unprocessed
V = Valid
W = Warning
ENTRY_TYPE
A = Additive Adjustment
B = Balance Adjustment
D = Additional Entry
E = Element Entry
R = Replacement Adjustment
S = Override
&
l
a
y
l
n
O
e
I
A
s
U
n
r
te
n
I
e
l
c
a
r
O
1-11
y
l
n
Predefined Validation
BEE Validation includes verifying that:
Employee exists on the transaction date and has element eligibility
Employee is not paid after termination
Override element validation
Transactions do not incur excessive pay
Total hours do not exceed weekly regularly scheduled hours
Changes in base rate for hourly time card entries
Sufficient accrual time for PTO pay
Cost center and labor distribution codes are mapped.
Control Totals for Numeric Input Values
End users can use predefined control types to validate a BEE batch against
numeric control totals for batch line count, sum of pay value entries, or sum of
hours entries.
End users can create additional control codes for other numeric input values, by
using the lookup type CONTROL_TYPE and adding a code using the naming
convention: _TOTAL_COLUMN_<input_value_name>_ and entering the
input value name for the meaning. The check will compare the entry to the sum
of the numeric values for that named input value.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Other Validation
You can specify business rules in PL/SQL in pyusrchk.pkh and pyusrchk.pkb to
validate the batch header, lines, and control totals. The file can be found under
$PAY_TOP/admin/sql,package PAY_USER_CHECK.
Control Values: You can define control values other than numeric sums, using a
different naming convention for the control lookup code.
Batch Header and Lines: Any validation that you can define in PL/SQL can be
implemented to check the batch header or lines.
Instructor Note select text from all_source where name =
'PAY_USER_CHECK and type ='PACKAGE BODY order by line
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-12
y
l
n
Online Help
For details on how to complete the Submit Requests Window please refer to the
on line Help path :
(Help) Oracle HRMS > Getting Started and Using Oracle Applications >
Submitting a Request
Instructor Note:
Inform the students that the first level in the Online Help path, which starts with
Oracle HRMS, should be substituted with their local Oracle HRMS menu tree
path level.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Summary
Summary
Having completed this lesson, you should be able to:
Identify the BEE tables
Understand the BEE process
Know where to extend batch validation
1-13
Additional Notes
Note that element entries can be deleted for employees using the API:
py_element_entry_api.delete_element_entry
O
e
y
l
n
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Objectives
Objectives
After completing this lesson, you should be able to do
the following:
Identify options in HRMS MIX: System Data Extract
1-15
y
l
n
Topics
This lesson describes the System Data Extract, which is delivered in core HR,
available in the menu as a MIX (Mass Information eXchange) function. The
extract is designed for Benefit information, but is available as part of core HR
and provides a powerful utility for extracting data without coding.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Agenda
Agenda
System Extract
1-16
y
l
n
Data Extract
Benefits Reporting Groups and Regulatory Definitions are covered in the
Standard and Advanced Benefits System Extract unit in certain Benefits
courseware. The intent of this lesson is only to introduce the Data Extract as an
option for HR or HRMS data extraction.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-17
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Extract Definition:
Extract Definition:
Data Elements
Record Layout
File Layout
1-18
y
l
n
Extract Definition
Before creating an extract, you need to determine the information you need,
selection criteria, and map those to the elements available. Extract data elements
are predefined and cannot be extended.
Data elements can be used repeatedly, and defined record layouts can be used in
multiple files. At the time of writing, there are about 800 data elements
available.
You can query the list of data elements using this SQL command:
Select substr(name,1,50) name, lvl_cd
from ben_ext_fld order by 1;
A hierarchy controls data element availability. The concepts of levels, branches,
and planes define the data extract hierarchy.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Extract Levels
Extract Levels
Plane 1
Person
<branch>
Plane 2
Eligibility
Enrollment
Run Results
Element
Plane 3
Beneficiary
1-19
Dependent
Action Item
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Extract Levels
Extract Levels
Data Extract Elements
Rule: Extract Person Data Element
Rule has Contexts
Rule can access Functions
1-20
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Summary
Summary
Having completed this lesson, you should be able to
do the following:
Identify options in HRMS MIX: System Data Extract
1-21
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Objectives
Objectives
After completing this lesson you should be able to do
the following:
Identify Data Loaders
Discuss Mass Update Functions
1-23
y
l
n
Topics
This lesson describes data loaders provided with Oracle Applications and
HRMS specific functions. The purpose of this lesson is to inform you of the
tools and reference information, including product direction.
Note about other data loaders
MIX: BEE (Mass Information eXchange: Batch Element Entry) and the Generic
Payroll Interface Kit: Forward Feed are covered in separate lessons. The Payroll
Interface Kit is in a separate lesson that includes both Forward Feed and
Backfeed.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Agenda
Agenda
Data Loaders
ATG (Application Technology Group) Data loading
tools
HRDU (HR Data Uploader)
Mass Updates
1-24
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Data Loaders
Data Loaders
Utilities used by Applications Development
Utilities Delivered with Applications
HRMS Utilities
1-25
Data Loaders
The ATG (Application Technology Group) of Applications Development
maintains data loaders for use by various application product groups. These
include data loaders used for seed data, which are then delivered with the
applications in data files. HRMS customers can use certain data loaders for
specific entities, such as Extra Information Types; HR Development
conditionally provides direction for these utilities in localization efforts.
O
e
y
l
n
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
ATG Dataextract/Datamerge
ATG Dataextract/Datamerge
Used during core application installs, upgrades
Similar to export and import
With option to specify data
1-26
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Datamerge
Datamerge can also be used independently of Autoinstall. The Datamerge utility
is located in $AD_TOP/bin; you run it from the directly from the product top
directory, where the install or import files are located.
For more information, see Metalink Note:1009726.6
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-27
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
HR Data Uploader
HR Data Uploader
HRMS Data
Data in Spreadsheet
Data Pump process
Calls HRMS APIs
API
Data Pump
Process
Data
Upload
Process
Data
Pump
External
Data
HRDU
1-28
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-29
y
l
n
HR Data Uploader
This utility is provided for specific use in these limited areas of the HRMS
product:
The Payroll Backfeed, which is described as part of of the Generic Payroll
Kit, uses HRDU to move third party or external data into HRMS tables.
Another feature of HRMS that uses HRDU is synchronization of cost
allocation information with Oracle G/L. (Note that terminology for this
feature is subject to change, pending release.)
Competency Management in Oracle Training Administration interfaces with
SkillScape starter skills dictionary (third party product); the dictionary is
loaded using HRDU. For further information, please refer to the White
Paper entitled Installing the SkillScape Starter Skills Dictionary, available
on Metalink.
Technical Note:
HRDU is strictly limited to these uses; it is not available for customer use, such
as with HRMS APIs.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
SQL
SQL
SQL scripts
Third Party data
Legacy data
Staging tables
1-30
y
l
n
SQL scripts
You can use SQL to insert, update, and delete data external to Oracle
Applications data. For example, you may have interface or staging tables that
contain external or legacy data. You can correct data using SQL. You must use
APIs or an approved utility to move data into Oracle tables.
Note: Directly manipulating data in the Oracle HRMS tables violates Support
for the application. If an occasion occurs for which you think this is required,
you need to contact Oracle Support for assistance.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Mass Updates
Mass Updates
Mass Updates
Across Organizations
Extend API logic with User Hooks
1-31
y
l
n
Mass Updates
These function allow end-users to query and make datetracked changes to many
assignments or positions at once. Users have comprehensive search criteria in
the professional interface (Forms), then also can remove subsets of the search
results before making changes. Datetracked update or correction can be
applied.
Assignments and positions within different organizations, but within one
Business Group, can be accessed together.
Attributes included in the HRMS APIs can be changed: there are global, US,
and UK versions of the Mass Assignment Update Form. The US and UK
versions allow access to update of the soft-coded legislation, such as GRE
fields.
Both successful commits and any errors raised by the APIs are identified: the
user can change an individual record and resubmit the change.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Summary
Summary
Having completed this lesson you should be able to
explain other methods of data loading:
Dataextract/Datamerge
ATG Data Loaders and APIs
HRDU
SQL scripts
Mass Updates
1-32
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Interface Direction
Interface Direction
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Objectives
Objectives
At the end of this lesson you should be able to:
Identify interface types in Oracle Human Resources
Identify options and limits for HRMS interface types
1-34
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Agenda
Agenda
1-35
y
l
n
Topics
Lessons dedicated to other interfaces such as APIs, MIX functions, Data
loaders, and the Payroll Interface Kit are covered separately. This lesson
provides basic information about interfaces, some specific and limited to certain
legislations, available with Oracle HRMS.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Interface Builders
Interface Builders
HRMS Development partners
Consulting
Localization groups
1-36
y
l
n
Interface Builders
Optimum interfaces provide a seamless integration of Oracle Applications and
applications external to Oracle, from other vendors and customers. These
interfaces are built through a number of sources such as:
Oracle Consulting
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-37
y
l
n
Outbound Data
Data uploaded to an external database or tables external to Oracle HRMS is
extracted through views. For example, the interface for US Ceridian Payroll
uses deduction views as in the following statement:
Select employee_number, company, deduction_descr, recurring_flag, amount,
deduction_limit
From hr_ceridian_deduction_v
Inbound Data
Data uploaded into Oracle HRMS uses APIs that validate data and update the
HRMS tables.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Interface Types
Interface Types
Payroll
Oracle Payroll
Generic Payroll Interface Kit
Legislation-specific Payrolls
Delivered Third-Party Interfaces
1-38
y
l
n
Interface Types
Interfaces can be divided into types based on functions and impact on the
delivered system. Specific interfaces may have legislative limitations,
particularly for Payroll. Identifying interfaces available with Oracle HRMS
provides an advantage in presenting phased and complete solutions.
Payroll
The most tightly integrated payroll system with Oracle HR is Oracle Payroll.
The same data structures and processes are shared, eliminating duplicate data
entry. Oracle provides legislation-specific payrolls for an increasing number of
countries. In addition, Oracle delivers a Generic Payroll Interface Kit that
allows interfacing of third party payrolls with Oracle HR. The Generic Interface
uses different forms and entities than Oracle Payroll, allowing sites with
multiple payroll vendors to use both Oracle Payroll and third-party or custom
payrolls without conflict.
Interfaces for outsourced US payrolls include specific packages for: Ceridian,
ProBusiness, and ADP.
Competency Management
Oracle HR delivers upload facilities for the SkillScape starter skills dictionary.
The dictionary is loaded into competency tables for Oracle HR and Oracle
Training Administration.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Employee Development
Online employee development package, eAdvisor PDI, can be accessed from
Oracle HRMS.
Tax Compliance
Vertex can be used by Oracle Applications for US address validation; Oracle
US Payroll fully integrates with Vertex for tax compliance.
Time and Attendance
In addition to Oracle Time and Labor, an application interface between Kronos
solutions and Oracle HRM uses the MIX: BEE interface. The interface maps
Timekeeper Central to Oracle Payroll. Data from HRMS can be downloaded
into the Kronos solution.
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Vendor-Specific Interfaces
Vendor-Specific Interfaces
HR Development involvement
Long-term relationship with partner
Incorporate into core product
Supported by Oracle
1-39
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Summary
Summary
Having completed this lesson you should be able to
Identify interface types in Oracle Human Resources.
1-40
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Objectives
Objectives
At the end of this lesson you should be able to:
Describe Payroll Integration with Oracle HR
Discuss the Generic Payroll Interface Kit
Identify what can be configured and extended in the
Payroll Interface Kit
1-42
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Agenda
Agenda
1-43
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Payroll Interfaces
Payroll Interfaces
Payroll Integration with Oracle HR
Oracle Payroll
Vendor Partner Payroll
Payroll Interface Kit
1-44
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Overview of Toolkit
Overview of Toolkit
Oracle HR: Views for Extract
Supporting code:
Trigger control
Extract verification
Sample script
Documentation: User Manual
1-45
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
HRMS Data
Validate
Correct as necessary
Extract as necessary
Interface
Views
Validation
Extract
1-46
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Data Flow
Data Flow
Third Party
Payroll
Payroll
Result
Feed
Reformat
Data
Pump
Tables
Oracle
HRMS
Upload
Payroll
Upload
Forward
Feed
Extract
File
Oracle
1-47
Backfeed
Tables
APIs
Custom Code
Backfeed
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Data
Pump
Tables
Payroll
Results
Feed
APIs
Backfeed
Tables
Oracle
HRMS
Payroll Upload
Extract
Process
Template Views
?
Last_update _date
1-48
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Backfeed
Backfeed
1-49
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
HR Setup Considerations
HR Setup Considerations
Employee Types
Addresses
Phones
Elements
1-50
Setup Considerations
Analyze requirements in advance of setting up Oracle HR and your payroll
system(s).
Complete installations, resolving issues before implementing the payroll
interface kit.
Employees who will be in the extract need to have
unique employee number
a primary address using the primary address flag
in order to be included in the extract views, and for the views to function
properly.
Employee Types managed by the interface kit include:
New Hires
Current employee
Re-hired employee
Terminated employee
Assignment Status includes:
Current Assignment
Terminated Assignment
Future-dated Assignment
O
e
y
l
n
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Setup Restrictions
Setup Restrictions
Elements
Bonuses
Working Hours
Costing
Personal Payment Methods
1-51
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Interface Views
Interface Views
Employee
Special Information
Contacts
Assignment
1-52
y
l
n
Interface Views
The payroll interface toolkit views have names starting
HR_PAY_INTERFACE_
For data to remain synchronized between Oracle HR and the payroll
application, primary keys must be identified. All the delivered views have a
common person_id column for ease in configuration.
For the interface template views, specific keys are recommended. Triggers
prevent users from actions that update these primary keys (triggers discussed
later).
For ease of customization: views return the first three attributes of descriptive
flex field segments for included tables, where possible.
An example script that describes how to change the extract date is pegpiexp.sql.
The package that creates utilities and sets the extract date is
pegpipkg.pkh and .pkb.
Employee views include employee information, contacts, special information,
and assignment information.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Interface Views
Interface Views
Costing
Elements
Deductions
Salary Views
1-53
y
l
n
Views
Separate views include assignment costing and assignment costing with G/L
accounting flexfield values.
Five element views vary by the number of input values they can each retrieve.
The naming convention is hr_pay_interface_ele_ent_1_v.
Specific instructions for numbering input values and other element setup are
described in the interface toolkit documentation.
Two interface views for salary information correspond to the salary access
methods in Oracle HR. The view hr_pay_interface_sal_admin_v uses the Salary
Administration module to retrieve only approved salary proposal details. Salary
is retrieved from PAY_ELEMENT_ENTRY_VALUES_F, avoiding a possible
end-dated approved salary proposal element entry and a value in nondatetracked PER_PAY_PROPOSALS F.
Salary information based on the Oracle HR grade module is extracted using the
view hr_pay_interface_grade_rates_v.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Backfeed APIs
Backfeed APIs
Payroll Run
Payment Detail
Balance Amount
1-54
y
l
n
Backfeed APIs
These APIs map between delivered Data Pump and Backfeed tables
in Oracle.
Create_Payroll_Run API: payroll name, business group, payroll name, payroll
identifier, effective date, start date, end date, and process date.
Create_Payment_Detail API: includes payroll_run_ID, payment_date,
Employee_number, amount, currency_code, check_number, check_type,
org_payment_method,
Create_balance_amount API: includes the fields employee_number, effective
dates, payroll_run_ID, currency, and balances for dimensions, including:
FYTD, MTD, PTD, QTD, Run_amount, YTD.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-55
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-56
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Dynamic Triggers
Dynamic Triggers
R11i.2+
Dynamic Trigger Control
Professional Interface (Form) control
Enable triggers for Generic Payroll Interface
1-57
y
l
n
Dynamic Triggers
The Release 11.5 Generic Payroll Interface Toolkit (and R11i.2) uses Dynamic
Trigger Control, with a Functional Area Form from which to enable and disable
the triggers.
The triggers are delivered disabled; you need to enable the triggers in order to
utilize the Generic Payroll Interface.
For more details on the Trigger Control functionality, and how to enable and
disable the triggers, see the document entitled Dynamic Trigger Generation
available on Metalink.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-58
y
l
n
Interface Models
The model for interfacing with Oracle HR
Use APIs to move data into Oracle HRMS tables
Use HRMS views to extract data from Oracle HRMS tables.
This is the model for the Oracle Generic Payroll Interface Toolkit; this model
and toolkit is the also the framework for vendor-specific payrolls. You can use
this model for interfaces with other products or systems.
References
The Oracle Applications manuals, available online, are supplemented by the
Payroll Integration Kit manual (available on Metalink) for more information
about the integration of products.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Summary
Summary
Having completed this lesson, you should be able to
do the following:
Describe Payroll Integration with Oracle HR
Discuss the Generic Payroll Interface Kit
Identify points for customization in the Payroll
Interface Kit
Locate Payroll Integration Kit References
1-59
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
ADE (Application
Data Exchange)
Chapter 9
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Objectives
Objectives
After completing this unit, you should be able to do
the following:
Describe ADE (Application Data Exchange)
Identify User Types
Identify Modes of operation
1-2
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Agenda
Agenda
ADE (Application Data Exchange)
Features of the product
How ADE works
Installing ADE
Using ADE
Troubleshooting ADE
1-3
Topics
Definition, purpose, setup, and use of ADE.
Considerations for ADE in supported Application releases
Installation
Post-installation steps
R11i ADE
Using ADE:
- Modes and Styles
- Querying, Uploading, and Letters/Mail Merge
Troubleshooting
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
O
e
y
l
n
1-4
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Process Overview
Process Overview
For each of the Application environments:
Launch ADE
ADE reads from generated files & parameters
ADE makes database connection
User can query, download, or upload data
1-5
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Applications Mode
Applications Mode
ADE
ADE Data
Query
Excel
Database
Call API
1-6
y
l
n
Applications Mode
Applications modes include
Exporting a query and format structure
Standard Forms and styles
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-7
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
ADE in 10.7sc
ADE in 10.7sc
Client
Application
16-bit SQL*Net
HRMS
32-bit SQL*Net
Hrio.tx t
ADE
1-8
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
ADE in NCA
ADE in NCA
Web Applications Server
Forms Session
HRMS
Browser
Client
32-bit SQL*Net
Launcher
1-9
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
ADE in NCA
ADE in NCA
Client
HRMS
Hrio.txt
32-bit SQL*Net
ADE
ADE Details
Launcher
1-10
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
HRMS
Client
Hrio.txt
Net8
Browser
ADE
1-11
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-12
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
ADE Components
ADE Components
HRIO.txt:
Form Name
Date
Username / Responsibility
Query
Business Group ID
Parameters
Application username, password, database
GWYUID, FNDNAM
1-13
y
l
n
ADE Components
Generated ADE files include HRIO.txt, which contains details such as:
the name of the form which called ADE; this is required to determine the
styles which you make available during setup
the date
username and responsibility
the last query performed by the form; you can choose to enable the user to
recreate the last query by providing the function
the business group ID.
Parameters: ADE requires parameters, generally, they include the application
username, password and database which to connect to the GWYUID and
FNDNAM. These parameters are required to establish a secure connection to
the database and fulfill Oracle application security restrictions.
Connection: ADE always uses 32-bit SQL*Net connections, which must be
configured on the client.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
ADE Modes
ADE Modes
3 Modes of Access and Operation
Standalone Launch from Desktop
Applications Launch from Toolbar Icon
Letter Generation / Mail Merge
1-14
y
l
n
ADE Modes
The user task to perform dictates which of three modes is used:
Standalone. ADE is invoked from your PC desktop and run independently,
without accessing either HRMS or OTA. To run ADE standalone, launch ADE
from the desktop, then log in with your Application username and password.
You then choose a responsibility, as you do in the applications; this allows ADE
to make a secure connection to the database. Once connected, you can query,
export, and upload data.
Application. Invoke ADE from the application toolbar button to run within
HRMS and OTA. Using ADE in application mode, you can:
launch another application directly (without transferring data to the
application) and run it separately from your application.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
transfer data from your database to the built-in ADE spreadsheet, then either
launch a word processor or spreadsheet application to perform a mail merge or
you can analyze the data. You may launch such applications as:
- a spreadsheet program, such as Microsoft Excel
- a word processor, such as Lotus Notes or Microsoft Word
- Discoverer
- SQL*Plus, or
- a third party program.
Letter request and Mail Merge.
In the Application: Invoke ADE from the Merge button in the Request Letter
window in Oracle HRMS or Oracle Training Administration when you want to
use HR data to produce standard letters for recruitment or enrollment.
In Standalone or Application mode, you can export the queried data, then
launch Microsoft Word to run the Mail Merge.
Technical Note
Note that Styles correspond to these modes; discussed later in this lesson.
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-15
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-16
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-17
y
l
n
Installing ADE
InstallShield (not Oracle Installer) installs ADE: begin install by running
Setup.exe from the ADE setup media. You can override the default location ,
C:\Program Files\ADE.
All required VB libraries are written to the appropriate windows directory.
Note: In R11i, Oracle Object files are moved to the Windows System directory,
not to the ADE/Oracle subdirectory (as in earlier releases); the path is modified
correspondingly. The installer finds and backs up any ADE.ini file that might
remain from a previous ADE installation. The ADE.ini includes style
identification.
An icon is added to the Program menu, used for launching ADE standalone.
Setup detects standard word processor and spreadsheet packages, and adds them
to the ADE setup. It may also adds an /e or /n to the end of the name in the
path you need to remove that.
These steps complete the install: ADE is almost ready to use standalone.
In NCA environments, you may need to enter GWYUID, FNDNAM, and
LOCAL values in ADE.ini, for an initial ADE connection to the database. If so,
manual edits to ADE.ini must be corrected using OVERRIDE mode.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Define Options
Define Options
System Administrator: Options
Paths for Desktop Utilities
Word Processor
Spreadsheet
Letters
Miscellaneous Options
Vendor for Mailmerge
Maximum Rows in Transfers
1-18
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-19
y
l
n
System Administration
Database Connection
If there are no database details in other INI files, ADE initially connects using
GWYUID and FNDNAM and LOCAL specified in the Options tab. This
occurs in R11 setup, requiring initial definition after the installation. The user
can override these values on the command line.
Views
Another System Administration task is to define the views for ADE users to
query, including prefixes for ADE to recognize. By default, ADE recognizes
views with the prefix HRV_. SYSADMIN user can add to this default.
The ADE Views button directs ADE to write out SQL to create a view, based
on a query just performed. This function is enabled by including the function
HRIO_Enable_Views in a menu.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Identify Tools
Identify Tools
Configure to retrieve and export needed information
Install a spreadsheet application
Install a word processing application for mail
merges
1-20
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-21
y
l
n
Define Menus
ADE function access is controlled by the user responsibility at login to ADE or
the application. Identify these functions in the appropriate menu.
HRIO Enable Options allows access to ADE sysadmin options, such as
changing path or the database connection. These Sys Admin functions are
normally performed by the installer. A user with access to this function will be
directed to the Options window at login, whether in Standalone or Applications
mode, precluding standalone mode as an ADE end-user.
Note: If a user in Applications mode sees only the Options window, it is
because the function is included on a menu or submenu associated with the
responsibility. This can be resolved by excluding the function from the specific
user or responsibility.
The remaining HRIO functions impact users accessing ADE from the
HRMS/OTA Applications.
HRIO Default Query allows a user to perform the last query performed by the
Application, which is usually the last query performed by the Form from which
ADE is launched.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
HRIO Enable Upload permits a user to select the Upload button on the Fetch
Data window, to upload modified applications data which has been exported
from ADE.
HRIO Enable Styles enables a user to choose a button that pulls data from the
Data Preview window, creating a new style from that data.
HRIO Enable Views enables a user to pull data from the Data Preview window,
creating a new view. The enabled button initiates the function requesting ADE
to create a SQL view definition, based on the Form SQL. The resulting view
can be used in ADE Standalone or by a data query tool.
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Setup Checklist
Setup Checklist
Standalone Mode Setup:
Create Views
Create Styles
1-22
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-23
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
ADE.ini
HRIO.txt
HRIO.qry
HRIO.xls
1-24
y
l
n
HRIO files
Note that ADE prefix HRIO is used for default filenames. You can save queries
and data by renaming the HRIO files; otherwise, subsequent ADE actions will
overwrite the HRIO files.
HRIO.qry saved query file
HRIO.xls temporary .xls
Mail Merge files are standard Word documents. One is created for each
standard letter or report you want to generate using ADE. The document
contains the letter text and fields to merge the data.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Using ADE
Using ADE
2 distinct users:
privileged user (SYSADMIN)
normal user
3 main uses:
querying data
uploading data
performing a mail merge
3 modes of operation
1-25
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
ADE Security
ADE Security
1-26
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Manage Styles
Manage Styles
Use the Styles page to:
Create a new style
Delete a style
Modify a style
1-27
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
ADE Styles
ADE Styles
Styles define Data for Query and Upload
GENERAL: Available in Standalone
FORM: Associate with particular HRMS Form
LETTER: Associate Document with letter/mail merge
1-28
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Create Styles
Create Styles
Modes of Operation correspond to Styles
Associate Style with
Responsibility
Form, View, Letter / Document
Upload API
Define Columns
Field, Name, Display Width, Data Type
Update Options
1-29
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Style Columns
You can select Default to enter all the columns available for a particular style.
You can then modify the column information to suit your needs.
In the Style Columns tab, for a given style, you enter:
Field Name the label to appear in your spreadsheet.
Column Name - the name of the queried data column from the view or from the
Form base table.
Column attributes include Width, Upd? (Upload), General (Display/Update
characteristics), and Datatype.
W represents the width of the field on the Spreadsheet.
Upd? is the Upload option
0 = Displayed in Spreadsheet, non updateable, not an API parameter
1 = Displayed in Spreadsheet, updateable and an API parameter
2 = Not displayed in Spreadsheet, and is an API OUT parameter
3 = Not displayed in Spreadsheet, an API IN/OUT or OUT parameter
4 = DT parameter to API
General (Note that the meanings of these values differ between GENERAL and
Upload Styles)
0 = Field displayed, but not updateable
1 = Field displayed & updateable
2 = Field not displayed
Type (Datatype)
V = Varchar2
N = Numeric
D = Date
Lookup Type: name of the view that returns a list of values
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
ADE Queries
ADE Queries
Query in Standalone or Application mode
User can restrict query in each mode
1-30
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Define Query
Define Query
Define Query Screen
Define Queries
Query in Standalone
1-31
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Querying Data
Querying Data
Application Mode
Fetch Data window
Form name
Start query execution
1-32
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-33
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Upload Data
Some ADE queries will allow you to modify applications data in ADE and then
upload the modified data to your applications database. The sequence of highlevel steps is:
1 Perform a query on your applications data
2 Save the spreadsheet.
3 Edit the data in Excel.
4 Upload the modified data.
For more information, please refer to the Online Help path:
(Help) Oracle HRMS > ADE (Application Data Exchange) > Setup ADE >
How to > (link) Additional Setup > Create Styles for Upload
For example, the Salary Administration query style will allow you to download
salary proposal detail, change the data, then upload the changes.
Note: Using the Salary Administration Window is covered in the Salary
Administration course.
Instructor Note:
Inform the students that the first level in the Online Help path, which starts with
Oracle HRMS, should be substituted with their local Oracle HRMS menu tree
path level.
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-34
y
l
n
Application Mode
To query and export data from an application window
Query an application window to retrieve data record(s).
Launch ADE from the application toolbar.
In the ADE Fetch window, select a style from the list by the window name.
The Fetch button transfers data to the Data Preview window.
The Start button fetches, transfers data and directly launches your word
processor or spreadsheet application. ADE is iconized while the program runs.
From the Start Program options, select an action:
None (refers to another application) only transfer data to the built-in ADE
spreadsheet.
Word Processor - launch word processor to perform a mail merge.
Spreadsheet - launch spreadsheet application to analyze or report on the
data.
Note: When you run an Oracle program, you are connected using the same
secure user Oracle ID you used to access Oracle HRMS or OTA.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-35
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-36
y
l
n
Letter Request
Letter Request mode is launched by selecting the ADE icon in the PERWSRQL
form in HR or OTA. Select a letter request in the form: it is queried, then
parameters (including the style) specifying the letter request are passed to ADE
as ADE is launched. ADE then launches Word, and you can perform the mail
merge.
Letter request mode can generate standard letters for recruitment and
enrollment.
You can also use ADE in standalone mode and application mode to generate
other standard letters.
ADE retrieves data and exports it to a data file that is merged with a standard
word processing document, which contains all the required merge fields and the
standard letter text.
Note: Oracle HRMS and OTA provide other methods for generating standard
letters and reports using a mail merge, which do not require ADE to be installed
on the PC.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-37
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
A LETTER Style requires the name of a view and the name of the Letter. You
can select the Multiple Rows box if required.
Select the Save Changes button to save the style, then define data columns from
the Style Columns page in the Options window in Standalone mode.
You can access details to modify a column: double-click the cell to activate the
Edit Cell window.
You can insert or delete columns by selecting the row and choosing the Paste or
Cut button.
Save or Undo your changes before using the Back button.
Mail Merge
Use Word mail merge facilities to merge ADE-exported data to generate
standard letters:
Start ADE in standalone mode and log in as System Administrator.
On the Paths page, select the Test button to display the Select Style window,
then select the style to be used to export data from the mail merge.
Select OK to confirm and start Word. Word opens a document called
HRIO.RTF, which contains mail merge fields.
Enter or edit the letter text, and rearrange the merge fields in the document.
Save the finished mail merge Word document in the Letters directory.
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-38
y
l
n
ADE.ini
We have discussed ADE Styles and settings. All these definitions are saved in
the file named ADE.ini. This file is installed with ADE, and initially contains
default styles and definitions.
When you create or edit a style or settings, the changes are recorded in the
ADE.ini file. This file features a checksum to validate against manual edits.
ADE will not start if this file is not validated and correct. However, there are
cases in which you might need to edit the file.
Previous ADE setup on a PC may exist. ADE.ini will override those settings.
For this reason, it is critical to completely download ADE when installing.
Complete and current installation precludes many issues.
To verify login and complete connection to the database, the values for
GWYUID, FNDNAM and LOCAL are set in ADE.ini.
Validate Checksum in Override
If you manually edit ADE.ini, such as you might at installation, you must verify
it by running ADE in OVERRIDE. From the command line, enter:
HRIO.exe OVERRIDE.
Next, login as SYSADMIN to access and exit the Options screen. This action
corrects the checksum. From this point, users can log in to ADE normally
(without OVERRIDE).
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Sharing ADE.ini
The ADE.ini can be shared over a network to avoid manual edits on multiple
PCs. The process is platform-specific:
On Windows NT, use Settings > Control Panel > System > Environment to
create the variable HRIO_ADEDIR and define the path for the shared ini. On
Windows95, use the Autoexec.bat file.
Reboot your machine after changing this definition.
To Define Paths or Path changes in ADE:
Log in to ADE using SYSADMIN in Standalone.
Select the Options button.
In the lower area of the Options window, insert or change any software
paths for ADE import/export and processing of data.
Technical Note - Citrix Reference:
Citrix installations require special handling of ADE.ini. ADE attempts to locate
the ADE.ini on a Windows or WinNT directory, so you must specify a
directory, such as C:\Program Files\ade, then copy the ADE.ini to the directory
of your choice, such as C:\winframe. You then set the environment variable
HRIO_ADEDIR to point to the actual directory, for example: set
HRIO_ADEDIR=C:\winframe
You need to define a C:\temp directory on the server, to handle ADE hardcoded
calls.
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-39
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Troubleshooting ADE
Troubleshooting ADE
3 primary types of problems
Installation: a user cannot run ADE at all on PC
Application: user cannot launch ADE from the
Application
Behavior: user believes behavior is incorrect
1-40
y
l
n
Troubleshooting ADE
This discussion is aimed at assisting you in resolving or identifying problems
that you may encounter.
Generally, the problems encountered with ADE fit into 3 categories:
Installation problems symptom: ADE will not run standalone
Application problems symptom:ADE will not run in Applications mode
ADE problems symptom: ADE behavior not as expected.
Some symptoms may be related to another type of problem, such as installation
or setup.
Other references for ADE include context-sensitive Help in HTML and the
Using Application Data Exchange manual.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-41
y
l
n
Installation Problems
Verify 32-bit SQL*Net is installed and configured properly: all SIDs must
match those used by the Application. Test this feature by connecting with
32-bit SQL*Plus if possible, using passwords such as GWYUID, and secure
logon.
Confirm that the Path variable is set correctly.
- C:\Program Files\ADE;C:\Program Files\ADE\Oracle
- All directories in Path variable are complete with appropriate drive
letters
Note: Access is platform dependent, for example: in Windows95 check
the Autoexec.bat; in Windows NT access the Control Panel > System >
Environment.
Confirm that GWYUID, FNDNAM, and LOCAL are all defined and
correct, and that INI file has been verified. ADE looks at Windows or
WinNT directory, but you may have multiple copies: correct the versions
you are using.
For run-time errors: if any DLL registration errors occurred during
installation of ADE, test an alternate installation, such as using
Launcher.zip, which registers DLLs correctly.
Identify unusual PC configuration or options before contacting Oracle
Support.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-42
y
l
n
Application Problems
Installation and setup is primary to success: Application mode ADE requires
supported files, which are provided in the post-installation steps specific to each
environment. Be certain to follow complete, current instructions.
This checklist includes Prerequisites:
Patchsets, which may include:
Current Form versions and Libraries (R11)
FRM-99999 Errors
This is not normally an R11i problem: FRM-99999 error is a generic error
message with Appletviewers. Common causes:
Form or Library not built correctly; these must be generated in the
corresponding environment. For example, a form or library generated on NT
will not work on Unix. Using the appropriate Patch resolves this problem.
For R11: Verify that you have the latest performs.jar file (not an issue in R11i),
and that it is referenced in HTML. This is associated with a security issue when
examining FRM-99999 details.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-43
y
l
n
Behavior Problems
These two items often resolve issues:
Has the newest executable been downloaded?
Confirm your understanding of expected ADE behavior by checking against the
Online Help.
If the problem persists, you can assist by investigating further, beginning with
the following troubleshooting tips.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Troubleshooting Tools
Troubleshooting Tools
HRIO_TRACE variable
Debug Files
HRIO.dbg: ADE actions
HRIO.sql: SQL executed by ADE
HRIO.api: API calls made by ADE
1-44
y
l
n
Troubleshooting Tips
To debug ADE, you can enable Trace, adapting these Windows NT commands:
From the Desktop Control Panel: Navigate to >System->Environment, set
variable HRIO_TRACE with value ON, or
in Autoexec.bat, set HRIO_TRACE=ON.
HRIO_TRACE writes files to C:\Temp
Examine ADE output:
HRIO.dbg is most useful; it lists all ADE actions, stepping through details
up until the point where ADE erred.
HRIO.sql contains any SQL ADE has executed.
HRIO.api contains any API calls ADE made.
If you have errors in the latter two cases, try to run the API or SQL in a
SQL*Plus session. This may indicate exactly in which table, column, or call the
error occurs.
When ADE is launched in applications mode, it writes information to a file
called HR10.TXT in the C:\ Temp directory of the machine which runs Forms.
HR10.QRY initially stores the query in a temporary directory. If the query is
saved, the file is transferred to the queries directory and saved with a filename
of the form NNNNNNNNN.QRY, where N represents a number derived from
the date and timestamp for the file.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
1-45
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Summary
Summary
Having completed this unit, you should be able to:
Identify ADE functions, modes, and users
Discuss the setup steps for ADE
Generate Standard Letters using ADE
Define a Style in ADE
Identify how to Upload Data
1-46
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
Chapter 10
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
I
A
y
l
n
O
e
s
U
When you have packages that contain your search string, create_employee, look for the
$header$ line in the source text. The file used to create the package is identified in the $header$,
usually within the first lines of the package.
3.
&
l
a
n
r
te
Having found possible package names, you can list off the source code for the package by
running the following SQL:
select text
from user_source
where name =
'<package name from previous select>';
n
I
e
l
c
a
r
O
You can also look in the USER_OBJECTS table and search for the procedure name. For
example:
select object_name
Copyright Oracle Corporation, 2002. All rights reserved.
from user_objects
where object_name like '%CREATE_EMPLOYEE%';
Examine the API package.
The create_employee procedure is part of the hr_employee_api package; the source files are
peempapi.pkh and peempapi.pkb. Ensure that you are using a publicly callable business process
API.
Entering employees for conversion or using APIs as an alternative interface depends on HRMS
configuration, including organizations and lookups such as person type. Examine the API
parameters and identify required values.
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
First Name
Last Name
Employee Type
Title
Sex
Prefix
Employee Number
Hire Date
Date of Birth
y
l
n
3. Create your packages in SQL*Plus. They may look like the User Packages to Call
APIs scripts included below.
Note: Be sure to identify your
solution by using your unique team number in place of xx in the files or listed
solutions.
O
e
I
A
s
U
4. Run your package, passing specific parameter values for your employee. You can create
a procedure similar to the User Procedure to Call User Script below, or use the file
provided by your instructor.
&
l
a
5. Commit your work in SQL*Plus. Then navigate into the Application to verify that your
employee has been entered.
n
r
te
n
I
e
- Be certain to uniquely name your procedure, include your unique group number as
part of the name.
l
c
a
-You may need to adjust the person_type_id to the employee type in your setup.
Normally you will query for required Ids in your SQL script.
r
O
-You may also need to check the actual codes used for titles: recall that there is a
displayed title and a system title (the actual code instead of the meaning).
end tutor_upload_xx;
/
create or replace package body tutor_upload_xx as
procedure person_details
(p_validate in boolean default false,
p_employee_number
in out varchar2,
p_last_name in varchar2,
p_first_name
in varchar2,
p_title
in varchar2,
p_hire_date in date,
p_date_of_birth in date,
p_sex in varchar2,
p_prefix
in varchar2)
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
is
-- Normally you would SELECT business group and person type
details.
-- For simplicity we hardcode local variables.
--- If you're going to use this script then you need to find
out the
-- business group Id that you are using and the person type Id
for
n
I
e
l
c
a
r
O
varchar2(15);
varchar2(15);
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
cursor convert_title is
select hrl.lookup_code
from hr_lookups hrl
where hrl.lookup_type = 'TITLE'
and hrl.meaning = p_title;
n
I
e
l
c
a
r
O
cursor convert_sex is
select hrl.lookup_code
Copyright Oracle Corporation, 2002. All rights reserved.
y
l
n
O
e
s
U
hr_employee_api.create_gb_employee(
p_hire_date
=> p_hire_date ,
p_business_group_id
=> l_business_group_id,
p_last_name
=> p_last_name,
p_first_name
=> p_first_name,
p_title
=> l_title,
p_sex
=> l_sex,
p_pre_name_adjunct
=> p_prefix,
p_person_type_id
=> l_person_type_id,
p_employee_number
=> p_employee_number,
p_date_of_birth
=> p_date_of_birth,
p_person_id
=> l_person_id,
p_assignment_id
=> l_assignment_id,
p_per_object_version_number => l_per_object_version_number,
p_asg_object_version_number => l_asg_object_version_number,
p_per_effective_start_date
=> l_per_effective_start_date,
p_per_effective_end_date
=> l_per_effective_end_date,
I
A
&
l
a
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
begin
tutor_upload_XX.person_details_XX (
p_validate => l_validate,
p_employee_number => l_employee_number,
p_last_name => l_last_name,
p_first_name => l_first_name,
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
begin
l_batch_id := hr_pump_utils.create_batch_header
('HRTECH_XX Batch Header', 'Vision
Corporation');
hrdpp_create_gb_employee.insert_batch_lines
(p_batch_id => l_batch_id,
p_user_sequence => null,
p_link_value => 1,
p_person_user_key => l_person_user_key,
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
s
U
Verify the data that you loaded by querying your employee in the application.
&
l
a
1. Navigate to the Person window using your Super HRMS Manager Responsibility:
(N) People > Enter and Maintain > (Find) < your employee >
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
9. Using the Batch Element Entry form, create a new batch, for example, Tutor Vacation
Entitlement.
10. Create at least one batch line to load a value for your new element.
y
l
n
O
e
11. Query the BEE batch tables (Pay_Batch_Headers and Pay_Batch_Lines) for your batch.
Note: You can also enter data into these tables using the public API,
PAY_BATCH_ENTRY_API.
I
A
s
U
12. Submit the BEE process, selecting Transfer to move the data into the application.
13. When the process has completed running, check the status of the batch and associated
lines.
&
l
a
14. Check that your employee has the new element entry.
n
r
te
n
I
e
Reference: Pay_Batch_Element_Entry_API
l
c
a
r
O
update_batch_header,
update_batch_line,
update_batch_total,
delete_batch_header,
delete_batch_line,
delete_batch_total
Null?
-------NOT NULL
NOT NULL
NOT NULL
NOT NULL
n
r
te
l
c
a
n
I
e
r
O
y
l
n
O
e
I
A
&
l
a
Type
---NUMBER(15)
NUMBER(15)
VARCHAR2(30)
VARCHAR2(30)
varchar2(30)
varchar2(30)
varchar2(30)
varchar2(2000)
varchar2(30)
varchar2(30)
varchar2(30)
DATE
NUMBER(15)
NUMBER(15)
NUMBER(15)
DATE
NUMBER(9)
s
U
Null?
Type
-------- ---NOT NULL NUMBER(15)
NUMBER(9)
NUMBER(9)
NUMBER(10)
NOT NULL NUMBER(15)
NOT NULL VARCHAR2(30)
ASSIGNMENT_NUMBER
BATCH_SEQUENCE
CONCATENATED_SEGMENTS
EFFECTIVE_DATE
ELEMENT_NAME
ENTRY_TYPE
REASON
SEGMENT1
SEGMENT30
VALUE_1
)
VALUE_15
ATTRIBUTE_CATEGORY
ATTRIBUTE1
ATTRIBUTE20
EFFECTIVE_START_DATE
EFFECTIVE_END_DATE
OBJECT_VERSION_NUMBER
varchar2(30)
NUMBER(9)
varchar2(240)
DATE
varchar2(80)
varchar2(1)
varchar2(80)
varchar2(60)
varchar2(60)
varchar2(80)
varchar2(80)
varchar2(30)
varchar2(150)
varchar2(150)
DATE
DATE
NUMBER(9)
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
2. When the ADE icon is available, logon as Sysadmin; both user and password are
Sysadmin.
3. Select the Styles tab
4. Select the Create Style button. Enter a Style Name = <Your style name> for example,
Tutor View XX
5. Form Name = GENERAL
6. Check the Multiple Rows box.
7. Enter or pick from list the reporting view name you created earlier.
8. Save your changes; Select the Style Columns tab.
y
l
n
10. Select the Default button (to automatically create style columns from the view
definition). You can remove columns or change their display properties.
O
e
I
A
s
U
&
l
a
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Is
--
O
e
y
l
n
-- Ids
varchar2(15);
varchar2(15);
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
O
e
y
l
n
and
hrl.meaning = p_title;
cursor convert_sex is
select hrl.lookup_code
from hr_lookups hrl
where hrl.lookup_type = 'SEX'
and hrl.meaning = p_sex;
begin
--- Find the codes for the title
-- and sex meanings passed to the API.
-open convert_title;
fetch convert_title into l_title;
close convert_title;
open convert_Sex;
fetch convert_sex into l_sex;
close convert_sex;
--- Call the create_gb_employee API.
--- If you're using a US business group then call the
-- create_us_employee API.
-hr_employee_api.create_gb_employee(
P_hire_date
=> p_hire_date ,
P_business_group_id
=> l_business_group_id,
P_last_name
=> p_last_name,
P_first_name
=> p_first_name,
P_title
=> l_title,
P_sex
=> l_sex,
P_pre_name_adjunct
=> p_prefix,
P_person_type_id
=> l_person_type_id,
P_employee_number
=> p_employee_number,
P_date_of_birth
=> p_date_of_birth,
P_person_id
=> l_person_id,
P_assignment_id
=> l_assignment_id,
P_per_object_version_number => l_per_object_version_number,
P_asg_object_version_number => l_asg_object_version_number,
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
P_per_effective_start_date
=> l_per_effective_start_date,
P_per_effective_end_date
=> l_per_effective_end_date,
P_full_name
=> l_full_name,
P_per_comment_id
=> l_per_comment_id,
P_assignment_sequence => l_assignment_sequence,
P_assignment_number
=> l_assignment_number,
P_name_combination_warning
=> l
l_name_combination_warning,
P_assign_payroll_warning
=> l_assign_payroll_warning );
end person_details;
end ade_upload_xx;
/
/*
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
11. Select the 'Default' button (to automatically create style columns from the view
definition).
O
e
s
U
12. Remove style column fields not requied; organization, person type, and job, using the
'Cut' button.
I
A
13. Change the 'Upd' attribute to '1' (updateable API column) for all columns.
&
l
a
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
12. Click on the 'Load' button and select the spreadsheet you created earlier.
s
U
13. Mark the displayed row for attempted upload by double-clicking the cursor on the row
twice (in quick succession).
I
A
14. Click the 'Upload' button to upload the data into the application.
If you are having problems calling your upload API, set ADE trace on by assigning the
value 'ON' to the environment variable HRIO_TRACE. You can do this within the
control panel of your computer (if running Windows NT). This will produce a
HRIO.API trace file showing exactly how ADE is calling the upload API procedure.
&
l
a
n
r
te
n
I
e
l
c
a
r
O
y
l
n
7. Save the changes to the default HRIO.EXE or, if you choose another name, note it here:
_____________.
O
e
I
A
s
U
10. At the preview screen select Load and choose the spreadsheet file that you saved. You
can then preview the data in the preview window.
&
l
a
11. Select Upload to load the data into the HRMS tables.
n
r
te
12. On completion you can check the upload by returning to the Salary Management folder
and re-querying the appropriate records.
n
I
e
l
c
a
r
O
15. Approve the salary changes: select the employee record; then press Approve.
16. Save your changes.
Copyright Oracle Corporation, 2002. All rights reserved.
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Extending Business
Rules in HRMS
Chapter 13
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Objectives
Objectives
After completing this module, you should be able to
describe HRMS Extension Features, including:
Logic extensions
Forms Configurator and Templates
Custom Security extensions
y
l
n
Topics
This module describes the HRMS product components that enable customers
and users to extend business rules by:
Using Custom Library to define specific and nearly limitless logic
extensions
Attaching code to API User Hooks
Understanding the recommended approach to and limits of HRMS
extensions
Creating FastFormula components and calls
Forms Configurator definition of user-interfaces
Configuring security profiles on employee data
We presume the audience is familiar with the HRMS API business process
approach, FastFormula, PL/SQL, and System Administration tasks. A
comprehensive understanding of HRMS functionality empowers you with the
full benefit for defining extension features.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Agenda
Agenda
Extending Business Rules Module includes
Extension Restrictions
Custom Library
API User Hooks
FastFormula Extensions
Forms Configurator and Templates
Expanding Security
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Agenda
Agenda
Extending Business Rules Unit includes
Extension Restrictions
Custom Library
API User Hooks
FastFormula
Functions, Database Items, Calls from PL/SQL
y
l
n
Topics
Extending Security is a addressed in a separate unit.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Objectives
Objectives
At the end of this topic you should be able to
explain the recommended extensions and
restrictions, including the use of:
database triggers
database constraints
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Agenda
Agenda
Business Rule Framework
Extension Guidelines
y
l
n
Topics
This brief topic covers an important concept: recommended restrictions on
custom extensions. The entire module introduces and advocates extensions that
retain HRMS data and process integrity.
What is and is not covered
This topic focuses on HRMS-specific custom extensions that are not detailed in
other topics of these modules.
This topic is not a substitute for AOL (Applications Object Library) and ATG
(Applications Technology Group) products and courseware. ATG and AOL
offer fundamental and detailed features beyond the scope of this course.
Extensions such as Custom Forms, which are delivered Forms with security
restrictions defined with System Administration functionality, also are not in the
scope of this topic.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Data Model
Batch
Processes
Hooked Code
CUSTOM
Library
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Triggers are used in Oracle primarily for audit, including the WHO
columns.
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Flexfield naming conventions may vary, but two concurrent processes enable
you to easily access flexfield information:
A process to generate database items from specified flexfields permits
their access in elements, QuickPaint reports, and other Formula features
A process to generate business views allows you to access flexfield data
from an end-user perspective.
Protected flexfields should not be modified and are subject to change.
Localization teams define protected or Developer Descriptive Flexfields.
Extra Information Types
Unprotected, or customer-configurable, Developer Descriptive Flexfields are
available on entities as EITs (Extra Information Types) and controlled by
legislation definition. You can configure these flexfields, which are held on
separate tables (in contrast to other Descriptive Flexfields). You have the option
of allowing multiple occurrences of EITs.
Most EITs can be included in taskflows; the Organization EIT is an exception.
Entities that have EITs available include:
Jobs
Positions
Locations
People
Assignments
Organizations
Special Information Types
SITs (Special Information Types) are key flexfields which have an ID stored as
a foreign key. An SIT Folder can is provided for listing people by SIT. An
additional consideration for SITs is that they are available from SSHR. Custom
Forms and Taskflows can use SIT to restrict access.
HRMS Custom Forms and Taskflows
Custom Forms is a delivered HRMS feature that allows you to provide multiple
versions of delivered forms, fitted to specific roles or users. System
Administrators create Custom Forms by restricting a delivered form using any
of the following:
Element Types or Element Sets
Person Functions or Person Types, such as Employee or Applicant
QuickPaint Reports
Special Information Types
Organization Classifications
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Taskflows
Defining taskflows is another System Administrative option for extending
business rules. Taskflow refers to both navigator access to forms and to the
internal form flow using buttons. You create a taskflow using delivered or
Custom Forms for which you specify buttons to other forms. You can rename,
change, or remove buttons that access other forms. Components that can be
identified on a custom taskflow include:
Delivered and custom forms
User-defined folders
User-designed localized forms
For example, if you wanted to create a copy of the Person form for a
receptionist, you might remove buttons which access address or assignment.
Most components of the menu, data, tasks and many levels of security can be
implemented using standard administration features.
Forms Configurator
Forms Configurator allows access to many Forms Developer field attributes,
enabling you to use delivered forms as an interface to design user-forms based
on delivered templates. You can define most individual field characteristics and
many extension features normally accessed only through System Administration
or Developer. Items such as: taskflow, include Descriptive Flexfields, SIT, and
EIT, are all available. DateTrack and Workflow messaging can be enabled.
Folders
Folders are based upon predefined views that store your queries. Folders are
delivered for a user or administrator to configure by removing and formatting
columns. An export facility provides additional functionality from folders.
You can limit folder tool access through System Administration. For example,
an administrator may provide a view with public access, but restrict the tools so
that hidden columns cannot be added.
Note
The HRMS System Administration course includes comprehensive explanation
of these features. Note that the Applications System Administration may not
include HRMS-specific features.
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Configuration Options
Configuration Options
Flexfields and Validation
Help
Profile Options
y
l
n
Configuration Options
Flexfields and Validation
Several validation options are available on flexfields, addressing complex rules
without coding and without impacting upgrades.
Extending or Configuring Help
You can configure Online Help without disturbing hypertext links and defined
navigation. You can add or replace help pages.
Profile Options
This course introduces a limited number of profile options. However, many
more profile options are available. You need to analyze the users, roles, and
responsibilities in your enterprise to determine how various profile options
should be set, and which may be available for user configuration.
For more information on AOL Profile Options, please refer to the Online Help
path:
Applied Technology > Oracle Applications System Administration > Profile
Options in Oracle Application Object Library
For more information on HRMS Profile Options, refer to the Online Help path:
Oracle HRMS > Security > User Profiles
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Summary
Summary
Having completed this topic you should be able to:
Explain the problems encountered when using
database triggers and constraints
Discuss the possible uses of triggers and
constraints
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Custom Library
Custom Library
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Objectives
Objectives
At the end of this topic you should be able to:
Describe the Custom Library
Identify possible uses of Custom Library
Describe design considerations
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Agenda
Agenda
Custom Library
Architecture and Components
Business Rules and Usage
Designing Solutions with Custom Library
y
l
n
Topics
The topic of this section is Custom Library as delivered and available to HRMS
(and other Oracle ERP Applications).
This topic does not focus on Developer Forms, Library restrictions, or PL/SQL;
but it refers to features of those tools for extending HRMS.
Reference
For detailed reference, please see White Papers on Metalink at:
> Technical Libraries > ERP Applications > HRMS > White Papers >
Technical Issues
Using Custom Library within Oracle HRMS Applications, Doc ID: 73505.1
and
Note Doc ID: 45759.1, Custom Development in Applications, a FAQ
(Frequently Asked Questions) for various extension integration points.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
Custom Library
This library is an Oracle Developer Forms Library delivered with the ERP
Applications. It includes sample code for extending business rules with
Application Form events and calls.
Certain Form events trigger calls to the library. For example, when a user
navigates or clicks a specific icon, the Forms trigger calls Custom Library. The
library code can execute logic that you inserted. You can define conditional
logic, for example, having the library execute different code for a specific form,
user, or field value.
The Custom Library functionality is available to all ERP modules; however, the
HRMS application has extended the functionality of Custom Library.
Custom.pll is available on the Application server middle tier. You can access
the library from Forms Developer, extending business rules with code for
specific events. Because the library is external to the Forms, code changes are
defined and retained separately from Forms.
Note: At upgrade, validate that your custom code functions as designed, since
other delivered changes may impact behavior.
Custom Library can be switched on or off, using the Toolbar Help >
Diagnostics, which is controlled with the profile option Utilities:Diagnostics
and password.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
VERT
Library
APPCORE
Library
GLOBE
Library
JA
JE
Application Form
CUSTOM
Library
JL
y
l
n
Architecture
New Application forms are based on a TEMPLATE form. You can use this
same form that HR Development uses; if you follow AOL Standards (see
Extending Oracle Applications with Developer, ATG Courseware) your custom
forms look and behave similarly to Oracle Application forms.
The template form has standard event triggers that call the Appcore library (first
arrow, above). Appcore contains standard routines and procedures that provide
the Oracle applications look and feel. Appcore contains packages and
procedures for menu, toolbar, and other standard form components.
Appcore calls other libraries, as noted in this simplified diagram, but only
Custom library is designed for customer use. Other libraries are used
exclusively by Oracle Applications Product Development teams, such as:
VERT verticalization code
GLOBE globalization code
JA Asia Pacific development features
JE EMEA development features
JL Latin America development features
CUSTOM is reserved for customer specific logic.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
zoom_available
style(event_name
event(event_name
constant integer
constant integer
constant integer
constant integer
varchar2)
varchar2);
:= 1;
:= 2;
:= 3;
:= 4;
return BOOLEAN;
return integer;
END custom;
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
end zoom_available;
end custom;
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
end if;
end if;
end event;
end custom;
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
O
e
y
l
n
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
end if;
end if;
end event;
end custom;
y
l
n
Application ID
User ID or Responsibility ID
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
DateTrack Events
DT_CALL_HISTORY
DT_SELECT_MODE
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
post-query
pre-update
post-update
navigate
R11i - HRMS
dt-call-history
dt-select-mode
when-button-pressed
R11i - AOL
when-responsibility-changed
when-password-changed
when-logon-changed
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Add Validation
Execute Formula PL/SQL code
Call new forms
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
if l_button_selected = 3 then
set_item_property('person.last_name',
VISUAL_ATTRIBUTE, 'SELECTED_DATA');
set_item_property('person.sex',
VISUAL_ATTRIBUTE, 'SELECTED_DATA');
set_item_property('person.date_of_birth',
VISUAL_ATTRIBUTE, 'SELECTED_DATA');
end if;
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
if l_button_selected = 3 then
set_item_property('person.d_home',DISPLAYED,
PROPERTY_FALSE_DATA');
elsif l_button_selected = 2 then
null;
else
null;
end if;
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
|| 'nvl(hl.end_date_active,'
|| ':ctl_globals.session_date) order by '
|| 'hl.meaning');
else
null;
end if;
O
e
y
l
n
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
set_block_property('person',DEFAULT_WHERE,
'where (:CTL_GLOBALS.CUSTOMIZED_RESTRICTION_ID IS '
||' NOT NULL and
((exists (select 1 from '
||' pay_restriction_values prv1, '
||' per_startup_person_types pst, '
||' per_person_types ppt ');
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
vision_cl_code.market_salary(
p_assignment_id =>
to_number(name_in('global.g_assignment_id')),
p_approval_date =>
to_date(name_in('review.change_date'),
'YYYY/MM/DD'),
p_min_mkt_salary => l_min_mkt_salary,
p_max_mkt_salary => l_max_mkt_salary );
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
copy(
replace(to_char(round(nvl(to_number(l_earn_poten),
1),2),'999999990.99'),'',''),'entry.user_entry2');
copy(name_in('entry.user_entry2'),
'entry.screen_entry_value2');
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Design Considerations
Design Considerations
All ERP Applications Share Custom Library
Form Library Size Restriction
Option: Logically Nest Additional Libraries
CUSTOM
HRCUSTOM
HRCUST1
HRCUST2
y
l
n
Design Considerations
Custom Library is shared among all of the Oracle ERP applications. This means
that your code for an event may impact other users. For a simple example,
Purchasing may enter people as vendors and HR can view the same people.
Your code can add a validation restriction that rejects existing data. Your
solution design should address whether existing data is revalidated or the
extended code limited by application_id (or responsibility or user).
Libraries have specific size limits, but can have nested calls, as diagrammed.
Segregating code for specific applications may simplify library maintenance
and administration. You can further segregate library code by creating libraries
that address a limited number of forms.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
DateTrack Considerations
Business rule extensions that impact validity of a transaction on datetracked
forms should be associated with a pre event, such as pre-insert, pre-update, or
pre-delete. The extension and form logic need to be coordinated to control
failure or success of the transaction and resulting data integrity. Form logic may
update data before the extension is executed. If your extended logic is at a
post- event, form logic may update the Form Status and change field values
including the effective start date, neglecting the extension logic.
Post event points are useful for performing DML (data manipulation
language, such as update, insert, and delete) statements on tables external to
Oracle Applications, for example, to coordinate an external interface table.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Code Considerations
Code Considerations
Retain Custom Package Specification
AOL Standards: Use FND_ (not Form) Functions
Form Control, Security, Flexfields, Messages
y
l
n
Code Considerations
Date Track Forms perform validation and updates within pre event
Form logic
Use pre event points for custom business rule extensions
External DML can be part of post form logic
Custom Library is shared among Oracle ERP Applications
Restrictions
Do not change the specification of the CUSTOM package
Use FND_FUNCTION (not CALL_FORM or OPEN_FORM) to call Forms
The only libraries you can attach to CUSTOM are your additional Custom
libraries (not APPCORE, for example, as it would result in a circular reference)
Appcore calls Custom; Appcore2 is a duplicate of Appcore, provided for any
calls from Custom (thus avoiding circular reference).
Forms library standard restrictions, including exclusion of SQL.
APP_ITEM_PROPERTY is not available
Upgrades: you will need to revalidate and test your code to ensure compatibility
with upgrades since form functionality may reflect procedural or processing
changes.
Follow the Oracle Application Coding and User Interface Standards.
Revalidate Custom Library code after an upgrade; reconfirm that it is still
required.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Database
Data Model
Form
Batch
Processes
Hooked Code
CUSTOM
Library
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Fundamentals
Fundamentals
y
l
n
Fundamentals
Custom Library requires familiarity with several tools, including:
Oracle Forms Developer, ideally AOL Standards
PL/SQL
Library syntax and behavior, including .pll and .plx priority.
Note: ATG (Application Technology Group) references and courses are
available for Extending Oracle Applications.
Diagnostics
If an error arises in a form or procedure that you have extended, remove the
extension and test to confirm normal behavior of the delivered code. This will
assist you in locating the source of error.
Toolbar Help > Diagnostics > Custom Code allows you to toggle the Library off
and on. Toggle Custom Code off to eliminate the call, verifying normal form
behavior. If the error remains when Custom Library is off, then you may have
an issue with the delivered code or form.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Online Help
For details on how to enter a person, please refer to the online Help path :
Oracle HRMS > Workforce Management > Workforce Information Entry >
How to Enter Information Using Windows > Enter a New Person
O
e
y
l
n
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Summary
Summary
Having completed this topic you should be able to do
the following with Custom Library:
Describe Custom Library
Describe Usage
Identify Design Considerations
y
l
n
Summary
You should now have a better understanding of the Custom Library within the
Oracle ERP applications and be able to explain its structure and components.
We have also reviewed possible uses of the Custom Library and have identified
items to consider when planning to use the Custom Library to extend
functionality of the delivered ERP Applications.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Objectives
Objectives
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Agenda
Agenda
Definition of User Hooks
Where they fit into HRMS code and processes
Implementing Hooked Code
Identify API and Hooks
Register with Pre-processor
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Legislation or Customer
Specific Code
Call Package A
Package Header
Package Header
Package Body
Package Body
Hook Package
Call Package B
Package Header
Package Header
Package Body
Package Body
Built by
preprocessor
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Uses of Hooks
Uses of Hooks
Legislation-specific data validation
Maintenance of data held in extra customer-specific
tables
Capture specific business events
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Implementing: Overview
Implementing: Overview
Identify APIs and user hooks
Identify available data
Implement PL/SQL server-side package
procedure
Register procedure with user hooks
Execute user hook preprocessor
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Before Process
User Hook
After Process
User Hook
Core Product
Logic
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Core Product
DML
After Delete
User Hook
After Update
User Hook
After Insert
User Hook
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
After Process
User Hook
Before Process
User Hook
per_all_people_f
Row Handler
per_all_assignments_f
Row Handler
per_periods_of_service
Row Handler
After Insert
User Hook
After Insert
User Hook
After Insert
User Hook
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Available Data
Available Data
Values in API Hooks include API values:
Read-Only
P_<column_name>
NOT: Who_columns, p_validate
y
l
n
Available Data
For API hooks, most values in the calling API can be passed as read only to
the user hook custom code. The exceptions are: row Who columns and the
p_validate parameter.
Access API data using standard API parameter naming convention, for
example: p_<database_column>.
Each Row Handler hook has different data available:
After Insert: new column values populated or derived during insert are
available, using p_<database_column> naming standards.
After Update: both new values and old values are available.
Updated values: p_<database_column>
Previous values: p_<database_column>
After Delete: only previous values are available, using the convention
p_<database_column>
Note that previous values are not available on Before Process, After Process,
and After Insert hooks.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
Extending Logic
You can include any PL/SQL except commit or full rollback. These statements
would interfere with data integrity. The API strategy restricts commit and
rollbacks in hooked code. The hook mechanism will produce an error if a
rollback or commit is attempted in hooked code.
Your code should raise a PL/SQL exception when an error is detected. This
triggers the API mechanism to rollback any database changes in the current call
to the published API, including Before Process hooks.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Partial code:
begin
hr_api_hook_call_api.create_api_hook_call
(p_validate
=> false,
p_effective_date
=> to_date('01-JUL2001','DD-MON-YYYY'),
p_api_hook_id
=> 63, --get hook ID
p_api_hook_call_type => 'PP', --pkg.procedure
p_sequence
=> 3000,
p_enabled_flag
=> 'Y',
p_call_package
=> ORGANIZATION_CHECKS,
p_call_procedure
=>ORGANIZATION_RANGE_CHECK',
p_api_hook_call_id
=> l_api_hook_call_id,
p_object_version_number=>l_object_version_number);
end;
Preprocessor
The preprocessor must run before any changes (insert, delete, update) to the
HR_API_HOOK_CALLS table are completed. (That is, hooks are not enabled
by only directly adding rows to the hook_call table). The preprocessor builds
the hook package body, coding any number of calls to the custom package
procedure.
Technical Notes:
The preprocessor runs automatically during upgrades, creating hook package
bodies.
Run the preprocessor using the $PER_TOP/admin/sql hrahkall.sql or
hrahkone.sql in SQL*Plus as user Apps.
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Form Errors
Information in Error History
y
l
n
Error Handling
Errors are displayed with the following syntax:
ERROR at line 1:
ORA-20999: <your custom validation/error message>
ORA-06512: at "APPS.<MY_VALID_CHECK>", line 22
ORA-06512: at "APPS.HR_EMPLOYEE_BK1", line 131
ORA-06512: at "APPS.HR_EMPLOYEE_API", line 504
ORA-06512: at line 21
Running from a form, Error History shows the the following syntax:
FRM-40735: <procedure-name> trigger raised unhandled
exception ORA-20999
First try to identify if an error is a standard Oracle HRMS error. Identify your
custom messages so that text, location, and sequence can be traced easily.
The above example (referencing line 131) identifies the package which reported
the error, HR_EMPLOYEE_BK1, which follows the hook procedure naming
convention.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Form
Batch
Processes
Hooked Code
CUSTOM
Library
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
Online Help
For details on how to access the Person Window please refer to the online Help
path :
Oracle HRMS > Workforce Management > Workforce Information Entry >
How to Enter Information Using Windows > Enter a New Person
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Summary
Summary
Having completed this topic you should be able to:
Describe the uses of API User Hooks
Implement User Hook Calls
Implement Extra Logic into Hooked Calls
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Objectives
Objectives
At the end of this topic you should be able to explain
the components and setup steps of a Database Item
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Agenda
Agenda
Database Item Definition and Contexts
Components and the Application Dictionary
y
l
n
Topics
FastFormulas are used throughout HRMS, in Assignment Sets, PTO Accruals,
QuickPaint, Magnetic Tapes, Information Elements, and in Oracle Payroll and
Benefit Applications. Formulas reference database items; input values can be
made into database items, delivered create database items from most flexfield
attributes or segments.
Database items are user-friendly handles for complex SQL. You have the option
of extending the power of formulas by creating your own database items when a
specific database item is not delivered or generated in the product.
Formulas, functions, and database items are technical tools that provide power
and flexibility for extending HRMS to handle custom business rules.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Overview
Overview
This topic presents components of Database Items
and setup steps for defining a new FastFormula
Database Item
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Used by
Localization teams
Customers
Consultants
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Wh
y no
t
just
writ
e
SQL
?
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Formula
Contex ts
Show Item s
y
l
n
Application Dictionary
The Application Dictionary contains database item tables. Database Items
always use the contexts of:
Business Group - database item name is unique within business group
Legislation Code
Database items are delivered for specific legislations. If either Business Group
or Legislation Code is not specified, the database item is available across all
values of the context.
Referencing a database item in a formula accesses FastFormula Application
Dictionary, which generates the SQL and PL/SQL, selects the database item
value, and provides error-checking code. Formulas are stored in
FF_FORMULAS_F.
Normally, you do not examine the Dictionary contents. For example, you can
use database items without directly accessing their definition, and when you
define a new element, database items can be generated automatically.
However, if you need to define new database items directly in the Dictionary,
you must also load the associated information. Understanding the relation and
limits of contexts will also help you design and debug custom Formulas,
Functions, and Database Items.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
FF_USER_
ENTITIES
FF_ROUTE_PARAMETER_
VALUES
Route
Parameter
Value
User
Entity
Database
Item
FF_ROUTES
Route
Route
Parameter
Route
Context
Context
FF_ROUTE_
PARAMETERS
FF_CONTEXTS
y
l
n
Components
You need to identify contexts, routes, and parameters for any new database
items that you want to create. This simplified diagram explains database item
contexts and parameters; FastFormula tables use the prefix FF_.
FastFormula accesses two values in FF_DATABASE_ITEMS to resolve:
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
The route may contain another type of placeholder of the form &B# (where # is
a sequence number). These placeholders reference contexts in the table
FF_ROUTE_CONTEXT_USAGES. FastFormula identifies the ID of the
context from this table, and then the name of the context from table
FF_CONTEXTS.
When you define a formula, you assign it to a formula type, such as Payroll
formulas or QuickPaint formulas. The type of the formula determines the
contexts for which it provides values. This is defined in table
FF_FTYPE_CONTEXT_USAGES.
For example, a QuickPaint formula feeds through values for the contexts
Assignment ID and Date Earned. Thus, when you define a QuickPaint formula,
you can use database items that require the contexts Assignment ID and Date
Earned. However, database items using other contexts in their routes are not
available and do not appear on the list of values.
Contexts are part of the mechanism restricting the database items that a formula
can use. Formulas can use only the database items that are appropriate to the
formula context. If a database item is based on a route that does not require any
contexts (for example, a SELECT from DUAL), then every formula type in the
system can access the database item.
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
from <tables>
per_assignments_f asg
where
where
<TARGET.person_id =
<route parameter> =
asg.person_id>
<&U#>
and <context>
= <&B#>
= <&B#>
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
Contexts
Contexts are predefined in FF_CONTEXTS and should not be changed.
Context values are variable, they are not input, but passed to the formula at run
time.
We noted that business_group_id and Legislation are two contexts for all
database items. In the earlier SQL statement example, the route requires two
contexts: Assignment ID and Assignment Type. Designing a database item
requires that you analyze to determine any other required contexts.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Write SQL
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
Online Help
For more details on how to create a Database Item, please refer to the
Technical Essay, Defining New Database Items, available on Metalink at:
Technical Libraries > ERP Applications > Human Resource Management
Systems > Human Resources > Documentation > Release 11i
Documentation > Global > Implementing Oracle HRMS > Technical
Essays > FastFormula > The FastFormula Application Dictionary >
Defining New Database Items
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Summary
Summary
In this topic, you should have learned:
The components of database items
How contexts are delivered and used
That you can use the FastFormula Application
Dictionary to create new Database Items
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Objectives
Objectives
At the end of this topic you should be able to:
Describe the components of a FastFormula
Function
Consider business rules for External Functions
Describe how to register a Function
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Agenda
Agenda
FastFormula Functions: Definition
Components
Delivered Functions
Extensions
Requirements
Setup
y
l
n
Topic
This topic presents FastFormula Functions for an understanding of how
Functions can extend the HRMS application to address custom business rules.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
FastFormula Functions
FastFormula Functions
PL/SQL Routines that return a single value
Use Forms to Register Functions
Function
Context
Parameters
y
l
n
FastFormula Functions
Functions manipulate different types of data in the HRMS Applications, for
different business and technical purposes. For example, specific delivered
functions operate on strings, numbers, or dates, including converting data types.
The following appear and act similar to SQL*Plus functions:
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
FF_FUNCTIONS
Function
Parameter
Function
Function
Context
Usage
Context
FF_FUNCTION_
CONTEXT_USAGES
FF_CONTEXTS
Components
The components of a FastFormula function are held in four tables:
FF_FUNCTIONS holds the actual function.
FF_FUNCTION_PARAMETERS holds parameters which are called by the
functions.
FF_FUNCTION_CONTEXT_USAGES defines the contexts used by each
function, determining contexts that are substituted at run time.
FF_CONTEXTS holds the contexts for all of the functions.
O
e
y
l
n
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
FastFormula in HRMS
FastFormula in HRMS
Formulas: call Functions
QuickPaint
Information Elements
eBI (eBusiness Intelligence) HRMS
Payroll Elements
Benefits Rules
y
l
n
FastFormula in HRMS
FastFormula is used throughout the HRMS application. Specific areas are listed
above. In some cases, the generic or template formulas and delivered functions
resolve most business problems. However, exceptional and complex rules may
require extensions to delivered functionality. Some Formulas are designed
specifically for those extensions, such as many of the OAB Rules, which can
augment or replace logic set up in the Forms. Other product components, such
as PTO Accruals and eBI-HRMS, deliver template formulas, with specific
points for business rule extensions.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Arithmetic Operations
Total_amount = wages + bonus + expenses
Round ()
y
l
n
Delivered Functions
Many of the delivered functions are for data and datatype manipulation or
conversion. These functions can be used as building blocks for extensive logic.
In contrast to procedures, functions return one value.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Business Requirements
Business Requirements
You may require a unique function to perform:
- iterative calculations
- format validation
- ???
hy? ?
W
t
Ho
a
w?
h
W
y
l
n
Business Requirements
Requirements to check external tables or custom conditional format validation
may be easily configured in a formula with an external function.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Custom Functions
Custom Functions
Formula function as custom PL/SQL
You determine
where it is used
which contexts it uses
parameters it processes
datatype it returns
y
l
n
Formula Functions
When you create the actual package function, list the contexts and then
parameters in the package header. However, when your FastFormula calls the
function, you pass only the parameters through the formula.
You can associate both contexts and parameters with Formula Functions. You
use the application forms to identify your new custom external function, and the
associated contexts and parameters.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
Online Help
For details on how to access the Define Function Window please refer to the
online Help path :
Oracle HRMS > Oracle FastFormula > Formula Reference >
User-Defined Functions
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Summary
Summary
Having completed this topic you should be able to:
Describe FastFormula Function Components
Identify Function Contexts
Describe how to register a Function
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Objectives
Objectives
At the end of this topic you should be able to
identify how to call FastFormulas from PL/SQL
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Agenda
Agenda
y
l
n
Topics
This topic introduces you to the FastFormula Engine, which is accessible from
PL/SQL. This is not a topic in FastFormula or PL/SQL, but designed to suggest
the option of using the Formula Engine an Application extension for handling
your exceptional business rules.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
Business Requirements
FastFormulas replace complex SQL by features that include contexts and input
values; they resolve datetracking, provide validation, process options, messages,
and return values. Oracle HRMS including Oracle Payroll and OAB use them to
define calculations, evaluate conditions, and to validate inputs. They can access
database items, input values, balances, and global values with a simple syntax.
Delivered Formula usage includes pay value calculation, element input value
validation, assignment sets, QuickPaint reports, magnetic tape formatting. In
many localizations, legislated formulas are delivered. You can identify the
generated PL/SQL formulas in the database as: FFP_<Formula Id>_<Effective
Date>
All Formula usage is enabled by the FastFormula PL/SQL engine, which is
accessible through PL/SQL. Examples of where you can run the Formula engine
to extend your business rules include:
Core Application APIs via API User Hooks
Application Forms by use of Custom Library
Other Application interfaces, such as ADE or custom interfaces.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Data Model
Batch
Processes
Hooked Code
CUSTOM
Library
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Execution Engine
Execution Engine
Available
Client side interface
PL/SQL
output
Formula
Engine
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Overall Process
Overall Process
1
fnd_session
inputs/outputs
6
loop inputs
loop outputs
run formula
ff_exec.init_formula
starts engine
y
l
n
1. DateTrack
Insert into FND_SESSIONS to set effective date.
2. Populate input and output tables
Enter each parameter, followed by all necessary contexts. Enter the output
values. Specify the data type for all input and output values.
3. ff_exec.init_formula
Start the engine for a selected formula: the engine is setup with: effective date,
input and output parameter names and data types, and contexts.
4. Loop through custom inputs
Convert parameters: in, out, cache database items. Your PL/SQL code can
identify a number of iterations for the formula, changing the actual values of
any of the previously identified input parameters.
5. ff_exec.run_formula -run specific formula
This call actually runs the formula, processing values you entered into the
inputs. You may have entered one set of values, or coded a loop in PL/SQL.
6. Loop through outputs
After the formula executes, retrieve output values. If you entered input values in
a looping procedure, output values are retrieved similarly.
Example
For classroom discussion and further reference, the following example is taken
from the Technical Essay, Calling FastFormula from PL/SQL available in the
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
l_effective_date);
Initialize the formula.
ff_exec.init_formula(l_formula_id, l_effective_date, l_inputs, l_outputs);
We are now in a position to execute the formula.
Notice that we are illustrating here that the formula can
be executed a number of times, in this case setting a new
input value for input1 each time.
for l_loop_cnt in 1..10 loop
The input and output table have been initialized. We now have
to set up the values for the inputs required. This includes
those for the inputs are statement and any contexts.
for l_in_cnt in l_inputs.first..l_inputs.last loop
if(l_inputs(l_in_cnt).name = INPUT1) then
Deal with input1 value.
l_inputs(l_in_cnt).value :=
fnd_number.number_to_canonical(l_input1);
elsif(l_inputs(l_in_cnt).name = INPUT2) then
Deal with input2 value.
l_inputs(l_in_cnt).value :=
fnd_date.date_to_canonical(l_input2);
elsif(l_inputs(l_in_cnt).name = INPUT3) then
Deal with input3 value.
l_inputs(l_in_cnt).value := l_input3;
no conversion required.
elsif(l_inputs(l_in_cnt).name = ASSIGNMENT_ID) then
Deal with the ASSIGNMENT_ID context value.
l_inputs(l_in_cnt).value := l_assignment_id;
end if;
end loop;
ff_exec.run_formula(l_inputs, l_outputs);
Now we have executed the formula. We are able
to display the results.
for l_out_cnt in l_outputs.first..l_outputs.last loop
hr_utility.trace(output name : ||
l_outputs(l_out_cnt).name);
hr_utility.trace(output datatype : ||
l_outputs(l_out_cnt).datatype);
hr_utility.trace(output value : ||
O
e
y
l
n
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
l_outputs(l_out_cnt).value);
end loop;
end loop;
We can now continue to call as many formulas as we like,
always remembering to begin with a ff_exec.init_formula call.
Note: There is no procedure to be called to
shut down the execution engine.
end;
/
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Engine Processes
Engine Processes
Refer to package header information
ff_exec.init_formula
ff_exec.run_formula
Logging Options
Enable logging with ff_utils.set_debug
Engine Processes
Refer to package header information in:
ff_exec.init_formula
ff_exec.run_formula
Logging Options
Enable logging with ff_utils.set_debug.
routing
debug
cache
dbi cache
mru - most recently used formula chain
io_table debug
Note: Documentation available
$FF_TOP/admin/sql
ffexec.pkh
ffexec.pkb
&
l
a
y
l
n
O
e
I
A
s
U
n
r
te
n
I
e
l
c
a
r
O
Design Considerations
Design Considerations
y
l
n
Design Considerations
The design of your formula is affected by the interfaces from which it will be
accessed.
Applications Forms:
Using Custom Library
Directly from within the form
Discussion: Business Rule Example
Presuming your implementation has a scenario that includes a Descriptive
Flexfield on the Assignment, a single segment (Attribute1), Car Entitlement.
Values for this flexfield vary with the employee age and assignment status, and
are updated or verified with the assignment record is accessed in the
Application Forms or when a person is loaded in through an ADE interface
using the API.
Cautions:
Your logic should handle all possible combinations and results.
Check column types and date format.
When using Custom Library to call Formula PL/SQL that references
database items, the value field in the Formula PL/SQL procedures is
VARCHAR2.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Summary
Summary
Having completed this topic you should be able to
call the FastFormula Engine directly from PL/SQL
and consider business requirements.
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Forms Configurator
Forms Configurator
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Objectives
Objectives
After completing this topic, you should be able to
describe the Forms Configurator and People
Management Templates, including:
How to access them
Identify what you can configure
Identify advantages of using template
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Agenda
Agenda
Forms Configurator and Templates
Template Windows
Features
Using Templates
y
l
n
Topics
This Introduces HRMS Forms Configurator and People Management
Templates. These tools address some needs for Form variations; results can be
combined with other described extensions and with System Administration
features, such as Taskflow. Forms Configurator documentation includes
complete details of fields and instructions. This introductory topic continues the
presentation of HRMS extension options; it does not attempt to address all
documented features.
References
Please refer to the online Help path:
Oracle HRMS > Configure Oracle HRMS > Forms Configurator
Related Metalink documents: Oracle HRMS Family Pack (Whats New in
Release 11i) and Forms Configurator and People Management in Technical
Libraries > ERP Applications > HRMS > Human Resources > Documentation >
R11i Documentation > Global.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Forms Configurator
Forms Configurator
Business Requirements
Multiple Roles
Role-specific Fields
Security
y
l
n
Forms Configurator
Forms Configurator, like Custom Form, is a delivered tool that enables you to
configure and administer Forms changes without coding. Unlike other features,
such as Custom library, the Forms Configurator provides a graphical userinterface to Forms Developer features, HRMS System Administration
Taskflow, and Oracle Workflow notifications.
HR Events, such as job or grade change, are delivered for use with the graphic
timeline. You can also add events to the LOV by using FastFormula to enable
DateTrack History on a field.
Configuration Options include:
Grouping fields onto tabbed areas: group fields for entry or logically
Removing or positioning fields, including some flexfields
Setting field length configure visual attributes
Defining fields as required by business rule
Defining default field values reduce data entry
Adding checklists create a region for data entry, create another tab to
access a checklist of activities for the process or transaction
Create private or public folders maintain frequent queries and data
Taskflow by adding buttons configure and simplify business process
Add Workflow Notifications some messages are seeded
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Template Administration
Template Administration
Use Templates for Top Level in Taskflow
Template Advantages include Support and Upgrade
features
y
l
n
Template Administration
It is recommended that you copy the delivered templates as a basis for
configuring additional forms for various roles or users.
Upgrades are an important consideration: using predefined templates gives the
advantage of updating only the template during an upgrade; your configuration
is retained as an extension.
In addition to the functionality specified on the previous page, your design can
reflect configuration by:
Choosing the windows and their display order.
Determine tabs, fields, field position and order, and buttons for each
window.
FastFormula for defining right-click information on a field or button.
Context-sensitive fields, including Person Type and Flexfields.
Security restrictions, such as Employees only or Applicants only.
Using predefined lookups: CHECKLIST_ITEM and
CHECKLIST_STATUS, building checklists for business rule compliance.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Using Templates
Using Templates
Generic People Management Templates
Entering Employees PER_ENTER_EMPS
Maintaining Employees PER_MAINTAIN_EMPS
Competencies
Element Entries
Salary History
Contacts
y
l
n
Using Templates
Templates are provided for specific localizations such as US or UK.
At the time of writing, the delivered templates include:
PER_HIRE_APPS hire applicants
PER_HIRE_EMPS hire employees
PER_MAINTAIN_EMPS maintain employees
PER_GLB_VISA global visa administration.
Other than, PER_GLB_VISA, there are global versions, and localized versions
for, US, UK, Italy, Japan, and Belgium.
Business Processes
The predefined templates relate to business processes, such as hiring a person or
creating an applicant. You can use the Configurator to collect fields from
multiple windows into one window, grouped to reflect your business rules.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Template Windows
Template Windows
Each Template has:
Find
Maintenance
Summary
Data Organizer
Notifications
Help
y
l
n
Find Window
The Find window is also configurable: you can specify the search fields and
their order. Find options include a simple and advanced Find. The advanced
Find allows partial values and relational operators.
The Find window remains visible and returns values in the lower portion of the
window. You can also configure the display layout for the Find results.
Maintenance Window
The Maintenance window refers the primary template window that you
configure with tabbed regions, field order, and other details.
Summary and Data Organizer
The People Management template provides a Summary window, the Data
Organizer. When the user can expands the Data Organizer node for a person,
the employee and applicant assignments are listed. You define user-friendly
names for assignments. You can use delivered fields, or formula results and
database items to override default field values in this window.
Help
Help refers to delivered templates; you can configure it to your new forms.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Template Features
Template Features
Single-row Flexfields
Context Sensitive Information
Multiple-row Flexfield
SIT
EIT
Folders
y
l
n
Template Features
SITs and EITs can be added to Template window.
Notification messages can include predefined tokens, including :
HIRE_DATE
FULL_NAME
PER_EFFECTIVE_START_DATE
TITLE
FIRST_NAME
LAST_NAME
EMPLOYEE_NUMBER
APPLICANT_NUMBER
NATIONAL_IDENTIFIER
A complete list of available tokens is available in the Online Help. In addition
to the predefined tokens, you can create tokens using FastFormula.
You can override the default context-sensitive help to display a different target,
using the syntax form.window_name.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Template Features
Template Features
DateTrack History
User Checklists not transactional
FastFormulas for
Assignment Information
Validation
Messages
y
l
n
DateTrack History
DateTrack history on template fields by indicating Yes in the DateTrack History
segment on the field flexfield, which results in including the field in the
Timeline LOV and in history being accessible from a right-click list.
User Checklists
You can define User Checklists to track up to 10 tasks for each business
process; lists can include status, date due, date achieved, and task notes. You
can configure checklists for both the Summary and Maintenance windows.
You can also extend Checklist functionality by adding the window directly in a
taskflow, enabling it from certain other windows. The Checklist window itself
is not configurable, but gives users access to any checklist item.
FastFormulas are enabled for templates:
Formula type: Template Information; the value in Assignment_name fills the
Assignment field in the template
Formula Type: People Management Message; to create a message, name the
formula the same as the message that uses its returned token.
Formula Type: Template Information accepts up to 5 input values, returns a text
value in Message, which you associate on the Information Formula property
of a template field. That association makes the value in Message available when
the user right-clicks on the field.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Enabled Flag
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
Online Help
For details on how to access Designer(People Management), please refer to the
online Help path :
Oracle HRMS > Workforce Management > Workforce Information Entry >
How to Enter Information Using Templates > Enter a New Person
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Summary
Summary
Having completed this unit you should be able to:
Describe HRMS Forms Configurator
Identify the People Management Templates
Configure Templates
y
l
n
Summary
You should now have an introduction to the HRMS Forms Configurator and
People Management Templates. You should also be able to explain the
interface and identify some components.
For more information on using Forms Configurator and the People Management
Templates, refer to the Online Help path:
Oracle HRMS > Configure Oracle HRMS > Configure Windows >
Forms Configurator
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Extending Security
Chapter 14
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Extending Security
Chapter 14 - Page 1
Extending Security
Extending Security
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Extending Security
Chapter 14 - Page 2
Objectives
Objectives
Identify how to Extend Security Profiles using SQL
Where
Discuss
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Extending Security
Chapter 14 - Page 3
Agenda
Agenda
Review of Security Model
Security Profile and Secure Lists
y
l
n
Topics
This unit reviews security components, recalling Security Profiles and
Responsibilities; it then reviews Security Lists, which are affected when you
extend the security definition with a custom clause.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Extending Security
Chapter 14 - Page 4
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Extending Security
Chapter 14 - Page 5
Last Name
First Name
Emp
Organization Salary
Number
1000
East
$ 55,000.00
Davis
Audrey
Greaves
Jodi
1020
East
$ 83,000.00
Krolczyk
Richard
1040
West
$ 64,000.00
O'Connor
Patrick
1060
West
$ 59,000.00
Presley
Bryant
1080
West
$ 75,000.00
Salvatore
Angela
1090
South
$ 99,000.00
Sweeney
Dan
1100
South
$ 44,000.00
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Extending Security
Chapter 14 - Page 6
PER_POSITION_LIST
PER_ORGANIZATION_LIST
PER_PAYROLL_LIST
PER_PERSON_LIST_CHANGES*
y
l
n
Security Lists
Your Security Profile Window selections define which rows are built into these
_LIST tables. You can make changes in the window at any time, but you must
run LISTGEN to effect changes in the Applications.
The Custom Security Extension we discuss impacts the Security Lists: you can
further limit the security definition by adding to the where clause in defining
the Security Lists. This allows you to define security based upon actual values
of additional entities, for example.
Additional Notes
Supervisor security and any custom security impact PER_PERSON_LIST; this
table contains only current employees and applicants.
The last table, PER_PERSON_LIST_CHANGES is populated at
employee/applicant termination, so their data remains visible.
Employee and Applicant data is the target of HRMS Security. Person data for
persons with system type Other are not restricted.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Extending Security
Chapter 14 - Page 7
Security Profile
Security Profile
Security Profile = Security List x Secured Tables
LISTGEN Builds Security List for each Security
Profile by traversing setup and security
configuration:
View All?
Payroll
Organizations
Position
Person +
Security Profiles
Security Profile Lists are intersection tables between a Security Profile and
HRMS Secured Tables; the tables and corresponding columns include:
PER_PERSON_LIST
SECURITY_PROFILE_ID, PERSON_ID
PER_POSITION_LIST
SECURITY_PROFILE_ID, POSITION_ID
PER_ORGANIZATION_LIST
SECURITY_PROFILE_ID, ORGANIZATION_ID
PAY_PAYROLL_LIST
SECURITY_PROFILE_ID, PAYROLL_ID
PER_PERSON_LIST_CHANGES
SECURITY_PROFILE_ID, PERSON_ID
O
e
y
l
n
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Extending Security
Chapter 14 - Page 8
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Extending Security
Chapter 14 - Page 9
HR Security Profiles
HR Security Profiles
APPLSYS
APPS
HR
PER_ALL_
PEOPLE_F
FND_
SESSIONS
FND_
SESSIONS
USER1
synonym
table
table
PER_PERSON
_LIST
Select * from
per_people_f
LISTGEN
table
Define
Security
Profiles
PER_SECURITY_
PROFILES
table
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Extending Security
Chapter 14 - Page 10
Extending Security
Extending Security
Security List
WHERE
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Extending Security
Chapter 14 - Page 11
y
l
n
Online Help
For details on how to access the Security Profile window, please refer to the
online Help path:
Oracle HRMS > Security > How to > Define a Security Profile.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Extending Security
Chapter 14 - Page 12
Summary
Summary
Having completed this unit you should be able to:
Recall the Security Model including the Security
Profile and Secure Lists components
Know how to Extend Security Profiles with a
Custom Where
y
l
n
Summary
For details on how to extend Security, please refer to the Technical Essays,
Security Profiles and Security Processes, both available on Metalink at:
Technical Libraries > ERP Applications > Human Resource Management
Systems > Human Resources > Documentation > Release 11i Documentation >
Global > Implementing Oracle HRMS > Technical Essays > Extending Security
in Oracle HRMS > Extending Security in Oracle Human Resources.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Extending Security
Chapter 14 - Page 13
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Extending Security
Chapter 14 - Page 14
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
10. Enter your validation code between the proper begin and end event clauses. Your
code should execute conditionally for the Application_ID (800 for HR), Form, Block,
Event, and specific values (including your unique team suffix) requiring validation. Use
the code samples in the library or the solution below.
s
U
11. Update the date in fdrcsid, found near the end of the library file.
I
A
O
e
12. Generate CUSTOMxx.pll to create CUSTOMxx.plx by selecting the Menu option File >
Administration > Generate
&
l
a
13. Instructor: Generate your library and attach student customxx libraries. Move the new
library to the application server, under $AU_TOP/resource.
n
r
te
14. Test your code by entering an employee with last name in all uppercase and your unique
suffix.
n
I
e
l
c
a
r
O
-- HR-users
=> 'Accept',
default_btn
=> 2,
cancel_btn
=> 1);
if l_button_selected = 1 then
raise Form_trigger_failure;
end if;
end if; -- name uppercase
end if; -- your team
end if;
application
end if;
y
l
n
-- application_id = 800
O
e
HR-users
I
A
s
U
1. Forms will use a .plx if it is available, regardless of a newer .pll . To ensure your new
library is executed, remove the old .plx, or regenerate a one by compiling the .pll with
the Menu option > File > Compile All.
&
l
a
2. If your library is not attached to a form, you can enter the Custom library path in the
forms60_path on your local machine, under Software > Oracle. Any additional or
supporting libraries should also be in your Forms home.
n
r
te
3. To use a different Form area, set APPLWRK profile (FND.Override Directory) through
Examine.
n
I
e
l
c
a
r
O
O
e
y
l
n
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
O
e
y
l
n
-- custom.override
-- custom.standard
--- By default this routine must return custom.standard
--- Oracle Corporation reserves the right to change the events
-- available through this interface at any time.
-/* Sample code:
begin
if event_name = 'OE_LINES_PRICING' then
return custom.override;
else
return custom.standard;
end if;
end style;
*/
--- Real code starts here
-begin
return custom.standard;
end style;
I
A
--------------------------------------------------------------------
y
l
n
s
U
&
l
a
n
r
te
n
I
e
l
c
a
r
O
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
O
e
y
l
n
O
e
begin
if form_name = 'PERWSHRG' then
I
A
s
U
if block_name = 'PERSON'
and event_name = 'WHEN-NEW-BLOCK-INSTANCE' then
--- Example #1 - Highlight Fields
-fnd_message.set_string('Would you like to highlight all required fields ?');
l_button_selected:=fnd_message.question(button1
=> 'Cancel',
button2
=> 'No',
button3
=> 'Yes',
default_btn => 2,
cancel_btn => 1,
icon
=> 'question');
&
l
a
n
r
te
n
I
e
l
c
a
r
O
y
l
n
if l_button_selected = 3 then
set_item_property('person.last_name',
VISUAL_ATTRIBUTE,'SELECTED_DATA');
set_item_property('person.sex',VISUAL_ATTRIBUTE,'SELECTED_DATA');
set_item_property('person.date_of_birth',
VISUAL_ATTRIBUTE,'SELECTED_DATA');
end if;
--- Example #2 - Remove Field(s)
fnd_message.set_string('Would you like to remove the Mail To field ?');
l_button_selected:=fnd_message.question(button1
=> 'Cancel',
button2
=> 'No',
button3
=> 'Yes',
default_btn => 2,
cancel_btn => 1,
icon
=> 'question');
y
l
n
O
e
I
A
s
U
if l_button_selected = 3 then
set_item_property('person.d_home_office',DISPLAYED,PROPERTY_FALSE);
&
l
a
end if;
end if; -- Person block and WHEN-NEW-FORM-INSTANCE
--- Example #3 - Override LOV
n
r
te
n
I
e
l
c
a
l_check:=populate_group_with_query('MARITAL_LOV',
' select hl.meaning||'||''' -- ADDED TEXT '''
||' ,hl.lookup_code from hr_lookups hl '
||' where hl.lookup_type = '||'''MAR_STATUS'''
r
O
y
l
n
O
e
-- Entry block
I
A
s
U
BEGIN
--- You should consider updating the version information listed below as you
-- make any customizations to this library. This information will be
-- displayed in the 'About Oracle Applications' window in the Forms PL/SQL
-- section. Only change the revision, date and time sections of this string.
&
l
a
n
r
te
n
I
e
l
c
a
r
O
$');
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
s
U
I
A
&
l
a
n
r
te
n
I
e
l
c
a
r
O
end validate_prefix_99;
end tutor_hook_99;
/
Part 2: Register the Hook and Generate the Package Body
Register the new API user hook and generate the package body: Locate the API_HOOK_ID
for the HR_EMPLOYEE_BK1 package and CREATE_EMPLOYEE_A procedure, in the
HR_API_HOOKS table. For example, the following SQL provides the hook ID. Run the
same SQL in your instance to obtain the hook_id for your practice.
SQL>
1 select api_hook_id, api_module_id,
hook_package,
hook_procedure
2 from hr_api_hooks
3 where hook_package = 'HR_EMPLOYEE_BK1'
4* and hook_procedure = 'CREATE_EMPLOYEE_A';
y
l
n
API_HOOK_ID API_MODULE_ID
----------- ----------61
28
O
e
s
U
Register your hooked code, using the API user hook package body generation process
(hrahkall.sql).
declare
l_api_hook_call_id number;
l_object_version_number number;
&
l
a
I
A
n
r
te
begin
hr_api_hook_call_api.create_api_hook_call
(p_validate => false,
p_effective_date => to_date('01-JAN-1999','DD-MON-YYYY'),
p_api_hook_id => 61,
p_api_hook_call_type => 'PP',
p_sequence => 3000,
p_enabled_flag => 'Y',
p_call_package => 'tutor_hook_99',
n
I
e
l
c
a
r
O
y
l
n
s
U
line 692
line 1086
line 28
I
A
&
l
a
n
r
te
n
I
e
l
c
a
r
O
O
e
This package identifies parameters at each API User hook. Caution: This file spools to
hundreds of pages. The following is an example of parameters.
SQL> start hrahkpar.sql
DOC>
Copyright (c) 1997 Oracle Corporation
DOC>
All rights reserved.
DOC>*=========================*/
Parameters Available at each API User Hook
==========================================
Created on 2001/09/16 16:19:11 (YYYY/MM/DD HH:MM:SS)
Module Name: ACTIVATE_EMP_ASG
Module Type: Business Process API
Hook: After Process
P_EFFECTIVE_DATE
P_DATETRACK_UPDATE_MODE
P_ASSIGNMENT_ID
P_CHANGE_REASON
P_OBJECT_VERSION_NUMBER
P_ASSIGNMENT_STATUS_TYPE_ID
P_EFFECTIVE_START_DATE
P_EFFECTIVE_END_DATE
DATE
VARCHAR2
NUMBER
VARCHAR2
NUMBER
NUMBER
DATE
DATE
DATE
VARCHAR2
NUMBER
VARCHAR2
NUMBER
NUMBER
&
l
a
I
A
y
l
n
s
U
n
r
te
n
I
e
l
c
a
r
O
O
e
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
Work Location:
I
A
&ASG_ORG
&
l
a
s
U
n
r
te
n
I
e
l
c
a
3. Save your report, create an assignment set with a single employee, then run the report for
your assignment set:
r
O
(N) Processes and Reports -> Run a QuickPaint Report in the Navigator
Oracle Corp.
y
l
n
O
e
s
U
I
A
DEFINITION_TEXT
USER_ENTITY_ID
----------------------ADDR.address_line1
3
&
l
a
n
r
te
n
I
e
l
c
a
r
O
ROUTE_ID
--------------3
SELECT TEXT
FROM FF_ROUTES
WHERE ROUTE_ID = 3;
TEXT
---------------------------------------------------/* Person address details */
per_all_assignments_f ASSIGN
,
per_addresses
ADDR
,
fnd_territories_vl
a
where
to_date (&B1, 'DD-MON-YYYY') BETWEEN
ASSIGN.effective_start_date
AND
ASSIGN.effective_end_date
and
ASSIGN.assignment_id
= &B2
and
ADDR.person_id
(+)= ASSIGN.person_id
and
ADDR.primary_flag
(+)= 'Y'
and
to_date (&B1, 'DD-MON-YYYY')
BETWEEN nvl(ADDR.date_from,
to_date (&B1, 'DD-MON-YYYY'))
TEXT
---------------------------------------------------AND nvl(ADDR.date_to,
to_date (&B1, 'DD-MON-YYYY'))
and
a.territory_code
(+)= ADDR.country
y
l
n
O
e
&
l
a
I
A
s
U
n
r
te
n
I
e
l
c
a
r
O
AND
and
At this level we see &B1 and &B2, which are placeholders referencing contexts in the tables
FF_ROUTE_CONTEXT_USAGES and FF_CONTEXTS.
Note: Placeholders are variables in the WHERE clause that make the SQL more dynamic. The
two types of placeholders are &U# and &B#, where # refers to a sequence number.
&B# placeholders reference contexts in the tables FF_ROUTE_CONTEXT_USAGES and
FF_CONTEXTS. Context values are passed to the formula at runtime; they are not fixed
values.
&U# placeholders are 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 holder are
fixed; they are not passed through the formula.
In our example, we can resolve the placeholders further, with the following:
SQL> select SEQUENCE_NO, CONTEXT_ID
2 from ff_route_context_usages
3 where route_id = 3;
SEQUENCE_NO
----------1
2
O
e
CONTEXT_ID
---------8
6
I
A
s
U
&
l
a
n
r
te
l
c
a
n
I
e
r
O
CONTEXT_ID
--------6
8
y
l
n
CONTEXT_NAME
-----------------------------ASSIGNMENT_ID
DATE_EARNED
Copyright Oracle Corporation, 2002. All rights reserved.
y
l
n
O
e
I
A
s
U
ADDRESS_LINE1
--------------------------------------------------1515 Marvin Street
&
l
a
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
s
U
3. Review your design, then create the PL/SQL function. For purposes of this practice,
model your solution on the existing PL/SQL function,
hr_ni_chk_pkg.chk_nat_id_format.
I
A
4. Register your function in the Forms; identify required contexts and parameters.
&
l
a
5. Create or modify a payroll formula to call the function, and complete testing.
n
r
te
n
I
e
l
c
a
r
O
Enter the function definition using these values, where xx is your team number:
Name
Data Type
Alias
Description
Definition
3.
Xx_validate
Text
Xx_validate
(optional)
hr_ni_chk_pkg.chk_nat_id_format
4. Enter context usages, if required. Navigate to the Context Usages window by choosing
the Context Usages button.
Sequence Number
1
2
5.
Context Name
Business_Group_ID
Assignment_ID
Data Type
Number
Number
y
l
n
6. Enter parameters, if you determine that they are required. Navigate to the Parameters
window by choosing the Parameters button. (Hint: you can look at the reference function
provided below.)
Number
1
2
7.
Parameter Name
National_Identifier
Format
Type
Text
Text
Class
Input Only
Input Only
I
A
O
e
s
U
Save your changes and exit, closing the Parameters and Define Functions
windows.Reference Information CHK_NAT_ID_FORMAT function
&
l
a
n
r
te
n
I
e
l
c
a
r
O
Reference Information
Notes: These excerpts from the package header and body are simply for reference of
parameters in the PL/SQL code.
Package body file and object name:
hr_ni_chk_pkg AS
PACKAGE BODY
$ */
O
e
y
l
n
s
U
FUNCTION chk_nat_id_format(
/* This function checks that a supplied national identifier is
in the specified format. It also ensures that the correct
format mask is applied to the national identifier, which is
then returned to the calling program. If the validation fails
then the rountine passes back a '0'.
It should conform to business process validation standards,
from which it is called in order that the person API routines
remain under the control of one person. */
p_national_identifier
IN VARCHAR2,
p_format_string
IN VARCHAR2
) RETURN VARCHAR2 AS
I
A
&
l
a
n
r
te
l
c
a
n
I
e
l_nat_id
l_format_mask
l_format_string
l_valid
r
O
VARCHAR2(30);
VARCHAR2(30);
VARCHAR2(30);
NUMBER;
O
e
y
l
n
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
5. In the Copy Template window, enter a new code and name for your form. Use a name
such as XX EMPS in the template code field and XX Employees in the template name
field, where XX is your unique team number.
O
e
I
A
s
U
9. Enter XX EMPS in the template code field, where XX is your unique team number.
&
l
a
10. Enter XX Employees in the template name field. This is the name that will be displayed
to end users.
n
r
te
n
I
e
l
c
a
r
O
15. Click on Edit. You will now have your template visible as a form and with a designer
interface. This is where you modify the Form: you can move fields, add defaults, and so
forth. Save your work when prompted.
16. Click on the + of XX Employees Folder.
17. Click on the + of the Items in your XX Employees Folder. This will provide you with a
list of all the values in this form.
18. Note: the Context attribute is presently used only for Position copy. This feature controls
access of fields dependent on the Application, Legislation, and Responsibility.
19. Click on an item, such as the Person Type Item.
20. With the Person Type highlighted, move the scroll bar along the field attributes. Note
the Person type field position on the form window.
21. Move the Person Type field, changing the x coordinate to 5. You will see the field move
to the left. (Field position changes are faster using the x and y coordinates rather than the
arrows.)
22. Scroll to the Default Value field. Enter the Value of Employee. You can add default
values for other fields. Move from the Default field and observe the label in the working
form window.
y
l
n
23. Change the field label by scrolling to the Prompt Text field. Enter a new value for the
displayed field label.
O
e
24. Scroll to the Tool Tip field for the Person Type field. Add the text: System Person Type.
When you tab out of the field, move the mouse cursor over the field, observing your new
help text. (Note the course and online help cautions about overriding help text.)
I
A
s
U
25. You can hide fields. Select the Person Type field. Scroll to the Visible attribute,
changing it from Yes to No. The field is now hidden from the user, but records entered
have the default value.
&
l
a
26. Examine other options, including Formula. (Recall that Configurator Formula
definitions are limited to 5 input values.)
n
r
te
27. After configuration has been completed, you can add the form to your menu structure, or
n
I
e
into a taskflow.
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
Location_ID
Location
Legislation
202
US
206
D2- Miami
US
451
HR- Atlanta
US
307
HR- Bristol, UK
UK
432
HR- Newcastle, UK
UK
454
HR- Reading, UK
UK
Name
Notes
Security Profile
HRTechxx /
Business Group
I
A
&
l
a
Organization(s)
s
U
n
I
e
l
c
a
r
O
O
e
n
r
te
Payroll(s)
Location(s)*
y
l
n
*These entities will be added separately, using the Security Profile Custom tab.
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
Set the HR:Security Profile to your new profile at the Responsibility level.
Navigate to the Security Profile window using your System Administration Responsibility:
(N) Security > Profile
1. Specify the Profile Option and the Responsibility in the Find Window.
2. Uncheck Site, Application, and User.
3. Check Responsibility; select your Responsibility name (such as XX_HRTech) from the list
of values.
4. Enter HR:Security Profile for the profile option; you can optionally use HR%Sec% (Hint:
Some profile option names use spaces before or after the : and others do not. )
5. Set the value for your Security Profile to your Responsibility.
6. Save your work and close the window.
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
5. Note specific employees. You can list employee names or other values here:
6. Obtain the values to limit your Security Profile. You can use the Toolbar Help >
Diagnostics > Examine to find IDs for specific values, such as location or job.
Alternatively, you can use SQL*Plus to find values or IDs.
6. Modify Security Profile: Custom Restriction
y
l
n
O
e
Modify your security profile, adding your Custom restriction. The fragment can relate to
location, job, person name, or another entity.
Using your Super HRMS Manager Responsibility, Navigate to the Security Profile window:
(N) Security > Profile > Define
1. Query your Security Profile, such as XX_HRTech.
2. Select the Custom tab.
3. Check the Custom checkbox.
4. Enter the where fragment into the custom window. You do not need quotes or the word
where. For example, you can enter:
assignment.location_id = 202 and person.last_name like B%
5. Press the Verify button. Look for the message at the bottom of the window, indicating that
your code has been verified.
6. Save your work and close the window.
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O
y
l
n
O
e
I
A
&
l
a
s
U
n
r
te
n
I
e
l
c
a
r
O