API to Hire Employee into Job

DECLARE

    — Local Variables

lc_dt_ud_mode              VARCHAR2(100)    := NULL;

ln_person_id                   NUMBER              := 33104;

ln_object_number           NUMBER             := 1;

ld_effective_date             DATE                   := TO_DATE(’28-JUN-2012′);

lc_employee_number      VARCHAR2(100)    := ‘CONTACT_TEST_02’;

    — 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 New API

ld_effective_start_date         DATE;

ld_effective_end_date          DATE;

lb_assign_payroll_warning   BOOLEAN;

lb_orig_hire_warning           BOOLEAN;

ln_assignment_id                 NUMBER;

BEGIN

    — Find Date Track Mode

dt_api.find_dt_upd_modes

(    p_effective_date                  => TO_DATE(’28-JUN-2012′),

p_base_table_name              => ‘PER_ALL_PEOPLE_F’,

p_base_key_column             => ‘PERSON_ID’,

p_base_key_value                => ln_person_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;

    — Hire into Job API

hr_employee_api.hire_into_job

(    — Input Data Elements

p_effective_date                      => ld_effective_date,

p_person_id                            => ln_person_id,

p_datetrack_update_mode   => lc_dt_ud_mode,

        — Output Data Elements

p_object_version_number    => ln_object_number,

p_employee_number           => lc_employee_number,

p_assignment_id                   => ln_assignment_id,

p_effective_start_date         => ld_effective_start_date,

p_effective_end_date         => ld_effective_end_date,

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;

Leave a Reply

Your email address will not be published. Required fields are marked *