Professional Documents
Culture Documents
Example
-- Create Employee
-- -------------------------
DECLARE
lc_employee_number
:= 'PRAJ_01';
ln_person_id
ln_assignment_id
%TYPE;
PER_ALL_PEOPLE_F.EMPLOYEE_NUMBER%TYPE
PER_ALL_PEOPLE_F.PERSON_ID%TYPE;
PER_ALL_ASSIGNMENTS_F.ASSIGNMENT_ID
ln_object_ver_number
PER_ALL_ASSIGNMENTS_F.OBJECT_VERSION_NUMBER%TYPE;
ln_asg_ovn
ld_per_effective_start_date
%TYPE;
ld_per_effective_end_date
lc_full_name
ln_per_comment_id
NUMBER;
PER_ALL_PEOPLE_F.EFFECTIVE_START_DATE
PER_ALL_PEOPLE_F.EFFECTIVE_END_DATE%TYPE;
PER_ALL_PEOPLE_F.FULL_NAME%TYPE;
PER_ALL_PEOPLE_F.COMMENT_ID%TYPE;
ln_assignment_sequence
PER_ALL_ASSIGNMENTS_F.ASSIGNMENT_SEQUENCE%TYPE;
lc_assignment_number
PER_ALL_ASSIGNMENTS_F.ASSIGNMENT_NUMBER%TYPE;
lb_name_combination_warning BOOLEAN;
lb_assign_payroll_warning
BOOLEAN;
lb_orig_hire_warning
BOOLEAN;
BEGIN
hr_employee_api.create_employee
( -- Input data elements
-- -----------------------------p_hire_date
=> TO_DATE('08-JUN-2011'),
p_business_group_id
=>
fnd_profile.value_specific('PER_BUSINESS_GROUP_ID'),
p_last_name
=> 'TEST',
p_first_name
=> 'PRAJKUMAR',
p_middle_names
p_sex
p_national_identifier
=> NULL,
=> 'M',
=> '183-09-6723',
p_date_of_birth
=> TO_DATE('03-DEC-1988'),
p_known_as
=> 'PRAJ',
=> lc_employee_number,
=> ln_person_id,
=> ln_assignment_id,
p_per_object_version_number
=> ln_object_ver_number,
p_asg_object_version_number
=> ln_asg_ovn,
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_assignment_sequence
=> ln_assignment_sequence,
p_assignment_number
=> lc_assignment_number,
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;
API - hr_person_api.update_person
Example is for updating middle name and marital status
DECLARE
-- Local Variables
-- ----------------------ln_object_version_number
%TYPE := 7;
lc_dt_ud_mode
:= NULL;
PER_ALL_PEOPLE_F.OBJECT_VERSION_NUMBER
VARCHAR2(100)
ln_assignment_id
:= 33564;
PER_ALL_ASSIGNMENTS_F.ASSIGNMENT_ID%TYPE
lc_employee_number
:= 'PRAJ_01';
PER_ALL_PEOPLE_F.EMPLOYEE_NUMBER%TYPE
BOOLEAN;
BOOLEAN;
BOOLEAN;
BOOLEAN;
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
lb_assign_payroll_warning
lb_orig_hire_warning
BOOLEAN;
BOOLEAN;
BOOLEAN;
BEGIN
=> 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,
=> lb_correction,
p_update
=> lb_update,
p_update_override
p_update_change_insert
=> lb_update_override,
=> lb_update_change_insert
);
-- 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;
=> TO_DATE('29-JUN-2011'),
=> lc_dt_ud_mode,
=> 32979,
p_middle_names
=> 'TEST',
p_marital_status
=> 'M',
=> 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,
COMMIT;
=> lb_assign_payroll_warning,
=> lb_orig_hire_warning
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
dbms_output.put_line(SQLERRM);
END;
3. Oracle HRMS API Create Employee Contact
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
p_business_group_id
p_person_id
p_contact_type
p_date_start
p_last_name
=> TO_DATE('14-JUN-2011'),
=> fnd_profile.value('PER_BUSINESS_GROUP_ID'),
=> 32979,
=> 'M',
=> TO_DATE('14-JUN-2011'),
=> '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;
4. Oracle HRMS API - Hire Into Job
API - hr_employee_api.hire_into_job
Example --
Consider a Contact for some employee already exist in Oracle System. Now
that Contact has got Job, so his Person type should be converted to
Employee from Contact (External)
Following API helps to create assignment for that Contact and helps to
change his Person Type
DECLARE
-- Local Variables
-- --------------------lc_dt_ud_mode
ln_person_id
ln_object_number
ld_effective_date
lc_employee_number
VARCHAR2(100) := NULL;
NUMBER
:= 32981;
NUMBER
:= 1;
DATE
:= TO_DATE('28-JUN-2012');
VARCHAR2(100) := 'CONTACT_TEST_01';
BEGIN
-- Find Date Track Mode
-- ---------------------------dt_api.find_dt_upd_modes
( -- Input data elements
-- --------------------------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_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
p_employee_number
p_assignment_id
p_effective_start_date
p_effective_end_date
p_assign_payroll_warning
p_orig_hire_warning
=> ln_object_number,
=> lc_employee_number,
=> ln_assignment_id,
=> ld_effective_start_date,
=> ld_effective_end_date,
=> lb_assign_payroll_warning,
=> lb_orig_hire_warning
);
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
DBMS_OUTPUT.PUT_LINE(SQLERRM);
END;
5. Oracle HRMS API Create Employee Address
API - hr_person_address_api.create_person_address
Example --
DECLARE
ln_address_id
ln_object_version_number
PER_ADDRESSES.ADDRESS_ID%TYPE;
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('08-JUN-2011'),
p_person_id
=> 32979,
p_primary_flag
=> 'Y',
p_style
=> 'US',
p_date_from
=> TO_DATE('08-JUN-2011'),
p_address_line1
=> '50 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;
6. Oracle HRMS API Update Employee Address
API - hr_person_address_api.update_person_address
BEGIN
-- Update Employee Address
-- ---------------------------------------hr_person_address_api.update_person_address
( -- Input data elements
-- ----------------------------p_effective_date
=> TO_DATE('10-JUN-2011'),
p_address_id
=> 16406,
p_address_line1
=> '60 Main Street',
-- Output data elements
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
dbms_output.put_line(SQLERRM);
END;
7. Oracle HRMS API Create Employee Element Entry
API - pay_element_entry_api.create_element_entry
Example -Lets Try to Create Element Entry "Bonus" for Employee
DECLARE
ln_element_link_id
ld_effective_start_date
ld_effective_end_date
ln_element_entry_id
ln_object_version_number
lb_create_warning
ln_input_value_id
ln_screen_entry_value
%TYPE;
ln_element_type_id
PAY_ELEMENT_LINKS_F.ELEMENT_LINK_ID%TYPE;
DATE;
DATE;
PAY_ELEMENT_ENTRIES_F.ELEMENT_ENTRY_ID%TYPE;
PAY_ELEMENT_ENTRIES_F.OBJECT_VERSION_NUMBER %TYPE;
BOOLEAN;
PAY_INPUT_VALUES_F.INPUT_VALUE_ID%TYPE;
PAY_ELEMENT_ENTRY_VALUES_F.SCREEN_ENTRY_VALUE
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
=> 33561,
p_element_type_id => 50417,
p_session_date
=> TO_DATE('23-JUN-2011')
);
-- -----------------------------pay_element_entry_api.create_element_entry
(
-- Input data elements
-- ----------------------------p_effective_date
=> TO_DATE('22-JUN-2011'),
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;
8. Oracle HRMS API Delete Employee Element Entry
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
ld_effective_end_date
lb_delete_warning
ln_object_version_number
%TYPE := 1;
DATE;
DATE;
BOOLEAN;
PAY_ELEMENT_ENTRIES_F.OBJECT_VERSION_NUMBER
BEGIN
-- Delete Element Entry
-- ------------------------------pay_element_entry_api.delete_element_entry
( -- Input data elements
-- -----------------------------p_datetrack_delete_mode => 'DELETE',
p_effective_date
=> TO_DATE('23-JUNE-2011'),
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;
DECLARE
ln_per_object_version_number
%TYPE
:= 5;
ln_assg_object_version_number
%TYPE;
ln_assignment_id
ld_per_effective_start_date
ld_per_effective_end_date
ln_assignment_sequence
%TYPE;
lb_assign_payroll_warning
lc_assignment_number
%TYPE;
PER_ALL_PEOPLE_F.OBJECT_VERSION_NUMBER
PER_ALL_ASSIGNMENTS_F.OBJECT_VERSION_NUMBER
PER_ALL_ASSIGNMENTS_F.ASSIGNMENT_ID%TYPE;
PER_ALL_PEOPLE_F.EFFECTIVE_START_DATE%TYPE;
PER_ALL_PEOPLE_F.EFFECTIVE_END_DATE%TYPE;
PER_ALL_ASSIGNMENTS_F.ASSIGNMENT_SEQUENCE
BOOLEAN;
PER_ALL_ASSIGNMENTS_F.ASSIGNMENT_NUMBER
BEGIN
-- Rehire Employee API
-- -------------------------------hr_employee_api.re_hire_ex_employee
( -- Input data elements
-- ----------------------------p_hire_date
=> TO_DATE('28-JUN-2011'),
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;
API -- hr_personal_pay_method_api.create_personal_pay_method
Example -DECLARE
ln_method_id PAY_PERSONAL_PAYMENT_METHODS_F.PERSONAL_PAYMENT_METHOD_ID
%TYPE;
ln_ext_acc_id
PAY_EXTERNAL_ACCOUNTS.EXTERNAL_ACCOUNT_ID%TYPE;
ln_obj_ver_num PAY_PERSONAL_PAYMENT_METHODS_F.OBJECT_VERSION_NUMBER%TYPE;
ld_eff_start_date DATE;
ld_eff_end_date DATE;
ln_comment_id
NUMBER;
BEGIN
-- Create Employee Payment Method
-- -------------------------------------------------hr_personal_pay_method_api.create_personal_pay_method
( -- Input data elements
-- -----------------------------p_effective_date
=> TO_DATE('21-JUN-2011'),
p_assignment_id
=> 33561,
p_org_payment_method_id
=> 2,
p_priority
=> 50,
p_percentage
=> 100,
p_territory_code
=> 'US',
p_segment1
=> 'PRAJKUMAR',
p_segment2
=> 'S',
p_segment3
=> '100200300',
p_segment4
=> '567',
p_segment5
=> 'HDFC',
p_segment6
=> 'INDIA',
-- Output data elements
-- -------------------------------p_personal_payment_method_id => ln_method_id,
p_external_account_id
=> ln_ext_acc_id,
p_object_version_number
=> ln_obj_ver_num,
p_effective_start_date
=> ld_eff_start_date,
p_effective_end_date
=> ld_eff_end_date,
p_comment_id
=> ln_comment_id
);
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
dbms_output.put_line(SQLERRM);
END;
11. Oracle HRMS API Create or Update Employee Phone
API -- hr_phone_api.create_or_update_phone
Example -DECLARE
ln_phone_id
ln_object_version_number
PER_PHONES.PHONE_ID%TYPE;
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('13-JUN-2011'),
-- 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;
12.
API -- hr_maintain_proposal_api.cre_or_upd_salary_proposal
BOOLEAN;
BOOLEAN;
BOOLEAN;
BOOLEAN;
NUMBER;
NUMBER;
BEGIN
-- Create or Upadte Employee Salary Proposal
-- ---------------------------------------------------------------hr_maintain_proposal_api.cre_or_upd_salary_proposal
( -- Input data elements
-- -----------------------------p_business_group_id
=> fnd_profile.value('PER_BUSINESS_GROUP_ID'),
p_assignment_id
=> 33561,
p_change_date
=> TO_DATE('13-JUN-2011'),
p_proposed_salary_n
=> 1000,
p_approved
=> 'Y',
-- Output data elements
-- -------------------------------p_pay_proposal_id
=> ln_pay_proposal_id,
p_object_version_number
=> ln_object_version_number,
p_inv_next_sal_date_warning => lb_inv_next_sal_date_warning,
p_proposed_salary_warning
=> lb_proposed_salary_warning,
p_approved_warning
=> lb_approved_warning,
p_payroll_warning
=> lb_payroll_warning
);
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
dbms_output.put_line(SQLERRM);
END;
API -- pay_federal_tax_rule_api.update_fed_tax_rule
Example -DECLARE
lb_correction
lb_update
lb_update_override
lb_update_change_insert
ld_effective_start_date
ld_effective_end_date
ln_assignment_id
lc_dt_ud_mode
ln_object_version_number
ln_supp_tax_override_rate
%TYPE;
ln_emp_fed_tax_rule_id
%TYPE;
BOOLEAN;
BOOLEAN;
BOOLEAN;
BOOLEAN;
DATE;
DATE;
NUMBER
:= 33561;
VARCHAR2(100)
:= NULL;
NUMBER
:= 0;
PAY_US_EMP_FED_TAX_RULES_F.SUPP_TAX_OVERRIDE_RATE
PAY_US_EMP_FED_TAX_RULES_F.EMP_FED_TAX_RULE_ID
BEGIN
-- Find Date Track Mode
-- ------------------------------dt_api.find_dt_upd_modes
( -- Input data elements
-- -----------------------------p_effective_date
=> TO_DATE('12-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_correction = TRUE )
THEN
-- CORRECTION
-- ---------------------lc_dt_ud_mode := 'CORRECTION';
END IF;
IF ( lb_update = TRUE )
THEN
-- UPDATE
-- ------------lc_dt_ud_mode := 'UPDATE';
END IF;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
dbms_output.put_line(SQLERRM);
END;
API -- pay_state_tax_rule_api.create_state_tax_rule
Example -DECLARE
lc_dt_ud_mode
ln_assignment_id
VARCHAR2(100)
NUMBER
lb_correction
lb_update
lb_update_override
lb_update_change_insert
BOOLEAN;
BOOLEAN;
BOOLEAN;
BOOLEAN;
:= NULL;
:= 33561;
ln_emp_state_tax_rule_id PAY_US_EMP_STATE_TAX_RULES_F.EMP_STATE_TAX_RULE_ID
%TYPE;
ln_object_version_number NUMBER;
ld_effective_start_date
DATE;
ld_effective_end_date
DATE;
BEGIN
-- Find Date Track Mode
-- -------------------------------dt_api.find_dt_upd_modes
(
p_effective_date
=> TO_DATE('12-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_correction = TRUE )
THEN
-- CORRECTION
-- ---------------------lc_dt_ud_mode := 'CORRECTION';
END IF;
IF ( lb_update = TRUE )
THEN
-- UPDATE
-- -------------lc_dt_ud_mode := 'UPDATE';
END IF;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
dbms_output.put_line(SQLERRM);
END;
15. Oracle HRMS API Update Employee State Tax Rule
API -- pay_state_tax_rule_api.update_state_tax_rule
Example -API -- pay_state_tax_rule_api.update_state_tax_rule
Example --
DECLARE
lc_dt_ud_mode
VARCHAR2(100) := NULL;
ln_assignment_id
NUMBER
:= 33561;
ln_object_version_number NUMBER
:= 1;
ld_effective_start_date
DATE;
ld_effective_end_date
DATE;
lb_correction
BOOLEAN;
lb_update
BOOLEAN;
lb_update_override
BOOLEAN;
lb_update_change_insert BOOLEAN;
BEGIN
-- Find Date Track Mode
-- -------------------------------dt_api.find_dt_upd_modes
( p_effective_date
=> TO_DATE('12-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_correction = TRUE )
THEN
-- CORRECTION
-- ---------------------lc_dt_ud_mode := 'CORRECTION';
END IF;
IF ( lb_update = TRUE )
THEN
-- UPDATE
-- -------------lc_dt_ud_mode := 'UPDATE';
END IF;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
dbms_output.put_line(SQLERRM);
END;
16. Oracle HRMS API Update Employee Assignment
To Update
Supervisor, Manager Flag, Bargaining Unit, Labour Union Member Flag, Gre,
Time Card, Work Schedule, Normal Hours, Frequency, Time Normal Finish,
Time Normal Start, Default Code Combination, Set of Books Id
API -- hr_assignment_api.update_emp_asg
To Update
Grade, Location, Job, Payroll, Organization, Employee Category, People Group
API -- hr_assignment_api.update_emp_asg_criteria
Example --
DECLARE
-- Local Variables
-- ----------------------lc_dt_ud_mode
VARCHAR2(100)
ln_assignment_id
NUMBER
ln_supervisor_id
NUMBER
ln_object_number
NUMBER
ln_people_group_id NUMBER
:= NULL;
:= 33561;
:= 2;
:= 1;
:= 1;
HR_SOFT_CODING_KEYFLEX.SOFT_CODING_KEYFLEX_ID
VARCHAR2(2000);
PER_ALL_ASSIGNMENTS_F.COMMENT_ID%TYPE;
BOOLEAN;
ln_special_ceiling_step_id
PER_ALL_ASSIGNMENTS_F.SPECIAL_CEILING_STEP_ID
%TYPE;
lc_group_name
VARCHAR2(30);
ld_effective_start_date
PER_ALL_ASSIGNMENTS_F.EFFECTIVE_START_DATE
%TYPE;
ld_effective_end_date
PER_ALL_ASSIGNMENTS_F.EFFECTIVE_END_DATE
%TYPE;
lb_org_now_no_manager_warning BOOLEAN;
lb_other_manager_warning
BOOLEAN;
lb_spp_delete_warning
BOOLEAN;
lc_entries_changed_warning
VARCHAR2(30);
lb_tax_district_changed_warn
BOOLEAN;
BEGIN
-- Find Date Track Mode
-- -------------------------------dt_api.find_dt_upd_modes
( p_effective_date
p_base_table_name
p_base_key_column
p_base_key_value
-- Output data elements
-- -------------------------------p_correction
p_update
p_update_override
p_update_change_insert
);
=> TO_DATE('12-JUN-2011'),
=> 'PER_ALL_ASSIGNMENTS_F',
=> 'ASSIGNMENT_ID',
=> ln_assignment_id,
=> lb_correction,
=> lb_update,
=> lb_update_override,
=> lb_update_change_insert
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;
=> TO_DATE('12-JUN-2011'),
=> 'PER_ALL_ASSIGNMENTS_F',
=> 'ASSIGNMENT_ID',
=> ln_assignment_id,
=> lb_correction,
=> lb_update,
=> lb_update_override,
=> lb_update_change_insert
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;
p_entries_changed_warning
p_tax_district_changed_warning
);
=> lc_entries_changed_warning,
=> lb_tax_district_changed_warn
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
dbms_output.put_line(SQLERRM);
END;