Sie sind auf Seite 1von 13

SPECIAL INFORMATION TYPES

Special Information Types (SITs) are Key Flexfields (KFFs).


SITs are primarily attached to People. They can also be used with Jobs
and Positions.

To simplify the setup, we’ll create a SIT ‘TEST_DEMO’ for Personal


Information.

The prerequisite before the setup is that we need to design a Personal


Analysis Flexfield Structure for the SIT ‘TEST_DEMO’ that we want to
hold in Oracle HRMS.

For each structure following points are always taken into account:

 The Structure Name (TEST_DEMO) and the number of Segments (1).


 The Flexfield Segment Names (TestSIT1), Order (Segment1) and
Validation Options (a 10 digit Number).
 The Flexfield Value Sets (10/Number) to be used and any lists of
values.

The values in brackets are the ones that we will consider for the
ongoing setup.

Once this information is collected, we can go ahead with the setting up


of the SIT.

Here we go for a step-by-step approach to set up our SIT ‘TEST_DEMO’.


Step1:

In System Administrator responsibility, follow the Navigation path:


Application -> Flexfield -> Key -> Segments and you get the screen shown
below.
Step 2:

Query for ‘Personal Analysis Flexfield’ in Flexfield Title and you get
the screen as shown below with all the SITs already created for Personal
Information.
Step 3:

 Uncheck ‘Freeze Flexfield Definition’ field.


 Check ‘Allow Dynamic Inserts’ field. If you do not check, you will
not be able to enter new details in the Special Information Types
window.
 Add SIT Code, Title and Description as added here for ‘TEST_DEMO’
Step 4:

Click on ‘Segments’ tab on the above screen and you get blank KFF
Segments screen for the SIT ‘TEST_DEMO’.
Step 5:

Here comes the main step into picture.

We already defined a structure for our Personal Analysis Flexfield which


contains segment TestSIT1. (This is the structure that we will use to
enter details in the Special Information Types window.)

For each SIT, we can define up to 30 fully validated segments of


information.

If you want to validate the values which a user can enter for the
segment you must define a specific Value Set e.g. here we want TestSIT1
not to exceed 10 digits so we use the value set 10/Number.

The value set, you want to use, should already be defined using
Navigation Path: Application -> Validation -> Set, in System
Administrator responsibility.

It’s not mandatory to use a Value Set to validate a segment. If you do


not specify a Value Set then a user can enter any alphanumeric value up
to a limit of 150 characters.
Step 6:

We are now ready to freeze our flexfield definition.


Navigate to the Define Flexfield Segments window. Check ‘Freeze
Flexfield Definition’ field and save your changes.
The Flexfield Definition is compiled successfully and Flexfield view
PER_ANALYSIS_CRITERIA_KFV is also generated.

Do remember that you must recompile your flexfield every time you make
changes using this form, including enabling or disabling cross-
validation rules.
Step 7:

And here comes the last step of our setup journey i.e. to link the SIT
to the Business Group.

In US Super HRMS Manager responsibility, follow the Navigation path:


Other Definitions -> Special Information Types and you get the screen as
below.
Add ‘TEST_DEMO’ to SIT names, check ‘Other’ field for the SIT name and
save your changes and our SIT is setup in Oracle HRMS.
Now the big question - Where do I see whether the SIT ‘TEST_DEMO’ has
been created or not?

Follow the Navigation Path:


People -> Enter and Maintain -> Special Info and query for the SIT
‘TEST_DEMO’.

‘Information Exists’ is unchecked as there exists no information for the


SIT currently. As soon as API uploads some information into the SIT, it
gets checked.
Database Details for the SIT

Relationship between important tables is shown in Entity Relationship


Diagram given below:

FND_ID_FLEX_STRUCTURES_TL FND_ID_FLEX_STRUCTURES
id_flex_num(PK1) id_flex_num(PK1)
id_flex_code(PK2) id_flex_code(PK2)
application_id(PK3) application_id(PK3)
language(PK4)

PER_PERSON_ANALYSES

person_analysis_id(PK)

PER_ALL_PEOPLE_F
PER_PERSON_TYPES
person_id (PK1)
person_type_id(PK) effective_start_date (PK2)
effective_end_date (PK3)

Useful SQL queries:

1. Getting the KFF Number for the SIT:

SELECT FIFS.id_flex_num
INTO l_num_id_flex_num
FROM fnd_id_flex_structures_tl FIFST
, fnd_id_flex_structures FIFS
WHERE FIFS.enabled_flag= 'Y'
AND FIFS.application_id = FIFST.application_id
AND FIFS.id_flex_code = FIFST.id_flex_code
AND FIFS.id_flex_num = FIFST.id_flex_num
AND FIFST.language = 'US'
AND FIFST.id_flex_structure_name = ‘TEST_DEMO’;

2. Getting Person details required to create/update the SIT for a


person ( say person_id = l_num_person_id )

SELECT person_analysis_id
, object_version_number
INTO l_num_per_alys_id
, l_num_obj_ver_num
FROM per_person_analyses
WHERE person_id = l_num_person_id
AND id_flex_num = l_num_id_flex_num
AND TRUNC( SYSDATE ) BETWEEN NVL( date_from, TRUNC( SYSDATE ))
AND NVL( date_to, TRUNC( SYSDATE ));

3. If person_analysis_id is NULL, SIT record is created for the person


otherwise existing SIT details are updated. Following APIs are used
for these purposes.
 hr_sit_api.create_sit
 hr_sit_api.update_sit

Das könnte Ihnen auch gefallen