Monday, January 17, 2011

Enterprise Work Structure - Overview

Every enterprise has its own individual ‘culture’, which is reflected in the organization of work and the management of people within the enterprise. Culture is also reflected in the reward systems, the business processes and the control systems that operate within the enterprise.
 

Using Oracle HRMS, you create an information model to represent your enterprise in terms of:
  • Work
  • Pay
  • People
You deploy and compensate people using the model you set up.
Oracle HRMS enables you to configure the same HR system to represent many different types of enterprise, for example, commercial, public sector, healthcare, telecom, and education.
Configuration means that one system, Oracle HR,  can support the data and processes from many different types of enterprise. The implementation process is the process that takes the specific business needs of an enterprise and maps them to Oracle HRMS to determine what data and processes need to be configured.
The data model is simple. Although it can be extended, there are still only 3 major areas of activity in HRMS - People, Work, and Pay. This should help as you work your way through the different parts of the system.
Oracle HRMS enables you to represent people, work, and pay in two main types of enterprises – Project-based and Rule-based. In these enterprises you can show the basic ways of how people work in different jobs and positions. 
Typical Types of Enterprises
Typically, enterprises are:
  • Project-based
  • Rule-based
 
Project-based Enterprise: Characteristics
You can find a project-based enterprise typically in consulting, construction, small manufacturing or software companies. The characteristics of a project-based enterprise are:
  • Loosely structured operating groups
  • Rapidly changing structures in response to changing business opportunities
  • Hiring and deploying people for their skills
  • Personal and individual reward systems
  • Making individuals more important than roles
Project-based Enterprise: System Needs
The system needs for a project-based enterprise are:
  • Flexibility to represent and change organizational structures and work groups
  • Flexibility in defining and assigning roles to people
  • Ability to show multiple activities
  • Ability to define and manage business processes based on individuals’ competencies
  • Flexibility in the compensation management framework to handle individual compensation plans
 
Project-based Enterprise: Oracle Solution
The Oracle solution enables you to use a combination of Organizations and Jobs for the flexibility you need. You could:
  • Use Organizations for detailed reporting groups.
  • Use Jobs to define roles independent of any specific organization.  A person can change organizations, but keep the same job and assignments.
  • Use Elements to record time spent on specific projects.
Given these needs, you would probably use organizations and jobs to show how you assign and manage people. You can assign employees to these organizations on short notice while retaining their basic role or job.Typically, you would not define Positions. Positions require additional definition and maintenance, and do not reflect the flexible working environment found in this type of enterprise. 
Rule-based Enterprise: Characteristics 

You can find a rule-based enterprise typically in government agencies, education, health care, public sector, and non-profit agencies. The characteristics of a Rule-based enterprise are:
  • Highly structured operating groups
  • Posts exist independently of people
  • Positions are controlled, with detailed approvals for budgeting and reporting
  • Employees hired and assigned to specific positions
  • Rewards usually associated with the position
  • Roles usually more important than individuals
 
Rule-based Enterprise: System Needs
The system needs for a Rule-based enterprise are:
  • Ability to define and control positions independently of people
  • Ability to manage some information about positions across organizations
  • Ability to assign multiple people to one position or one person to many positions
 
Rule-based Enterprise: Oracle Solution
Positions enable more detailed management information and reporting than jobs alone. The Oracle solution allows you to use Positions to represent the detailed work structures you need. You could:
  • Use Organizations to show departmental level information.
  • Use Jobs to represent common types shared across all organizations.
Given these needs, you would use positions, organizations, and jobs to assign and manage people. Positions can hold more additional information than Jobs, for example, to manage fixed establishments of posts that exist independently of the employee assignment, it is best to use positions. 
Setting up Enterprise Work Structures
As a best practice in configuration, you can set up your enterprise’s work structures using Oracle HRMS Configuration Workbench as it simplifies the implementation of Oracle HRMS. It also reduces time, cost, and risk of ‘standard’ implementations.
The Configuration Workbench provides you with a central place to manage and perform your tasks when implementing Oracle HRMS. It:
  • Is a single point of access to the tools you require to perform a typical implementation of the applications
  • Has predefined questions for each product area's configuration, which you answer to build a typical configuration model
  • Has packaged Solution Sets, which consist of solution templates for specific functional areas 
Work Structure Components
Locations
Locations are the physical site where your employees work. You can define:
  • Local or international work sites
  • Locations specific to one business group or shared across all. You choose whether locations are global to all business groups or specific to one using the User Profile Option - HR:Cross Business Group.
In some legislations work locations determine taxability rules.You define locations for external organizations such as tax authorities, insurance and benefits carriers. 

Organizations
You can define as many separate organizations as you need within each business group. The separate organizations can be companies, operating units, establishments, departments or divisions. Organizations can be internal or external. Examples of internal organizations are HR Organizations, Finance department, Sales Unit, etc. and external organizations can be recruiting agencies and insurance carriers.
Organization Hierarchies
  • Use hierarchies to grouporganizations and to show management reporting lines. In a hierarchy each organization has one parent
  • Have unlimited number of hierarchies
  • Use hierarchies when running reports to include a group of organizations
  • Use hierarchies to define security
  • Use the Organization Hierarchy window to enable position control
  • Use hierarchies to set position control
Automatic Creation of Organizations
You can automatically create HR Organizations corresponding to company cost center combinations in General Ledger (GL) using the Synchronize Organizations functionality. If your enterprise has a close relationship between its financial structure and line management hierarchy, you only have to maintain your financial structure in GL and the corresponding line manager hierarchy is automatically synchronized. You can also enable the automatic creation of company cost center organizations if your financial cost centers are different to your HR organizations and you want to represent your cost centers as organizations.
The Synchronize Organizations functionality helps you in management reporting about financial information such as costs, revenues and expenses. You can consolidate this information by cost center manager.
Jobs and Positions
Jobs are generic roles within a business group. They are independent of any single organization. For example, the jobs ‘Manager’ and ‘Consultant’ can be in many organizations.
Position is a specific role, or function, that exists in one, and only one, organization. Positions show more management reporting detail than organizations alone. Position definition includes Job and Organization. Positions are typically used in Public Sector, Government, Education, Health, and any large enterprises to show management positions.
Security Based on Work Structures
With Oracle HRMS, you define the rules for who has access to personal information through a Security Profile.You define security profiles based on organization, organization hierarchy, and position hierarchies. You can create your own custom restrictions using work structure components such as jobs and positions. You can also configure the security restrictions to be user-based. 
Grades
Oracle HRMS enables you to use grades to record the relative status of employee assignments and to determine compensation and benefits, such as salary, overtime rates, and company car. You can define grades to distinguish different staff groups such as Management, Administrative, Technical.
People Groups
People Groups are internal groups of your employees, such as Pension group, Benefits group, and CarEligibility group. You define the structure of the information you record under People Groups to meet your business requirements.
Unions and Representative Groups
Unions and representative groups such as Employer or Bargaining Association (also called Bargaining Units in Oracle HRMS) enable you to represent employee agreement details. 
NOTE: FOR ALL PRACTICES RELATED TO HR I'VE CREATED THE FOLLOWING USER WITH THE FOLLOWING RESPONSIBILITIES


Incorporating Custom Programs

In this demonstration we will test the process for adding a custom program. For easiness to speed the testing,  we will  use an existing program, the Completed Concurrent Requests report, to test this functionality. In order to test this process, you will do the following.
• Create a concurrent program definition
• Add the concurrent program to a request group
• Add the request group to a responsibility
• Test your custom program
Responsibility: System Administrator
Create your Concurrent Program Definition
1- Navigate to (N) Concurrent > Program > Define. Query the Completed Concurrent Requests program.
2- Click the (B) Copy to…
3- In the Copy to window enter the following:
• Program: INAM Completed Concurrent Requests Report
• Short Name: INAM_CPCRQ
• Application: Application Object Library
• Choose to Include Program Parameters when copying
• Choose to Include Program Incompatibilities when copying
Click (B) OK to close the “Copy to …” window..


Save your work. Close the form.
Add your Concurrent Program to a Request Group
1- Navigate to (N) Security > Responsibility > Request. Query your request group Inam Assistant SysAdmin Group (as created in some earlier demonstration).
2- Insert a new record and the Program INAM Completed Concurrent Requests.


Save your work. Close the form.
Test your Concurrent Program
1- Switch Responsibilities to or log in as the abuzar_assist_sa (as created in some earlier post)
2- Navigate to (N) Requests > Run. 
3- Click (B) OK to submit a single request.
4- Submit your new program and watch it complete successfully.


Folders

In this demonstration we will  test setting up and administering a Folder form. But, We will wil do a single test. You will see the following demonstrated.
• Create the folder
• Assign a default folder definition to a user
• Set the profile option to control modifications of the folder by the user

1- Select General Ledger Super User responsibility and navigate to (N) Journals > Enter.
The first window you see is the Find Journals window.
Note that once you create your folder and assign it to your user this window will not appear.
2- In the Find Journals window, enter Payables in the Source field. Click Find.



3- In the Enter Journals window, choose Folder > Save As….
In the Save Folder window, enter the following:
• Folder: INAM Payables Journals
• Autoquery: Ask each time
• Public: enable check box
• Include query: enable check box
Click Show Query. The Show Query window displays (JE_SOURCE=‘PAYABLES’).


Note: you can view the query here, but you cannot change it. Click OK to close the window.
In the Save Folder window click OK.
In the Enter Journals window, the upper left corner next to the Folder icon is the name you entered for your folder.
3- Click on the Folder icon to launch the Open Folder window.
Note: the other folders that are available for your selection. These appear because they are defined as Public.


Click Cancel.
4- Click on the Folder Tools icon on the toolbar (the second icon from the right) to launch the Folder Tools window palette. Move your cursor over each icon to view its function.
5- Click the Show Field… icon to launch the Show Field selection window. This allows you to add any of the listed fields to the Enter Journals window display.
6- Choose “Category” from the Show Field window if the Category column has not been added to the display in the Enter Journals window or select another value when needed and click OK.


6- Click the Save icon on the Folder Tools window, or choose Save from the Folder menu to add the Category column to your folder definition.

7- Switch Responsibilities to your System Administrator responsibility.
8- (N) Application > Administer Folders. In the Find Folders screen, select “Default folder assignments by user” and choose your user name from list of values.  Click Find.
9- In the Default Folders by User window, enter the following.
• Folder Set: GL_JE_BATCHES_HEADERS_V
• Folder: INAM Payables Journals
• Behavior Mode: No restrictions

Save your work.
10- (N) Profile > System. In the Find System Profile Values window enter the following.
• User: Your User
• Profile: Folders: Allow Customization

Click Find.

Set the Profile Option to disallow modification by your user. In the System Profile Values screen enter “No” as the User value for the profile option.

Save your work.

11- Switch Responsibilities back to your General Ledger Super User.
12- (N) Journals > Enter.
Notice that you see a Decision window that says “Find all records in this folder?” This window displays because you chose “Ask each time” when you defined the folder.

Click Yes,
Notice that the Journal Entries window opens with your folder displayed.
Click on the Folder Tools icon on the toolbar. Note that all the modification icons are disabled (because you set the Folders: Allow Customization profile option to No).
Click on the Folder menu and notice that the only enabled option is Open.

Cascading Dependencies with $FLEX$

In this practice, you will create a descriptive flexfield that uses cascading dependencies to validate the values entered. The flexfield will track the manufacturer, model, and color of a vehicle. The possible model values will be restricted depending on the manufacturer value, and the possible color values will be restricted depending on the model value.
To set up the cascading dependencies, you will create table-validated value sets using the following tables:

CREATE TABLE APPS.CAR_MAKERS
(
MANUFACTURER_ID NUMBER,
MANUFACTURER_NAME VARCHAR2(10),
MANUFACTURER_DESCRIPTION VARCHAR2(10)
)

CREATE TABLE APPS.CAR_MODELS
(
MODEL_ID NUMBER,
MODEL_NAME VARCHAR2(10),
MODEL_DESCRIPTION VARCHAR2(10),
MANUFACTURER_ID NUMBER
)

CREATE TABLE APPS.CAR_COLORS
(
COLOR_ID NUMBER,
COLOR_NAME VARCHAR2(10) ,
COLOR_DESCRIPTION VARCHAR2(10) ,
MODEL_ID NUMBER ,
MANUFACTURER_ID NUMBER
)


SET DEFINE OFF;
Insert into CAR_MAKERS
   (MANUFACTURER_ID, MANUFACTURER_NAME, MANUFACTURER_DESCRIPTION)
 Values
   (1, 'Ford', 'Ford');
Insert into CAR_MAKERS
   (MANUFACTURER_ID, MANUFACTURER_NAME, MANUFACTURER_DESCRIPTION)
 Values
   (2, 'Nissan', 'Nissan');
Insert into CAR_MAKERS
   (MANUFACTURER_ID, MANUFACTURER_NAME, MANUFACTURER_DESCRIPTION)
 Values
   (3, 'Chevrolet', 'Chevrolet');
Insert into CAR_MAKERS
   (MANUFACTURER_ID, MANUFACTURER_NAME, MANUFACTURER_DESCRIPTION)
 Values
   (4, 'Chrysler', 'Chrysler');
COMMIT;

SET DEFINE OFF;
Insert into CAR_MODELS
   (MODEL_ID, MODEL_NAME, MODEL_DESCRIPTION, MANUFACTURER_ID)
 Values
   (11, 'Mustang', 'Mustang', 1);
Insert into CAR_MODELS
   (MODEL_ID, MODEL_NAME, MODEL_DESCRIPTION, MANUFACTURER_ID)
 Values
   (12, 'Windstart', 'Windstart', 1);
Insert into CAR_MODELS
   (MODEL_ID, MODEL_NAME, MODEL_DESCRIPTION, MANUFACTURER_ID)
 Values
   (13, '240SX', '240SX', 2);
Insert into CAR_MODELS
   (MODEL_ID, MODEL_NAME, MODEL_DESCRIPTION, MANUFACTURER_ID)
 Values
   (14, 'Altima', 'Altima', 2);
Insert into CAR_MODELS
   (MODEL_ID, MODEL_NAME, MODEL_DESCRIPTION, MANUFACTURER_ID)
 Values
   (15, 'Corvette', 'Corvette', 3);
Insert into CAR_MODELS
   (MODEL_ID, MODEL_NAME, MODEL_DESCRIPTION, MANUFACTURER_ID)
 Values
   (16, 'Camaro', 'Camaro', 3);
Insert into CAR_MODELS
   (MODEL_ID, MODEL_NAME, MODEL_DESCRIPTION, MANUFACTURER_ID)
 Values
   (17, 'Sebring', 'Sebring', 4);
Insert into CAR_MODELS
   (MODEL_ID, MODEL_NAME, MODEL_DESCRIPTION, MANUFACTURER_ID)
 Values
   (18, 'Concorde', 'Concorde', 4);
COMMIT;

SET DEFINE OFF;
Insert into CAR_COLORS
   (COLOR_ID, COLOR_NAME, COLOR_DESCRIPTION, MODEL_ID, MANUFACTURER_ID)
 Values
   (101, 'Red', 'Red', 11, 1);
Insert into CAR_COLORS
   (COLOR_ID, COLOR_NAME, COLOR_DESCRIPTION, MODEL_ID, MANUFACTURER_ID)
 Values
   (102, 'Black', 'Black', 11, 1);
Insert into CAR_COLORS
   (COLOR_ID, COLOR_NAME, COLOR_DESCRIPTION, MODEL_ID, MANUFACTURER_ID)
 Values
   (107, 'Champagne', 'Champagne', 13, 2);
Insert into CAR_COLORS
   (COLOR_ID, COLOR_NAME, COLOR_DESCRIPTION, MODEL_ID, MANUFACTURER_ID)
 Values
   (115, 'Yellow', 'Yellow', 15, 3);
Insert into CAR_COLORS
   (COLOR_ID, COLOR_NAME, COLOR_DESCRIPTION, MODEL_ID, MANUFACTURER_ID)
 Values
   (119, 'Maroon', 'Maroon', 17, 4);
COMMIT;


Define your Value Sets
Responsibility: System Administrator
1- (N) Application > Validation > Set. Enter the information for the first value set in the following fields:
• Value Set Name: INAM_MFG
• Description: INAM Car Manufacturers Value Set
• Security Type: Non-Hierarchical
• Format Type: Char
• Maximum Size: 10
• Validation Type: Table
Click Edit Information to navigate to the Validation Table Information window.  Enter CAR_MAKERS as the table name.
In the Table Columns region, enter the following information for the Value column:
                  Name                                                          Type                       Size
Value         MANUFACTURER_NAME                      VarChar2                  10
Meaning     MANUFACTURER_DESCRIPTION        VarChar2                  30
ID                   MANUFACTURER_ID                         Number                      2

Save your work.
2- Enter the information for the second value set in the following fields:
• Value Set Name: INAM_MODEL
• Description: INAM Car Models Value Set
• Security Type: Non-Hierarchical Security
• Format Type: Char
• Maximum Size: 10
• Validation Type: Table
Click Edit Information to navigate to the Validation Table Information window.
Enter CAR_MODELS as the table name. In the Table Columns region, enter the following information for the Value column:
                                 Name                                  Type              Size
Value                        MODEL_NAME                 VarChar2     10
Meaning                    MODEL_DESCRIPTION   VarChar2     30
ID                             MODEL_ID                         Number         3
In the Where/Order By field, enter
WHERE MANUFACTURER_ID = :$FLEX$.INAM_MFG

Save your work.
3- Enter the information for the third value set in the following fields:
• Value Set Name: INAM_COLOR
• Description: INAM Car Colors Value Set
• Security Type: Non-Hierarchical Security
• Format Type: Char
• Maximum Size: 10
• Validation Type: Table
Click Edit Information to navigate to the Validation Table Information window. Enter CAR_COLORS as the table name. In the Table Columns region, enter the following information for the Value column:
                                 Name                                     Type                  Size
Value                        COLOR_NAME                    VarChar2           10
Meaning                    COLOR_DESCRIPTION      VarChar2           30
ID                             COLOR_ID                            Number               4
In the Where/Order By field, enter:
WHERE MODEL_ID = :$FLEX$.INAM_MODEL
ORDER BY COLOR_NAME


Save your work.
Define your Structure
1- (N) Application > Flexfield > Descriptive > Segments. Query your descriptive flexfield (eg; Journal Categories)  in the Descriptive Flexfield Segments window. Clear the Freeze Flexfield Definition check box.
Select the Global Data Elements context and click (B) Segments to navigate to the Segments Summary
window. Delete the segments that you defined previously. Save your work.
2- Enter the following information for the segments (pic below) :
Note: Save after each segment.


Save your work.
Navigate back to the Descriptive Flexfield Segments window.
Select the Freeze Flexfield Definition check box.
Click (B) Compile to compile the flexfield definition. Click (B) OK to each note about submitting your request to generate the flexfield view.
Test your Descriptive Flexfield
After defining your value sets and segments, navigate to your descriptive flexfield using the General Ledger Super User responsibility and test the results of your work. When you are finished, exit without saving.

Sunday, January 16, 2011

Table Validation

In this practice, you will use an application table to validate a descriptive flexfield segment. You will create a table-validated value set to validate employee numbers based on a Human Resources application table called PER_ALL_PEOPLE_F. Then you will add an additional segment to the descriptive flexfield structure you defined in the Define a Descriptive Flexfield practice to track the salesperson’s employee number.
Define your Value Set
Responsibility: System Administrator
1- (N) Application > Validation > Set. Enter the information for the value set in the following fields:
• Value Set Name: INAM_EMP_NUM
• Description: INAM Employee Number Value Set
• Security Type: Non-Hierarchical
• List Type: Long List of Values
• Format Type: Char
• Maximum Size: 30
• Validation Type: Table

2-  Click (B) Edit Information to navigate to the Validation Table Information window.Use the lists of values in the Table Application to select Human Resources as the table application type PER_ALL_PEOPLE_F as the table name.
In the Table Columns region, use the lists of values in the following fields:
                    Name                                Type          Size
Value        EMPLOYEE_NUMBER     VarChar2    30
Meaning    FULL_NAME                     VarChar2    240

3- In the Where/Order By field, enter
WHERE CURRENT_EMPLOYEE_FLAG = ‘Y’

Save your work.
Define your Structure
1- (N) Application > Flexfield > Descriptive > Segments. Query your descriptive flexfield (eg; Journal Categories)  in the Descriptive Flexfield Segments window.

2- Clear the Freeze Flexfield Definition check box.
3- In the Context Field Values region, select the Global Data Elements context and click (B) Segments to navigate to the Segments Summary window.
4- Keep the two segments you defined previously. Enter the information for the third segment in the following fields (pic below):
If you don't have any segment then you can delete any existing one as I did this for this practice.

 Save your work.
5- Navigate back to the Descriptive Flexfield Segments window. Select the Freeze Flexfield Definition check box. Click (B) Compile to compile the flexfield definition. Click (B) OK to each note about submitting your request to generate the flexfield view.
Test your Descriptive Flexfield
After defining your value set and segment, navigate to your descriptive flexfield using the General Ledger Super User responsibility and test the results of your work. When you are finished, exit without saving

Shorthand Aliases

Shorthand aliases speed data entry for end users. Aliases can be used either to define a complete key flexfield combination or to create a template providing values for some segments, thus allowing the user to complete the flexfield entry. Users can determine whether to use aliases in the Flexfields: Shorthand Entry user profile option. In this practice, you will define both a complete shorthand alias and a partial alias template for the Accounting Flexfield structure you defined in the Define a Key Flexfield practice.

Define your Shorthand Alias
Responsibility: System Administrator
1- (N) Application > Flexfield > Key > Aliases. Query the INAM Chart of Accounts structure for the Accounting Flexfield in the General Ledger application. In the Shorthand region, enter information in the following fields:
• Enabled: Selected
• Max Alias Size: 15
• Prompt: Shorthand

2- In the Aliases, Descriptions region, enter information for your aliases:
Alias                                     Template                       Alias Description
INAM_SA_1                03.100.1110.0000               Yellow Sales Cash
INAM_SA_2                04…0000                             Green


Save your work.
3- (N) Application > Flexfield > Key > Segments. Query the INAM Chart of Accounts structure for the Accounting Flexfield in the General Ledger application.
Click (B) Compile to compile the flexfield definition. Click (B) OK to each note about submitting your request to generate the flexfield view.

Cross-Validation Rules

Cross-validation rules enable you to restrict users from entering certain combinations of segment value codes. In this practice, you will use the Accounting Flexfield structure you defined earlier in the Define a Key Flexfield lesson. You will create a cross-validation rule to prevent the Orange Company from using the Development cost center.
Whenever you add or change cross-validation rules, you must recompile the flexfield structure to ensure your changes are reflected in the applications.

Define your Cross-Validation Rule
Responsibility: System Administrator
1- (N) Application > Flexfield > Key > CrossValidation. Query the INAM Chart of Accounts structure for the Accounting Flexfield in the General Ledger application.
In the Cross-Validation Rules region, enter the information for the rule in the following fields:
• Name: INAM_CVR:01
• Description: INAM Cross-Validation Rule 01
• Enabled: Selected
• Error Message: INAM_CVR:01-The Orange company cannot use the Development cost center.
• Error Segment: CO

Define your Cross-Validation Rule Elements
1- In the Cross-Validation Rule Elements region, enter the information:
Type           From                                          To
Include       00.000.0000.0000                       zz.zzzz.zzzz.zzzz
Exclude      02.300.0000.0000                      02.300.zzzz.zzzz




Save Your work
2- (N) Application > Flexfield > Key > Segments. Query the INAM Chart of Accounts structure for the Accounting Flexfield in the General Ledger application.
3- Click (B) Compile to compile the flexfield definition. You will find two notes indicating that the flexfield was compiled successfully. Click (B) OK to each note about submitting your request to generate the flexfield view.


Test your Key Flexfield
After defining your value sets, segments, and values, navigate to the Accounting Flexfield to test the results of your work. To view the Accounting Flexfield, you will perform the beginning steps in the process for creating your accounting structure and then view the accounting flexfield you created earlier in this practice.
Responsibility: General Ledger Super User
1- (N) Setup > Financials > Accounting Setup Manager > Accounting Setups.
2- In the Accounting Setups window, search by Ledger INAM_COA, click (B) Go.
3- Select Update Accounting Options icon.
4- In the Primary Ledger region, click the Update icon for Ledger Options.
5- Click (B) Next to access the Update Ledger: Ledger Options window.
6- In the Year End Processing region, click the Search icon for the Retained Earnings Account field to display the list of values. The Accounting Flexfield appears.
7- Enter values in the Accounting Flexfield to test your work.
8- Cancel your entries and exit without saving.