<-----Google Analytics Code Start----> <-----Google Analytics Code Close---->
Skip to content

Green

color

Default screen resolution  Wide screen resolution  Increase font size  Decrease font size  Default font size  Skip to content Default color Pink color Green color Green color
Home arrow Technical Articles arrow HR and Payroll arrow Oracle HRMS arrow Differences between EIT and SIT in HRMS
This website has now moved to http://apps2fusion.com





Differences between EIT and SIT in HRMS | Print |  E-mail
Written by Anil Passi   
Thursday, 22 February 2007
The main difference between Special Information Types and Extra Information Types is that SIT is KeyFlexfield whereas EIT is Descriptive Flexfield.

What does this mean for your implementation?

In the context of SIT being KFF, you attach a combination of attribute values to a Person Record.
Let's take an example.
Say we have a requirement to capture two fields against a Person
Field 1 :- Smoker Yes/No
Field 2:- Colour Blind Yes/No

In case of SIT, assuming there are two non-smokers and neither of those are colour blind, then there will be just one record in table PER_ANALYSIS_CRITERIA
Segment1 = N
Segment2 = N
ANALYSIS_CRITERIA_ID=1000

For both these people, their respective SIT records in PER_PERSON_ANALYSES will reference "ANALYSIS_CRITERIA_ID=1000"
Think of this like CODE_COMBINATION_ID in GL_CODE_COMBINATIONS, and compare that to PER_ANALYSIS_CRITERIA

However in case of EIT, assuming same example as above, two physical records will be created in table PER_PEOPLE_EXTRA_INFO
PERSON_ID     PERSON_EXTRA_INFO_ID      PEI_INFORMATION1      PEI_INFORMATION2
-----------    ------------------------     -------------------      --------------------
104332                   100000                        N                                  N
104332                   100001                        N                                  N


Should my decision be based upon saving space in the database, so that records can be reused in case of SIT?
Not really, space is hardly an issue these days in ERP systems, few bytes here or there make no difference at all to database sizing.
However there are other differences that can be considered in making this decision.


Updates made to SIT's are less efficient
In this example, if a person were to become a Smoker from non-Smoker, then, when you update persons SIT record, Oracle will query PER_ANALYSIS_CRITERIA to check if a combination of Y[smoker] and N[Colour Blind] already exists in that table. If such record combination is not found, then Oracle will create such combination in PER_ANALYSIS_CRITERIA. Following that record creation, PER_PERSON_ANALYSES will be updated to reflect the new ANALYSIS_CRITERIA_ID for Y & N combination.
However in case of EIT, Oracle would have to merely update the PER_PEOPLE_EXTRA_INFO table.


During implementation, when deciding between EIT and SIT, should I ask myself a question that- how often will Extra Information be modified?
Indeed, given that columns segment1, segment2.....segment30 in PER_ANALYSIS_CRITERIA are not usually indexed [unlike in gl_code_combinations]


At what Levels do EIT work?

TABLE_NAME

DESCRIPTION

PER_ASSIGNMENT_EXTRA_INFO

Extra information for an assignment.

HR_LOCATION_EXTRA_INFO

Extra information for a location.

PER_JOB_EXTRA_INFO

Extra information for a job.

PER_PEOPLE_EXTRA_INFO

Extra information for a person.

PER_POSITION_EXTRA_INFO

Extra information for a position.

PER_PREV_JOB_EXTRA_INFO

Previous Jobs extra info

PAY_ELEMENT_TYPE_EXTRA_INFO

Stores extra information for an element

PER_CONTACT_EXTRA_INFO_F

Extra information for a contact relationship.

HR_DOCUMENT_EXTRA_INFO

Documents of Record Information

However in case of SIT's, those are usually defined at Person Level [although these SIT can be enabled at Job/Position level too].




PER_PERSON_ANALYSES table has date_from and date_to. Does this mean a SIT Combination for a person can be end-dated?
Correct, you can implement a date-track kind-of model with SIT [not true date-tracking though, as inactive record are displayed in screen too]
However in case of EIT, in order to implement a similar logic for date ranges, you will have to use PEI_INFORMATION1 to capture DATE_FROM, and use PEI_INFORMATION2 to capture DATE_TO

However Security model of SIT differ from that of EIT?
The security model of EIT is more advanced than SIT.
If an SIT is made available to responsibility via Taskflow, then all the Special Information Type Contexts[ SIT KFF Contexts] will be available to the user.
See link Basics of Special Information Types to see the steps for defining and enabling SITs in Oracle HRMS.

Security of EIT is a two step process
Step 1 for EIT Security :- Register EIT for its usage in a specific Legislation Code
To make an EIT visible for a given Legislation, a record must be entered in EIT registration table for LegislationCode & EIT combination[see the pl/sql procedure at the bottom of this article to see list of those table]. Instead of executing the procedure below, you may decide to run concurrent program "Register Extra Information Types (EITs)"


Step 2 for EIT Security :- Make the registered EIT available to specific Responsibility using screen "Information Type Security"




PL/SQL Code in case you wish to register EIT using SQL
CREATE OR REPLACE PROCEDURE register_type(v_table_name     IN VARCHAR2
                                         ,v_info_type_name IN VARCHAR2
                                         ,v_active_flag    IN VARCHAR2
                                         ,v_multi_row      IN VARCHAR2
                                         ,v_desc           IN VARCHAR2
                                         ,v_leg_code       IN VARCHAR2) IS
BEGIN
  --
  IF v_table_name = 'PER_PEOPLE_INFO_TYPES'
  THEN
    --
    INSERT INTO per_people_info_types
      (information_type
      ,active_inactive_flag
      ,multiple_occurences_flag
      ,description
      ,legislation_code
      ,object_version_number)
    VALUES
      (v_info_type_name
      ,v_active_flag
      ,v_multi_row
      ,v_desc
      ,v_leg_code
      ,1);
    --
  ELSIF v_table_name = 'PER_ASSIGNMENT_INFO_TYPES'
  THEN
    --
    INSERT INTO per_assignment_info_types
      (information_type
      ,active_inactive_flag
      ,multiple_occurences_flag
      ,description
      ,legislation_code
      ,object_version_number)
    VALUES
      (v_info_type_name
      ,v_active_flag
      ,v_multi_row
      ,v_desc
      ,v_leg_code
      ,1);
    --
    INSERT INTO per_assignment_info_types_tl
      (information_type
      ,LANGUAGE
      ,source_lang
      ,description
      ,last_update_date
      ,last_updated_by
      ,last_update_login
      ,created_by
      ,creation_date)
      SELECT m.information_type
            ,l.language_code
            ,b.language_code
            ,m.description
            ,m.last_update_date
            ,m.last_updated_by
            ,m.last_update_login
            ,m.created_by
            ,m.creation_date
      FROM per_assignment_info_types m, fnd_languages l, fnd_languages b
      WHERE m.information_type = v_info_type_name
      AND l.installed_flag IN ('I', 'B')
      AND b.installed_flag = 'B'
      AND NOT EXISTS (SELECT '1'
             FROM per_assignment_info_types_tl pait
             WHERE pait.information_type = m.information_type
             AND pait.LANGUAGE = l.language_code);
    --
  ELSIF v_table_name = 'PER_POSITION_INFO_TYPES'
  THEN
    --
    INSERT INTO per_position_info_types
      (information_type
      ,active_inactive_flag
      ,multiple_occurences_flag
      ,description
      ,legislation_code
      ,object_version_number)
    VALUES
      (v_info_type_name
      ,v_active_flag
      ,v_multi_row
      ,v_desc
      ,v_leg_code
      ,1);
    --
  ELSIF v_table_name = 'HR_LOCATION_INFO_TYPES'
  THEN
    --
    INSERT INTO hr_location_info_types
      (information_type
      ,active_inactive_flag
      ,multiple_occurences_flag
      ,description
      ,legislation_code
      ,object_version_number)
    VALUES
      (v_info_type_name
      ,v_active_flag
      ,v_multi_row
      ,v_desc
      ,v_leg_code
      ,1);
    --
  ELSIF v_table_name = 'PER_JOB_INFO_TYPES'
  THEN
    --
    INSERT INTO per_job_info_types
      (information_type
      ,active_inactive_flag
      ,multiple_occurences_flag
      ,description
      ,legislation_code
      ,object_version_number)
    VALUES
      (v_info_type_name
      ,v_active_flag
      ,v_multi_row
      ,v_desc
      ,v_leg_code
      ,1);
    --
  ELSE
    dbms_output.put_line('Error - user entered invalid or unsupported table name');
    RAISE value_error;
  END IF;
  --
END register_type;
/



exec register_type ('PER_ASSIGNMENT_INFO_TYPES', 'XX Smoker Etc Details[as defined in DFF Context]', 'Y', 'Y', 'Description of your EIT', 'GB [your legislation code]');
commit;

Comments (5)add
...
written by Raghu , July 29, 2007
Hi Anil,

It's a nice and informative article....

Just want to bring to your notice that the screenshots are not visible in few of the pages...

Regards,
Raghu
...
written by Anil Passi , July 29, 2007
Hi Raghu

Thanks for bringing this to my notice.
It is possible that your company is running some kind of filter or firewall that is blocking the images hosted on google server.


Thanks
Anil Passi
Personalize EIT
written by Gowri Viswam , November 22, 2007
Dear Anil,

Your site is very very informative. I have a need to restrict one EIT to one function. Can you tell me how to achieve this?

regards,

Gowri Viswam
How to suggest KFF structures to client
written by Debojyoty Sadhukhan , November 23, 2007
Hi Anil,

Suppose I am starting a new implementaion in HRMS & my client is new in HRMS ERP.
What should be my approach to identify the different segments for the fowlling KFFs.
Is there any documnets available?

Job Flexfield
Position flexfield
Grade Flexfield
People Group
Cost Allocation
Competence Flexfield

Thanks,
-Debojyoty
Multiple rows EIT in iRecruitment using Personalization
written by Gopal , January 22, 2008
1. The EIT is set up in core HRMS as multiple rows descriptive flexfield having segments each with value set and default values.
Multiple rows meaning, user can enter multiple records as extra information as compared to DFF which only allow one record..

2. The requirement is to attach this EIT in iRecruitment (self service, HTML) using personalization.

My Question ?
1. Can I add this EIT as flex item ?
2. do I have to create EO, VO and AM for this EIT table or this is provided by oracle when EIT is created ?
3. is the EIT displayed as table in page with add, update delete button.
4. is there any document which describes steps to add EIT with multiple rows to self service apps.

any pointers appreciated.

Thanks
You must be logged in to a comment. Please register if you do not have an account yet.

busy