Oracle HRMS API – Update Employee


Oracle HRMS API – Update Employee


xample --

Before Firing Update API -- Middle Name and Status is NULL lets update Middle Name and Status


DECLARE
   -- Local Variables
   -- -----------------------
   ln_object_version_number       PER_ALL_PEOPLE_F.OBJECT_VERSION_NUMBER%TYPE  := 7;
    lc_dt_ud_mode                            VARCHAR2(100)                                                                                     := NULL;
    ln_assignment_id                       PER_ALL_ASSIGNMENTS_F.ASSIGNMENT_ID%TYPE          := 33564;
    lc_employee_number                 PER_ALL_PEOPLE_F.EMPLOYEE_NUMBER%TYPE               := 'PRAJ_01';  
 
   -- Out Variables for Find Date Track Mode API
   -- ----------------------------------------------------------------
   lb_correction                                  BOOLEAN;
    lb_update                                        BOOLEAN;
    lb_update_override                      BOOLEAN; 
    lb_update_change_insert           BOOLEAN;
   -- Out Variables for Update Employee API
   -- -----------------------------------------------------------
    ld_effective_start_date                       DATE;
    ld_effective_end_date                        DATE;
    lc_full_name                                         PER_ALL_PEOPLE_F.FULL_NAME%TYPE;
    ln_comment_id                                    PER_ALL_PEOPLE_F.COMMENT_ID%TYPE; 
    lb_name_combination_warning    BOOLEAN;
    lb_assign_payroll_warning             BOOLEAN;
    lb_orig_hire_warning                        BOOLEAN;


BEGIN

    -- Find Date Track Mode
    -- -------------------------------- 
    
     dt_api.find_dt_upd_modes
     (    -- Input Data Elements
          -- ------------------------------
          p_effective_date                           => TO_DATE('29-JUN-2011'),
          p_base_table_name                    => 'PER_ALL_ASSIGNMENTS_F',
          p_base_key_column                   => 'ASSIGNMENT_ID',
          p_base_key_value                       => ln_assignment_id,
          -- Output data elements
          -- -------------------------------
         p_correction                                   => lb_correction,
         p_update                                         => lb_update,
         p_update_override                       => lb_update_override,
         p_update_change_insert            => lb_update_change_insert
   ); 

   IF ( lb_update_override = TRUE OR lb_update_change_insert = TRUE )
   THEN
          -- UPDATE_OVERRIDE
          -- --------------------------------- 
          

  lc_dt_ud_mode := 'UPDATE_OVERRIDE';
   END IF;
   IF ( lb_correction = TRUE )
   THEN
         -- CORRECTION
         -- ---------------------- 
        

    lc_dt_ud_mode := 'CORRECTION';
   END IF;
   IF ( lb_update = TRUE )
   THEN
        -- UPDATE
        -- -------------- 
        

   lc_dt_ud_mode := 'UPDATE';
   END IF;

    -- Update Employee API
    -- --------------------------------- 
    
    hr_person_api.update_person
    (       -- Input Data Elements
            -- ------------------------------
            p_effective_date                              => TO_DATE('29-JUN-2011'),
            p_datetrack_update_mode         => lc_dt_ud_mode,
            p_person_id                                     => 32979,
            p_middle_names                            => 'TEST',
            p_marital_status                             => 'M',
            -- Output Data Elements
            -- ----------------------------------
           p_employee_number                       => lc_employee_number,
           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_full_name                                       => lc_full_name,
           p_comment_id                                   => ln_comment_id,
           p_name_combination_warning   => lb_name_combination_warning,
           p_assign_payroll_warning           => lb_assign_payroll_warning,
           p_orig_hire_warning                      => lb_orig_hire_warning
    ); 

   COMMIT;

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

After Firing Update Employee API -- Middle Name and Status




2 comments:

  1. What is the difference between update, update_override and correction? I have try to update the p_effective_end_date but failed. No errors. But the column does not been updated by the API. Not sure why. Can please help? Thanks in advance.

    ReplyDelete

How to find all cancel Requisitions

SELECT prha . *   FROM po_Requisition_headers_all prha , po_action_history pah   WHERE      1 = 1        AND pah . object_id ...