Pages

OracleEBSpro is purely for knowledge sharing and learning purpose, with the main focus on Oracle E-Business Suite Product and other related Oracle Technologies.

I'm NOT responsible for any damages in whatever form caused by the usage of the content of this blog.

I share my Oracle knowledge through this blog. All my posts in this blog are based on my experience, reading oracle websites, books, forums and other blogs. I invite people to read and suggest ways to improve this blog.


Showing posts with label HRMS. Show all posts
Showing posts with label HRMS. Show all posts

Tuesday, March 26, 2013

p_datetrack_update_mode, p_datetrack_delete_mode in HRMS API


Understanding the p_datetrack_update_mode Control Parameter in HRMS API

The p_datetract_update_mode control parameter enables you to define the type of DateTrack change to be made. This mandatory parameter must be set to one of the values as mentioned below:

UPDATE - Keep history of existing information
CORRECTION - Correct existing information
UPDATE_OVERRIDE - Replace all scheduled changes
UPDATE_CHANGE_INSERT - Insert this change before next scheduled change

Understanding the p_datetrack_delete_mode Control Parameter

The p_datetract_update_mode control parameter enables you to define the type of DateTrack deletion to be made. This mandatory parameter must be set to one of the following values:

ZAP - Completely remove from the database
DELETE - Set end date to effective date
FUTURE_CHANGE - Remove all scheduled changes
DELETE_NEXT_CHANGE - Remove next change

Monday, February 18, 2013

Oracle HRMS – Some Important Tables


1. per_all_people_f
This table will provide us the very basic information about the employee. The very data from the first screen we see when we open the ‘People -> Enter and Maintain’ form goes into this table.
2. per_all_assignments_f
This table will store all the information which is been entered in the employee assignment form.
3. per_addresses
This table will store all the information which is been entered in the employee address form.
4. per_pay_proposals
This table will store all the information which is been entered in the employee salary form.
5. per_person_types_tl
This table is used to find the type of the employee. This table is linked with the per_all_people_f with the person_type_id to find out the type of person.
6. per_jobs_tl
This table will contain the various types of JOBS in oracle. This table is been linked with the per_all_assignments_f table to retrieve the correct job name from the employee.
7. per_grades_tl
This table will contain the various types of GRADES in oracle. This table is been linked with the per_all_assignments_f table to retrieve the correct grade name from the employee.
8. hr_locations_all
This table will contain the various LOCATIONS in oracle. This table is been linked with the per_all_assignments_f table to retrieve the correct location name from the employee.
9. pay_all_payrolls_f
This table will contain the various types of PAYROLLS in oracle. This table is been linked with the per_all_assignments_f table to retrieve the correct payroll name from the employee.
10. per_pay_bases
This table will contain the various types of PAY BASES in oracle. This table is been linked with the per_all_assignments_f table to retrieve the correct pay basis name from the employee.
11. per_assignment_status_types_tl
This table will contain the various types of assignment types in oracle. The assignment types generally would be ‘Active Assignment’ etc.. This table is been linked with the per_all_assignments_f table to retrieve the correct job name from the employee.
12. per_person_type_usages_f
This table will store the correct person type of the particluar employee. We should never depend on the person type present in the per_all_people_f table. Instead we need to link the person_id with this table and get the correct person type.

Sunday, February 17, 2013

Oracle HRMS – Define Organization – Functional and Technical Overview


1. Organizations in HRMS
2. Creating Organizations and Classifications
3. Organizations in Other Products
4. Operating Units and Multiorg
5. Business Groups
6. Organizations and Managers
7. Org Developer DFF
8. Technical Details

1. Organizations in HRMS
Organizations are used in HRMS to represent a business.
Business groups, External organizations (for example, tax offices, insurance carriers, disability organizations, benefit carriers, or recruitment agencies), Internal organizations (for example, departments, sections or cost centers) and GREs/Legal Entities can be created as organizations.
In HRMS an employee assignment will be assigned to an organization to show where he works within the business. When the assignment is created (a default assignment is automatically created when a person is hired as an employee) the business group is defaulted in as the assignment’s organization. This would usually be corrected to a lower level organization to identify his department. As many organizations as are required can be created. This will depend on the business and to what level it is required to hold information. Organization hierarchies can be created to show how organizations fit together in a tree structure. Hierarchies are not covered in this note.
2. Creating Organizations and Classifications
An organization requires a start date and a name. You can optionally enter location details and Organization Type. The Organization Type is used for reporting only. There is a seeded LOV for this field and it is possible to add additional types to that LOV.
The organization can be either Internal or External. People can only be assigned to Internal organizations (in the Assignments screen). The Classification of the organization allows specific information to be held according to the purpose of the organization. Examples of classifications are: Business Group, HR Organization, Inventory Organization, GRE/Legal Entity, Company Cost Center.
The LOV for classifications comes from the lookup type ORG_CLASS. An organization can have as many classifications as it requires. To be able to use the organization on the Assignment screen in HRMS it will need a classification of ‘HR Organization’.
For each classification selected, more information can be held about that organization. Each classification has a number of Organization Information Types each of which comprises a set of fields. When the ‘Others’ button is pressed in the Define organization screen, a LOV shows the information types for the selected classification. When a information type is selected from this list the set of fields for that org type are displayed.
For example for the Business Group classification there are information types:
Business group Info
Benefits Defaults
Budget Value Defaults
Tax Details Reference
Work Day Information
….. etc
And each of these information types has a number of fields associated with it.
3. Organizations in other products
Other products within Oracle Applications use organizations. The classifications and information types are used to ensure the required information about any kind of organization is stored.
All organizations are created and maintained using the Define Organization screen which is owned by the HR product group. So while the data being entered may not be HR related, it is often the case that HRMS Support would work on a SR relating to, for example, an Inventory Organization. When you understand the concepts of classifications and organization types and how the Org Developer DF flexfield works, it is usually possible to investigate a problem with any organization.
4. Operating Units
You can create an operating unit using the Define Organizations form but this requires that you first create a Set of Books.
5. Business Groups
Business Groups are just organizations which have the classification ‘Business Group’ Each organization will have a BUSINESS_GROUP_ID to identify which business group it was created from. A business group will have identical values for BUSINESS_GROUP_ID and ORGANIZATION_ID. Organizations from all business groups can be queried up in the Define Organizations screen. However only organizations for the current business group and the classification ‘HR Organization’ can be used in the Assignment screen.
6. Organizations and Managers
The Organization Manager Relationship screen (Work Structures->Organization->Organization Manager) is used to enter and query the manager for an organization. This information can also be entered in the Define Organization screen for organizations with a classification of Company Cost Center:
Query up the organization and highlight the classification Company Cost Center.
Press the Others button and select Report Information.
Managers for this organization can be entered here and, once saved, will also be displayed in the Organization Manager Relationship screen.
7. Org Developer dff
The seeded descriptive flexfield ‘Org Developer DF’ is used to define Organization Information Types.
This DFF is context sensitive and each context value is an information type. The segments defined for each context map to the fields displayed for that information type when the information type is selected from the ‘Others’ button on the Define organization screen.  When the ‘Other’s button is pressed, not all of the information types are listed. The table HR_ORG_INFO_TYPES_BY_CLASS lists which org types are available for each classification and so the list is restricted according to the highlighted classification.
When one of the listed information types is selected, the dff segments for that information type (context) are displayed in a popup box. The dff is seeded and should not be unfrozen and changed by a customer.
8. Technical Details
Tables
HR_ALL_ORGANIZATION_UNITS
The basic details of an organization are stored here. There is also a translation table HR_ALL_ORGANIZATION_UNITS_TL for the organization name in each language installed.
HR_ORG_INFORMATION_TYPES
This holds the different types of organization information. Each type is defined in the Org Developer DF as a context value. eg Work Day Information, Business Group Information, etc. When using the Organizations screen you would see the information types relevant to the org classification.
HR_ORG_INFO_TYPES_BY_CLASS
This table holds the org information types that are available for each classification. This data is seeded and there is no screen that displays these groupings. When you select a classification on the Org screen and press the Other button, this table is referenced to display the relevant org information types.
HR_ORGANIZATION_INFORMATION
This table is more complicated as it stores two distinct sets of information.
To know which type of information is stored you need to check the value in column ORG_INFORMATION_CONTEXT. When the value is ‘CLASS’ the row is used to link an organization to a classification. There will be one row for every classification used by an organization. The classification name is held in column ORG_INFORMATION1. If you create an organization, a row will be added here for every classification you save against that org.
When the value is set to an information type (from HR_ORG_INFORMATION_TYPES) the columns ORG_INFORMATION1-20 are used to hold the values for that information type.
So when you are in the Define Organizations screen and you press the others button and select an information type, the values you see in the fields on the screen come from this table.
The information type is a dff context with some segments defined. Each segment is mapped to one of the ORG_INFORMATIONx columns in this table. When you open the information type field you see the individual segments and the value for each segment is held in the column in table HR_ORGANIZATION_INFORMATION that matches the column specified in the segment definition.
The lookup ORG_TYPE holds values for the ‘Type’ field on the Define Organization screen.
The lookup ORG_CLASS holds values for the Classifications Name field on the Define Organization screen.
How can I find the LOV used by a segment in the Information Type I select from the ‘Others’ button?Query up the dff Org Developer DF and select the context whose name matches the name of the Information type you selected from the ‘Others’ button.
The Segments screen lists the fields defined for that information type. The LOV will come from the validation used by the relevant segment.
If a valueset is used then the LOV will be based on a sql statements if Table Validation is specified; or values defined in the Segment Values screen (Application->Validation->Values) if dependent or independent validation is specified.
Can I define 2 organizations with the same name?This is possible but is not recommended, and certainly not recommended when the system profile HR: Cross Business Group is set to ‘Yes’.
Where is the information from the Organization Manager Relationship screen held?The Organization Manager Relationship screen uses the Org Developer DF dff. It is just another UI to the information type ‘Reporting Information’ for an organization with a classification of Cost Center.
Only organizations with a classification of Cost Centre can be queried in the Organization Manager Relationship screen.
What sql can I run to show the classifications defined for an organization?This sql will prompt you for an organization name
select i.organization_id, o.name, l.meaning
from hr_all_organization_units o
, hr_organization_information i
, fnd_lookup_values l
where o.organization_id = i.organization_id
and o.name = ‘&Organization_Name’
and i.org_information1 = l.lookup_code
and l.lookup_type = ‘ORG_CLASS’
and i.org_information_context = ‘CLASS’;
What sql can I run to see the segment values for a specific Information Type for my organization?This will be different depending on which Information Type you select.
First open the Org Developer DF and find the structure for the Information type you require eg Work Day Information
See the COLUMN value for each segment.
In this example:
Segment Name Column
Normal Start Time ORG_INFORMATION1
Normal End Time ORG_INFORMATION2
Working Hours ORG_INFORMATION3
Frequency ORG_INFORMATION4
Now create the sql selecting those columns from HR_ORGANIZATION_INFORMATION
This sql will prompt you for an organization name
select o.name
, i.org_information1 Normal_Start_Time
, i.org_information2 Normal_End_Time
, i.org_information3 Working_Hours
, i.org_information4 Frequency
from hr_organization_information i
, hr_all_organization_units o
where o.name = ‘&Organization_Name’
and o.organization_id = i.organization_id
and i.org_information_context = ‘Work Day Information’;
To create the sql for a different Information Type simply replace the SELECT section with the COLUMNs and aliases for that Information Type.

HRMS APIs List


Below are use full API in HRMS most of time these API are used to migrate external data from legacy system to oracle apps
Updating the Per_periods_of_service table using
hr_ex_employee_api.update_term_details_emp
Terminate employee
hr_ex_employee_api.actual_termination_emp
Applying the final process in the shared instance using hr_ex_employee_api.final_process_emp
Re – Hire Employee
hr_employee_api.re_hire_ex_employee
Update  Existing Person in system
hr_person_api.update_us_person
Hire New Emp
hr_employee_api.create_us_employee
Costing
pay_cost_allocation_api.create_cost_allocation
Load  Assignment
hr_assignment_api.update_us_emp_asg
Load Update Assign Criteria
hr_assignment_api.update_emp_asg_criteria
Note : Contact Person Id Is To Be Passed
hr_contact_rel_api.create_contact
Note : Contact Person Id is passed as Null(default of API)
hr_contact_rel_api.create_contact
Load Phones
hr_phone_api.create_phone
hr_person_address_api.update_person_address
Load Addresses
hr_person_address_api.update_person_address
hr_person_address_api.create_person_address
Load Payment Methods
hr_personal_pay_method_api.create_us_personal_pay_method
Element Loading
py_element_entry_api.create_element_entry
py_element_entry_api.update_element_entry
Load Salaries
hr_upload_proposal_api.upload_salary_proposal
Salary Proposal
hr_maintain_proposal_api.approve_salary_proposal
State tax rules
pay_state_tax_rule_api.create_state_tax_rule
pay_state_tax_rule_api.update_state_tax_rule
County Tax Rules
pay_county_tax_rule_api.create_county_tax_rule
pay_county_tax_rule_api.update_county_tax_rule
City Tax Rules
pay_city_tax_rule_api.create_city_tax_rule
pay_city_tax_rule_api.update_city_tax_rule
Schools and Colleges
per_esa_upd.upd
per_esa_ins.ins
Performance Reviews
hr_perf_review_api.create_perf_review
hr_perf_review_api.update_perf_review
State Information Taxes
hr_sit_api.update_sit
hr_sit_api.create_sit
Qualifications
per_qualifications_api.create_qualification
per_qualifications_api.update_qualification
Locations
hr_location_api.update_location
hr_location_api.create_location
Organization
hr_organization_api.update_organization
hr_organization_api.create_org_classification
If any Change in Organization information.
if information2 = ‘Y’ then
hr_organization_api.enable_org_classification
If any Change in Organization information.
if information2 = ‘N’ then
hr_organization_api.disable_org_classification
If Organization does not exist in instance
hr_organization_api.create_organization api
Jobs
hr_job_api.update_job
hr_job_api.create_job
Positions
hr_position_api.update_position
hr_position_api.create_position