DECLARE
-- Local Variables
-- ---------------------
lc_dt_ud_mode VARCHAR2(100) := NULL;
ln_person_id NUMBER := 32981;
ln_object_number NUMBER := 1;
ld_effective_date DATE := TO_DATE('04-APR-2012');
lc_employee_number VARCHAR2(100) := 'CONTACT_AJ408';
-- 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 Hire to Job 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
( -- Input data elements
-- ---------------------------
p_effective_date => TO_DATE('04-APR-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;
/
Ur's
AmarAlam
-- Local Variables
-- ---------------------
lc_dt_ud_mode VARCHAR2(100) := NULL;
ln_person_id NUMBER := 32981;
ln_object_number NUMBER := 1;
ld_effective_date DATE := TO_DATE('04-APR-2012');
lc_employee_number VARCHAR2(100) := 'CONTACT_AJ408';
-- 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 Hire to Job 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
( -- Input data elements
-- ---------------------------
p_effective_date => TO_DATE('04-APR-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;
/
Ur's
AmarAlam
0 comments:
Post a Comment