Difference between EIT and SIT
The main difference between Special Information Types and Extract 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
It's a nice and informative article....
Ju st want to bring to your notice that the screenshots are not visible in few of the pages...
Regar ds,
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.
Thank s
Anil Passi
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
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
Posit ion flexfield
Grade Flexfield
Peopl e Group
Cost Allocation
Comp etence Flexfield
Than ks,
-Debojyoty
Multipl e 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.
T hanks
We too are looking for something similar as the one above but, on 11.5.10. Could you please guide us?
Thanks,
Vi jay.
Is there any way that employees belonging to a XYZ Organization can be restricted to be viewable when bieng quired from a specified responsibility.
Thanks
Monosh mini
However, think on this, suppose you composed a catchier post title?
I mean, I don't wish to tell you how to run your website,
but what if you added something that makes people want more?
I mean Differences between EIT and SIT in HRMS is a little plain. You ought to glance at Yahoo's
front page and note how they create article titles
to get people interested. You might add a video or a related picture or two to get people
excited about everything've written. Just my opinion, it could bring your posts a little livelier.
and I in finding It really useful & it helped me out much.
I'm hoping to give something again and aid others such as you aided me.
I appreciate you finding the time and energy to put this information together.
I once again find myself spending a significant
amount of time both reading and leaving comments. But so what, it was still worth it!
information you provide. It's great to come across a blog every once in a while
that isn't the same outdated rehashed material. Excellent read!
I've bookmarked your site and I'm including your RSS feeds to my
Google account.
It's simple, yet effective. A lot of times it's very hard to get that "perfect balance" between usability and visual appearance.
I must say that you've done a awesome job with this.
In addition, the blog loads very fast for me on Chrome.
Exceptional Blog!
Is anyone else having this issue or is it a issue on my end?
I'll check back later on and see if the problem still exists.
Stay up the great work! You already know, lots of persons are hunting round for this info, you
could aid them greatly.
to read everthing at single place.
working hard in favor of his web page, since here
every stuff is quality based information.
problems. Whenever I take a look at your site in Safari,
it looks fine but when opening in I.E., it has some overlapping issues.
I simply wanted to provide you with a quick heads
up! Other than that, fantastic site!
with SEO? I'm trying to get my blog to rank for some targeted keywords but I'm not
seeing very good results. If you know of any please
share. Thank you!
topic for a while and yours is the greatest I have discovered till now.
However, what concerning the conclusion? Are
you certain concerning the source?
RSS feed for comments to this post