Tuesday, March 12, 2013

Create or Update Employee Phone Using Oracle HRMS API


Following script can be used to create or update and Employee phone number using oracle HRMS API.

API --  hr_phone_api.create_or_update_phone
 
Example --
DECLARE        ln_phone_id                              PER_PHONES.PHONE_ID%TYPE;
       ln_object_version_number    PER_PHONES.OBJECT_VERSION_NUMBER%TYPE;

BEGIN
   -- Create or Update Employee Phone Detail
   -- -----------------------------------------------------------
    hr_phone_api.create_or_update_phone
    (   -- Input data elements
        -- -----------------------------
        p_date_from                             => TO_DATE('13-JUN-2011'),
        p_phone_type                          => 'W1',
        p_phone_number                   => '9999999',
        p_parent_id                              => 32979,
        p_parent_table                         => 'PER_ALL_PEOPLE_F',
        p_effective_date                       => TO_DATE('12-MAR-2013'),
        -- Output data elements
        -- --------------------------------
        p_phone_id                              => ln_phone_id,
        p_object_version_number    => ln_object_version_number
     );
 
 COMMIT;

EXCEPTION       WHEN OTHERS THEN
                    ROLLBACK;
                     dbms_output.put_line(SQLERRM);
END; /

SHOW ERR;
Read More ->

Saturday, March 9, 2013

Script To Rehire An Employee Using Oracle HRMS API


Following script can be used to Rehire an Employee using Oracle HRMS API.

API --  hr_employee_api.re_hire_ex_employee
 
Example --
Consider a Ex-Employee we will try to Rehire that employee using Rehire API
 
DECLARE
     ln_per_object_version_number      PER_ALL_PEOPLE_F.OBJECT_VERSION_NUMBER%TYPE        := 5;
     ln_assg_object_version_number    PER_ALL_ASSIGNMENTS_F.OBJECT_VERSION_NUMBER%TYPE;
     ln_assignment_id                               PER_ALL_ASSIGNMENTS_F.ASSIGNMENT_ID%TYPE;
     ld_per_effective_start_date              PER_ALL_PEOPLE_F.EFFECTIVE_START_DATE%TYPE;
     ld_per_effective_end_date               PER_ALL_PEOPLE_F.EFFECTIVE_END_DATE%TYPE;
     ln_assignment_sequence                  PER_ALL_ASSIGNMENTS_F.ASSIGNMENT_SEQUENCE%TYPE;
     lb_assign_payroll_warning            BOOLEAN;
     lc_assignment_number                     PER_ALL_ASSIGNMENTS_F.ASSIGNMENT_NUMBER%TYPE;

BEGIN     -- Rehire Employee API 
    -- --------------------------------

     hr_employee_api.re_hire_ex_employee
     (    -- Input data elements
          -- -----------------------------
         p_hire_date                                          => TO_DATE('05-MAR-2013'),
         p_person_id                                         => 32979,
         p_rehire_reason                                  => NULL,
         -- Output data elements
         -- --------------------------------
        p_assignment_id                                => ln_assignment_id,
        p_per_object_version_number       => ln_per_object_version_number,
        p_asg_object_version_number       => ln_assg_object_version_number,
        p_per_effective_start_date               => ld_per_effective_start_date,
        p_per_effective_end_date                => ld_per_effective_end_date,
        p_assignment_sequence                  => ln_assignment_sequence,
        p_assignment_number                     => lc_assignment_number,
        p_assign_payroll_warning             => lb_assign_payroll_warning
    );
 
 COMMIT;

EXCEPTION        WHEN OTHERS THEN
                       ROLLBACK;
                       dbms_output.put_line(SQLERRM);
END; /
SHOW ERR;
Read More ->

Thursday, March 7, 2013

Delete Employee Element Entry Using Oracle HRMS API


Following scripts can be used to delete an existing Employee Element Entry for an existing employee.

API --  pay_element_entry_api.delete_element_entry 
 
Example --
Consider Employee has Element Entry "Bonus". Lets try to Delete Element Entry "Bonus" using delete API
 
DECLARE       ld_effective_start_date            DATE;
      ld_effective_end_date             DATE;
      lb_delete_warning                   BOOLEAN;
      ln_object_version_number    PAY_ELEMENT_ENTRIES_F.OBJECT_VERSION_NUMBER%TYPE := 1;

BEGIN       -- Delete Element Entry
      -- -------------------------------
        pay_element_entry_api.delete_element_entry
        (    -- Input data elements
             -- ------------------------------
             p_datetrack_delete_mode    => 'DELETE',
             p_effective_date                      => TO_DATE('01-JAN-2013'),
             p_element_entry_id               => 118557,
             -- Output data elements
             -- --------------------------------
             p_object_version_number   => ln_object_version_number,
             p_effective_start_date           => ld_effective_start_date,
             p_effective_end_date            => ld_effective_end_date,
             p_delete_warning                  => lb_delete_warning
        );
 
 COMMIT;


EXCEPTION         WHEN OTHERS THEN
                          ROLLBACK;
                          dbms_output.put_line(SQLERRM);
END;
/

SHOW ERR;
Read More ->

Monday, March 4, 2013

Create Employee Element Entry Using Oracle HRMS API


Following script can be used to create an Element Entry for an Employee using Oracle HRMS API.

API - pay_element_entry_api.create_element_entry

Example --
Lets Try to Create Element Entry "Bonus" for Employee
 
DECLARE    ln_element_link_id                  PAY_ELEMENT_LINKS_F.ELEMENT_LINK_ID%TYPE;
   ld_effective_start_date            DATE;
   ld_effective_end_date             DATE;
   ln_element_entry_id                PAY_ELEMENT_ENTRIES_F.ELEMENT_ENTRY_ID%TYPE;
   ln_object_version_number     PAY_ELEMENT_ENTRIES_F.OBJECT_VERSION_NUMBER %TYPE;
   lb_create_warning                    BOOLEAN;
   ln_input_value_id                    PAY_INPUT_VALUES_F.INPUT_VALUE_ID%TYPE;
   ln_screen_entry_value            PAY_ELEMENT_ENTRY_VALUES_F.SCREEN_ENTRY_VALUE%TYPE;
   ln_element_type_id                  PAY_ELEMENT_TYPES_F.ELEMENT_TYPE_ID%TYPE;

BEGIN
        -- Get Element Link Id
        -- ------------------------------
          ln_element_link_id :=      hr_entry_api.get_link
                                                          (       p_assignment_id      => 12345,
                                                                  p_element_type_id   => 12321,
                                                                  p_session_date          => TO_DATE('01-JAN-2013')
                                                          );
 
       dbms_output.put_line( '  API: Element Link Id: ' || ln_element_link_id );
 
       -- Create Element Entry
       -- ------------------------------
       pay_element_entry_api.create_element_entry
         (     -- Input data elements
               -- -----------------------------
               p_effective_date                     => TO_DATE('01-JAN-2013'),
               p_business_group_id          => fnd_profile.value('PER_BUSINESS_GROUP_ID'),
               p_assignment_id                   => 33561,
               p_element_link_id                => ln_element_link_id,
               p_entry_type                           => 'E',
               p_input_value_id1               => 53726,
               p_entry_value1                      => 2500,
               -- Output data elements
               -- --------------------------------
               p_effective_start_date          => ld_effective_start_date,
               p_effective_end_date           => ld_effective_end_date,
               p_element_entry_id             => ln_element_entry_id,
               p_object_version_number  => ln_object_version_number,
               p_create_warning                 => lb_create_warning
         );
 
     dbms_output.put_line( '  API: pay_element_entry_api.create_element_entry successfull - Element Entry Id: ' || ln_element_entry_id );  
 COMMIT;


EXCEPTION           WHEN OTHERS THEN
                            ROLLBACK;
                            dbms_output.put_line(SQLERRM);
END;
/

SHOW ERR;
Read More ->

Thursday, February 28, 2013

Update Employee Address Using Oracle HRMS API

Following script can be used to update an Employee Address using Oracle HRMS employee.

API - hr_person_address_api.update_person_address

Example --
Consider Employee having Address Line1 -- "#123 Main Street"
Lets Update Address Line1 -- "#456 Main Street" using update address API

 
 
DECLARE       ln_address_id                         PER_ADDRESSES.ADDRESS_ID%TYPE;
      ln_object_version_number  PER_ADDRESSES.OBJECT_VERSION_NUMBER%TYPE := 1;

BEGIN
   -- Update Employee Address
   -- ----------------------------------------
    hr_person_address_api.update_person_address
    (    -- Input data elements
         -- -----------------------------
         p_effective_date                     => TO_DATE('10-JAN-2013'),
         p_address_id                          => 12121,
         p_address_line1                    => '#456 Main Street',
         -- Output data elements
         -- --------------------------------
         p_object_version_number   => ln_object_version_number
    );
 
 COMMIT;


EXCEPTION
      WHEN OTHERS THEN
                 ROLLBACK;
                 dbms_output.put_line(SQLERRM);
END;
/

SHOW ERR;

Read More ->

Sunday, February 24, 2013

Create Employee Address Using Oracle HRMS API


Following script can be used to create an Employee Address using oracle HRMS API.

API - hr_person_address_api.create_person_address
Example --
 
DECLARE     ln_address_id                           PER_ADDRESSES.ADDRESS_ID%TYPE;
    ln_object_version_number    PER_ADDRESSES.OBJECT_VERSION_NUMBER%TYPE;

BEGIN
   -- Create Employee Address
   -- --------------------------------------
    hr_person_address_api.create_person_address
    (     -- Input data elements
          -- ------------------------------
          p_effective_date                    => TO_DATE('01-JAN-2013'),
          p_person_id                           => 12345,
          p_primary_flag                     => 'Y',
          p_style                                     => 'US',
          p_date_from                           => TO_DATE('01-JAN-2013'),
          p_address_line1                   => '#123, Main Street',
          p_address_line2                   => NULL,
          p_town_or_city                     => 'White Plains',
          p_region_1                              => 'Westchester',
          p_region_2                              => 'NY',
          p_postal_code                        => 10601,
          p_country                                => 'US',
          -- Output data elements
          -- --------------------------------
          p_address_id                          => ln_address_id,
          p_object_version_number   => ln_object_version_number
   );
 
 COMMIT;
EXCEPTION        WHEN OTHERS THEN
                       ROLLBACK;
                       dbms_output.put_line(SQLERRM);
END;
/

SHOW ERR;
Read More ->

Wednesday, February 20, 2013

Create Employee Contact Using Oracle HRMS API


Following script can be used to create a contact for an Employee.

API - hr_contact_rel_api.create_contact

Example --
 
DECLARE      ln_contact_rel_id                   PER_CONTACT_RELATIONSHIPS.CONTACT_RELATIONSHIP_ID%TYPE; 
    ln_ctr_object_ver_num         PER_CONTACT_RELATIONSHIPS.OBJECT_VERSION_NUMBER%TYPE; 
    ln_contact_person                 PER_ALL_PEOPLE_F.PERSON_ID%TYPE; 
    ln_object_version_number  PER_CONTACT_RELATIONSHIPS.OBJECT_VERSION_NUMBER%TYPE; 
    ld_per_effective_start_date DATE; 
    ld_per_effective_end_date  DATE; 
    lc_full_name                            PER_ALL_PEOPLE_F.FULL_NAME%TYPE; 
    ln_per_comment_id              PER_ALL_PEOPLE_F.COMMENT_ID%TYPE; 
    lb_name_comb_warning     BOOLEAN; 
    lb_orig_hire_warning           BOOLEAN;
 
BEGIN
    -- Create Employee Contact
    -- -------------------------------------
     hr_contact_rel_api.create_contact
     (    -- Input data elements
           -- -----------------------------
           p_start_date                                      => TO_DATE('01-JAN-2000'),
           p_business_group_id                    => fnd_profile.value('PER_BUSINESS_GROUP_ID'),
           p_person_id                                      => 12345,
           p_contact_type                                 => 'M',
           p_date_start                                      => TO_DATE('01-JAN-2000'),
           p_last_name                                     => 'TEST',
           p_first_name                                     => 'CONTACT',
           p_personal_flag                               => 'Y',
           -- Output data elements
           -- --------------------------------
          p_contact_relationship_id            => ln_contact_rel_id,
          p_ctr_object_version_number      => ln_ctr_object_ver_num,
          p_per_person_id                              => ln_contact_person,
          p_per_object_version_number     => ln_object_version_number,
          p_per_effective_start_date             => ld_per_effective_start_date,
          p_per_effective_end_date              => ld_per_effective_end_date,
          p_full_name                                       => lc_full_name,
          p_per_comment_id                          => ln_per_comment_id,
          p_name_combination_warning  => lb_name_comb_warning,
          p_orig_hire_warning                      => lb_orig_hire_warning
     );
 
 COMMIT;

EXCEPTION
            WHEN OTHERS THEN
                      ROLLBACK;
                      dbms_output.put_line(SQLERRM);
END;
/

SHOW ERR;
Read More ->