| Home |
| Technical Articles |
| Training Articles |
| Receive Email for New Articles |
| Contributors |
| Hands-On-Training |
| Apps Book |
Technical Articles
HR and Payroll
Oracle HRMS
Differences between EIT and SIT in HRMS 


| Differences between EIT and SIT in HRMS | | Print | |
| 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?
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)
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
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
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.
|
|||||||||||||||||||||
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