Personel İşten Çıkarma İşlemi Örnek Scripti | orasistem | Oracle E-Business Suite Paylaşım Platformu
Mar
14
2014

Personel İşten Çıkarma İşlemi Örnek Scripti

Merhaba, aşağıda personelin aktif olan çalışmasını sonlandırılmasını sağlayan  örnek scripti bulabilirsiniz.

 

( Gerekli olan parametreler set edilerek script çalıştırılabilir !)

 
DECLARE
l_last_std_process_date_out DATE;
l_validate_mode BOOLEAN := FALSE;
l_employee_no NUMBER;
l_date1 DATE;
— API Return Variables
l_assignment_id NUMBER;
l_obj_version_number NUMBER;
l_eff_start_date DATE;
l_eff_end_date DATE;
l_final_process_date DATE;
l_org_now_no_manager_warning BOOLEAN;
l_comment_id NUMBER;
l_error_text VARCHAR2 (1000);
l_last_standard_process_date DATE;
l_obj_no1 NUMBER;
l_obj_no2 NUMBER;
l_supervisor_warning BOOLEAN;
l_event_warning BOOLEAN;
l_interview_warning BOOLEAN;
l_review_warning BOOLEAN;
l_recruiter_warning BOOLEAN;
l_asg_future_changes_warning BOOLEAN;
l_entries_changed_warning VARCHAR2 (10);
l_pay_proposal_warning BOOLEAN;
l_dod_warning BOOLEAN;
l_ppos_id NUMBER;
— Constant variables

— Error Handling variables
l_error_message VARCHAR2 (150);
l_error_code VARCHAR2 (30);
l_error_statement VARCHAR2 (50);
— Count Variables
l_count_total NUMBER := 0;
l_count_success NUMBER := 0;
— Total number of successful rows
l_cnt1 NUMBER := 0;
l_errm VARCHAR2 (100);
l_err_at_stmt NUMBER;
–****************************BU PARAMETRELER SET EDİLMELİDİR****************************
l_module_id CONSTANT VARCHAR2 (30) := ‘XXDENEMEXX’;
–> modül adı değiştirişmelidir
l_business_group_id NUMBER;
–> mevcut business group_id verilmelidir !
l_person_type_id NUMBER := 2123;
l_assignment_status_type_id NUMBER := 3;
l_leaving_reason VARCHAR2 (150) := ‘DVMIC’;
l_person_id NUMBER := 5154;

–***********************************************************
CURSOR c_ppos (c_person_id IN NUMBER)
IS
SELECT period_of_service_id, object_version_number
FROM per_periods_of_service
WHERE person_id = c_person_id
AND actual_termination_date IS NULL
AND business_group_id = l_business_group_id;
–> business grup mevcut bu
BEGIN
FOR rec IN c_ppos (l_person_id)
LOOP
l_last_standard_process_date := TRUNC (SYSDATE); –> işten çıkış tarihi
l_supervisor_warning := NULL;
l_event_warning := NULL;
l_interview_warning := NULL;
l_review_warning := NULL;
l_recruiter_warning := NULL;
l_asg_future_changes_warning := NULL;
l_entries_changed_warning := NULL;
l_pay_proposal_warning := NULL;
l_dod_warning := NULL;
hr_ex_employee_api.actual_termination_emp
(p_validate => FALSE,
p_effective_date => TRUNC (SYSDATE),
p_period_of_service_id => rec.period_of_service_id,
p_object_version_number => rec.object_version_number,
p_actual_termination_date => TRUNC (SYSDATE),
p_last_standard_process_date => l_last_standard_process_date,
p_person_type_id => l_person_type_id,
— ex employee id ,
p_assignment_status_type_id => l_assignment_status_type_id,
— Terminate Assignment status
p_leaving_reason => l_leaving_reason,
–> toplu işten çıkartma –rec.leave_cd1
— OUT
— p_attribute6 => ‘H’,
— p_attribute7 => ‘H’,
p_last_std_process_date_out => l_last_std_process_date_out,
p_supervisor_warning => l_supervisor_warning,
p_event_warning => l_event_warning,
p_interview_warning => l_interview_warning,
p_review_warning => l_review_warning,
p_recruiter_warning => l_recruiter_warning,
p_asg_future_changes_warning => l_asg_future_changes_warning,
p_entries_changed_warning => l_entries_changed_warning,
p_pay_proposal_warning => l_pay_proposal_warning,
p_dod_warning => l_dod_warning
);
hr_ex_employee_api.update_term_details_emp
( –p_validate
p_effective_date => TRUNC (SYSDATE),
p_period_of_service_id => rec.period_of_service_id
–,p_termination_accepted_person
–,p_accepted_termination_date
–,p_comments
–,p_leaving_reason
,
p_notified_termination_date => TRUNC (SYSDATE),
p_projected_termination_date => TRUNC (SYSDATE)
— OUT
,
p_object_version_number => rec.object_version_number
);
–> bu işlemdeki l_obj_no1 işten çıkış sonrasındaki object version number olmalıdır.
hr_ex_employee_api.final_process_emp
(p_period_of_service_id => rec.period_of_service_id,
p_object_version_number => rec.object_version_number,
p_final_process_date => l_final_process_date,
p_org_now_no_manager_warning => l_org_now_no_manager_warning,
p_asg_future_changes_warning => l_asg_future_changes_warning,
p_entries_changed_warning => l_entries_changed_warning
);
END LOOP;

COMMIT;
END;

Mustafa Korkmaz

Mustafa Korkmaz

Oracle Applications Developer at Partnera
2005 yılında Dokuz Eylül Üniversitesi Endüstri Mühendisliğinden Mezun
Oldu, 2011 Yılında Ahmet Yesevi Üniversitesi Bilgisayar Mühendisliğinde
Yüksek Lisansını Tamamlandı,2012 Yılında Doğuş Üniversitesinde
Bilgisayar Mühendisliği Doktora Eğitimine Başladı.
10 yılı aşkın bir zamandır Oracle E-Business Suite Uygulama Yazılımı
üzerinde Teknik Danışman Olarak profesyonel kariyerine devam
etmektedir. İlgi alanları Middleware, CI/CD, Oracle Database , PL/SQL , Java , Makine
Öğrenmesi ve Veri Madenciliği alanlarındadır.
2 versiyon Oracle Database ' (10g, 11g) inde OCA(Oracle Certificate Associate)
ve PL/SQL Certificated Professional ünvanları bulunmaktadır.
Mail: mustafakorkmz@gmail.com
Mustafa Korkmaz


Yorum yapın

*