Some Fast Formula Tables:
SQL Query to select tables:-
Select * from all_objects where object_type='table' and object_name like 'ff%';
ff_functions
ff_function_parameters
ff_formulas_f
ff_formula_types
ff_database_items
ff_globals_ff
Fast formulas are used for validations under applied rules for calculations.
Its Uses in Payroll:
validate element inputs
Calculate element Pay values &run results during payroll processing.
Specify the rules for skipping an element during payroll processing
perform legislative checks during a payroll run.
Components of a formula:
-Assignment statements
-different types of input including database items,functions,nested expressions and conditions.
1.Assignment & return statements:
E.g Pay value for element wage:
wage=hours_worked*Hourly_rate return wage;
2.Constants and variables:-
E.g Wage=200;
3.Data type:
-numeric,text,data
4.Functions: Greatest,initcap,instr,lower,rteim,translate,round,etc..
-convert variables from number to text(to_text),dates to text
text to date(to_date),text to number(to_num)
5.Compile Fastformula:
-choose verify button after wiriting the fast formula to compile it.
-to compile to many formulas together,run the concurrent program
"Bulk compile formula process"
Fast formula errors:
-verify time errors(syntax),runtime(data problem),uninitialized variables,divide by zero.
SQL Query to select tables:-
Select * from all_objects where object_type='table' and object_name like 'ff%';
ff_functions
ff_function_parameters
ff_formulas_f
ff_formula_types
ff_database_items
ff_globals_ff
Fast formulas are used for validations under applied rules for calculations.
Its Uses in Payroll:
validate element inputs
Calculate element Pay values &run results during payroll processing.
Specify the rules for skipping an element during payroll processing
perform legislative checks during a payroll run.
Components of a formula:
-Assignment statements
-different types of input including database items,functions,nested expressions and conditions.
1.Assignment & return statements:
E.g Pay value for element wage:
wage=hours_worked*Hourly_rate return wage;
2.Constants and variables:-
E.g Wage=200;
3.Data type:
-numeric,text,data
4.Functions: Greatest,initcap,instr,lower,rteim,translate,round,etc..
-convert variables from number to text(to_text),dates to text
text to date(to_date),text to number(to_num)
5.Compile Fastformula:
-choose verify button after wiriting the fast formula to compile it.
-to compile to many formulas together,run the concurrent program
"Bulk compile formula process"
Fast formula errors:
-verify time errors(syntax),runtime(data problem),uninitialized variables,divide by zero.
IMPORTANT TABLES IN HRMS:
per_all_people_f:
Tracks Employee Records.
Date track table with primary key person_id.
Can get personal ,professional,taxable location and other informations of the person(employee).
per_all_assignments:
Central table of oracle payroll.
Element entries are stored against assignment record.
Assignment_id is the primary key.
Keeps track of employee position,grade etc.
per_person_type:
Master table of person types(casual,applicant,employees).
person_type_id is the primary key.
Per_periods_of_service:
Period of service details for an employee.
----------------------------------------------------------------------------------------
PAYROLL
pay_element_types_f:
list payroll elements
element_type_id with date track columns are the primary keys.
pay_element_links_f:
Payroll linked elements.
After linking payroll elements to the payroll it gets into employee payroll.
element_link_id with date track columns are the primary keys.
pay_element_entries_f:
Elements attached to an assignment has an entry in this table
.
pay_payroll_actions:
Type of pay and costing sements can be driven out.
per_all_people_f:
Tracks Employee Records.
Date track table with primary key person_id.
Can get personal ,professional,taxable location and other informations of the person(employee).
per_all_assignments:
Central table of oracle payroll.
Element entries are stored against assignment record.
Assignment_id is the primary key.
Keeps track of employee position,grade etc.
per_person_type:
Master table of person types(casual,applicant,employees).
person_type_id is the primary key.
Per_periods_of_service:
Period of service details for an employee.
----------------------------------------------------------------------------------------
PAYROLL
pay_element_types_f:
list payroll elements
element_type_id with date track columns are the primary keys.
pay_element_links_f:
Payroll linked elements.
After linking payroll elements to the payroll it gets into employee payroll.
element_link_id with date track columns are the primary keys.
pay_element_entries_f:
Elements attached to an assignment has an entry in this table
.
pay_payroll_actions:
Type of pay and costing sements can be driven out.
BEE(BATCH ELEMENT ENTRIES)
BEE(Batch Element Entries)
Bulk of data added for many exisiting employees.
May be accounting,DFF,KFF elements added to numerous employees at a same time is referred to BEE
Process is as follows:
Example:To add new bonus element for exisiting employees
1.Create a control file with the columns required eg:name of the element,value given to the element
2.Create an table to store the vales to updload the data .
3.Use FNDLOAD for file upload
Example:
FNDLOAD apps/pwd 0 Y UPLOAD ${FND_TOP}/patch/115/import/afcpprog.lct myfile.ldt - CUSTOM_MODE=FORCE undocumented parameter
**Refer Metalink or Oracle Applications Systems Administrator Guide
4.Create the Batch Header and Batch lines for its respective tables using API's(pay_batch_header.create_batch_header).
Tables to be Populated:Pay_batch_headers,pay_batch_lines
Batch header consist of an identical name for the batch to be uploaded(batch_name,batch_id).
Batch lines consist of values to bonus elements(batch_id).
5.Check the Status of file uploaded in the batch Status.
it will be U-unprocesses,V-Valid,P-processed.
Bulk of data added for many exisiting employees.
May be accounting,DFF,KFF elements added to numerous employees at a same time is referred to BEE
Process is as follows:
Example:To add new bonus element for exisiting employees
1.Create a control file with the columns required eg:name of the element,value given to the element
2.Create an table to store the vales to updload the data .
3.Use FNDLOAD for file upload
Example:
FNDLOAD apps/pwd 0 Y UPLOAD ${FND_TOP}/patch/115/import/afcpprog.lct myfile.ldt - CUSTOM_MODE=FORCE undocumented parameter
**Refer Metalink or Oracle Applications Systems Administrator Guide
4.Create the Batch Header and Batch lines for its respective tables using API's(pay_batch_header.create_batch_header).
Tables to be Populated:Pay_batch_headers,pay_batch_lines
Batch header consist of an identical name for the batch to be uploaded(batch_name,batch_id).
Batch lines consist of values to bonus elements(batch_id).
5.Check the Status of file uploaded in the batch Status.
it will be U-unprocesses,V-Valid,P-processed.
CONVERSTIONS USING API:
hr_person_address_api is used for example purpose.
DECLARE
x_business_group_id NUMBER;
x_person_id NUMBER;
x_address_id NUMBER;
x_obj_no NUMBER;
x_errm VARCHAR2(100);
CURSOR legacy_address_cursor IS
/*replace the hard-coding with your source data*/
Lets say you wish to migrate a person address record of following data in Oracle HRMS
Address Line 1 : Martket Stree
Address Line 2 : London
Date FROM : SYSDATE - 1
Employee number : 90909090
Person Id : 134593
SELECT '90909090' AS employee_number
,'Woodlands Street' AS addr_line1
,'London' AS addr_line2
,'SW1 1DB' AS post_code
,'07968875963' AS tel_no
,134593 AS person_id
/*as you have already migrated this person*/
,trunc(SYSDATE) - 1 date_from
/*you can make this to be the same as start date of person*/
FROM dual
--replace this with your actual source table
;
BEGIN
SELECT business_group_id
INTO x_business_group_id
FROM per_business_groups
WHERE NAME = 'Your Buss Group Name here or Setup Business Group';
FOR p_record IN legacy_address_cursor
LOOP
BEGIN
hr_person_address_api.create_gb_person_address(p_validate => FALSE
,p_effective_date => SYSDATE
,p_pradd_ovlapval_override => FALSE
,p_person_id => p_record.person_id
,p_primary_flag => 'Y'
,p_date_from => p_record.date_from
,p_address_line1 => initcap(p_record.addr_line1)
,p_address_line2 => initcap(p_record.addr_line2)
,p_postcode => p_record.post_code
,p_country => 'GB'
,p_telephone_number => p_record.tel_no
,p_address_id => x_address_id
,p_object_version_number => x_obj_no
,p_date_to => NULL
,p_address_type => NULL
,p_comments => NULL);
dbms_output.put_line('Address for person_id=>'p_record.person_id' has been loaded');
--update the legacy source address table to change migration status of record
EXCEPTION
WHEN OTHERS THEN
x_errm := SQLERRM;
dbms_output.put_line('Error when migrating Address for person_id=>' p_record.person_id ' 'x_errm);
/* log_error(p_record.person_id,x_errm);*/
END;
END LOOP;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
x_errm := SQLERRM;
dbms_output.put_line('Fatal Error ' x_errm);
/* log_error(-1,'Fatal Error ' x_errm);*/
END;
/
staging table is a table where data is held temporarily for transformation, enrichment and validation before it is moved to the final destination. Staging tables are typically used for conversion and interfaces.
Transformation includes activities such§ as changing formats and data types, e.g. the character string "23-SEP-2006" into the date September 23 2006; mapping one value to another, e.g. from 1 to "M".
Enrichment is adding new data to the records that were not available§ in the source.
Validation is checking that the values in fields in a§ record are valid and that the record is internally consistent.
DECLARE
x_business_group_id NUMBER;
x_person_id NUMBER;
x_address_id NUMBER;
x_obj_no NUMBER;
x_errm VARCHAR2(100);
CURSOR legacy_address_cursor IS
/*replace the hard-coding with your source data*/
Lets say you wish to migrate a person address record of following data in Oracle HRMS
Address Line 1 : Martket Stree
Address Line 2 : London
Date FROM : SYSDATE - 1
Employee number : 90909090
Person Id : 134593
SELECT '90909090' AS employee_number
,'Woodlands Street' AS addr_line1
,'London' AS addr_line2
,'SW1 1DB' AS post_code
,'07968875963' AS tel_no
,134593 AS person_id
/*as you have already migrated this person*/
,trunc(SYSDATE) - 1 date_from
/*you can make this to be the same as start date of person*/
FROM dual
--replace this with your actual source table
;
BEGIN
SELECT business_group_id
INTO x_business_group_id
FROM per_business_groups
WHERE NAME = 'Your Buss Group Name here or Setup Business Group';
FOR p_record IN legacy_address_cursor
LOOP
BEGIN
hr_person_address_api.create_gb_person_address(p_validate => FALSE
,p_effective_date => SYSDATE
,p_pradd_ovlapval_override => FALSE
,p_person_id => p_record.person_id
,p_primary_flag => 'Y'
,p_date_from => p_record.date_from
,p_address_line1 => initcap(p_record.addr_line1)
,p_address_line2 => initcap(p_record.addr_line2)
,p_postcode => p_record.post_code
,p_country => 'GB'
,p_telephone_number => p_record.tel_no
,p_address_id => x_address_id
,p_object_version_number => x_obj_no
,p_date_to => NULL
,p_address_type => NULL
,p_comments => NULL);
dbms_output.put_line('Address for person_id=>'p_record.person_id' has been loaded');
--update the legacy source address table to change migration status of record
EXCEPTION
WHEN OTHERS THEN
x_errm := SQLERRM;
dbms_output.put_line('Error when migrating Address for person_id=>' p_record.person_id ' 'x_errm);
/* log_error(p_record.person_id,x_errm);*/
END;
END LOOP;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
x_errm := SQLERRM;
dbms_output.put_line('Fatal Error ' x_errm);
/* log_error(-1,'Fatal Error ' x_errm);*/
END;
/
staging table is a table where data is held temporarily for transformation, enrichment and validation before it is moved to the final destination. Staging tables are typically used for conversion and interfaces.
Transformation includes activities such§ as changing formats and data types, e.g. the character string "23-SEP-2006" into the date September 23 2006; mapping one value to another, e.g. from 1 to "M".
Enrichment is adding new data to the records that were not available§ in the source.
Validation is checking that the values in fields in a§ record are valid and that the record is internally consistent.
How an Application Life Cycle goes:
1. Evaluate the Essential information’s to make up the core work.
2. Install EBS
3. Start configuring the functional you are going to develop and deploy
4 .Convert the Legacy system and transfer data to EBS
5. Test the system and data flow.
6. Migrate according the client environment.
7.Sustain the configuration and update it.
1. Evaluate the Essential information’s to make up the core work.
2. Install EBS
3. Start configuring the functional you are going to develop and deploy
4 .Convert the Legacy system and transfer data to EBS
5. Test the system and data flow.
6. Migrate according the client environment.
7.Sustain the configuration and update it.
CRP’s (Conference Room Pilots):-
-Configures Oracle HR & Payroll Applications
-Generates the default settings and loads configuration.
-Loads the reference tables.
Configuration models:-
1.Single operating company in one country.
2.Single operating unit with many countries.
3.Multiple operating unit in one country.
4.Multiple operating unit in multiple country.
Important API's:
HR_ASSIGNMENT_API
CREATE_SECONDARY_EMP_ASG To Create a secondary Assignments for Employee
CREATE_GB_SECONDARY_EMP_ASG To Create a secondary Assignments for UK Employee
CREATE_US_SECONDARY_EMP_ASG To Create a secondary Assignments for US Employee
SUSPEND_EMP_ASG To Suspend The Employee assignments(Temparary)
ACTUAL_TERMINATION_EMP_ASG To Remove All Assignements for employee(Permanent)
UPDATE_EMP_ASG Update The Existing assignment for an Employee
UPDATE_GB_EMP_ASG Update The Existing assignment for an UK Employee
UPDATE_US_EMP_ASG Update The Existing assignment for an US Employee
UPDATE_EMP_ASG_CRITERIA To Update Assignment Criteria for an employee
ACTIVATE_EMP_ASG Use to Activate Suspend Assignment for an Employee
UPDATE_APL_ASG To Update Assignment for an Applicant
TERMINATE_APL_ASG To Terminate Assignment for an Applicant
SET_NEW_PRIMARY_ASG Use to set The purticular assignment as a Primary.
HR_EMPLOYEE_API
CREATE_EMPLOYEE Use to create a New Employee
CREATE_GB_EMPLOYEE Use to create a New UK Employee
CREATE_US_EMPLOYEE Use to create a New US Employee
RE_HIRE_EX_EMPLOYEE Use to rehire ex-employee who got termination Already
GET_PERSON_DETAILS Display The Person details
HIRE_INTO_JOB Hire a perticular person to purticular Job
HR_ENTRY_API
INSERT_ELEMENT_ENTRY Use to create a new element entry
CHECK_SALARY_ADMIN_UPDATES
UPDATE_ELEMENT_ENTRY Use to Update a existing element entry
DELETE_ELEMENT_ENTRY Use to delete a new element entry
HR_GRADE_API
CREATE_GRADE_RATE_VALUE Use to Create a grades
UPDATE_GRADE_RATE_VALUE Use to Update a grades
DELETE_GRADE_RATE_VALUE Use to Delete a grades
HR_JOB_API
CREATE_JOB Use to create a new jos for a puticular job group
UPDATE_JOB Use to Update a jos for a puticular job group
DELETE_JOB Use to Delete a jos for a puticular job group
HR_ORGANIZATION_API
CREATE_ORGANIZATION It's used to create.update and delete Organizations
UPDATE_ORGANIZATION
DELETE_ORGANIZATION
CREATE_ORG_CLASSIFICATION It's used to create.update and delete Org.Classification
ENABLE_ORG_CLASSIFICATION
DISABLE_ORG_CLASSIFICATION
CREATE_ORG_INFORMATION It's used to create.update Organizations
UPDATE_ORG_INFORMATION
CREATE_BUSINESS_GROUP Used to create Business Group
CREATE_OPERATING_UNIT Used to create Operating units
CREATE_LEGAL_ENTITY Used to create legal entity
CREATE_COMPANY_COST_CENTER
HR_PERSON_API
UPDATE_PERSON Used to Update the persons records
UPDATE_GB_PERSON
UPDATE_US_PERSON
CREATE_SECONDARY_EMP_ASG To Create a secondary Assignments for Employee
CREATE_GB_SECONDARY_EMP_ASG To Create a secondary Assignments for UK Employee
CREATE_US_SECONDARY_EMP_ASG To Create a secondary Assignments for US Employee
SUSPEND_EMP_ASG To Suspend The Employee assignments(Temparary)
ACTUAL_TERMINATION_EMP_ASG To Remove All Assignements for employee(Permanent)
UPDATE_EMP_ASG Update The Existing assignment for an Employee
UPDATE_GB_EMP_ASG Update The Existing assignment for an UK Employee
UPDATE_US_EMP_ASG Update The Existing assignment for an US Employee
UPDATE_EMP_ASG_CRITERIA To Update Assignment Criteria for an employee
ACTIVATE_EMP_ASG Use to Activate Suspend Assignment for an Employee
UPDATE_APL_ASG To Update Assignment for an Applicant
TERMINATE_APL_ASG To Terminate Assignment for an Applicant
SET_NEW_PRIMARY_ASG Use to set The purticular assignment as a Primary.
HR_EMPLOYEE_API
CREATE_EMPLOYEE Use to create a New Employee
CREATE_GB_EMPLOYEE Use to create a New UK Employee
CREATE_US_EMPLOYEE Use to create a New US Employee
RE_HIRE_EX_EMPLOYEE Use to rehire ex-employee who got termination Already
GET_PERSON_DETAILS Display The Person details
HIRE_INTO_JOB Hire a perticular person to purticular Job
HR_ENTRY_API
INSERT_ELEMENT_ENTRY Use to create a new element entry
CHECK_SALARY_ADMIN_UPDATES
UPDATE_ELEMENT_ENTRY Use to Update a existing element entry
DELETE_ELEMENT_ENTRY Use to delete a new element entry
HR_GRADE_API
CREATE_GRADE_RATE_VALUE Use to Create a grades
UPDATE_GRADE_RATE_VALUE Use to Update a grades
DELETE_GRADE_RATE_VALUE Use to Delete a grades
HR_JOB_API
CREATE_JOB Use to create a new jos for a puticular job group
UPDATE_JOB Use to Update a jos for a puticular job group
DELETE_JOB Use to Delete a jos for a puticular job group
HR_ORGANIZATION_API
CREATE_ORGANIZATION It's used to create.update and delete Organizations
UPDATE_ORGANIZATION
DELETE_ORGANIZATION
CREATE_ORG_CLASSIFICATION It's used to create.update and delete Org.Classification
ENABLE_ORG_CLASSIFICATION
DISABLE_ORG_CLASSIFICATION
CREATE_ORG_INFORMATION It's used to create.update Organizations
UPDATE_ORG_INFORMATION
CREATE_BUSINESS_GROUP Used to create Business Group
CREATE_OPERATING_UNIT Used to create Operating units
CREATE_LEGAL_ENTITY Used to create legal entity
CREATE_COMPANY_COST_CENTER
HR_PERSON_API
UPDATE_PERSON Used to Update the persons records
UPDATE_GB_PERSON
UPDATE_US_PERSON
Reports in HRMS:
Absence report
advance pay listing
advance pay listing
assignment status report
assignment unavilable for processing report
aduit report
cost breakdown report(budget over a period)
Calculate commitment(costing)
Element result lisiting report
element link details report
Employee payroll movements report
full person details report set
pay advice report and more..
advance pay listing
advance pay listing
assignment status report
assignment unavilable for processing report
aduit report
cost breakdown report(budget over a period)
Calculate commitment(costing)
Element result lisiting report
element link details report
Employee payroll movements report
full person details report set
pay advice report and more..
Data Pump:
Data Pump:
Allowing to load existing data from HRMS system into single Batch interface table
-uses appropriate API
-Data Pump engine used for data load process
-HR_API_modules Contains all HRMS API.
Advantages:
-can map same interface table to map data into different Business API's
-e.g. Create_employee and create_peron_address API's can be called by data pump int he same batch.
-Also rum multithreaded, restarted after error fixed.
Key components of data pump:
1. Meta Mapper:- Generates specific procedures & update data in interface table
pl/sql code: HR_PUMP_META_MAPPER.GENERATEALL;
or
HR_PUMP_META_MAPPER.GENERATE ('HR_EMPLOYEE_API','CREATE_EMPLOYEE');
Meta mapper view will be HRDPV_GREATE_EMPLOYEE
2. Batch Tables:-
Used to hold data to be uploaded
HR_PUMP_BATCH_HEADERS
HR_PUMP_Batch_LINES
HR_PUMP_BATCH_HEADERS: Has
batch_id
batch_name
batch status
business_group_name
HR_PUMP_Batch_LINES: Has
batch_line_id
batch_id
api_module_id
Batch Line table has 230 columns mapped to API parameters
3. Data Pump Procedure:
Meta mapper creates API Procedures to be used to insert records into batch line tables.
E.g. HRDPP_CREATE_EMPLOYEE.INSERT_BATCH_LINES
Generated views are procedure can be seen undar HRDPV_view & HRDPP_Procedure.
Execute HR_PUMP_META_MAPPER.HELP ('HR_EMPLOYEE_API','CREATE_EMPLOYEE');
4. Data pump Engine:-Standard concurrent program that performs upload of data with two essential parameters batch name and validate.
Allowing to load existing data from HRMS system into single Batch interface table
-uses appropriate API
-Data Pump engine used for data load process
-HR_API_modules Contains all HRMS API.
Advantages:
-can map same interface table to map data into different Business API's
-e.g. Create_employee and create_peron_address API's can be called by data pump int he same batch.
-Also rum multithreaded, restarted after error fixed.
Key components of data pump:
1. Meta Mapper:- Generates specific procedures & update data in interface table
pl/sql code: HR_PUMP_META_MAPPER.GENERATEALL;
or
HR_PUMP_META_MAPPER.GENERATE ('HR_EMPLOYEE_API','CREATE_EMPLOYEE');
Meta mapper view will be HRDPV_GREATE_EMPLOYEE
2. Batch Tables:-
Used to hold data to be uploaded
HR_PUMP_BATCH_HEADERS
HR_PUMP_Batch_LINES
HR_PUMP_BATCH_HEADERS: Has
batch_id
batch_name
batch status
business_group_name
HR_PUMP_Batch_LINES: Has
batch_line_id
batch_id
api_module_id
Batch Line table has 230 columns mapped to API parameters
3. Data Pump Procedure:
Meta mapper creates API Procedures to be used to insert records into batch line tables.
E.g. HRDPP_CREATE_EMPLOYEE.INSERT_BATCH_LINES
Generated views are procedure can be seen undar HRDPV_view & HRDPP_Procedure.
Execute HR_PUMP_META_MAPPER.HELP ('HR_EMPLOYEE_API','CREATE_EMPLOYEE');
4. Data pump Engine:-Standard concurrent program that performs upload of data with two essential parameters batch name and validate.
No comments:
Post a Comment