set define off
create or replace Package hr_employee_api AUTHID CURRENT_USER as
/* $Header: peempapi.pkh 115.24 2003/10/23 02:41:13 jpthomas ship $ */
--
-- ----------------------------------------------------------------------------
-- |--------------------------< create_employee >-----------------------------|
-- ----------------------------------------------------------------------------
--
-- {Start Of Comments}
--
-- Description:
-- This API creates a new employee, including a default primary assignment
-- and a period of service for the employee.
--
-- Secure user functionality is included in this version of the API. The
-- employee will be visible to secure users in the business group.
--
-- The following parameters are currently unsupported and must have a null
-- value :
-- p_fast_path_employee
-- p_projected_start_date
--
-- Prerequisites
-- If person_type_id is supplied, it must have a corresponding system person
-- type of 'EMP', must be active and be in the same business group as that
-- of the employee being created.
--
-- In Parameters:
-- Name Reqd Type Description
-- p_validate No boolean If true, the database
-- remains unchanged. If false
-- then the employee will be
-- created in the database.
-- p_hire_date Yes date The employee hire date and
-- thus the effective start
-- date of the person, primary
-- assignment and period of
-- service.
-- p_business_group_id Yes number The employee's business
-- group.
-- p_last_name Yes varchar2 Employee's last name.
-- p_sex Yes varchar2 Employee sex.
-- p_person_type_id No number Person type id. If this value
-- is omitted then the
-- person_type_id of the default
-- `EMP' system person type in
-- the employee's business group
-- is used.
-- p_per_comments No varchar2 Comments for person record.
-- p_date_employee_data_verified No date The date on which the
-- employee data was last
-- verified.
-- p_date_of_birth No date Date of birth.
-- p_email_address No date Email address.
-- p_employee_number No varchar2 Employee number.
-- p_expense_check_send_to_addres No varchar2 Address to use as mailing
-- address.
-- p_first_name No varchar2 Employee's first name.
-- p_known_as No varchar2 Alternative name.
-- p_marital_status No varchar2 Marital status.
-- p_middle_names No varchar2 Employee's middle name(s).
-- p_nationality No varchar2 Employee's nationality.
-- p_national_identifier No varchar2 National identifier.
-- p_previous_last_name No varchar2 Previous last name.
-- p_registered_disabled_flag No varchar2 Registered disabled flag.
-- p_title No varchar2 Employee's title.
-- p_vendor_id No number Foreign key to PO_VENDORS.
-- p_work_telephone No varchar2 Work telephone.
-- p_attribute_category No varchar2 Determines the context of
-- the descriptive flexfield
-- in the parameter list.
-- p_attribute1 No varchar2 Descriptive flexfield.
-- p_attribute2 No varchar2 Descriptive flexfield.
-- p_attribute3 No varchar2 Descriptive flexfield.
-- p_attribute4 No varchar2 Descriptive flexfield.
-- p_attribute5 No varchar2 Descriptive flexfield.
-- p_attribute6 No varchar2 Descriptive flexfield.
-- p_attribute7 No varchar2 Descriptive flexfield.
-- p_attribute8 No varchar2 Descriptive flexfield.
-- p_attribute9 No varchar2 Descriptive flexfield.
-- p_attribute10 No varchar2 Descriptive flexfield.
-- p_attribute11 No varchar2 Descriptive flexfield.
-- p_attribute12 No varchar2 Descriptive flexfield.
-- p_attribute13 No varchar2 Descriptive flexfield.
-- p_attribute14 No varchar2 Descriptive flexfield.
-- p_attribute15 No varchar2 Descriptive flexfield.
-- p_attribute16 No varchar2 Descriptive flexfield.
-- p_attribute17 No varchar2 Descriptive flexfield.
-- p_attribute18 No varchar2 Descriptive flexfield.
-- p_attribute19 No varchar2 Descriptive flexfield.
-- p_attribute20 No varchar2 Descriptive flexfield.
-- p_attribute21 No varchar2 Descriptive flexfield.
-- p_attribute22 No varchar2 Descriptive flexfield.
-- p_attribute23 No varchar2 Descriptive flexfield.
-- p_attribute24 No varchar2 Descriptive flexfield.
-- p_attribute25 No varchar2 Descriptive flexfield.
-- p_attribute26 No varchar2 Descriptive flexfield.
-- p_attribute27 No varchar2 Descriptive flexfield.
-- p_attribute28 No varchar2 Descriptive flexfield.
-- p_attribute29 No varchar2 Descriptive flexfield.
-- p_attribute30 No varchar2 Descriptive flexfield.
-- p_per_information_category No varchar2 Determines the context of
-- the developer descriptive
-- flexfield.
-- p_per_information1 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information2 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information3 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information4 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information5 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information6 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information7 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information8 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information9 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information10 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information11 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information12 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information13 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information14 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information15 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information16 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information17 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information18 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information19 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information20 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information21 No varchar2 Developer descriptive
-- flexfield
-- p_per_information22 No varchar2 Developer descriptive
-- flexfield
-- p_per_information23 No varchar2 Developer descriptive
-- flexfield
-- p_per_information24 No varchar2 Developer descriptive
-- flexfield
-- p_per_information25 No varchar2 Developer descriptive
-- flexfield
-- p_per_information26 No varchar2 Developer descriptive
-- flexfield
-- p_per_information27 No varchar2 Developer descriptive
-- flexfield
-- p_per_information28 No varchar2 Developer descriptive
-- flexfield
-- p_per_information29 No varchar2 Developer descriptive
-- flexfield
-- p_per_information30 No varchar2 Developer descriptive
-- flexfield
-- p_date_of_death No varchar2 Date of death
-- p_background_check_status No varchar2 Y/N flag indicates whether
-- background check has been
-- performed
-- p_background_date_check No date Date background check was
-- performed
-- p_blood_type No varchar2 Blood type
-- p_correspondence_language No varchar2 Preferred language for
-- correspondance
-- p_fast_path_employee No varchar2 Currently unsupported
-- p_fte_capacity No number Full time/part time
-- availability for work
-- p_honors No varchar2 Honors or degrees awarded
-- p_internal_location No varchar2 Internal location of office
-- p_last_medical_test_by No varchar2 Name of physician who
-- performed last medical test
-- p_last_medical_test_date No date Date of last medical test
-- p_mailstop No varchar2 Office identifier for
-- internal mail
-- p_office_number No varchar2 Number of office
-- p_on_military_service No varchar2 Y/N flag indicating whether
-- person is employed in
-- military service
-- p_pre_name_adjunct No varchar2 First part of surname such
-- as Van or De
-- p_rehire_recommendation No varchar2 The employee can be rehired
-- or not after termination.
-- p_projected_start_date No date Currently unsupported
-- p_resume_exists No varchar2 Y/N flag indicating whether
-- resume is on file
-- p_resume_last_updated No date Date resume last updated
-- p_second_passport_exists No varchar2 Y/N flag indicaing whether
-- person has multiple passports
-- p_student_status No varchar2 Full time/part time status
-- of student
-- p_work_schedule No varchar2 Type of work schedule
-- inndicating which days
-- person works
-- p_suffix No varchar2 Employee's suffix
-- p_benefit_group_id No number Benefit group id.
-- p_receipt_of_death_cert_date No date Date the death certificate
-- is received.
-- p_coord_ben_med_pln_no No varchar2 Coordinated benefit medical
-- plan number
-- p_coord_ben_no_cvg_flag No varchar2 Coordinated benefit no other
-- coverage flag
-- p_coord_ben_med_ext_er No varchar2 Secondary medical coverage external
-- employer
-- p_coord_ben_med_pl_name No varchar2 Secondary medical coverage name
-- p_coord_ben_med_insr_crr_name No varchar2 Secondary medical coverage insurance
-- carrier
-- p_coord_ben_med_insr_crr_ident No varchar2 Secondary medical coverage insurance
-- carrier id
-- p_coord_ben_med_cvg_strt_dt No varchar2 Secondary medical coverage effective
-- start date
-- p_coord_ben_med_cvg_end_dt No varchar2 Secondary medical coverage effective
-- end date
-- p_uses_tobacco_flag No varchar2 Uses tobacco list of values
-- p_dpdnt_adoption_date No date Dependent's adoption date
-- p_dpdnt_vlntry_svce_flag No varchar2 Dependent's voluntary service
-- flag
-- p_original_date_of_hire No date Original date of hire
-- p_adjusted_svc_date No date Adjusted service date
-- p_town_of_birth No varchar2 Town or city of birth
-- p_region_of_birth No varchar2 Geographical region of birth
-- p_country_of_birth No varchar2 Country of birth
-- p_global_person_id No varchar2 Global ID for the person
--
--
-- Post success:
-- When the person, primary assignment and period of service have been
-- successfully inserted, the following OUT parameters are set:
--
-- Name Type Description
-- p_employee_number varchar2 If p_validate is false this will
-- be set to the employee number of
-- the person created. If
-- p_validate is true this will be
-- set to the same value as passed
-- in.
-- p_person_id number If p_validate is false, this
-- uniquely identifies the person
-- created. If p_validate is true
-- this parameter will be null.
-- p_assignment_id number If p_validate is false, this
-- uniquely identifies the primary
-- assignment created. If
-- p_validate is true this parameter
-- will be null.
-- p_per_object_version_number number If p_validate is false, this will
-- be set to the version number of
-- the person created. If
-- p_validate is true this parameter
-- will be set to null.
-- p_asg_object_version_number number If p_validate is false, this will
-- be set to the version number of
-- the default assignment created.
-- If p_validate is true this
-- parameter will be set to null.
-- p_per_effective_start_date date If p_validate is false, this will
-- be set to the effective start
-- date of the person. If
-- p_validate is true this will be
-- null.
-- p_per_effective_end_date date If p_validate is false, this will
-- be set to the effective end
-- date of the person. If
-- p_validate is true this will be
-- null.
-- p_full_name varchar2 If p_validate is false, this will
-- be set to the complete full name
-- of the person. If p_validate is
-- true this will be null.
-- p_per_comment_id number If p_validate is false this will
-- be set to the id of the
-- corresponding person comment row,
-- if any comment text exists. If
-- p_validate is true this will be
-- null.
-- p_assignment_sequence number If p_validate is false this will
-- be set to the sequence number of
-- the primary assignment. If
-- p_validate is true this will be
-- null.
-- p_assignment_number varchar2 If p_validate is false this will
-- be set to the assignment number
-- of the primary assignment. If
-- p_validate is true this will be
-- null.
-- p_name_combination_warning boolean Set to true if the combination
-- of last name, first name and date
-- of birth already existed prior
-- to the person being created.
-- p_assign_payroll_warning boolean Set to true if the date of birth
-- has not been set.
-- p_orig_hire_warning boolean Set to true if the original date
-- of hire is not null and the
-- person type is not EMP,EMP_APL,
-- EX_EMP or EX_EMP_APL.
--
-- Post Failure:
-- The API does not create the person, primary assignment or period of
-- service and raises an error.
--
-- Access Status:
-- Public.
--
-- {End Of Comments}
--
procedure create_employee
(p_validate in boolean default false
,p_hire_date in date
,p_business_group_id in number
,p_last_name in varchar2
,p_sex in varchar2
,p_person_type_id in number default null
,p_per_comments in varchar2 default null
,p_date_employee_data_verified in date default null
,p_date_of_birth in date default null
,p_email_address in varchar2 default null
,p_employee_number in out nocopy varchar2
,p_expense_check_send_to_addres in varchar2 default null
,p_first_name in varchar2 default null
,p_known_as in varchar2 default null
,p_marital_status in varchar2 default null
,p_middle_names in varchar2 default null
,p_nationality in varchar2 default null
,p_national_identifier in varchar2 default null
,p_previous_last_name in varchar2 default null
,p_registered_disabled_flag in varchar2 default null
,p_title in varchar2 default null
,p_vendor_id in number default null
,p_work_telephone in varchar2 default null
,p_attribute_category in varchar2 default null
,p_attribute1 in varchar2 default null
,p_attribute2 in varchar2 default null
,p_attribute3 in varchar2 default null
,p_attribute4 in varchar2 default null
,p_attribute5 in varchar2 default null
,p_attribute6 in varchar2 default null
,p_attribute7 in varchar2 default null
,p_attribute8 in varchar2 default null
,p_attribute9 in varchar2 default null
,p_attribute10 in varchar2 default null
,p_attribute11 in varchar2 default null
,p_attribute12 in varchar2 default null
,p_attribute13 in varchar2 default null
,p_attribute14 in varchar2 default null
,p_attribute15 in varchar2 default null
,p_attribute16 in varchar2 default null
,p_attribute17 in varchar2 default null
,p_attribute18 in varchar2 default null
,p_attribute19 in varchar2 default null
,p_attribute20 in varchar2 default null
,p_attribute21 in varchar2 default null
,p_attribute22 in varchar2 default null
,p_attribute23 in varchar2 default null
,p_attribute24 in varchar2 default null
,p_attribute25 in varchar2 default null
,p_attribute26 in varchar2 default null
,p_attribute27 in varchar2 default null
,p_attribute28 in varchar2 default null
,p_attribute29 in varchar2 default null
,p_attribute30 in varchar2 default null
,p_per_information_category in varchar2 default null
,p_per_information1 in varchar2 default null
,p_per_information2 in varchar2 default null
,p_per_information3 in varchar2 default null
,p_per_information4 in varchar2 default null
,p_per_information5 in varchar2 default null
,p_per_information6 in varchar2 default null
,p_per_information7 in varchar2 default null
,p_per_information8 in varchar2 default null
,p_per_information9 in varchar2 default null
,p_per_information10 in varchar2 default null
,p_per_information11 in varchar2 default null
,p_per_information12 in varchar2 default null
,p_per_information13 in varchar2 default null
,p_per_information14 in varchar2 default null
,p_per_information15 in varchar2 default null
,p_per_information16 in varchar2 default null
,p_per_information17 in varchar2 default null
,p_per_information18 in varchar2 default null
,p_per_information19 in varchar2 default null
,p_per_information20 in varchar2 default null
,p_per_information21 in varchar2 default null
,p_per_information22 in varchar2 default null
,p_per_information23 in varchar2 default null
,p_per_information24 in varchar2 default null
,p_per_information25 in varchar2 default null
,p_per_information26 in varchar2 default null
,p_per_information27 in varchar2 default null
,p_per_information28 in varchar2 default null
,p_per_information29 in varchar2 default null
,p_per_information30 in varchar2 default null
,p_date_of_death in date default null
,p_background_check_status in varchar2 default null
,p_background_date_check in date default null
,p_blood_type in varchar2 default null
,p_correspondence_language in varchar2 default null
,p_fast_path_employee in varchar2 default null
,p_fte_capacity in number default null
,p_honors in varchar2 default null
,p_internal_location in varchar2 default null
,p_last_medical_test_by in varchar2 default null
,p_last_medical_test_date in date default null
,p_mailstop in varchar2 default null
,p_office_number in varchar2 default null
,p_on_military_service in varchar2 default null
,p_pre_name_adjunct in varchar2 default null
,p_rehire_recommendation in varchar2 default null -- Bug3210500
,p_projected_start_date in date default null
,p_resume_exists in varchar2 default null
,p_resume_last_updated in date default null
,p_second_passport_exists in varchar2 default null
,p_student_status in varchar2 default null
,p_work_schedule in varchar2 default null
,p_suffix in varchar2 default null
,p_benefit_group_id in number default null
,p_receipt_of_death_cert_date in date default null
,p_coord_ben_med_pln_no in varchar2 default null
,p_coord_ben_no_cvg_flag in varchar2 default 'N'
,p_coord_ben_med_ext_er in varchar2 default null
,p_coord_ben_med_pl_name in varchar2 default null
,p_coord_ben_med_insr_crr_name in varchar2 default null
,p_coord_ben_med_insr_crr_ident in varchar2 default null
,p_coord_ben_med_cvg_strt_dt in date default null
,p_coord_ben_med_cvg_end_dt in date default null
,p_uses_tobacco_flag in varchar2 default null
,p_dpdnt_adoption_date in date default null
,p_dpdnt_vlntry_svce_flag in varchar2 default 'N'
,p_original_date_of_hire in date default null
,p_adjusted_svc_date in date default null
,p_town_of_birth in varchar2 default null
,p_region_of_birth in varchar2 default null
,p_country_of_birth in varchar2 default null
,p_global_person_id in varchar2 default null
,p_party_id in number default null
,p_person_id out nocopy number
,p_assignment_id out nocopy number
,p_per_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_full_name out nocopy varchar2
,p_per_comment_id out nocopy number
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_name_combination_warning out nocopy boolean
,p_assign_payroll_warning out nocopy boolean
,p_orig_hire_warning out nocopy boolean
);
-- ----------------------------------------------------------------------------
--
-- Begin fix for bug 899720
--
-- ----------------------------------------------------------------------------
-- |--------------------------< create_employee >-----------------------------|
-- ----------------------------------------------------------------------------
--
-- {Start Of Comments}
--
-- Description:
-- This procedure is an overload version of the above procedure
-- create_employee without the parameter 'p_orig_hire_warning'.
-- Therefore the user documentation is the same.
--
-- {End Of Comments}
--
procedure create_employee
(p_validate in boolean default false
,p_hire_date in date
,p_business_group_id in number
,p_last_name in varchar2
,p_sex in varchar2
,p_person_type_id in number default null
,p_per_comments in varchar2 default null
,p_date_employee_data_verified in date default null
,p_date_of_birth in date default null
,p_email_address in varchar2 default null
,p_employee_number in out nocopy varchar2
,p_expense_check_send_to_addres in varchar2 default null
,p_first_name in varchar2 default null
,p_known_as in varchar2 default null
,p_marital_status in varchar2 default null
,p_middle_names in varchar2 default null
,p_nationality in varchar2 default null
,p_national_identifier in varchar2 default null
,p_previous_last_name in varchar2 default null
,p_registered_disabled_flag in varchar2 default null
,p_title in varchar2 default null
,p_vendor_id in number default null
,p_work_telephone in varchar2 default null
,p_attribute_category in varchar2 default null
,p_attribute1 in varchar2 default null
,p_attribute2 in varchar2 default null
,p_attribute3 in varchar2 default null
,p_attribute4 in varchar2 default null
,p_attribute5 in varchar2 default null
,p_attribute6 in varchar2 default null
,p_attribute7 in varchar2 default null
,p_attribute8 in varchar2 default null
,p_attribute9 in varchar2 default null
,p_attribute10 in varchar2 default null
,p_attribute11 in varchar2 default null
,p_attribute12 in varchar2 default null
,p_attribute13 in varchar2 default null
,p_attribute14 in varchar2 default null
,p_attribute15 in varchar2 default null
,p_attribute16 in varchar2 default null
,p_attribute17 in varchar2 default null
,p_attribute18 in varchar2 default null
,p_attribute19 in varchar2 default null
,p_attribute20 in varchar2 default null
,p_attribute21 in varchar2 default null
,p_attribute22 in varchar2 default null
,p_attribute23 in varchar2 default null
,p_attribute24 in varchar2 default null
,p_attribute25 in varchar2 default null
,p_attribute26 in varchar2 default null
,p_attribute27 in varchar2 default null
,p_attribute28 in varchar2 default null
,p_attribute29 in varchar2 default null
,p_attribute30 in varchar2 default null
,p_per_information_category in varchar2 default null
,p_per_information1 in varchar2 default null
,p_per_information2 in varchar2 default null
,p_per_information3 in varchar2 default null
,p_per_information4 in varchar2 default null
,p_per_information5 in varchar2 default null
,p_per_information6 in varchar2 default null
,p_per_information7 in varchar2 default null
,p_per_information8 in varchar2 default null
,p_per_information9 in varchar2 default null
,p_per_information10 in varchar2 default null
,p_per_information11 in varchar2 default null
,p_per_information12 in varchar2 default null
,p_per_information13 in varchar2 default null
,p_per_information14 in varchar2 default null
,p_per_information15 in varchar2 default null
,p_per_information16 in varchar2 default null
,p_per_information17 in varchar2 default null
,p_per_information18 in varchar2 default null
,p_per_information19 in varchar2 default null
,p_per_information20 in varchar2 default null
,p_per_information21 in varchar2 default null
,p_per_information22 in varchar2 default null
,p_per_information23 in varchar2 default null
,p_per_information24 in varchar2 default null
,p_per_information25 in varchar2 default null
,p_per_information26 in varchar2 default null
,p_per_information27 in varchar2 default null
,p_per_information28 in varchar2 default null
,p_per_information29 in varchar2 default null
,p_per_information30 in varchar2 default null
,p_date_of_death in date default null
,p_background_check_status in varchar2 default null
,p_background_date_check in date default null
,p_blood_type in varchar2 default null
,p_correspondence_language in varchar2 default null
,p_fast_path_employee in varchar2 default null
,p_fte_capacity in number default null
,p_honors in varchar2 default null
,p_internal_location in varchar2 default null
,p_last_medical_test_by in varchar2 default null
,p_last_medical_test_date in date default null
,p_mailstop in varchar2 default null
,p_office_number in varchar2 default null
,p_on_military_service in varchar2 default null
,p_pre_name_adjunct in varchar2 default null
,p_rehire_recommendation in varchar2 default null -- Bug3210500
,p_projected_start_date in date default null
,p_resume_exists in varchar2 default null
,p_resume_last_updated in date default null
,p_second_passport_exists in varchar2 default null
,p_student_status in varchar2 default null
,p_work_schedule in varchar2 default null
,p_suffix in varchar2 default null
,p_benefit_group_id in number default null
,p_receipt_of_death_cert_date in date default null
,p_coord_ben_med_pln_no in varchar2 default null
,p_coord_ben_no_cvg_flag in varchar2 default 'N'
,p_coord_ben_med_ext_er in varchar2 default null
,p_coord_ben_med_pl_name in varchar2 default null
,p_coord_ben_med_insr_crr_name in varchar2 default null
,p_coord_ben_med_insr_crr_ident in varchar2 default null
,p_coord_ben_med_cvg_strt_dt in date default null
,p_coord_ben_med_cvg_end_dt in date default null
,p_uses_tobacco_flag in varchar2 default null
,p_dpdnt_adoption_date in date default null
,p_dpdnt_vlntry_svce_flag in varchar2 default 'N'
,p_original_date_of_hire in date default null
,p_adjusted_svc_date in date default null
,p_town_of_birth in varchar2 default null
,p_region_of_birth in varchar2 default null
,p_country_of_birth in varchar2 default null
,p_global_person_id in varchar2 default null
,p_party_id in number default null
,p_person_id out nocopy number
,p_assignment_id out nocopy number
,p_per_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_full_name out nocopy varchar2
,p_per_comment_id out nocopy number
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_name_combination_warning out nocopy boolean
,p_assign_payroll_warning out nocopy boolean
);
--
-- End of fix for bug 899720
--
-- ----------------------------------------------------------------------------
-- |-------------------------< create_gb_employee >---------------------------|
-- ----------------------------------------------------------------------------
--
-- {Start Of Comments}
--
-- Description:
-- This API creates a new GB employee, including a default primary
-- assignment and a period of service for the employee.
-- The API calls the generic API create_employee, with the parameters set
-- as appropriate for a GB employee.
--
-- Secure user functionality is included in this version of the API. The
-- employee will be visible to secure users in the business group.
--
-- As this API is effectively an alternative to the API create_employee,
-- see that API for further explanation.
--
-- Prerequisites:
-- See API create_employee.
--
-- In Parameters:
-- Name Reqd Type Description
-- p_validate No boolean If true, the database
-- remains unchanged. If false
-- then the employee will be
-- created in the database.
-- p_hire_date Yes date The employee hire date and
-- thus the effective start
-- date of the person, primary
-- assignment and period of
-- service.
-- p_business_group_id Yes number The employee's business
-- group.
-- p_last_name Yes varchar2 Employee's last name.
-- p_sex Yes varchar2 Employee sex.
-- p_person_type_id No number Person type id. If this value
-- is omitted then the
-- person_type_id of the active
-- default `EMP' system person
-- type in the employee's
-- business group is used.
-- p_comments No varchar2 Comments for person record.
-- p_date_employee_data_verified No date The date on which the
-- employee data was last
-- verified.
-- p_date_of_birth No date Date of birth.
-- p_email_address No date Email address.
-- p_employee_number No varchar2 Employee number.
-- p_expense_check_send_to_addres No varchar2 Address to use as mailing
-- address.
-- p_first_name No varchar2 Employee's first name.
-- p_known_as No varchar2 Alternative name.
-- p_marital_status No varchar2 Marital status.
-- p_middle_names No varchar2 Employee's middle name(s).
-- p_nationality No varchar2 Employee's nationality.
-- p_ni_number No varchar2 N.I. Number.
-- p_previous_last_name No varchar2 Previous last name.
-- p_registered_disabled_flag No varchar2 Registered disabled flag.
-- p_title No varchar2 Employee's title.
-- p_vendor_id No number Foreign key to PO_VENDORS.
-- p_work_telephone No varchar2 Work telephone.
-- p_attribute_category No varchar2 Determines the context of
-- the descriptive flexfield
-- in the parameter list.
-- p_attribute1 No varchar2 Descriptive flexfield.
-- p_attribute2 No varchar2 Descriptive flexfield.
-- p_attribute3 No varchar2 Descriptive flexfield.
-- p_attribute4 No varchar2 Descriptive flexfield.
-- p_attribute5 No varchar2 Descriptive flexfield.
-- p_attribute6 No varchar2 Descriptive flexfield.
-- p_attribute7 No varchar2 Descriptive flexfield.
-- p_attribute8 No varchar2 Descriptive flexfield.
-- p_attribute9 No varchar2 Descriptive flexfield.
-- p_attribute10 No varchar2 Descriptive flexfield.
-- p_attribute11 No varchar2 Descriptive flexfield.
-- p_attribute12 No varchar2 Descriptive flexfield.
-- p_attribute13 No varchar2 Descriptive flexfield.
-- p_attribute14 No varchar2 Descriptive flexfield.
-- p_attribute15 No varchar2 Descriptive flexfield.
-- p_attribute16 No varchar2 Descriptive flexfield.
-- p_attribute17 No varchar2 Descriptive flexfield.
-- p_attribute18 No varchar2 Descriptive flexfield.
-- p_attribute19 No varchar2 Descriptive flexfield.
-- p_attribute20 No varchar2 Descriptive flexfield.
-- p_attribute21 No varchar2 Descriptive flexfield.
-- p_attribute22 No varchar2 Descriptive flexfield.
-- p_attribute23 No varchar2 Descriptive flexfield.
-- p_attribute24 No varchar2 Descriptive flexfield.
-- p_attribute25 No varchar2 Descriptive flexfield.
-- p_attribute26 No varchar2 Descriptive flexfield.
-- p_attribute27 No varchar2 Descriptive flexfield.
-- p_attribute28 No varchar2 Descriptive flexfield.
-- p_attribute29 No varchar2 Descriptive flexfield.
-- p_attribute30 No varchar2 Descriptive flexfield.
-- p_ethnic_origin No varchar2 Employee's ethnic origin.
-- p_director No varchar2 Director flag. Defaulted
-- to 'N'.
-- p_pensioner No varchar2 Pensioner flag. Defaulted
-- to 'N'.
-- p_permit_work_number No varchar2 Permit work number.
-- p_addl_pension_years No varchar2 Additional Pension years
-- p_addl_pension_months No varchar2 Additional Pension months
-- p_addl_pension_days No varchar2 Additional Pension days
-- p_ni_multiple_asg No varchar2 NI multiple Assigments.
-- Defaulted to 'N'.
-- p_date_of_death No varchar2 Date of death
-- p_background_check_status No varchar2 Y/N flag indicates whether
-- background check has been
-- performed
-- p_background_date_check No date Date background check was
-- performed
-- p_blood_type No varchar2 Blood type
-- p_correspondence_language No varchar2 Preferred language for
-- correspondance
-- p_fast_path_employee No varchar2 Currently unsupported
-- p_fte_capacity No number Full time/part time
-- availability for work
-- p_honors No varchar2 Honors or degrees awarded
-- p_internal_location No varchar2 Internal location of office
-- p_last_medical_test_by No varchar2 Name of physician who
-- performed last medical test
-- p_last_medical_test_date No date Date of last medical test
-- p_mailstop No varchar2 Office identifier for
-- internal mail
-- p_office_number No varchar2 Number of office
-- p_on_military_service No varchar2 Y/N flag indicating whether
-- person is employed in
-- military service
-- p_pre_name_adjunct No varchar2 First part of surname such
-- as Van or De
-- p_projected_start_date No date Currently unsupported
-- p_resume_exists No varchar2 Y/N flag indicating whether
-- resume is on file
-- p_resume_last_updated No date Date resume last updated
-- p_second_passport_exists No varchar2 Y/N flag indicaing whether
-- person has multiple passports
-- p_student_status No varchar2 Full time/part time status
-- of student
-- p_work_schedule No varchar2 Type of work schedule
-- inndicating which days
-- person works
-- p_suffix No varchar2 Employee's suffix
-- p_benefit_group_id No number Benefit group id.
-- p_receipt_of_death_cert_date No date Date the death certificate
-- is received.
-- p_coord_ben_med_pln_no No varchar2 Coordinated benefit medical
-- plan number
-- p_coord_ben_no_cvg_flag No varchar2 Coordinated benefit no other
-- coverage flag
-- p_coord_ben_med_ext_er No varchar2 Secondary medical coverage external
-- employer
-- p_coord_ben_med_pl_name No varchar2 Secondary medical coverage name
-- p_coord_ben_med_insr_crr_name No varchar2 Secondary medical coverage insurance
-- carrier
-- p_coord_ben_med_insr_crr_ident No varchar2 Secondary medical coverage insurance
-- carrier id
-- p_coord_ben_med_cvg_strt_dt No varchar2 Secondary medical coverage effective
-- start date
-- p_coord_ben_med_cvg_end_dt No varchar2 Secondary medical coverage effective
-- end date
-- p_uses_tobacco_flag No varchar2 Uses tobacco list of values
-- p_dpdnt_adoption_date No date Dependent's adoption date
-- p_dpdnt_vlntry_svce_flag No varchar2 Dependent's voluntary service
-- flag
-- p_original_date_of_hire No date Original date of hire
-- p_adjusted_svc_date No date Adjusted service date
-- p_town_of_birth No varchar2 Town or city of birth
-- p_region_of_birth No varchar2 Geographical region of birth
-- p_country_of_birth No varchar2 Country of birth
-- p_global_person_id No varchar2 Global ID for the person
--
-- Post success:
-- When the person, primary assignment and period of service have been
-- successfully inserted, the following OUT parameters are set:
--
-- Name Type Description
-- p_employee_number varchar2 If p_validate is false this will
-- be set to the employee number of
-- the person created. If
-- p_validate is true this will be
-- set to the same value as passed
-- in.
-- p_person_id number If p_validate is false, this
-- uniquely identifies the person
-- created. If p_validate is true
-- this parameter will be null.
-- p_assignment_id number If p_validate is false, this
-- uniquely identifies the primary
-- assignment created. If
-- p_validate is true this parameter
-- will be null.
-- p_per_object_version_number number If p_validate is false, this will
-- be set to the version number of
-- the person created. If
-- p_validate is true this parameter
-- will be set to null.
-- p_asg_object_version_number number If p_validate is false, this will
-- be set to the version number of
-- the primary assignment created.
-- If p_validate is true this
-- parameter will be set to null.
-- p_per_effective_start_date date If p_validate is false, this will
-- be set to the effective start
-- date of the person. If
-- p_validate is true this will be
-- null.
-- p_per_effective_end_date date If p_validate is false, this will
-- be set to the effective end
-- date of the person. If
-- p_validate is true this will be
-- null.
-- p_full_name varchar2 If p_validate is false, this will
-- be set to the complete full name
-- of the person. If p_validate is
-- true this will be null.
-- p_per_comment_id number If p_validate is false this will
-- be set to the id of the
-- corresponding person comment row,
-- if any comment text exists. If
-- p_validate is true this will be
-- null.
-- p_assignment_sequence number If p_validate is false this will
-- be set to the sequence number of
-- the primary assignment. If
-- p_validate is true this will be
-- null.
-- p_assignment_number varchar2 If p_validate is false this will
-- be set to the assignment number
-- of the primary assignment. If
-- p_validate is true this will be
-- null.
-- p_name_combination_warning boolean Set to true if the combination
-- of last name, first name and date
-- of birth already existed prior
-- to the person being created.
-- p_assign_payroll_warning boolean Set to true if the date of birth
-- has not been set.
-- p_orig_hire_warning boolean Set to true if the original date
-- of hire is not null and the
-- person type is not EMP,EMP_APL,
-- EX_EMP or EX_EMP_APL.
--
-- Post Failure:
-- The API does not create the employee, default assignment or period of
-- service and raises an error.
--
-- Access Status:
-- Public.
--
-- {End Of Comments}
--
procedure create_gb_employee
(p_validate in boolean default false
,p_hire_date in date
,p_business_group_id in number
,p_last_name in varchar2
,p_sex in varchar2
,p_person_type_id in number default null
,p_comments in varchar2 default null
,p_date_employee_data_verified in date default null
,p_date_of_birth in date default null
,p_email_address in varchar2 default null
,p_employee_number in out nocopy varchar2
,p_expense_check_send_to_addres in varchar2 default null
,p_first_name in varchar2 default null
,p_known_as in varchar2 default null
,p_marital_status in varchar2 default null
,p_middle_names in varchar2 default null
,p_nationality in varchar2 default null
,p_ni_number in varchar2 default null
,p_previous_last_name in varchar2 default null
,p_registered_disabled_flag in varchar2 default null
,p_title in varchar2 default null
,p_vendor_id in number default null
,p_work_telephone in varchar2 default null
,p_attribute_category in varchar2 default null
,p_attribute1 in varchar2 default null
,p_attribute2 in varchar2 default null
,p_attribute3 in varchar2 default null
,p_attribute4 in varchar2 default null
,p_attribute5 in varchar2 default null
,p_attribute6 in varchar2 default null
,p_attribute7 in varchar2 default null
,p_attribute8 in varchar2 default null
,p_attribute9 in varchar2 default null
,p_attribute10 in varchar2 default null
,p_attribute11 in varchar2 default null
,p_attribute12 in varchar2 default null
,p_attribute13 in varchar2 default null
,p_attribute14 in varchar2 default null
,p_attribute15 in varchar2 default null
,p_attribute16 in varchar2 default null
,p_attribute17 in varchar2 default null
,p_attribute18 in varchar2 default null
,p_attribute19 in varchar2 default null
,p_attribute20 in varchar2 default null
,p_attribute21 in varchar2 default null
,p_attribute22 in varchar2 default null
,p_attribute23 in varchar2 default null
,p_attribute24 in varchar2 default null
,p_attribute25 in varchar2 default null
,p_attribute26 in varchar2 default null
,p_attribute27 in varchar2 default null
,p_attribute28 in varchar2 default null
,p_attribute29 in varchar2 default null
,p_attribute30 in varchar2 default null
,p_ethnic_origin in varchar2 default null
,p_director in varchar2 default 'N'
,p_pensioner in varchar2 default 'N'
,p_work_permit_number in varchar2 default null
,p_addl_pension_years in varchar2 default null
,p_addl_pension_months in varchar2 default null
,p_addl_pension_days in varchar2 default null
,p_ni_multiple_asg in varchar2 default 'N'
,p_date_of_death in date default null
,p_background_check_status in varchar2 default null
,p_background_date_check in date default null
,p_blood_type in varchar2 default null
,p_correspondence_language in varchar2 default null
,p_fast_path_employee in varchar2 default null
,p_fte_capacity in number default null
,p_honors in varchar2 default null
,p_internal_location in varchar2 default null
,p_last_medical_test_by in varchar2 default null
,p_last_medical_test_date in date default null
,p_mailstop in varchar2 default null
,p_office_number in varchar2 default null
,p_on_military_service in varchar2 default null
,p_pre_name_adjunct in varchar2 default null
,p_rehire_recommendation in varchar2 default null -- Bug3210500
,p_projected_start_date in date default null
,p_resume_exists in varchar2 default null
,p_resume_last_updated in date default null
,p_second_passport_exists in varchar2 default null
,p_student_status in varchar2 default null
,p_work_schedule in varchar2 default null
,p_suffix in varchar2 default null
,p_benefit_group_id in number default null
,p_receipt_of_death_cert_date in date default null
,p_coord_ben_med_pln_no in varchar2 default null
,p_coord_ben_no_cvg_flag in varchar2 default 'N'
,p_coord_ben_med_ext_er in varchar2 default null
,p_coord_ben_med_pl_name in varchar2 default null
,p_coord_ben_med_insr_crr_name in varchar2 default null
,p_coord_ben_med_insr_crr_ident in varchar2 default null
,p_coord_ben_med_cvg_strt_dt in date default null
,p_coord_ben_med_cvg_end_dt in date default null
,p_uses_tobacco_flag in varchar2 default null
,p_dpdnt_adoption_date in date default null
,p_dpdnt_vlntry_svce_flag in varchar2 default 'N'
,p_original_date_of_hire in date default null
,p_adjusted_svc_date in date default null
,p_town_of_birth in varchar2 default null
,p_region_of_birth in varchar2 default null
,p_country_of_birth in varchar2 default null
,p_global_person_id in varchar2 default null
,p_party_id in number default null
,p_person_id out nocopy number
,p_assignment_id out nocopy number
,p_per_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_full_name out nocopy varchar2
,p_per_comment_id out nocopy number
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_name_combination_warning out nocopy boolean
,p_assign_payroll_warning out nocopy boolean
,p_orig_hire_warning out nocopy boolean
);
-- ----------------------------------------------------------------------------
--
-- Begin fix for bug 899720
--
-- ----------------------------------------------------------------------------
-- |-------------------------< create_gb_employee >---------------------------|
-- ----------------------------------------------------------------------------
--
-- {Start Of Comments}
--
-- Description:
-- This procedure is an overload version of the above procedure
-- create_gb_employee without the parameter 'p_orig_hire_warning'.
-- Therefore the user documentation is the same.
--
-- {End Of Comments}
--
procedure create_gb_employee
(p_validate in boolean default false
,p_hire_date in date
,p_business_group_id in number
,p_last_name in varchar2
,p_sex in varchar2
,p_person_type_id in number default null
,p_comments in varchar2 default null
,p_date_employee_data_verified in date default null
,p_date_of_birth in date default null
,p_email_address in varchar2 default null
,p_employee_number in out nocopy varchar2
,p_expense_check_send_to_addres in varchar2 default null
,p_first_name in varchar2 default null
,p_known_as in varchar2 default null
,p_marital_status in varchar2 default null
,p_middle_names in varchar2 default null
,p_nationality in varchar2 default null
,p_ni_number in varchar2 default null
,p_previous_last_name in varchar2 default null
,p_registered_disabled_flag in varchar2 default null
,p_title in varchar2 default null
,p_vendor_id in number default null
,p_work_telephone in varchar2 default null
,p_attribute_category in varchar2 default null
,p_attribute1 in varchar2 default null
,p_attribute2 in varchar2 default null
,p_attribute3 in varchar2 default null
,p_attribute4 in varchar2 default null
,p_attribute5 in varchar2 default null
,p_attribute6 in varchar2 default null
,p_attribute7 in varchar2 default null
,p_attribute8 in varchar2 default null
,p_attribute9 in varchar2 default null
,p_attribute10 in varchar2 default null
,p_attribute11 in varchar2 default null
,p_attribute12 in varchar2 default null
,p_attribute13 in varchar2 default null
,p_attribute14 in varchar2 default null
,p_attribute15 in varchar2 default null
,p_attribute16 in varchar2 default null
,p_attribute17 in varchar2 default null
,p_attribute18 in varchar2 default null
,p_attribute19 in varchar2 default null
,p_attribute20 in varchar2 default null
,p_attribute21 in varchar2 default null
,p_attribute22 in varchar2 default null
,p_attribute23 in varchar2 default null
,p_attribute24 in varchar2 default null
,p_attribute25 in varchar2 default null
,p_attribute26 in varchar2 default null
,p_attribute27 in varchar2 default null
,p_attribute28 in varchar2 default null
,p_attribute29 in varchar2 default null
,p_attribute30 in varchar2 default null
,p_ethnic_origin in varchar2 default null
,p_director in varchar2 default 'N'
,p_pensioner in varchar2 default 'N'
,p_work_permit_number in varchar2 default null
,p_addl_pension_years in varchar2 default null
,p_addl_pension_months in varchar2 default null
,p_addl_pension_days in varchar2 default null
,p_ni_multiple_asg in varchar2 default 'N'
,p_date_of_death in date default null
,p_background_check_status in varchar2 default null
,p_background_date_check in date default null
,p_blood_type in varchar2 default null
,p_correspondence_language in varchar2 default null
,p_fast_path_employee in varchar2 default null
,p_fte_capacity in number default null
,p_honors in varchar2 default null
,p_internal_location in varchar2 default null
,p_last_medical_test_by in varchar2 default null
,p_last_medical_test_date in date default null
,p_mailstop in varchar2 default null
,p_office_number in varchar2 default null
,p_on_military_service in varchar2 default null
,p_pre_name_adjunct in varchar2 default null
,p_rehire_recommendation in varchar2 default null -- Bug3210500
,p_projected_start_date in date default null
,p_resume_exists in varchar2 default null
,p_resume_last_updated in date default null
,p_second_passport_exists in varchar2 default null
,p_student_status in varchar2 default null
,p_work_schedule in varchar2 default null
,p_suffix in varchar2 default null
,p_benefit_group_id in number default null
,p_receipt_of_death_cert_date in date default null
,p_coord_ben_med_pln_no in varchar2 default null
,p_coord_ben_no_cvg_flag in varchar2 default 'N'
,p_coord_ben_med_ext_er in varchar2 default null
,p_coord_ben_med_pl_name in varchar2 default null
,p_coord_ben_med_insr_crr_name in varchar2 default null
,p_coord_ben_med_insr_crr_ident in varchar2 default null
,p_coord_ben_med_cvg_strt_dt in date default null
,p_coord_ben_med_cvg_end_dt in date default null
,p_uses_tobacco_flag in varchar2 default null
,p_dpdnt_adoption_date in date default null
,p_dpdnt_vlntry_svce_flag in varchar2 default 'N'
,p_original_date_of_hire in date default null
,p_adjusted_svc_date in date default null
,p_town_of_birth in varchar2 default null
,p_region_of_birth in varchar2 default null
,p_country_of_birth in varchar2 default null
,p_global_person_id in varchar2 default null
,p_party_id in number default null
,p_person_id out nocopy number
,p_assignment_id out nocopy number
,p_per_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_full_name out nocopy varchar2
,p_per_comment_id out nocopy number
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_name_combination_warning out nocopy boolean
,p_assign_payroll_warning out nocopy boolean
);
--
-- End of fix for bug 899720
--
-- ----------------------------------------------------------------------------
-- |-------------------------< create_us_employee >---------------------------|
-- ----------------------------------------------------------------------------
--
-- {Start Of Comments}
--
-- Description:
-- This API creates a new US employee, including a default primary
-- assignment and a period of service for the employee.
-- The API calls the generic API create_employee, with the parameters set
-- as appropriate for a US employee.
--
-- Secure user functionality is included in this version of the API. The
-- employee will be visible to secure users in the business group.
--
-- As this API is effectively an alternative to the API create_employee,
-- see that API for further explanation.
--
-- Prerequisites:
-- See API create_employee.
--
-- In Parameters:
-- Name Reqd Type Description
-- p_validate No boolean If true, the database
-- remains unchanged. If false
-- then the employee will be
-- created in the database.
-- p_hire_date Yes date The employee hire date and
-- thus the effective start
-- date of the person, primary
-- assignment and period of
-- service.
-- p_business_group_id Yes number The employee's business
-- group.
-- p_last_name Yes varchar2 Employee's last name.
-- p_sex Yes varchar2 Employee sex.
-- p_person_type_id No number Person type id. If this value
-- is omitted then the
-- person_type_id of the active
-- default `EMP' system person
-- type in the employee's
-- business group is used.
-- p_comments No varchar2 Comments for person record.
-- p_date_employee_data_verified No date The date on which the
-- employee data was last
-- verified.
-- p_date_of_birth No date Date of birth.
-- p_email_address No date Email address.
-- p_employee_number No varchar2 Employee number.
-- p_expense_check_send_to_addres No varchar2 Address to use as mailing
-- address.
-- p_first_name No varchar2 Employee's first name.
-- p_known_as No varchar2 Alternative name.
-- p_marital_status No varchar2 Marital status.
-- p_middle_names No varchar2 Employee's middle name(s).
-- p_nationality No varchar2 Employee's nationality.
-- p_ss_number No varchar2 Social Security number.
-- p_previous_last_name No varchar2 Previous last name.
-- p_registered_disabled_flag No varchar2 Registered disabled flag.
-- p_title No varchar2 Employee's title.
-- p_vendor_id No number Foreign key to PO_VENDORS.
-- p_work_telephone No varchar2 Work telephone.
-- p_attribute_category No varchar2 Determines the context of
-- the descriptive flexfield
-- in the parameter list.
-- p_attribute1 No varchar2 Descriptive flexfield.
-- p_attribute2 No varchar2 Descriptive flexfield.
-- p_attribute3 No varchar2 Descriptive flexfield.
-- p_attribute4 No varchar2 Descriptive flexfield.
-- p_attribute5 No varchar2 Descriptive flexfield.
-- p_attribute6 No varchar2 Descriptive flexfield.
-- p_attribute7 No varchar2 Descriptive flexfield.
-- p_attribute8 No varchar2 Descriptive flexfield.
-- p_attribute9 No varchar2 Descriptive flexfield.
-- p_attribute10 No varchar2 Descriptive flexfield.
-- p_attribute11 No varchar2 Descriptive flexfield.
-- p_attribute12 No varchar2 Descriptive flexfield.
-- p_attribute13 No varchar2 Descriptive flexfield.
-- p_attribute14 No varchar2 Descriptive flexfield.
-- p_attribute15 No varchar2 Descriptive flexfield.
-- p_attribute16 No varchar2 Descriptive flexfield.
-- p_attribute17 No varchar2 Descriptive flexfield.
-- p_attribute18 No varchar2 Descriptive flexfield.
-- p_attribute19 No varchar2 Descriptive flexfield.
-- p_attribute20 No varchar2 Descriptive flexfield.
-- p_attribute21 No varchar2 Descriptive flexfield.
-- p_attribute22 No varchar2 Descriptive flexfield.
-- p_attribute23 No varchar2 Descriptive flexfield.
-- p_attribute24 No varchar2 Descriptive flexfield.
-- p_attribute25 No varchar2 Descriptive flexfield.
-- p_attribute26 No varchar2 Descriptive flexfield.
-- p_attribute27 No varchar2 Descriptive flexfield.
-- p_attribute28 No varchar2 Descriptive flexfield.
-- p_attribute29 No varchar2 Descriptive flexfield.
-- p_attribute30 No varchar2 Descriptive flexfield.
-- p_ethnic_origin No varchar2 Ethnic origin.
-- p_I_9 No varchar2 I_9 flag. Defaulted to
-- 'N'.
-- p_I_9_expiration_date No varchar2 I_9 expiration date.
-- p_veteran_status No varchar2 Veteran status.
-- p_new_hire No varchar2 New hire status.
-- p_exception_reason No varchar2 New hire exception reason.
-- p_child_support_obligation No varchar2 Child support obligation
-- flag. Defaulted to 'N'.
-- p_opted_for_medicare_flag No varchar2 Opted for additional medicare.
-- p_date_of_death No varchar2 Date of death
-- p_background_check_status No varchar2 Y/N flag indicates whether
-- background check has been
-- performed
-- p_background_date_check No date Date background check was
-- performed
-- p_blood_type No varchar2 Blood type
-- p_correspondence_language No varchar2 Preferred language for
-- correspondance
-- p_fast_path_employee No varchar2 Currently unsupported
-- p_fte_capacity No number Full time/part time
-- availability for work
-- p_honors No varchar2 Honors or degrees awarded
-- p_internal_location No varchar2 Internal location of office
-- p_last_medical_test_by No varchar2 Name of physician who
-- performed last medical test
-- p_last_medical_test_date No date Date of last medical test
-- p_mailstop No varchar2 Office identifier for
-- internal mail
-- p_office_number No varchar2 Number of office
-- p_on_military_service No varchar2 Y/N flag indicating whether
-- person is employed in
-- military service
-- p_pre_name_adjunct No varchar2 First part of surname such
-- as Van or De
-- p_rehire_recommendation No varchar2 The employee can be rehired
-- or not after termination.
-- p_projected_start_date No date Currently unsupported
-- p_resume_exists No varchar2 Y/N flag indicating whether
-- resume is on file
-- p_resume_last_updated No date Date resume last updated
-- p_second_passport_exists No varchar2 Y/N flag indicaing whether
-- person has multiple passports
-- p_student_status No varchar2 Full time/part time status
-- of student
-- p_work_schedule No varchar2 Type of work schedule
-- inndicating which days
-- person works
-- p_suffix No varchar2 Employee's suffix
-- p_benefit_group_id No number Benefit group id.
-- p_receipt_of_death_cert_date No date Date the death certificate
-- is received.
-- p_coord_ben_med_pln_no No varchar2 Coordinated benefit medical
-- plan number
-- p_coord_ben_no_cvg_flag No varchar2 Coordinated benefit no other
-- coverage flag
-- p_coord_ben_med_ext_er No varchar2 Secondary medical coverage external
-- employer
-- p_coord_ben_med_pl_name No varchar2 Secondary medical coverage name
-- p_coord_ben_med_insr_crr_name No varchar2 Secondary medical coverage insurance
-- carrier
-- p_coord_ben_med_insr_crr_ident No varchar2 Secondary medical coverage insurance
-- carrier id
-- p_coord_ben_med_cvg_strt_dt No varchar2 Secondary medical coverage effective
-- start date
-- p_coord_ben_med_cvg_end_dt No varchar2 Secondary medical coverage effective
-- end date
-- p_uses_tobacco_flag No varchar2 Uses tobacco list of values
-- p_dpdnt_adoption_date No date Dependent's adoption date
-- p_dpdnt_vlntry_svce_flag No varchar2 Dependent's voluntary service
-- flag
-- p_original_date_of_hire No date Original date of hire
-- p_adjusted_svc_date No date Adjusted service date
-- p_town_of_birth No varchar2 Town or city of birth
-- p_region_of_birth No varchar2 Geographical region of birth
-- p_country_of_birth No varchar2 Country of birth
-- p_global_person_id No varchar2 Global ID for the person
--
-- Post success:
-- When the person, primary assignment and period of service have been
-- successfully inserted, the following OUT parameters are set:
--
-- Name Type Description
-- p_employee_number varchar2 If p_validate is false this will
-- be set to the employee number of
-- the person created. If
-- p_validate is true this will be
-- set to the same value as passed
-- in.
-- p_person_id number If p_validate is false, this
-- uniquely identifies the person
-- created. If p_validate is true
-- this parameter will be null.
-- p_assignment_id number If p_validate is false, this
-- uniquely identifies the primary
-- assignment created. If
-- p_validate is true this parameter
-- will be null.
-- p_per_object_version_number number If p_validate is false, this will
-- be set to the version number of
-- the person created. If
-- p_validate is true this parameter
-- will be set to null.
-- p_asg_object_version_number number If p_validate is false, this will
-- be set to the version number of
-- the primary assignment created.
-- If p_validate is true this
-- parameter will be set to null.
-- p_per_effective_start_date date If p_validate is false, this will
-- be set to the effective start
-- date of the person. If
-- p_validate is true this will be
-- null.
-- p_per_effective_end_date date If p_validate is false, this will
-- be set to the effective end
-- date of the person. If
-- p_validate is true this will be
-- null.
-- p_full_name varchar2 If p_validate is false, this will
-- be set to the complete full name
-- of the person. If p_validate is
-- true this will be null.
-- p_per_comment_id number If p_validate is false this will
-- be set to the id of the
-- corresponding person comment row,
-- if any comment text exists. If
-- p_validate is true this will be
-- null.
-- p_assignment_sequence number If p_validate is false this will
-- be set to the sequence number of
-- the primary assignment. If
-- p_validate is true this will be
-- null.
-- p_assignment_number varchar2 If p_validate is false this will
-- be set to the assignment number
-- of the primary assignment. If
-- p_validate is true this will be
-- null.
-- p_name_combination_warning boolean Set to true if the combination
-- of last name, first name and date
-- of birth already existed prior
-- to the person being created.
-- p_assign_payroll_warning boolean Set to true if the date of birth
-- has not been set.
-- p_orig_hire_warning boolean Set to true if the original date
-- of hire is not null and the
-- person type is not EMP,EMP_APL,
-- EX_EMP or EX_EMP_APL.
--
-- Post Failure:
-- The API does not create the employee, default assignment or period of
-- service and raises an error.
--
-- Access Status:
-- Public.
--
-- {End Of Comments}
--
procedure create_us_employee
(p_validate in boolean default false
,p_hire_date in date
,p_business_group_id in number
,p_last_name in varchar2
,p_sex in varchar2
,p_person_type_id in number default null
,p_comments in varchar2 default null
,p_date_employee_data_verified in date default null
,p_date_of_birth in date default null
,p_email_address in varchar2 default null
,p_employee_number in out nocopy varchar2
,p_expense_check_send_to_addres in varchar2 default null
,p_first_name in varchar2 default null
,p_known_as in varchar2 default null
,p_marital_status in varchar2 default null
,p_middle_names in varchar2 default null
,p_nationality in varchar2 default null
,p_ss_number in varchar2 default null
,p_previous_last_name in varchar2 default null
,p_registered_disabled_flag in varchar2 default null
,p_title in varchar2 default null
,p_vendor_id in number default null
,p_work_telephone in varchar2 default null
,p_attribute_category in varchar2 default null
,p_attribute1 in varchar2 default null
,p_attribute2 in varchar2 default null
,p_attribute3 in varchar2 default null
,p_attribute4 in varchar2 default null
,p_attribute5 in varchar2 default null
,p_attribute6 in varchar2 default null
,p_attribute7 in varchar2 default null
,p_attribute8 in varchar2 default null
,p_attribute9 in varchar2 default null
,p_attribute10 in varchar2 default null
,p_attribute11 in varchar2 default null
,p_attribute12 in varchar2 default null
,p_attribute13 in varchar2 default null
,p_attribute14 in varchar2 default null
,p_attribute15 in varchar2 default null
,p_attribute16 in varchar2 default null
,p_attribute17 in varchar2 default null
,p_attribute18 in varchar2 default null
,p_attribute19 in varchar2 default null
,p_attribute20 in varchar2 default null
,p_attribute21 in varchar2 default null
,p_attribute22 in varchar2 default null
,p_attribute23 in varchar2 default null
,p_attribute24 in varchar2 default null
,p_attribute25 in varchar2 default null
,p_attribute26 in varchar2 default null
,p_attribute27 in varchar2 default null
,p_attribute28 in varchar2 default null
,p_attribute29 in varchar2 default null
,p_attribute30 in varchar2 default null
,p_ethnic_origin in varchar2 default null
,p_I_9 in varchar2 default 'N'
,p_I_9_expiration_date in varchar2 default null
-- ,p_visa_type in varchar2 default null
,p_veteran_status in varchar2 default null
,p_new_hire in varchar2 default null
,p_exception_reason in varchar2 default null
,p_child_support_obligation in varchar2 default 'N'
,p_opted_for_medicare_flag in varchar2 default 'N'
,p_date_of_death in date default null
,p_background_check_status in varchar2 default null
,p_background_date_check in date default null
,p_blood_type in varchar2 default null
,p_correspondence_language in varchar2 default null
,p_fast_path_employee in varchar2 default null
,p_fte_capacity in number default null
,p_honors in varchar2 default null
,p_internal_location in varchar2 default null
,p_last_medical_test_by in varchar2 default null
,p_last_medical_test_date in date default null
,p_mailstop in varchar2 default null
,p_office_number in varchar2 default null
,p_on_military_service in varchar2 default null
,p_pre_name_adjunct in varchar2 default null
,p_rehire_recommendation in varchar2 default null -- Bug3210500
,p_projected_start_date in date default null
,p_resume_exists in varchar2 default null
,p_resume_last_updated in date default null
,p_second_passport_exists in varchar2 default null
,p_student_status in varchar2 default null
,p_work_schedule in varchar2 default null
,p_suffix in varchar2 default null
,p_benefit_group_id in number default null
,p_receipt_of_death_cert_date in date default null
,p_coord_ben_med_pln_no in varchar2 default null
,p_coord_ben_no_cvg_flag in varchar2 default 'N'
,p_coord_ben_med_ext_er in varchar2 default null
,p_coord_ben_med_pl_name in varchar2 default null
,p_coord_ben_med_insr_crr_name in varchar2 default null
,p_coord_ben_med_insr_crr_ident in varchar2 default null
,p_coord_ben_med_cvg_strt_dt in date default null
,p_coord_ben_med_cvg_end_dt in date default null
,p_uses_tobacco_flag in varchar2 default null
,p_dpdnt_adoption_date in date default null
,p_dpdnt_vlntry_svce_flag in varchar2 default 'N'
,p_original_date_of_hire in date default null
,p_adjusted_svc_date in date default null
,p_town_of_birth in varchar2 default null
,p_region_of_birth in varchar2 default null
,p_country_of_birth in varchar2 default null
,p_global_person_id in varchar2 default null
,p_party_id in number default null
,p_person_id out nocopy number
,p_assignment_id out nocopy number
,p_per_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_full_name out nocopy varchar2
,p_per_comment_id out nocopy number
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_name_combination_warning out nocopy boolean
,p_assign_payroll_warning out nocopy boolean
,p_orig_hire_warning out nocopy boolean
);
--
-- ----------------------------------------------------------------------------
--
-- Begin fix for bug 899720
--
-- ----------------------------------------------------------------------------
-- |-------------------------< create_us_employee >---------------------------|
-- ----------------------------------------------------------------------------
--
-- {Start Of Comments}
--
-- Description:
-- This procedure is an overload version of the above procedure
-- create_us_employee without the parameter 'p_orig_hire_warning'.
-- Therefore the user documentation is the same.
--
-- {End Of Comments}
--
procedure create_us_employee
(p_validate in boolean default false
,p_hire_date in date
,p_business_group_id in number
,p_last_name in varchar2
,p_sex in varchar2
,p_person_type_id in number default null
,p_comments in varchar2 default null
,p_date_employee_data_verified in date default null
,p_date_of_birth in date default null
,p_email_address in varchar2 default null
,p_employee_number in out nocopy varchar2
,p_expense_check_send_to_addres in varchar2 default null
,p_first_name in varchar2 default null
,p_known_as in varchar2 default null
,p_marital_status in varchar2 default null
,p_middle_names in varchar2 default null
,p_nationality in varchar2 default null
,p_ss_number in varchar2 default null
,p_previous_last_name in varchar2 default null
,p_registered_disabled_flag in varchar2 default null
,p_title in varchar2 default null
,p_vendor_id in number default null
,p_work_telephone in varchar2 default null
,p_attribute_category in varchar2 default null
,p_attribute1 in varchar2 default null
,p_attribute2 in varchar2 default null
,p_attribute3 in varchar2 default null
,p_attribute4 in varchar2 default null
,p_attribute5 in varchar2 default null
,p_attribute6 in varchar2 default null
,p_attribute7 in varchar2 default null
,p_attribute8 in varchar2 default null
,p_attribute9 in varchar2 default null
,p_attribute10 in varchar2 default null
,p_attribute11 in varchar2 default null
,p_attribute12 in varchar2 default null
,p_attribute13 in varchar2 default null
,p_attribute14 in varchar2 default null
,p_attribute15 in varchar2 default null
,p_attribute16 in varchar2 default null
,p_attribute17 in varchar2 default null
,p_attribute18 in varchar2 default null
,p_attribute19 in varchar2 default null
,p_attribute20 in varchar2 default null
,p_attribute21 in varchar2 default null
,p_attribute22 in varchar2 default null
,p_attribute23 in varchar2 default null
,p_attribute24 in varchar2 default null
,p_attribute25 in varchar2 default null
,p_attribute26 in varchar2 default null
,p_attribute27 in varchar2 default null
,p_attribute28 in varchar2 default null
,p_attribute29 in varchar2 default null
,p_attribute30 in varchar2 default null
,p_ethnic_origin in varchar2 default null
,p_I_9 in varchar2 default 'N'
,p_I_9_expiration_date in varchar2 default null
-- ,p_visa_type in varchar2 default null
,p_veteran_status in varchar2 default null
,p_new_hire in varchar2 default null
,p_exception_reason in varchar2 default null
,p_child_support_obligation in varchar2 default 'N'
,p_opted_for_medicare_flag in varchar2 default 'N'
,p_date_of_death in date default null
,p_background_check_status in varchar2 default null
,p_background_date_check in date default null
,p_blood_type in varchar2 default null
,p_correspondence_language in varchar2 default null
,p_fast_path_employee in varchar2 default null
,p_fte_capacity in number default null
,p_honors in varchar2 default null
,p_internal_location in varchar2 default null
,p_last_medical_test_by in varchar2 default null
,p_last_medical_test_date in date default null
,p_mailstop in varchar2 default null
,p_office_number in varchar2 default null
,p_on_military_service in varchar2 default null
,p_pre_name_adjunct in varchar2 default null
,p_rehire_recommendation in varchar2 default null -- Bug3210500
,p_projected_start_date in date default null
,p_resume_exists in varchar2 default null
,p_resume_last_updated in date default null
,p_second_passport_exists in varchar2 default null
,p_student_status in varchar2 default null
,p_work_schedule in varchar2 default null
,p_suffix in varchar2 default null
,p_benefit_group_id in number default null
,p_receipt_of_death_cert_date in date default null
,p_coord_ben_med_pln_no in varchar2 default null
,p_coord_ben_no_cvg_flag in varchar2 default 'N'
,p_coord_ben_med_ext_er in varchar2 default null
,p_coord_ben_med_pl_name in varchar2 default null
,p_coord_ben_med_insr_crr_name in varchar2 default null
,p_coord_ben_med_insr_crr_ident in varchar2 default null
,p_coord_ben_med_cvg_strt_dt in date default null
,p_coord_ben_med_cvg_end_dt in date default null
,p_uses_tobacco_flag in varchar2 default null
,p_dpdnt_adoption_date in date default null
,p_dpdnt_vlntry_svce_flag in varchar2 default 'N'
,p_original_date_of_hire in date default null
,p_adjusted_svc_date in date default null
,p_town_of_birth in varchar2 default null
,p_region_of_birth in varchar2 default null
,p_country_of_birth in varchar2 default null
,p_global_person_id in varchar2 default null
,p_party_id in number default null
,p_person_id out nocopy number
,p_assignment_id out nocopy number
,p_per_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_full_name out nocopy varchar2
,p_per_comment_id out nocopy number
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_name_combination_warning out nocopy boolean
,p_assign_payroll_warning out nocopy boolean
);
--
-- End of fix for bug 899720
--
-- ----------------------------------------------------------------------------
-- |--------------------------< re_hire_ex_employee >-------------------------|
-- ----------------------------------------------------------------------------
-- {Start Of Comments}
--
-- Description:
-- This API will re-hire an ex-employee as an employee. A person can be
-- re-hired only if their previous period of service has a final process
-- date.
--
-- When an employee is re-hired, the person type is changed to employee, a
-- new period of service record is created and a new primary employee
-- assignment record is created. All changes are made effective from the
-- hire date, p_hire_date.
--
-- It is now possible to re-hire an employee the day after they were
-- terminated (i.e. hire date can be the day after the final process date)
--
-- The new person type must have a corresponding system type of EMP. If a
-- person type is not specified, the API will use the default EMP type for
-- the business group.
--
-- The security lists will be updated so that this employee will be correctly
-- visible to secure users.
--
-- Prerequisites:
-- The person record, identified by p_person_id and
-- p_per_object_version_number must exist.
-- The person must have a current person type corresponding to a system type
-- of EX_EMP.
-- The most recent previous period of service must have a final process
-- date.
-- The hire date cannot come before the final process date of the previous
-- period of service.
-- The person type, p_person_type_id, if supplied, must exist for the same
-- business groupas the person, must be active and must have a corresponding
-- system type of EMP.
--
-- In Parameters:
-- Name Reqd Type Description
-- p_validate No boolean If true, the database
-- remains unchanged. If false
-- then the person record will
-- be updated.
-- p_hire_date Yes date Hire date
-- p_person_id Yes number ID of the person
-- p_per_object_version_number Yes number Version number of the
-- person record
-- p_person_type_id No number Person type id. If this value
-- is omitted then the
-- person_type_id of the active
-- default `EMP' system person
-- type in the employee's
-- business group is used.
-- p_rehire_reason No varchar2 The reason the person is
-- being re-hired.
--
-- Post Success:
-- The API will update the person, create a new period of service, create
-- a new primary assignment and set the following out parameters:
--
-- Name Type Description
-- p_per_object_version_number number If p_validate is false, set to
-- the new version number of the
-- updated person record.
-- If p_validate is true, set to
-- the value passed in.
-- p_assignment_id number If p_validate is false, this
-- uniquely identifies the primary
-- assignment created.
-- If p_validate is true, set to
-- null.
-- p_asg_object_version_number number If p_validate is false, this will
-- be set to the version number of
-- the primary assignment created.
-- If p_validate is true, set to
-- null.
-- p_per_effective_start_date date If p_validate is false, set to
-- the effective start date for this
-- person change.
-- If p_validate is true, set to
-- null.
-- p_per_effective_end_date date If p_validate is false, set to
-- the effective end date for this
-- person change.
-- If p_validate is true, set to
-- null.
-- p_assignment_sequence number If p_validate is false, this will
-- be set to the sequence number of
-- the primary assignment. If
-- p_validate is true, set to null.
-- p_assignment_number varchar2 If p_validate is false, this will
-- be set to the assignment number
-- of the primary assignment. If
-- p_validate is true, set to null.
-- p_assign_payroll_warning boolean Set to true if the date of birth
-- has not been set for this person.
--
-- Post Failure:
-- The API does not update the person, or create a period of service, or
-- create an assignment and raises an error.
--
-- Access Status:
-- Public.
--
-- {End Of Comments}
--
procedure re_hire_ex_employee
(p_validate in boolean default false
,p_hire_date in date
,p_person_id in number
,p_per_object_version_number in out nocopy number
,p_person_type_id in number default hr_api.g_number
,p_rehire_reason in varchar2
,p_assignment_id out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_assign_payroll_warning out nocopy boolean
);
--
--
-- ----------------------------------------------------------------------------
-- |-----------------< apply_for_internal_vacancy >---------------------------|
-- ----------------------------------------------------------------------------
--
-- {Start Of Comments}
--
-- Description:
-- This API updates an employee, system person type 'EMP'
-- to an employee and applicant, system person type 'EMP_APL'.
--
-- A new applicant assignment and an application are created for the employee.
--
-- The security lists are updated.
--
--
-- Prerequisites:
-- The employee must have a system person type of 'EMP'.
--
-- In Parameters:
-- Name Reqd Type Description
-- p_validate No boolean If true, the database
-- remains unchanged. If false
-- then the employee person type
-- is updated to an 'EMP_APL',
-- an application is a secondary
-- assignment is created in
-- the database.
-- p_effective_date Yes date The effective start date
-- of the new person status,
-- application and secondary
-- assignment.
-- p_person_id Yes number. Person ID.
-- p_applicant_number No varchar2 Applicant number. If the
-- number generation method is
-- Manual then this parameter
-- is mandatory. If the number
-- generation is Automatic, the
-- the value of this parameter
-- defaults to null.
-- p_per_object_version_number Yes number Object version number of
-- person.
-- p_vacancy_id No number Vacancy ID. Defaults to null.
-- p_person_type_id No number Person Type ID of 'EMP_APL'.
-- Defaults to hr_api.g_number.
--
-- Post success:
-- When the person is successfully updated, applicant assignment and
-- application are successfully inserted, the following OUT parameters are
-- set:
--
-- Name Type Description
-- p_per_object_version_number number If p_validate is false, this will
-- be set to the new version number of
-- the person updated. If
-- p_validate is true this parameter
-- will be set to the value passed in.
-- p_application_id number If p_validate is false, this
-- uniquely identifies the application
-- created . If p_validate is true this
-- parameter is null.
-- p_assignment_id number If p_validate is false, this
-- uniquely identifies the assignment
-- created. If p_validate is true
-- this parameter is set null.
-- p_apl_object_version_number number If p_validate is false, this will
-- be set to the version number of
-- the application created. If
-- p_validate is true this parameter is
-- set to null.
-- p_asg_object_version_number number If p_validate is false, this will
-- be set to the version number of
-- the assignment created. If
-- p_validate is true this
-- parameter is set to null.
-- p_assignment_sequence number If p_validate is false, this will
-- be set to the assignment sequence
-- of the assignment created. If
-- p_validate is true, this parameter
-- is set to null.
-- p_per_effective_start_date date If p_validate is false, this is
-- set to the effective start
-- date of the person. If
-- p_validate is true this is
-- null.
-- p_per_effective_end_date date If p_validate is false, this is
-- set to the effective end date
-- of the person. If p_validate
-- is true this is set null.
--
-- Post Failure:
-- The API does not update the person or create the applicant assignment
-- or application and raises an error.
--
-- Access Status:
-- Public.
--
-- {End Of Comments}
--
procedure apply_for_internal_vacancy
(p_validate in boolean default false
,p_effective_date in date
,p_person_id in number
,p_applicant_number in out nocopy varchar2
,p_per_object_version_number in out nocopy number
,p_vacancy_id in number default null
,p_person_type_id in number default hr_api.g_number
,p_application_id out nocopy number
,p_assignment_id out nocopy number
,p_apl_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_assignment_sequence out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
);
--
-- -----------------------------------------------------------------------------
-- |----------------------------< hire_into_job >------------------------------|
-- -----------------------------------------------------------------------------
--
-- {Start Of Comments}
--
-- Description:
-- This business process converts a person of type EX_APL, EX_EMP or OTHER to
-- a type of EMP.
-- This is achieved by
-- Setting the person type to EMP
-- Creating a period of service
-- Creating a default employee assignment
-- Repopulating the security lists
--
-- In Parameters:
-- Name Reqd Type Description
-- p_validate No boolean If true, the database remains
-- unchanged. If false a valid
-- assignment is updated in
-- the database.
-- p_effective_date Yes date Effective date of the change
-- of status.
-- p_person_id Yes number Person to become an applicant.
-- p_per_object_version_number Yes number Version number of the person
-- record.
-- p_datetrack_update_mode No varchar2 Datetrack update mode. Only
-- applicable if hiring a person of
-- type OTHER, when the values of
-- Update or Correction may be used.
-- If not set a value of Update is
-- used. In all other cases this
-- value is ignored and a value of
-- Update used.
-- p_employee_number No varchar2 Employee number. Ignored if
-- the person already has an
-- employee number. Required if
-- the number generation method
-- is manual. Must be NULL if the
-- number generation method is
-- automatic.
-- p_person_type_id No number Person type id the person is to
-- become. If this value is
-- omitted the person type id
-- of the default system person
-- type required in the person's
-- business group is used.
-- p_national_identifier No varchar2 The national identifier.
--
-- Post Success:
-- The API updates the person and application and set the following out
-- parameters:
--
-- Name Type Description
-- p_per_object_version_number number If p_validate is false, set to
-- the new version number of the
-- person record. If p_validate is
-- true, set to the value passed in.
-- p_employee_number number If p_validate is false, set to the
-- employee number of the person. If
-- p_validate is true, set to the
-- value passed in.
-- p_effective_start_date date If p_validate is false, set to
-- the effective start date of the
-- updated person record. If
-- p_validate is true, set to null.
-- p_effective_end_date date If p_validate is false, set to
-- the effective end date of the
-- updated person record. If
-- p_validate is true, set to null.
-- p_assign_payroll_warning boolean Set to true if the person's date of
-- birth has not been set. Set to
-- false if the date of birth has been
-- entered. Indicates if it will be
-- possible to set the payroll
-- component on any of this person's
-- assignments.
-- p_orig_hire_warning boolean Set to true if the original date of
-- hire is not null and the person
-- type is not EMP, EMP_APL, EX_EMP or
-- EX_EMP_APL.
--
-- Post Failure:
-- The API does not update the person and period of service and raises an error.
--
-- Access Status:
-- Public.
--
-- {End Of Comments}
--
PROCEDURE hire_into_job
(p_validate IN BOOLEAN DEFAULT FALSE
,p_effective_date IN DATE
,p_person_id IN NUMBER
,p_object_version_number IN OUT NOCOPY NUMBER
,p_employee_number IN OUT NOCOPY VARCHAR2
,p_datetrack_update_mode IN VARCHAR2 DEFAULT NULL
,p_person_type_id IN NUMBER DEFAULT NULL
,p_national_identifier IN VARCHAR2 DEFAULT NULL
,p_effective_start_date OUT NOCOPY DATE
,p_effective_end_date OUT NOCOPY DATE
,p_assign_payroll_warning OUT NOCOPY BOOLEAN
,p_orig_hire_warning OUT NOCOPY BOOLEAN
);
--
end hr_employee_api;
/
create or replace Package Body hr_employee_api as
/* $Header: peempapi.pkb 115.48 2003/10/23 02:41:38 jpthomas ship $ */
--
-- Package Variables
--
g_package varchar2(33) := 'hr_employee_api.';
g_debug boolean := hr_utility.debug_enabled;
--
-- Package cursors
--
CURSOR csr_future_asgs
(p_person_id IN per_all_people_f.person_id%TYPE
,p_effective_date IN DATE
)
IS
SELECT asg.assignment_id
,asg.object_version_number
FROM per_assignments_f asg
WHERE asg.person_id = csr_future_asgs.p_person_id
AND asg.effective_start_date >= csr_future_asgs.p_effective_date;
--
-- -----------------------------------------------------------------------------
-- |--------------------------< future_asgs_count >----------------------------|
-- -----------------------------------------------------------------------------
--
-- {Start Of Comments}
--
-- Description:
-- Determines the number of assignments for a person which start on or after
-- a date.
--
-- Prerequisites:
-- None
--
-- In Parameters:
-- Name Reqd Type Description
-- p_person_id No number Person id
-- p_effective_date No date Effective date
--
-- Post Success:
-- The number of assignments for the person starting on or after a date is
-- returned.
--
-- Post Failure:
-- An error is raised.
--
-- Access Status:
-- Internal Development Use Only
--
-- {End Of Comments}
--
FUNCTION future_asgs_count
(p_person_id IN per_all_people_f.person_id%TYPE
,p_effective_date IN DATE
)
RETURN INTEGER
IS
--
-- Local variables
--
l_proc VARCHAR2(72);
--
l_future_asgs_count INTEGER := 0;
--
BEGIN
--
if g_debug then
l_proc := g_package||'future_asgs_count';
hr_utility.set_location('Entering:'||l_proc,10);
end if;
--
FOR l_future_asgs_rec IN
csr_future_asgs
(p_person_id => p_person_id
,p_effective_date => p_effective_date
)
LOOP
l_future_asgs_count := l_future_asgs_count + 1;
END LOOP;
--
if g_debug then
hr_utility.set_location(' Leaving:'||l_proc,100);
end if;
--
RETURN(l_future_asgs_count);
--
EXCEPTION
WHEN OTHERS
THEN
IF csr_future_asgs%ISOPEN
THEN
CLOSE csr_future_asgs;
END IF;
RAISE;
--
END future_asgs_count;
--
-- ----------------------------------------------------------------------------
-- |--------------------------< create_employee >-----------------------------|
-- ----------------------------------------------------------------------------
--
procedure create_employee
(p_validate in boolean default false
,p_hire_date in date
,p_business_group_id in number
,p_last_name in varchar2
,p_sex in varchar2
,p_person_type_id in number default null
,p_per_comments in varchar2 default null
,p_date_employee_data_verified in date default null
,p_date_of_birth in date default null
,p_email_address in varchar2 default null
,p_employee_number in out nocopy varchar2
,p_expense_check_send_to_addres in varchar2 default null
,p_first_name in varchar2 default null
,p_known_as in varchar2 default null
,p_marital_status in varchar2 default null
,p_middle_names in varchar2 default null
,p_nationality in varchar2 default null
,p_national_identifier in varchar2 default null
,p_previous_last_name in varchar2 default null
,p_registered_disabled_flag in varchar2 default null
,p_title in varchar2 default null
,p_vendor_id in number default null
,p_work_telephone in varchar2 default null
,p_attribute_category in varchar2 default null
,p_attribute1 in varchar2 default null
,p_attribute2 in varchar2 default null
,p_attribute3 in varchar2 default null
,p_attribute4 in varchar2 default null
,p_attribute5 in varchar2 default null
,p_attribute6 in varchar2 default null
,p_attribute7 in varchar2 default null
,p_attribute8 in varchar2 default null
,p_attribute9 in varchar2 default null
,p_attribute10 in varchar2 default null
,p_attribute11 in varchar2 default null
,p_attribute12 in varchar2 default null
,p_attribute13 in varchar2 default null
,p_attribute14 in varchar2 default null
,p_attribute15 in varchar2 default null
,p_attribute16 in varchar2 default null
,p_attribute17 in varchar2 default null
,p_attribute18 in varchar2 default null
,p_attribute19 in varchar2 default null
,p_attribute20 in varchar2 default null
,p_attribute21 in varchar2 default null
,p_attribute22 in varchar2 default null
,p_attribute23 in varchar2 default null
,p_attribute24 in varchar2 default null
,p_attribute25 in varchar2 default null
,p_attribute26 in varchar2 default null
,p_attribute27 in varchar2 default null
,p_attribute28 in varchar2 default null
,p_attribute29 in varchar2 default null
,p_attribute30 in varchar2 default null
,p_per_information_category in varchar2 default null
,p_per_information1 in varchar2 default null
,p_per_information2 in varchar2 default null
,p_per_information3 in varchar2 default null
,p_per_information4 in varchar2 default null
,p_per_information5 in varchar2 default null
,p_per_information6 in varchar2 default null
,p_per_information7 in varchar2 default null
,p_per_information8 in varchar2 default null
,p_per_information9 in varchar2 default null
,p_per_information10 in varchar2 default null
,p_per_information11 in varchar2 default null
,p_per_information12 in varchar2 default null
,p_per_information13 in varchar2 default null
,p_per_information14 in varchar2 default null
,p_per_information15 in varchar2 default null
,p_per_information16 in varchar2 default null
,p_per_information17 in varchar2 default null
,p_per_information18 in varchar2 default null
,p_per_information19 in varchar2 default null
,p_per_information20 in varchar2 default null
,p_per_information21 in varchar2 default null
,p_per_information22 in varchar2 default null
,p_per_information23 in varchar2 default null
,p_per_information24 in varchar2 default null
,p_per_information25 in varchar2 default null
,p_per_information26 in varchar2 default null
,p_per_information27 in varchar2 default null
,p_per_information28 in varchar2 default null
,p_per_information29 in varchar2 default null
,p_per_information30 in varchar2 default null
,p_date_of_death in date default null
,p_background_check_status in varchar2 default null
,p_background_date_check in date default null
,p_blood_type in varchar2 default null
,p_correspondence_language in varchar2 default null
,p_fast_path_employee in varchar2 default null
,p_fte_capacity in number default null
,p_honors in varchar2 default null
,p_internal_location in varchar2 default null
,p_last_medical_test_by in varchar2 default null
,p_last_medical_test_date in date default null
,p_mailstop in varchar2 default null
,p_office_number in varchar2 default null
,p_on_military_service in varchar2 default null
,p_pre_name_adjunct in varchar2 default null
,p_rehire_recommendation in varchar2 default null -- Bug 3210500
,p_projected_start_date in date default null
,p_resume_exists in varchar2 default null
,p_resume_last_updated in date default null
,p_second_passport_exists in varchar2 default null
,p_student_status in varchar2 default null
,p_work_schedule in varchar2 default null
,p_suffix in varchar2 default null
,p_benefit_group_id in number default null
,p_receipt_of_death_cert_date in date default null
,p_coord_ben_med_pln_no in varchar2 default null
,p_coord_ben_no_cvg_flag in varchar2 default 'N'
,p_coord_ben_med_ext_er in varchar2 default null
,p_coord_ben_med_pl_name in varchar2 default null
,p_coord_ben_med_insr_crr_name in varchar2 default null
,p_coord_ben_med_insr_crr_ident in varchar2 default null
,p_coord_ben_med_cvg_strt_dt in date default null
,p_coord_ben_med_cvg_end_dt in date default null
,p_uses_tobacco_flag in varchar2 default null
,p_dpdnt_adoption_date in date default null
,p_dpdnt_vlntry_svce_flag in varchar2 default 'N'
,p_original_date_of_hire in date default null
,p_adjusted_svc_date in date default null
,p_town_of_birth in varchar2 default null
,p_region_of_birth in varchar2 default null
,p_country_of_birth in varchar2 default null
,p_global_person_id in varchar2 default null
,p_party_id in number default null
,p_person_id out nocopy number
,p_assignment_id out nocopy number
,p_per_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_full_name out nocopy varchar2
,p_per_comment_id out nocopy number
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_name_combination_warning out nocopy boolean
,p_assign_payroll_warning out nocopy boolean
,p_orig_hire_warning out nocopy boolean
)
is
--
-- Declare cursors and local variables
--
l_proc varchar2(72);
l_person_type_id per_person_types.person_type_id%type := p_person_type_id;
l_person_type_id1 per_person_types.person_type_id%type;
l_person_id per_people_f.person_id%type;
l_period_of_service_id per_periods_of_service.period_of_service_id%type;
l_employee_number per_people_f.employee_number%type;
l_emp_num per_people_f.employee_number%type := p_employee_number;
l_applicant_number per_people_f.applicant_number%TYPE;
l_npw_number per_people_f.npw_number%TYPE;
l_assignment_sequence per_assignments_f.assignment_sequence%type;
l_assignment_number per_assignments_f.assignment_number%type;
l_hire_date date;
l_discard_number number;
l_discard_date date;
l_discard_varchar2 varchar2(30);
l_assignment_id number;
l_per_object_version_number number;
l_asg_object_version_number number;
l_per_effective_start_date date;
l_per_effective_end_date date;
l_full_name per_people_f.full_name%type;
l_per_comment_id number;
l_name_combination_warning boolean;
l_assign_payroll_warning boolean;
l_orig_hire_warning boolean;
l_date_employee_data_verified date;
l_date_of_birth date;
l_phn_object_version_number per_phones.object_version_number%TYPE;
l_phone_id per_phones.phone_id%TYPE;
l_date_of_death date;
l_receipt_of_death_cert_date date;
l_dpdnt_adoption_date date;
l_original_date_of_hire date;
l_adjusted_svc_date date;
--
begin
if g_debug then
l_proc := g_package||'create_employee';
hr_utility.set_location('Entering:'|| l_proc, 10);
end if;
--
-- Issue a savepoint.
--
savepoint create_employee;
--
--
-- Truncate the time portion from all date parameters
-- which are passed in.
--
l_hire_date := trunc(p_hire_date);
l_date_employee_data_verified := trunc(p_date_employee_data_verified);
l_date_of_birth := trunc(p_date_of_birth);
l_date_of_death := trunc(p_date_of_death);
l_receipt_of_death_cert_date := trunc(p_receipt_of_death_cert_date);
l_dpdnt_adoption_date := trunc(p_dpdnt_adoption_date);
l_original_date_of_hire := trunc(p_original_date_of_hire);
l_adjusted_svc_date := trunc(p_adjusted_svc_date);
--
begin
--
-- Start of API User Hook for the before hook of create_employee
--
hr_employee_bk1.create_employee_b
(p_hire_date => l_hire_date
,p_business_group_id => p_business_group_id
,p_last_name => p_last_name
,p_sex => p_sex
,p_person_type_id => p_person_type_id
,p_per_comments => p_per_comments
,p_date_employee_data_verified => l_date_employee_data_verified
,p_date_of_birth => l_date_of_birth
,p_email_address => p_email_address
,p_employee_number => p_employee_number
,p_expense_check_send_to_addres => p_expense_check_send_to_addres
,p_first_name => p_first_name
,p_known_as => p_known_as
,p_marital_status => p_marital_status
,p_middle_names => p_middle_names
,p_nationality => p_nationality
,p_national_identifier => p_national_identifier
,p_previous_last_name => p_previous_last_name
,p_registered_disabled_flag => p_registered_disabled_flag
,p_title => p_title
,p_vendor_id => p_vendor_id
,p_work_telephone => p_work_telephone
,p_attribute_category => p_attribute_category
,p_attribute1 => p_attribute1
,p_attribute2 => p_attribute2
,p_attribute3 => p_attribute3
,p_attribute4 => p_attribute4
,p_attribute5 => p_attribute5
,p_attribute6 => p_attribute6
,p_attribute7 => p_attribute7
,p_attribute8 => p_attribute8
,p_attribute9 => p_attribute9
,p_attribute10 => p_attribute10
,p_attribute11 => p_attribute11
,p_attribute12 => p_attribute12
,p_attribute13 => p_attribute13
,p_attribute14 => p_attribute14
,p_attribute15 => p_attribute15
,p_attribute16 => p_attribute16
,p_attribute17 => p_attribute17
,p_attribute18 => p_attribute18
,p_attribute19 => p_attribute19
,p_attribute20 => p_attribute20
,p_attribute21 => p_attribute21
,p_attribute22 => p_attribute22
,p_attribute23 => p_attribute23
,p_attribute24 => p_attribute24
,p_attribute25 => p_attribute25
,p_attribute26 => p_attribute26
,p_attribute27 => p_attribute27
,p_attribute28 => p_attribute28
,p_attribute29 => p_attribute29
,p_attribute30 => p_attribute30
,p_per_information_category => p_per_information_category
,p_per_information1 => p_per_information1
,p_per_information2 => p_per_information2
,p_per_information3 => p_per_information3
,p_per_information4 => p_per_information4
,p_per_information5 => p_per_information5
,p_per_information6 => p_per_information6
,p_per_information7 => p_per_information7
,p_per_information8 => p_per_information8
,p_per_information9 => p_per_information9
,p_per_information10 => p_per_information10
,p_per_information11 => p_per_information11
,p_per_information12 => p_per_information12
,p_per_information13 => p_per_information13
,p_per_information14 => p_per_information14
,p_per_information15 => p_per_information15
,p_per_information16 => p_per_information16
,p_per_information17 => p_per_information17
,p_per_information18 => p_per_information18
,p_per_information19 => p_per_information19
,p_per_information20 => p_per_information20
,p_per_information21 => p_per_information21
,p_per_information22 => p_per_information22
,p_per_information23 => p_per_information23
,p_per_information24 => p_per_information24
,p_per_information25 => p_per_information25
,p_per_information26 => p_per_information26
,p_per_information27 => p_per_information27
,p_per_information28 => p_per_information28
,p_per_information29 => p_per_information29
,p_per_information30 => p_per_information30
,p_date_of_death => l_date_of_death
,p_background_check_status => p_background_check_status
,p_background_date_check => p_background_date_check
,p_blood_type => p_blood_type
,p_correspondence_language => p_correspondence_language
,p_fast_path_employee => p_fast_path_employee
,p_fte_capacity => p_fte_capacity
,p_honors => p_honors
,p_internal_location => p_internal_location
,p_last_medical_test_by => p_last_medical_test_by
,p_last_medical_test_date => p_last_medical_test_date
,p_mailstop => p_mailstop
,p_office_number => p_office_number
,p_on_military_service => p_on_military_service
,p_pre_name_adjunct => p_pre_name_adjunct
,p_rehire_recommendation => p_rehire_recommendation -- Bug 3210500
,p_projected_start_date => p_projected_start_date
,p_resume_exists => p_resume_exists
,p_resume_last_updated => p_resume_last_updated
,p_second_passport_exists => p_second_passport_exists
,p_student_status => p_student_status
,p_work_schedule => p_work_schedule
,p_suffix => p_suffix
,p_benefit_group_id => p_benefit_group_id
,p_receipt_of_death_cert_date => l_receipt_of_death_cert_date
,p_coord_ben_med_pln_no => p_coord_ben_med_pln_no
,p_coord_ben_no_cvg_flag => p_coord_ben_no_cvg_flag
,p_coord_ben_med_ext_er => p_coord_ben_med_ext_er
,p_coord_ben_med_pl_name => p_coord_ben_med_pl_name
,p_coord_ben_med_insr_crr_name => p_coord_ben_med_insr_crr_name
,p_coord_ben_med_insr_crr_ident => p_coord_ben_med_insr_crr_ident
,p_coord_ben_med_cvg_strt_dt => p_coord_ben_med_cvg_strt_dt
,p_coord_ben_med_cvg_end_dt => p_coord_ben_med_cvg_end_dt
,p_uses_tobacco_flag => p_uses_tobacco_flag
,p_dpdnt_adoption_date => l_dpdnt_adoption_date
,p_dpdnt_vlntry_svce_flag => p_dpdnt_vlntry_svce_flag
,p_original_date_of_hire => l_original_date_of_hire
,p_adjusted_svc_date => l_adjusted_svc_date
,p_town_of_birth => p_town_of_birth
,p_region_of_birth => p_region_of_birth
,p_country_of_birth => p_country_of_birth
,p_global_person_id => p_global_person_id
,p_party_id => p_party_id
);
exception
when hr_api.cannot_find_prog_unit then
hr_api.cannot_find_prog_unit_error
(p_module_name => 'CREATE_EMPLOYEE'
,p_hook_type => 'BP'
);
--
-- End of API User Hook for the before hook of create_employee
--
end;
--
if g_debug then
hr_utility.set_location(l_proc, 20);
end if;
--
-- Truncate the time portion from all date parameters
-- which are passed in.
--
l_hire_date := trunc(p_hire_date);
--
-- Set the original hire date to sysdate if not passed in.
if (l_original_date_of_hire is null) THEN
l_original_date_of_hire := l_hire_date;
end if;
--
-- Validation in addition to Row Handlers
--
-- If the specified person type id is not null then check that it
-- corresponds to type 'EMP', is currently active and is in the correct
-- business group, otherwise set person type to the active default for EMP
-- in the current business group.
--
per_per_bus.chk_person_type
(p_person_type_id => l_person_type_id
,p_business_group_id => p_business_group_id
,p_expected_sys_type => 'EMP'
);
if g_debug then
hr_utility.set_location(l_proc, 30);
end if;
--
-- Initialise local variables as appropriate
--
l_applicant_number := null;
l_npw_number := null;
l_employee_number := p_employee_number;
--
-- PTU : Changes
l_person_type_id1 := hr_person_type_usage_info.get_default_person_type_id
(p_business_group_id,
'EMP');
-- PTU : End of Changes
-- Create the person details
--
per_per_ins.ins
(p_business_group_id => p_business_group_id
,p_person_type_id => l_person_type_id1
,p_last_name => p_last_name
,p_start_date => l_hire_date
,p_effective_date => l_hire_date
--
,p_comments => p_per_comments
,p_date_employee_data_verified => l_date_employee_data_verified
,p_date_of_birth => l_date_of_birth
,p_email_address => p_email_address
,p_expense_check_send_to_addres => p_expense_check_send_to_addres
,p_first_name => p_first_name
,p_known_as => p_known_as
,p_marital_status => p_marital_status
,p_middle_names => p_middle_names
,p_nationality => p_nationality
,p_national_identifier => p_national_identifier
,p_previous_last_name => p_previous_last_name
,p_registered_disabled_flag => p_registered_disabled_flag
,p_sex => p_sex
,p_title => p_title
,p_vendor_id => p_vendor_id
-- ,p_work_telephone => p_work_telephone -- Now Handled by Create_phone
,p_attribute_category => p_attribute_category
,p_attribute1 => p_attribute1
,p_attribute2 => p_attribute2
,p_attribute3 => p_attribute3
,p_attribute4 => p_attribute4
,p_attribute5 => p_attribute5
,p_attribute6 => p_attribute6
,p_attribute7 => p_attribute7
,p_attribute8 => p_attribute8
,p_attribute9 => p_attribute9
,p_attribute10 => p_attribute10
,p_attribute11 => p_attribute11
,p_attribute12 => p_attribute12
,p_attribute13 => p_attribute13
,p_attribute14 => p_attribute14
,p_attribute15 => p_attribute15
,p_attribute16 => p_attribute16
,p_attribute17 => p_attribute17
,p_attribute18 => p_attribute18
,p_attribute19 => p_attribute19
,p_attribute20 => p_attribute20
,p_attribute21 => p_attribute21
,p_attribute22 => p_attribute22
,p_attribute23 => p_attribute23
,p_attribute24 => p_attribute24
,p_attribute25 => p_attribute25
,p_attribute26 => p_attribute26
,p_attribute27 => p_attribute27
,p_attribute28 => p_attribute28
,p_attribute29 => p_attribute29
,p_attribute30 => p_attribute30
,p_per_information_category => p_per_information_category
,p_per_information1 => p_per_information1
,p_per_information2 => p_per_information2
,p_per_information3 => p_per_information3
,p_per_information4 => p_per_information4
,p_per_information5 => p_per_information5
,p_per_information6 => p_per_information6
,p_per_information7 => p_per_information7
,p_per_information8 => p_per_information8
,p_per_information9 => p_per_information9
,p_per_information10 => p_per_information10
,p_per_information11 => p_per_information11
,p_per_information12 => p_per_information12
,p_per_information13 => p_per_information13
,p_per_information14 => p_per_information14
,p_per_information15 => p_per_information15
,p_per_information16 => p_per_information16
,p_per_information17 => p_per_information17
,p_per_information18 => p_per_information18
,p_per_information19 => p_per_information19
,p_per_information20 => p_per_information20
,p_per_information21 => p_per_information21
,p_per_information22 => p_per_information22
,p_per_information23 => p_per_information23
,p_per_information24 => p_per_information24
,p_per_information25 => p_per_information25
,p_per_information26 => p_per_information26
,p_per_information27 => p_per_information27
,p_per_information28 => p_per_information28
,p_per_information29 => p_per_information29
,p_per_information30 => p_per_information30
,p_date_of_death => l_date_of_death
,p_background_check_status => p_background_check_status
,p_background_date_check => p_background_date_check
,p_blood_type => p_blood_type
,p_correspondence_language => p_correspondence_language
,p_fast_path_employee => p_fast_path_employee
,p_fte_capacity => p_fte_capacity
,p_honors => p_honors
,p_internal_location => p_internal_location
,p_last_medical_test_by => p_last_medical_test_by
,p_last_medical_test_date => p_last_medical_test_date
,p_mailstop => p_mailstop
,p_office_number => p_office_number
,p_on_military_service => p_on_military_service
,p_pre_name_adjunct => p_pre_name_adjunct
,p_projected_start_date => p_projected_start_date
,p_rehire_recommendation => p_rehire_recommendation -- Bug 3210500
,p_resume_exists => p_resume_exists
,p_resume_last_updated => p_resume_last_updated
,p_second_passport_exists => p_second_passport_exists
,p_student_status => p_student_status
,p_work_schedule => p_work_schedule
,p_suffix => p_suffix
,p_benefit_group_id => p_benefit_group_id
,p_receipt_of_death_cert_date => l_receipt_of_death_cert_date
,p_coord_ben_med_pln_no => p_coord_ben_med_pln_no
,p_coord_ben_no_cvg_flag => p_coord_ben_no_cvg_flag
,p_coord_ben_med_ext_er => p_coord_ben_med_ext_er
,p_coord_ben_med_pl_name => p_coord_ben_med_pl_name
,p_coord_ben_med_insr_crr_name => p_coord_ben_med_insr_crr_name
,p_coord_ben_med_insr_crr_ident => p_coord_ben_med_insr_crr_ident
,p_coord_ben_med_cvg_strt_dt => p_coord_ben_med_cvg_strt_dt
,p_coord_ben_med_cvg_end_dt => p_coord_ben_med_cvg_end_dt
,p_uses_tobacco_flag => p_uses_tobacco_flag
,p_dpdnt_adoption_date => l_dpdnt_adoption_date
,p_dpdnt_vlntry_svce_flag => p_dpdnt_vlntry_svce_flag
,p_original_date_of_hire => l_original_date_of_hire
,p_town_of_birth => p_town_of_birth
,p_region_of_birth => p_region_of_birth
,p_country_of_birth => p_country_of_birth
,p_global_person_id => p_global_person_id
,p_party_id => p_party_id
,p_validate => false
--
,p_applicant_number => l_applicant_number
,p_employee_number => p_employee_number
,p_person_id => l_person_id
,p_effective_start_date => l_per_effective_start_date
,p_effective_end_date => l_per_effective_end_date
,p_comment_id => l_per_comment_id
,p_current_applicant_flag => l_discard_varchar2
,p_current_emp_or_apl_flag => l_discard_varchar2
,p_current_employee_flag => l_discard_varchar2
,p_full_name => l_full_name
,p_object_version_number => l_per_object_version_number
,p_name_combination_warning => l_name_combination_warning
,p_dob_null_warning => l_assign_payroll_warning
,p_orig_hire_warning => l_orig_hire_warning
,p_npw_number => l_npw_number
);
--
if g_debug then
hr_utility.set_location(l_proc, 40);
end if;
--
-- insert the person in to the security list
--
hr_security_internal.populate_new_person(p_business_group_id,l_person_id);
--
-- PTU : Following Code has been added
hr_per_type_usage_internal.maintain_person_type_usage
(p_effective_date => l_hire_date
,p_person_id => l_person_id
,p_person_type_id => l_person_type_id
);
-- PTU : End of changes
if g_debug then
hr_utility.set_location(l_proc, 50);
end if;
--
-- Create the period of service record
--
per_pds_ins.ins
(p_business_group_id => p_business_group_id
,p_person_id => l_person_id
,p_date_start => l_hire_date
,p_effective_date => l_hire_date
,p_adjusted_svc_date => l_adjusted_svc_date
--
,p_validate => false
,p_validate_df_flex => false
--
,p_period_of_service_id => l_period_of_service_id
,p_object_version_number => l_discard_number
);
if g_debug then
hr_utility.set_location(l_proc, 50);
end if;
--
-- Create the default primary employee assignment
--
hr_assignment_internal.create_default_emp_asg
(p_effective_date => l_hire_date
,p_person_id => l_person_id
,p_business_group_id => p_business_group_id
,p_period_of_service_id => l_period_of_service_id
--
,p_assignment_id => l_assignment_id
,p_object_version_number => l_asg_object_version_number
,p_assignment_sequence => l_assignment_sequence
,p_assignment_number => l_assignment_number
);
if g_debug then
hr_utility.set_location(l_proc, 60);
end if;
--
-- Create a phone row using the newly created person as the parent row.
-- This phone row replaces the work_telephone column on the person.
--
if p_work_telephone is not null then
hr_phone_api.create_phone
(p_date_from => l_hire_date
,p_date_to => null
,p_phone_type => 'W1'
,p_phone_number => p_work_telephone
,p_parent_id => l_person_id
,p_parent_table => 'PER_ALL_PEOPLE_F'
,p_validate => FALSE
,p_effective_date => l_hire_date
,p_object_version_number => l_phn_object_version_number --out
,p_phone_id => l_phone_id --out
);
end if;
--
begin
--
-- Start of API User Hook for the after hook of create_employee
--
hr_employee_bk1.create_employee_a
(p_hire_date => l_hire_date
,p_business_group_id => p_business_group_id
,p_last_name => p_last_name
,p_sex => p_sex
,p_person_type_id => p_person_type_id
,p_per_comments => p_per_comments
,p_date_employee_data_verified => l_date_employee_data_verified
,p_date_of_birth => l_date_of_birth
,p_email_address => p_email_address
,p_employee_number => p_employee_number
,p_expense_check_send_to_addres => p_expense_check_send_to_addres
,p_first_name => p_first_name
,p_known_as => p_known_as
,p_marital_status => p_marital_status
,p_middle_names => p_middle_names
,p_nationality => p_nationality
,p_national_identifier => p_national_identifier
,p_previous_last_name => p_previous_last_name
,p_registered_disabled_flag => p_registered_disabled_flag
,p_title => p_title
,p_vendor_id => p_vendor_id
,p_work_telephone => p_work_telephone
,p_attribute_category => p_attribute_category
,p_attribute1 => p_attribute1
,p_attribute2 => p_attribute2
,p_attribute3 => p_attribute3
,p_attribute4 => p_attribute4
,p_attribute5 => p_attribute5
,p_attribute6 => p_attribute6
,p_attribute7 => p_attribute7
,p_attribute8 => p_attribute8
,p_attribute9 => p_attribute9
,p_attribute10 => p_attribute10
,p_attribute11 => p_attribute11
,p_attribute12 => p_attribute12
,p_attribute13 => p_attribute13
,p_attribute14 => p_attribute14
,p_attribute15 => p_attribute15
,p_attribute16 => p_attribute16
,p_attribute17 => p_attribute17
,p_attribute18 => p_attribute18
,p_attribute19 => p_attribute19
,p_attribute20 => p_attribute20
,p_attribute21 => p_attribute21
,p_attribute22 => p_attribute22
,p_attribute23 => p_attribute23
,p_attribute24 => p_attribute24
,p_attribute25 => p_attribute25
,p_attribute26 => p_attribute26
,p_attribute27 => p_attribute27
,p_attribute28 => p_attribute28
,p_attribute29 => p_attribute29
,p_attribute30 => p_attribute30
,p_per_information_category => p_per_information_category
,p_per_information1 => p_per_information1
,p_per_information2 => p_per_information2
,p_per_information3 => p_per_information3
,p_per_information4 => p_per_information4
,p_per_information5 => p_per_information5
,p_per_information6 => p_per_information6
,p_per_information7 => p_per_information7
,p_per_information8 => p_per_information8
,p_per_information9 => p_per_information9
,p_per_information10 => p_per_information10
,p_per_information11 => p_per_information11
,p_per_information12 => p_per_information12
,p_per_information13 => p_per_information13
,p_per_information14 => p_per_information14
,p_per_information15 => p_per_information15
,p_per_information16 => p_per_information16
,p_per_information17 => p_per_information17
,p_per_information18 => p_per_information18
,p_per_information19 => p_per_information19
,p_per_information20 => p_per_information20
,p_per_information21 => p_per_information21
,p_per_information22 => p_per_information22
,p_per_information23 => p_per_information23
,p_per_information24 => p_per_information24
,p_per_information25 => p_per_information25
,p_per_information26 => p_per_information26
,p_per_information27 => p_per_information27
,p_per_information28 => p_per_information28
,p_per_information29 => p_per_information29
,p_per_information30 => p_per_information30
,p_date_of_death => l_date_of_death
,p_background_check_status => p_background_check_status
,p_background_date_check => p_background_date_check
,p_blood_type => p_blood_type
,p_correspondence_language => p_correspondence_language
,p_fast_path_employee => p_fast_path_employee
,p_fte_capacity => p_fte_capacity
,p_honors => p_honors
,p_internal_location => p_internal_location
,p_last_medical_test_by => p_last_medical_test_by
,p_last_medical_test_date => p_last_medical_test_date
,p_mailstop => p_mailstop
,p_office_number => p_office_number
,p_on_military_service => p_on_military_service
,p_pre_name_adjunct => p_pre_name_adjunct
,p_projected_start_date => p_projected_start_date
,p_rehire_recommendation => p_rehire_recommendation -- Bug 3210500
,p_resume_exists => p_resume_exists
,p_resume_last_updated => p_resume_last_updated
,p_second_passport_exists => p_second_passport_exists
,p_student_status => p_student_status
,p_work_schedule => p_work_schedule
,p_suffix => p_suffix
,p_benefit_group_id => p_benefit_group_id
,p_receipt_of_death_cert_date => l_receipt_of_death_cert_date
,p_coord_ben_med_pln_no => p_coord_ben_med_pln_no
,p_coord_ben_no_cvg_flag => p_coord_ben_no_cvg_flag
,p_coord_ben_med_ext_er => p_coord_ben_med_ext_er
,p_coord_ben_med_pl_name => p_coord_ben_med_pl_name
,p_coord_ben_med_insr_crr_name => p_coord_ben_med_insr_crr_name
,p_coord_ben_med_insr_crr_ident => p_coord_ben_med_insr_crr_ident
,p_coord_ben_med_cvg_strt_dt => p_coord_ben_med_cvg_strt_dt
,p_coord_ben_med_cvg_end_dt => p_coord_ben_med_cvg_end_dt
,p_uses_tobacco_flag => p_uses_tobacco_flag
,p_dpdnt_adoption_date => l_dpdnt_adoption_date
,p_dpdnt_vlntry_svce_flag => p_dpdnt_vlntry_svce_flag
,p_original_date_of_hire => l_original_date_of_hire
,p_adjusted_svc_date => l_adjusted_svc_date
,p_person_id => l_person_id
,p_assignment_id => l_assignment_id
,p_per_object_version_number => l_per_object_version_number
,p_asg_object_version_number => l_asg_object_version_number
,p_per_effective_start_date => l_per_effective_start_date
,p_per_effective_end_date => l_per_effective_end_date
,p_full_name => l_full_name
,p_per_comment_id => l_per_comment_id
,p_assignment_sequence => l_assignment_sequence
,p_assignment_number => l_assignment_number
,p_town_of_birth => p_town_of_birth
,p_region_of_birth => p_region_of_birth
,p_country_of_birth => p_country_of_birth
,p_global_person_id => p_global_person_id
,p_party_id => p_party_id
,p_name_combination_warning => l_name_combination_warning
,p_assign_payroll_warning => l_assign_payroll_warning
,p_orig_hire_warning => l_orig_hire_warning
);
exception
when hr_api.cannot_find_prog_unit then
hr_api.cannot_find_prog_unit_error
(p_module_name => 'CREATE_EMPLOYEE'
,p_hook_type => 'AP'
);
--
-- End of API User Hook for the after hook of create_employee
--
end;
--
-- Set all output arguments
--
p_person_id := l_person_id;
p_assignment_sequence := l_assignment_sequence;
p_assignment_number := l_assignment_number;
p_assignment_id := l_assignment_id;
p_per_object_version_number := l_per_object_version_number;
p_asg_object_version_number := l_asg_object_version_number;
p_per_effective_start_date := l_per_effective_start_date;
p_per_effective_end_date := l_per_effective_end_date;
p_full_name := l_full_name;
p_per_comment_id := l_per_comment_id;
p_name_combination_warning := l_name_combination_warning;
p_assign_payroll_warning := l_assign_payroll_warning;
p_orig_hire_warning := l_orig_hire_warning;
--
-- When in validation only mode raise the Validate_Enabled exception
--
if p_validate then
raise hr_api.validate_enabled;
end if;
--
if g_debug then
hr_utility.set_location(' Leaving:'||l_proc, 70);
end if;
exception
when hr_api.validate_enabled then
--
-- As the Validate_Enabled exception has been raised
-- we must rollback to the savepoint
--
ROLLBACK TO create_employee;
--
-- Only set output warning arguments
-- (Any key or derived arguments must be set to null
-- when validation only mode is being used.)
--
p_employee_number := l_employee_number;
p_person_id := null;
p_assignment_id := null;
p_per_object_version_number := null;
p_asg_object_version_number := null;
p_per_effective_start_date := null;
p_per_effective_end_date := null;
p_full_name := null;
p_per_comment_id := null;
p_assignment_sequence := null;
p_assignment_number := null;
p_name_combination_warning := FALSE;
p_assign_payroll_warning := FALSE;
p_orig_hire_warning := FALSE;
--
when others then
--
-- A validation or unexpected error has occurred
--
-- Added as part of fix to bug 632479
--
ROLLBACK TO create_employee;
--
-- set in out parameters and set out parameters
--
p_employee_number := l_emp_num;
p_person_id := null;
p_assignment_id := null;
p_per_object_version_number := null;
p_asg_object_version_number := null;
p_per_effective_start_date := null;
p_per_effective_end_date := null;
p_full_name := null;
p_per_comment_id := null;
p_assignment_sequence := null;
p_assignment_number := null;
p_name_combination_warning := FALSE;
p_assign_payroll_warning := FALSE;
p_orig_hire_warning := FALSE;
raise;
--
-- End of fix.
--
end create_employee;
-- --------------------------------------------------------------------------
--
-- Begin fix for bug 899720
--
-- overload procedure for create_employee
--
procedure create_employee
(p_validate in boolean default false
,p_hire_date in date
,p_business_group_id in number
,p_last_name in varchar2
,p_sex in varchar2
,p_person_type_id in number default null
,p_per_comments in varchar2 default null
,p_date_employee_data_verified in date default null
,p_date_of_birth in date default null
,p_email_address in varchar2 default null
,p_employee_number in out nocopy varchar2
,p_expense_check_send_to_addres in varchar2 default null
,p_first_name in varchar2 default null
,p_known_as in varchar2 default null
,p_marital_status in varchar2 default null
,p_middle_names in varchar2 default null
,p_nationality in varchar2 default null
,p_national_identifier in varchar2 default null
,p_previous_last_name in varchar2 default null
,p_registered_disabled_flag in varchar2 default null
,p_title in varchar2 default null
,p_vendor_id in number default null
,p_work_telephone in varchar2 default null
,p_attribute_category in varchar2 default null
,p_attribute1 in varchar2 default null
,p_attribute2 in varchar2 default null
,p_attribute3 in varchar2 default null
,p_attribute4 in varchar2 default null
,p_attribute5 in varchar2 default null
,p_attribute6 in varchar2 default null
,p_attribute7 in varchar2 default null
,p_attribute8 in varchar2 default null
,p_attribute9 in varchar2 default null
,p_attribute10 in varchar2 default null
,p_attribute11 in varchar2 default null
,p_attribute12 in varchar2 default null
,p_attribute13 in varchar2 default null
,p_attribute14 in varchar2 default null
,p_attribute15 in varchar2 default null
,p_attribute16 in varchar2 default null
,p_attribute17 in varchar2 default null
,p_attribute18 in varchar2 default null
,p_attribute19 in varchar2 default null
,p_attribute20 in varchar2 default null
,p_attribute21 in varchar2 default null
,p_attribute22 in varchar2 default null
,p_attribute23 in varchar2 default null
,p_attribute24 in varchar2 default null
,p_attribute25 in varchar2 default null
,p_attribute26 in varchar2 default null
,p_attribute27 in varchar2 default null
,p_attribute28 in varchar2 default null
,p_attribute29 in varchar2 default null
,p_attribute30 in varchar2 default null
,p_per_information_category in varchar2 default null
,p_per_information1 in varchar2 default null
,p_per_information2 in varchar2 default null
,p_per_information3 in varchar2 default null
,p_per_information4 in varchar2 default null
,p_per_information5 in varchar2 default null
,p_per_information6 in varchar2 default null
,p_per_information7 in varchar2 default null
,p_per_information8 in varchar2 default null
,p_per_information9 in varchar2 default null
,p_per_information10 in varchar2 default null
,p_per_information11 in varchar2 default null
,p_per_information12 in varchar2 default null
,p_per_information13 in varchar2 default null
,p_per_information14 in varchar2 default null
,p_per_information15 in varchar2 default null
,p_per_information16 in varchar2 default null
,p_per_information17 in varchar2 default null
,p_per_information18 in varchar2 default null
,p_per_information19 in varchar2 default null
,p_per_information20 in varchar2 default null
,p_per_information21 in varchar2 default null
,p_per_information22 in varchar2 default null
,p_per_information23 in varchar2 default null
,p_per_information24 in varchar2 default null
,p_per_information25 in varchar2 default null
,p_per_information26 in varchar2 default null
,p_per_information27 in varchar2 default null
,p_per_information28 in varchar2 default null
,p_per_information29 in varchar2 default null
,p_per_information30 in varchar2 default null
,p_date_of_death in date default null
,p_background_check_status in varchar2 default null
,p_background_date_check in date default null
,p_blood_type in varchar2 default null
,p_correspondence_language in varchar2 default null
,p_fast_path_employee in varchar2 default null
,p_fte_capacity in number default null
,p_honors in varchar2 default null
,p_internal_location in varchar2 default null
,p_last_medical_test_by in varchar2 default null
,p_last_medical_test_date in date default null
,p_mailstop in varchar2 default null
,p_office_number in varchar2 default null
,p_on_military_service in varchar2 default null
,p_pre_name_adjunct in varchar2 default null
,p_rehire_recommendation in varchar2 default null -- Bug3210500
,p_projected_start_date in date default null
,p_resume_exists in varchar2 default null
,p_resume_last_updated in date default null
,p_second_passport_exists in varchar2 default null
,p_student_status in varchar2 default null
,p_work_schedule in varchar2 default null
,p_suffix in varchar2 default null
,p_benefit_group_id in number default null
,p_receipt_of_death_cert_date in date default null
,p_coord_ben_med_pln_no in varchar2 default null
,p_coord_ben_no_cvg_flag in varchar2 default 'N'
,p_coord_ben_med_ext_er in varchar2 default null
,p_coord_ben_med_pl_name in varchar2 default null
,p_coord_ben_med_insr_crr_name in varchar2 default null
,p_coord_ben_med_insr_crr_ident in varchar2 default null
,p_coord_ben_med_cvg_strt_dt in date default null
,p_coord_ben_med_cvg_end_dt in date default null
,p_uses_tobacco_flag in varchar2 default null
,p_dpdnt_adoption_date in date default null
,p_dpdnt_vlntry_svce_flag in varchar2 default 'N'
,p_original_date_of_hire in date default null
,p_adjusted_svc_date in date default null
,p_town_of_birth in varchar2 default null
,p_region_of_birth in varchar2 default null
,p_country_of_birth in varchar2 default null
,p_global_person_id in varchar2 default null
,p_party_id in number default null
,p_person_id out nocopy number
,p_assignment_id out nocopy number
,p_per_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_full_name out nocopy varchar2
,p_per_comment_id out nocopy number
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_name_combination_warning out nocopy boolean
,p_assign_payroll_warning out nocopy boolean
)
is
--
-- Declare cursors and local variables
--
l_proc varchar2(72);
l_orig_hire_warning boolean := false;
--
begin
--
if g_debug then
l_proc := g_package||'create_employee';
hr_utility.set_location('Entering:'||l_proc,111);
end if;
--
hr_employee_api.create_employee
(p_validate => p_validate
,p_hire_date => p_hire_date
,p_business_group_id => p_business_group_id
,p_last_name => p_last_name
,p_sex => p_sex
,p_person_type_id => p_person_type_id
,p_per_comments => p_per_comments
,p_date_employee_data_verified => p_date_employee_data_verified
,p_date_of_birth => p_date_of_birth
,p_email_address => p_email_address
,p_employee_number => p_employee_number
,p_expense_check_send_to_addres => p_expense_check_send_to_addres
,p_first_name => p_first_name
,p_known_as => p_known_as
,p_marital_status => p_marital_status
,p_middle_names => p_middle_names
,p_nationality => p_nationality
,p_national_identifier => p_national_identifier
,p_previous_last_name => p_previous_last_name
,p_registered_disabled_flag => p_registered_disabled_flag
,p_title => p_title
,p_vendor_id => p_vendor_id
,p_work_telephone => p_work_telephone
,p_attribute_category => p_attribute_category
,p_attribute1 => p_attribute1
,p_attribute2 => p_attribute2
,p_attribute3 => p_attribute3
,p_attribute4 => p_attribute4
,p_attribute5 => p_attribute5
,p_attribute6 => p_attribute6
,p_attribute7 => p_attribute7
,p_attribute8 => p_attribute8
,p_attribute9 => p_attribute9
,p_attribute10 => p_attribute10
,p_attribute11 => p_attribute11
,p_attribute12 => p_attribute12
,p_attribute13 => p_attribute13
,p_attribute14 => p_attribute14
,p_attribute15 => p_attribute15
,p_attribute16 => p_attribute16
,p_attribute17 => p_attribute17
,p_attribute18 => p_attribute18
,p_attribute19 => p_attribute19
,p_attribute20 => p_attribute20
,p_attribute21 => p_attribute21
,p_attribute22 => p_attribute22
,p_attribute23 => p_attribute23
,p_attribute24 => p_attribute24
,p_attribute25 => p_attribute25
,p_attribute26 => p_attribute26
,p_attribute27 => p_attribute27
,p_attribute28 => p_attribute28
,p_attribute29 => p_attribute29
,p_attribute30 => p_attribute30
,p_per_information_category => p_per_information_category
,p_per_information1 => p_per_information1
,p_per_information2 => p_per_information2
,p_per_information3 => p_per_information3
,p_per_information4 => p_per_information4
,p_per_information5 => p_per_information5
,p_per_information6 => p_per_information6
,p_per_information7 => p_per_information7
,p_per_information8 => p_per_information8
,p_per_information9 => p_per_information9
,p_per_information10 => p_per_information10
,p_per_information11 => p_per_information11
,p_per_information12 => p_per_information12
,p_per_information13 => p_per_information13
,p_per_information14 => p_per_information14
,p_per_information15 => p_per_information15
,p_per_information16 => p_per_information16
,p_per_information17 => p_per_information17
,p_per_information18 => p_per_information18
,p_per_information19 => p_per_information19
,p_per_information20 => p_per_information20
,p_per_information21 => p_per_information21
,p_per_information22 => p_per_information22
,p_per_information23 => p_per_information23
,p_per_information24 => p_per_information24
,p_per_information25 => p_per_information25
,p_per_information26 => p_per_information26
,p_per_information27 => p_per_information27
,p_per_information28 => p_per_information28
,p_per_information29 => p_per_information29
,p_per_information30 => p_per_information30
,p_date_of_death => p_date_of_death
,p_background_check_status => p_background_check_status
,p_background_date_check => p_background_date_check
,p_blood_type => p_blood_type
,p_correspondence_language => p_correspondence_language
,p_fast_path_employee => p_fast_path_employee
,p_fte_capacity => p_fte_capacity
,p_honors => p_honors
,p_internal_location => p_internal_location
,p_last_medical_test_by => p_last_medical_test_by
,p_last_medical_test_date => p_last_medical_test_date
,p_mailstop => p_mailstop
,p_office_number => p_office_number
,p_on_military_service => p_on_military_service
,p_pre_name_adjunct => p_pre_name_adjunct
,p_rehire_recommendation => p_rehire_recommendation -- Bug 3210500
,p_projected_start_date => p_projected_start_date
,p_resume_exists => p_resume_exists
,p_resume_last_updated => p_resume_last_updated
,p_second_passport_exists => p_second_passport_exists
,p_student_status => p_student_status
,p_work_schedule => p_work_schedule
,p_suffix => p_suffix
,p_benefit_group_id => p_benefit_group_id
,p_receipt_of_death_cert_date => p_receipt_of_death_cert_date
,p_coord_ben_med_pln_no => p_coord_ben_med_pln_no
,p_coord_ben_no_cvg_flag => p_coord_ben_no_cvg_flag
,p_coord_ben_med_ext_er => p_coord_ben_med_ext_er
,p_coord_ben_med_pl_name => p_coord_ben_med_pl_name
,p_coord_ben_med_insr_crr_name => p_coord_ben_med_insr_crr_name
,p_coord_ben_med_insr_crr_ident => p_coord_ben_med_insr_crr_ident
,p_coord_ben_med_cvg_strt_dt => p_coord_ben_med_cvg_strt_dt
,p_coord_ben_med_cvg_end_dt => p_coord_ben_med_cvg_end_dt
,p_uses_tobacco_flag => p_uses_tobacco_flag
,p_dpdnt_adoption_date => p_dpdnt_adoption_date
,p_dpdnt_vlntry_svce_flag => p_dpdnt_vlntry_svce_flag
,p_original_date_of_hire => p_original_date_of_hire
,p_adjusted_svc_date => p_adjusted_svc_date
,p_town_of_birth => p_town_of_birth
,p_region_of_birth => p_region_of_birth
,p_country_of_birth => p_country_of_birth
,p_global_person_id => p_global_person_id
,p_party_id => p_party_id
,p_person_id => p_person_id
,p_assignment_id => p_assignment_id
,p_per_object_version_number => p_per_object_version_number
,p_asg_object_version_number => p_asg_object_version_number
,p_per_effective_start_date => p_per_effective_start_date
,p_per_effective_end_date => p_per_effective_end_date
,p_full_name => p_full_name
,p_per_comment_id => p_per_comment_id
,p_assignment_sequence => p_assignment_sequence
,p_assignment_number => p_assignment_number
,p_name_combination_warning => p_name_combination_warning
,p_assign_payroll_warning => p_assign_payroll_warning
,p_orig_hire_warning => l_orig_hire_warning
);
--
if g_debug then
hr_utility.set_location('Leaving:'||l_proc,111);
end if;
--
end create_employee;
--
-- End of fix for bug 899720
--
-- ----------------------------------------------------------------------------
-- |-------------------------< create_gb_employee >---------------------------|
-- ----------------------------------------------------------------------------
--
procedure create_gb_employee
(p_validate in boolean default false
,p_hire_date in date
,p_business_group_id in number
,p_last_name in varchar2
,p_sex in varchar2
,p_person_type_id in number default null
,p_comments in varchar2 default null
,p_date_employee_data_verified in date default null
,p_date_of_birth in date default null
,p_email_address in varchar2 default null
,p_employee_number in out nocopy varchar2
,p_expense_check_send_to_addres in varchar2 default null
,p_first_name in varchar2 default null
,p_known_as in varchar2 default null
,p_marital_status in varchar2 default null
,p_middle_names in varchar2 default null
,p_nationality in varchar2 default null
,p_ni_number in varchar2 default null
,p_previous_last_name in varchar2 default null
,p_registered_disabled_flag in varchar2 default null
,p_title in varchar2 default null
,p_vendor_id in number default null
,p_work_telephone in varchar2 default null
,p_attribute_category in varchar2 default null
,p_attribute1 in varchar2 default null
,p_attribute2 in varchar2 default null
,p_attribute3 in varchar2 default null
,p_attribute4 in varchar2 default null
,p_attribute5 in varchar2 default null
,p_attribute6 in varchar2 default null
,p_attribute7 in varchar2 default null
,p_attribute8 in varchar2 default null
,p_attribute9 in varchar2 default null
,p_attribute10 in varchar2 default null
,p_attribute11 in varchar2 default null
,p_attribute12 in varchar2 default null
,p_attribute13 in varchar2 default null
,p_attribute14 in varchar2 default null
,p_attribute15 in varchar2 default null
,p_attribute16 in varchar2 default null
,p_attribute17 in varchar2 default null
,p_attribute18 in varchar2 default null
,p_attribute19 in varchar2 default null
,p_attribute20 in varchar2 default null
,p_attribute21 in varchar2 default null
,p_attribute22 in varchar2 default null
,p_attribute23 in varchar2 default null
,p_attribute24 in varchar2 default null
,p_attribute25 in varchar2 default null
,p_attribute26 in varchar2 default null
,p_attribute27 in varchar2 default null
,p_attribute28 in varchar2 default null
,p_attribute29 in varchar2 default null
,p_attribute30 in varchar2 default null
,p_ethnic_origin in varchar2 default null
,p_director in varchar2 default 'N'
,p_pensioner in varchar2 default 'N'
,p_work_permit_number in varchar2 default null
,p_addl_pension_years in varchar2 default null
,p_addl_pension_months in varchar2 default null
,p_addl_pension_days in varchar2 default null
,p_ni_multiple_asg in varchar2 default 'N'
,p_date_of_death in date default null
,p_background_check_status in varchar2 default null
,p_background_date_check in date default null
,p_blood_type in varchar2 default null
,p_correspondence_language in varchar2 default null
,p_fast_path_employee in varchar2 default null
,p_fte_capacity in number default null
,p_honors in varchar2 default null
,p_internal_location in varchar2 default null
,p_last_medical_test_by in varchar2 default null
,p_last_medical_test_date in date default null
,p_mailstop in varchar2 default null
,p_office_number in varchar2 default null
,p_on_military_service in varchar2 default null
,p_pre_name_adjunct in varchar2 default null
,p_rehire_recommendation in varchar2 default null -- Bug 3210500
,p_projected_start_date in date default null
,p_resume_exists in varchar2 default null
,p_resume_last_updated in date default null
,p_second_passport_exists in varchar2 default null
,p_student_status in varchar2 default null
,p_work_schedule in varchar2 default null
,p_suffix in varchar2 default null
,p_benefit_group_id in number default null
,p_receipt_of_death_cert_date in date default null
,p_coord_ben_med_pln_no in varchar2 default null
,p_coord_ben_no_cvg_flag in varchar2 default 'N'
,p_coord_ben_med_ext_er in varchar2 default null
,p_coord_ben_med_pl_name in varchar2 default null
,p_coord_ben_med_insr_crr_name in varchar2 default null
,p_coord_ben_med_insr_crr_ident in varchar2 default null
,p_coord_ben_med_cvg_strt_dt in date default null
,p_coord_ben_med_cvg_end_dt in date default null
,p_uses_tobacco_flag in varchar2 default null
,p_dpdnt_adoption_date in date default null
,p_dpdnt_vlntry_svce_flag in varchar2 default 'N'
,p_original_date_of_hire in date default null
,p_adjusted_svc_date in date default null
,p_town_of_birth in varchar2 default null
,p_region_of_birth in varchar2 default null
,p_country_of_birth in varchar2 default null
,p_global_person_id in varchar2 default null
,p_party_id in number default null
,p_person_id out nocopy number
,p_assignment_id out nocopy number
,p_per_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_full_name out nocopy varchar2
,p_per_comment_id out nocopy number
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_name_combination_warning out nocopy boolean
,p_assign_payroll_warning out nocopy boolean
,p_orig_hire_warning out nocopy boolean
) is
--
-- Declare cursors and local variables
--
l_proc varchar2(72);
l_legislation_code varchar2(2);
l_hire_date date := trunc(p_hire_date);
l_original_date_of_hire date := trunc(p_original_date_of_hire);
--
cursor csr_bg is
select legislation_code
from per_business_groups pbg
where pbg.business_group_id = p_business_group_id;
--
begin
if g_debug then
l_proc := g_package||'create_gb_employee';
hr_utility.set_location('Entering:'|| l_proc, 5);
end if;
--
-- Validation in addition to Row Handlers
--
-- Check that the specified business group is valid.
--
open csr_bg;
fetch csr_bg
into l_legislation_code;
if csr_bg%notfound then
close csr_bg;
hr_utility.set_message(801, 'HR_7208_API_BUS_GRP_INVALID');
hr_utility.raise_error;
end if;
close csr_bg;
--
-- Check that the legislation of the specified business group is 'GB'.
--
if l_legislation_code <> 'GB' then
hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
hr_utility.set_message_token('LEG_CODE','GB');
hr_utility.raise_error;
end if;
if g_debug then
hr_utility.set_location(l_proc, 6);
end if;
--
-- set the original date of hire to hire date if null
--
if p_original_date_of_hire is null then
l_original_date_of_hire := l_hire_date;
end if;
--
-- Call the person business process
--
hr_employee_api.create_employee
(p_validate => p_validate
,p_hire_date => p_hire_date
,p_business_group_id => p_business_group_id
,p_last_name => p_last_name
,p_sex => p_sex
,p_person_type_id => p_person_type_id
,p_per_comments => p_comments
,p_date_employee_data_verified => p_date_employee_data_verified
,p_date_of_birth => p_date_of_birth
,p_email_address => p_email_address
,p_employee_number => p_employee_number
,p_expense_check_send_to_addres => p_expense_check_send_to_addres
,p_first_name => p_first_name
,p_known_as => p_known_as
,p_marital_status => p_marital_status
,p_middle_names => p_middle_names
,p_nationality => p_nationality
,p_national_identifier => p_ni_number
,p_previous_last_name => p_previous_last_name
,p_registered_disabled_flag => p_registered_disabled_flag
,p_title => p_title
,p_vendor_id => p_vendor_id
,p_work_telephone => p_work_telephone
,p_attribute_category => p_attribute_category
,p_attribute1 => p_attribute1
,p_attribute2 => p_attribute2
,p_attribute3 => p_attribute3
,p_attribute4 => p_attribute4
,p_attribute5 => p_attribute5
,p_attribute6 => p_attribute6
,p_attribute7 => p_attribute7
,p_attribute8 => p_attribute8
,p_attribute9 => p_attribute9
,p_attribute10 => p_attribute10
,p_attribute11 => p_attribute11
,p_attribute12 => p_attribute12
,p_attribute13 => p_attribute13
,p_attribute14 => p_attribute14
,p_attribute15 => p_attribute15
,p_attribute16 => p_attribute16
,p_attribute17 => p_attribute17
,p_attribute18 => p_attribute18
,p_attribute19 => p_attribute19
,p_attribute20 => p_attribute20
,p_attribute21 => p_attribute21
,p_attribute22 => p_attribute22
,p_attribute23 => p_attribute23
,p_attribute24 => p_attribute24
,p_attribute25 => p_attribute25
,p_attribute26 => p_attribute26
,p_attribute27 => p_attribute27
,p_attribute28 => p_attribute28
,p_attribute29 => p_attribute29
,p_attribute30 => p_attribute30
,p_per_information_category => 'GB'
,p_per_information1 => p_ethnic_origin
,p_per_information2 => p_director
,p_per_information4 => p_pensioner
,p_per_information5 => p_work_permit_number
,p_per_information6 => p_addl_pension_years
,p_per_information7 => p_addl_pension_months
,p_per_information8 => p_addl_pension_days
,p_per_information9 => p_ni_multiple_asg
,p_date_of_death => p_date_of_death
,p_background_check_status => p_background_check_status
,p_background_date_check => p_background_date_check
,p_blood_type => p_blood_type
,p_correspondence_language => p_correspondence_language
,p_fast_path_employee => p_fast_path_employee
,p_fte_capacity => p_fte_capacity
,p_honors => p_honors
,p_internal_location => p_internal_location
,p_last_medical_test_by => p_last_medical_test_by
,p_last_medical_test_date => p_last_medical_test_date
,p_mailstop => p_mailstop
,p_office_number => p_office_number
,p_on_military_service => p_on_military_service
,p_pre_name_adjunct => p_pre_name_adjunct
,p_rehire_recommendation => p_rehire_recommendation -- Bug 3210500
,p_projected_start_date => p_projected_start_date
,p_resume_exists => p_resume_exists
,p_resume_last_updated => p_resume_last_updated
,p_second_passport_exists => p_second_passport_exists
,p_student_status => p_student_status
,p_work_schedule => p_work_schedule
,p_suffix => p_suffix
,p_benefit_group_id => p_benefit_group_id
,p_receipt_of_death_cert_date => p_receipt_of_death_cert_date
,p_coord_ben_med_pln_no => p_coord_ben_med_pln_no
,p_coord_ben_no_cvg_flag => p_coord_ben_no_cvg_flag
,p_coord_ben_med_ext_er => p_coord_ben_med_ext_er
,p_coord_ben_med_pl_name => p_coord_ben_med_pl_name
,p_coord_ben_med_insr_crr_name => p_coord_ben_med_insr_crr_name
,p_coord_ben_med_insr_crr_ident => p_coord_ben_med_insr_crr_ident
,p_coord_ben_med_cvg_strt_dt => p_coord_ben_med_cvg_strt_dt
,p_coord_ben_med_cvg_end_dt => p_coord_ben_med_cvg_end_dt
,p_uses_tobacco_flag => p_uses_tobacco_flag
,p_dpdnt_adoption_date => p_dpdnt_adoption_date
,p_dpdnt_vlntry_svce_flag => p_dpdnt_vlntry_svce_flag
,p_original_date_of_hire => l_original_date_of_hire
,p_adjusted_svc_date => p_adjusted_svc_date
,p_town_of_birth => p_town_of_birth
,p_region_of_birth => p_region_of_birth
,p_country_of_birth => p_country_of_birth
,p_global_person_id => p_global_person_id
,p_party_id => p_party_id
--
,p_person_id => p_person_id
,p_assignment_id => p_assignment_id
,p_per_object_version_number => p_per_object_version_number
,p_asg_object_version_number => p_asg_object_version_number
,p_per_effective_start_date => p_per_effective_start_date
,p_per_effective_end_date => p_per_effective_end_date
,p_full_name => p_full_name
,p_per_comment_id => p_per_comment_id
,p_assignment_sequence => p_assignment_sequence
,p_assignment_number => p_assignment_number
,p_name_combination_warning => p_name_combination_warning
,p_assign_payroll_warning => p_assign_payroll_warning
,p_orig_hire_warning => p_orig_hire_warning
);
--
end create_gb_employee;
-- --------------------------------------------------------------------------
--
-- Begin fix for bug 899720
--
-- overload procedure for create_gb_employee
--
procedure create_gb_employee
(p_validate in boolean default false
,p_hire_date in date
,p_business_group_id in number
,p_last_name in varchar2
,p_sex in varchar2
,p_person_type_id in number default null
,p_comments in varchar2 default null
,p_date_employee_data_verified in date default null
,p_date_of_birth in date default null
,p_email_address in varchar2 default null
,p_employee_number in out nocopy varchar2
,p_expense_check_send_to_addres in varchar2 default null
,p_first_name in varchar2 default null
,p_known_as in varchar2 default null
,p_marital_status in varchar2 default null
,p_middle_names in varchar2 default null
,p_nationality in varchar2 default null
,p_ni_number in varchar2 default null
,p_previous_last_name in varchar2 default null
,p_registered_disabled_flag in varchar2 default null
,p_title in varchar2 default null
,p_vendor_id in number default null
,p_work_telephone in varchar2 default null
,p_attribute_category in varchar2 default null
,p_attribute1 in varchar2 default null
,p_attribute2 in varchar2 default null
,p_attribute3 in varchar2 default null
,p_attribute4 in varchar2 default null
,p_attribute5 in varchar2 default null
,p_attribute6 in varchar2 default null
,p_attribute7 in varchar2 default null
,p_attribute8 in varchar2 default null
,p_attribute9 in varchar2 default null
,p_attribute10 in varchar2 default null
,p_attribute11 in varchar2 default null
,p_attribute12 in varchar2 default null
,p_attribute13 in varchar2 default null
,p_attribute14 in varchar2 default null
,p_attribute15 in varchar2 default null
,p_attribute16 in varchar2 default null
,p_attribute17 in varchar2 default null
,p_attribute18 in varchar2 default null
,p_attribute19 in varchar2 default null
,p_attribute20 in varchar2 default null
,p_attribute21 in varchar2 default null
,p_attribute22 in varchar2 default null
,p_attribute23 in varchar2 default null
,p_attribute24 in varchar2 default null
,p_attribute25 in varchar2 default null
,p_attribute26 in varchar2 default null
,p_attribute27 in varchar2 default null
,p_attribute28 in varchar2 default null
,p_attribute29 in varchar2 default null
,p_attribute30 in varchar2 default null
,p_ethnic_origin in varchar2 default null
,p_director in varchar2 default 'N'
,p_pensioner in varchar2 default 'N'
,p_work_permit_number in varchar2 default null
,p_addl_pension_years in varchar2 default null
,p_addl_pension_months in varchar2 default null
,p_addl_pension_days in varchar2 default null
,p_ni_multiple_asg in varchar2 default 'N'
,p_date_of_death in date default null
,p_background_check_status in varchar2 default null
,p_background_date_check in date default null
,p_blood_type in varchar2 default null
,p_correspondence_language in varchar2 default null
,p_fast_path_employee in varchar2 default null
,p_fte_capacity in number default null
,p_honors in varchar2 default null
,p_internal_location in varchar2 default null
,p_last_medical_test_by in varchar2 default null
,p_last_medical_test_date in date default null
,p_mailstop in varchar2 default null
,p_office_number in varchar2 default null
,p_on_military_service in varchar2 default null
,p_pre_name_adjunct in varchar2 default null
,p_rehire_recommendation in varchar2 default null -- Bug 3210500
,p_projected_start_date in date default null
,p_resume_exists in varchar2 default null
,p_resume_last_updated in date default null
,p_second_passport_exists in varchar2 default null
,p_student_status in varchar2 default null
,p_work_schedule in varchar2 default null
,p_suffix in varchar2 default null
,p_benefit_group_id in number default null
,p_receipt_of_death_cert_date in date default null
,p_coord_ben_med_pln_no in varchar2 default null
,p_coord_ben_no_cvg_flag in varchar2 default 'N'
,p_coord_ben_med_ext_er in varchar2 default null
,p_coord_ben_med_pl_name in varchar2 default null
,p_coord_ben_med_insr_crr_name in varchar2 default null
,p_coord_ben_med_insr_crr_ident in varchar2 default null
,p_coord_ben_med_cvg_strt_dt in date default null
,p_coord_ben_med_cvg_end_dt in date default null
,p_uses_tobacco_flag in varchar2 default null
,p_dpdnt_adoption_date in date default null
,p_dpdnt_vlntry_svce_flag in varchar2 default 'N'
,p_original_date_of_hire in date default null
,p_adjusted_svc_date in date default null
,p_town_of_birth in varchar2 default null
,p_region_of_birth in varchar2 default null
,p_country_of_birth in varchar2 default null
,p_global_person_id in varchar2 default null
,p_party_id in number default null
,p_person_id out nocopy number
,p_assignment_id out nocopy number
,p_per_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_full_name out nocopy varchar2
,p_per_comment_id out nocopy number
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_name_combination_warning out nocopy boolean
,p_assign_payroll_warning out nocopy boolean
)
is
--
-- Declare cursors and local variables
--
l_proc varchar2(72);
l_orig_hire_warning boolean := false;
--
begin
--
if g_debug then
l_proc := g_package||'create_gb_employee';
hr_utility.set_location('Entering:'||l_proc,222);
end if;
--
hr_employee_api.create_gb_employee
(p_validate => p_validate
,p_hire_date => p_hire_date
,p_business_group_id => p_business_group_id
,p_last_name => p_last_name
,p_sex => p_sex
,p_person_type_id => p_person_type_id
,p_comments => p_comments
,p_date_employee_data_verified => p_date_employee_data_verified
,p_date_of_birth => p_date_of_birth
,p_email_address => p_email_address
,p_employee_number => p_employee_number
,p_expense_check_send_to_addres => p_expense_check_send_to_addres
,p_first_name => p_first_name
,p_known_as => p_known_as
,p_marital_status => p_marital_status
,p_middle_names => p_middle_names
,p_nationality => p_nationality
,p_ni_number => p_ni_number
,p_previous_last_name => p_previous_last_name
,p_registered_disabled_flag => p_registered_disabled_flag
,p_title => p_title
,p_vendor_id => p_vendor_id
,p_work_telephone => p_work_telephone
,p_attribute_category => p_attribute_category
,p_attribute1 => p_attribute1
,p_attribute2 => p_attribute2
,p_attribute3 => p_attribute3
,p_attribute4 => p_attribute4
,p_attribute5 => p_attribute5
,p_attribute6 => p_attribute6
,p_attribute7 => p_attribute7
,p_attribute8 => p_attribute8
,p_attribute9 => p_attribute9
,p_attribute10 => p_attribute10
,p_attribute11 => p_attribute11
,p_attribute12 => p_attribute12
,p_attribute13 => p_attribute13
,p_attribute14 => p_attribute14
,p_attribute15 => p_attribute15
,p_attribute16 => p_attribute16
,p_attribute17 => p_attribute17
,p_attribute18 => p_attribute18
,p_attribute19 => p_attribute19
,p_attribute20 => p_attribute20
,p_attribute21 => p_attribute21
,p_attribute22 => p_attribute22
,p_attribute23 => p_attribute23
,p_attribute24 => p_attribute24
,p_attribute25 => p_attribute25
,p_attribute26 => p_attribute26
,p_attribute27 => p_attribute27
,p_attribute28 => p_attribute28
,p_attribute29 => p_attribute29
,p_attribute30 => p_attribute30
,p_ethnic_origin => p_ethnic_origin
,p_director => p_director
,p_pensioner => p_pensioner
,p_work_permit_number => p_work_permit_number
,p_addl_pension_years => p_addl_pension_years
,p_addl_pension_months => p_addl_pension_months
,p_addl_pension_days => p_addl_pension_days
,p_ni_multiple_asg => p_ni_multiple_asg
,p_date_of_death => p_date_of_death
,p_background_check_status => p_background_check_status
,p_background_date_check => p_background_date_check
,p_blood_type => p_blood_type
,p_correspondence_language => p_correspondence_language
,p_fast_path_employee => p_fast_path_employee
,p_fte_capacity => p_fte_capacity
,p_honors => p_honors
,p_internal_location => p_internal_location
,p_last_medical_test_by => p_last_medical_test_by
,p_last_medical_test_date => p_last_medical_test_date
,p_mailstop => p_mailstop
,p_office_number => p_office_number
,p_on_military_service => p_on_military_service
,p_pre_name_adjunct => p_pre_name_adjunct
,p_rehire_recommendation => p_rehire_recommendation -- Bug 3210500
,p_projected_start_date => p_projected_start_date
,p_resume_exists => p_resume_exists
,p_resume_last_updated => p_resume_last_updated
,p_second_passport_exists => p_second_passport_exists
,p_student_status => p_student_status
,p_work_schedule => p_work_schedule
,p_suffix => p_suffix
,p_benefit_group_id => p_benefit_group_id
,p_receipt_of_death_cert_date => p_receipt_of_death_cert_date
,p_coord_ben_med_pln_no => p_coord_ben_med_pln_no
,p_coord_ben_no_cvg_flag => p_coord_ben_no_cvg_flag
,p_coord_ben_med_ext_er => p_coord_ben_med_ext_er
,p_coord_ben_med_pl_name => p_coord_ben_med_pl_name
,p_coord_ben_med_insr_crr_name => p_coord_ben_med_insr_crr_name
,p_coord_ben_med_insr_crr_ident => p_coord_ben_med_insr_crr_ident
,p_coord_ben_med_cvg_strt_dt => p_coord_ben_med_cvg_strt_dt
,p_coord_ben_med_cvg_end_dt => p_coord_ben_med_cvg_end_dt
,p_uses_tobacco_flag => p_uses_tobacco_flag
,p_dpdnt_adoption_date => p_dpdnt_adoption_date
,p_dpdnt_vlntry_svce_flag => p_dpdnt_vlntry_svce_flag
,p_original_date_of_hire => p_original_date_of_hire
,p_adjusted_svc_date => p_adjusted_svc_date
,p_town_of_birth => p_town_of_birth
,p_region_of_birth => p_region_of_birth
,p_country_of_birth => p_country_of_birth
,p_global_person_id => p_global_person_id
,p_party_id => p_party_id
,p_person_id => p_person_id
,p_assignment_id => p_assignment_id
,p_per_object_version_number => p_per_object_version_number
,p_asg_object_version_number => p_asg_object_version_number
,p_per_effective_start_date => p_per_effective_start_date
,p_per_effective_end_date => p_per_effective_end_date
,p_full_name => p_full_name
,p_per_comment_id => p_per_comment_id
,p_assignment_sequence => p_assignment_sequence
,p_assignment_number => p_assignment_number
,p_name_combination_warning => p_name_combination_warning
,p_assign_payroll_warning => p_assign_payroll_warning
,p_orig_hire_warning => l_orig_hire_warning
);
--
if g_debug then
hr_utility.set_location('Leaving:'||l_proc,222);
end if;
--
end create_gb_employee;
--
-- End of fix for bug 899720
--
-- ----------------------------------------------------------------------------
-- |-------------------------< create_us_employee >---------------------------|
-- ----------------------------------------------------------------------------
--
procedure create_us_employee
(p_validate in boolean default false
,p_hire_date in date
,p_business_group_id in number
,p_last_name in varchar2
,p_sex in varchar2
,p_person_type_id in number default null
,p_comments in varchar2 default null
,p_date_employee_data_verified in date default null
,p_date_of_birth in date default null
,p_email_address in varchar2 default null
,p_employee_number in out nocopy varchar2
,p_expense_check_send_to_addres in varchar2 default null
,p_first_name in varchar2 default null
,p_known_as in varchar2 default null
,p_marital_status in varchar2 default null
,p_middle_names in varchar2 default null
,p_nationality in varchar2 default null
,p_ss_number in varchar2 default null
,p_previous_last_name in varchar2 default null
,p_registered_disabled_flag in varchar2 default null
,p_title in varchar2 default null
,p_vendor_id in number default null
,p_work_telephone in varchar2 default null
,p_attribute_category in varchar2 default null
,p_attribute1 in varchar2 default null
,p_attribute2 in varchar2 default null
,p_attribute3 in varchar2 default null
,p_attribute4 in varchar2 default null
,p_attribute5 in varchar2 default null
,p_attribute6 in varchar2 default null
,p_attribute7 in varchar2 default null
,p_attribute8 in varchar2 default null
,p_attribute9 in varchar2 default null
,p_attribute10 in varchar2 default null
,p_attribute11 in varchar2 default null
,p_attribute12 in varchar2 default null
,p_attribute13 in varchar2 default null
,p_attribute14 in varchar2 default null
,p_attribute15 in varchar2 default null
,p_attribute16 in varchar2 default null
,p_attribute17 in varchar2 default null
,p_attribute18 in varchar2 default null
,p_attribute19 in varchar2 default null
,p_attribute20 in varchar2 default null
,p_attribute21 in varchar2 default null
,p_attribute22 in varchar2 default null
,p_attribute23 in varchar2 default null
,p_attribute24 in varchar2 default null
,p_attribute25 in varchar2 default null
,p_attribute26 in varchar2 default null
,p_attribute27 in varchar2 default null
,p_attribute28 in varchar2 default null
,p_attribute29 in varchar2 default null
,p_attribute30 in varchar2 default null
,p_ethnic_origin in varchar2 default null
,p_I_9 in varchar2 default 'N'
,p_I_9_expiration_date in varchar2 default null
-- ,p_visa_type in varchar2 default null
,p_veteran_status in varchar2 default null
,p_new_hire in varchar2 default null
,p_exception_reason in varchar2 default null
,p_child_support_obligation in varchar2 default 'N'
,p_opted_for_medicare_flag in varchar2 default 'N'
,p_date_of_death in date default null
,p_background_check_status in varchar2 default null
,p_background_date_check in date default null
,p_blood_type in varchar2 default null
,p_correspondence_language in varchar2 default null
,p_fast_path_employee in varchar2 default null
,p_fte_capacity in number default null
,p_honors in varchar2 default null
,p_internal_location in varchar2 default null
,p_last_medical_test_by in varchar2 default null
,p_last_medical_test_date in date default null
,p_mailstop in varchar2 default null
,p_office_number in varchar2 default null
,p_on_military_service in varchar2 default null
,p_pre_name_adjunct in varchar2 default null
,p_rehire_recommendation in varchar2 default null -- Bug 3210500
,p_projected_start_date in date default null
,p_resume_exists in varchar2 default null
,p_resume_last_updated in date default null
,p_second_passport_exists in varchar2 default null
,p_student_status in varchar2 default null
,p_work_schedule in varchar2 default null
,p_suffix in varchar2 default null
,p_benefit_group_id in number default null
,p_receipt_of_death_cert_date in date default null
,p_coord_ben_med_pln_no in varchar2 default null
,p_coord_ben_no_cvg_flag in varchar2 default 'N'
,p_coord_ben_med_ext_er in varchar2 default null
,p_coord_ben_med_pl_name in varchar2 default null
,p_coord_ben_med_insr_crr_name in varchar2 default null
,p_coord_ben_med_insr_crr_ident in varchar2 default null
,p_coord_ben_med_cvg_strt_dt in date default null
,p_coord_ben_med_cvg_end_dt in date default null
,p_uses_tobacco_flag in varchar2 default null
,p_dpdnt_adoption_date in date default null
,p_dpdnt_vlntry_svce_flag in varchar2 default 'N'
,p_original_date_of_hire in date default null
,p_adjusted_svc_date in date default null
,p_town_of_birth in varchar2 default null
,p_region_of_birth in varchar2 default null
,p_country_of_birth in varchar2 default null
,p_global_person_id in varchar2 default null
,p_party_id in number default null
,p_person_id out nocopy number
,p_assignment_id out nocopy number
,p_per_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_full_name out nocopy varchar2
,p_per_comment_id out nocopy number
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_name_combination_warning out nocopy boolean
,p_assign_payroll_warning out nocopy boolean
,p_orig_hire_warning out nocopy boolean
)
is
--
-- Declare cursors and local variables
--
l_proc varchar2(72) ;
l_legislation_code varchar2(2);
l_asg_object_version_number number(9);
--
cursor csr_bg is
select legislation_code
from per_business_groups pbg
where pbg.business_group_id = p_business_group_id;
--
begin
--
-- Validation in addition to Row Handlers
--
-- Check that the specified business group is valid.
--
open csr_bg;
fetch csr_bg
into l_legislation_code;
if csr_bg%notfound then
close csr_bg;
hr_utility.set_message(801, 'HR_7208_API_BUS_GRP_INVALID');
hr_utility.raise_error;
end if;
close csr_bg;
if g_debug then
l_proc := g_package||'create_us_employee';
hr_utility.set_location(l_proc, 20);
end if;
--
-- Check that the legislation of the specified business group is 'US'.
--
if l_legislation_code <> 'US' then
hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
hr_utility.set_message_token('LEG_CODE','US');
hr_utility.raise_error;
end if;
if g_debug then
hr_utility.set_location(l_proc, 30);
end if;
--
-- Call the person business process
--
hr_employee_api.create_employee
(p_validate => p_validate
,p_hire_date => p_hire_date
,p_business_group_id => p_business_group_id
,p_last_name => p_last_name
,p_sex => p_sex
,p_person_type_id => p_person_type_id
,p_per_comments => p_comments
,p_date_employee_data_verified => p_date_employee_data_verified
,p_date_of_birth => p_date_of_birth
,p_email_address => p_email_address
,p_employee_number => p_employee_number
,p_expense_check_send_to_addres => p_expense_check_send_to_addres
,p_first_name => p_first_name
,p_known_as => p_known_as
,p_marital_status => p_marital_status
,p_middle_names => p_middle_names
,p_nationality => p_nationality
,p_national_identifier => p_ss_number
,p_previous_last_name => p_previous_last_name
,p_registered_disabled_flag => p_registered_disabled_flag
,p_title => p_title
,p_vendor_id => p_vendor_id
,p_work_telephone => p_work_telephone
,p_attribute_category => p_attribute_category
,p_attribute1 => p_attribute1
,p_attribute2 => p_attribute2
,p_attribute3 => p_attribute3
,p_attribute4 => p_attribute4
,p_attribute5 => p_attribute5
,p_attribute6 => p_attribute6
,p_attribute7 => p_attribute7
,p_attribute8 => p_attribute8
,p_attribute9 => p_attribute9
,p_attribute10 => p_attribute10
,p_attribute11 => p_attribute11
,p_attribute12 => p_attribute12
,p_attribute13 => p_attribute13
,p_attribute14 => p_attribute14
,p_attribute15 => p_attribute15
,p_attribute16 => p_attribute16
,p_attribute17 => p_attribute17
,p_attribute18 => p_attribute18
,p_attribute19 => p_attribute19
,p_attribute20 => p_attribute20
,p_attribute21 => p_attribute21
,p_attribute22 => p_attribute22
&nb3p; ,p_a4tribute23 => p_attribute23
,p_attribute24 &nbsx; ? => p_attribute24
,p_attribute25 => p_attribute25
,p_attribute26 => p_attribute26
,p_attribute27 nbsp; => p_attribute27
,p_attribute28  3 => p_attribute28
,p_attribute29 => p_attribute29
,p_attribute30 => p_attribute30
,p_per_information_category => 'US'
,p_per_information1 => p_ethnic_origin
,p_per_information2 => p_I_9
,p_per_information3 => p_I_9_expiration_date
-- ,p_per_information4 => p_visa_type
,p_per_information5 => p_veteran_status
,p_per_information7 => p_new_hire
,p_per_information8 => p_exception_reason
,p_per_information9 => p_child_support_obligation
,p_per_information10 => p_opted_for_medicare_flag
,p_date_of_death => p_date_of_death
,p_background_check_status => p_background_check_status
,p_background_date_check => p_background_date_check
,p_blood_type => p_blood_type
,p_correspondence_language => p_correspondence_language
,p_fast_path_employee => p_fast_path_employee
,p_fte_capacity => p_fte_capacity
,p_honors => p_honors
,p_internal_location => p_internal_location
,p_last_medical_test_by => p_last_medical_test_by
,p_last_medical_test_date => p_last_medical_test_date
,p_mailstop => p_mailstop
,p_office_number => p_office_number
,p_on_military_service => p_on_military_service
,p_pre_name_adjunct => p_pre_name_adjunct
,p_rehire_recommendation => p_rehire_recommendation -- Bug 3210500
,p_projected_start_date => p_projected_start_date
,p_resume_exists => p_resume_exists
,p_resume_last_updated => p_resume_last_updated
,p_second_passport_exists => p_second_passport_exists
,p_student_status => p_student_status
,p_work_schedule => p_work_schedule
,p_suffix => p_suffix
,p_benefit_group_id => p_benefit_group_id
,p_receipt_of_death_cert_date => p_receipt_of_death_cert_date
,p_coord_ben_med_pln_no => p_coord_ben_med_pln_no
,p_coord_ben_no_cvg_flag => p_coord_ben_no_cvg_flag
,p_coord_ben_med_ext_er => p_coord_ben_med_ext_er
,p_coord_ben_med_pl_name => p_coord_ben_med_pl_name
,p_coord_ben_med_insr_crr_name => p_coord_ben_med_insr_crr_name
,p_coord_ben_med_insr_crr_ident => p_coord_ben_med_insr_crr_ident
,p_coord_ben_med_cvg_strt_dt => p_coord_ben_med_cvg_strt_dt
,p_coord_ben_med_cvg_end_dt => p_coord_ben_med_cvg_end_dt
,p_uses_tobacco_flag => p_uses_tobacco_flag
,p_dpdnt_adoption_date => p_dpdnt_adoption_date
,p_dpdnt_vlntry_svce_flag => p_dpdnt_vlntry_svce_flag
,p_original_date_of_hire => p_original_date_of_hire
,p_adjusted_svc_date => p_adjusted_svc_date
,p_town_of_birth => p_town_of_birth
,p_region_of_birth => p_region_of_birth
,p_country_of_birth => p_country_of_birth
,p_global_person_id => p_global_person_id
,p_party_id => p_party_id
--
,p_person_id => p_person_id
,p_assignment_id => p_assignment_id
,p_per_object_version_number => p_per_object_version_number
,p_asg_object_version_number => p_asg_object_version_number
,p_per_effective_start_date => p_per_effective_start_date
,p_per_effective_end_date => p_per_effective_end_date
,p_full_name => p_full_name
,p_per_comment_id => p_per_comment_id
,p_assignment_sequence => p_assignment_sequence
,p_assignment_number => p_assignment_number
,p_name_combination_warning => p_name_combination_warning
,p_assign_payroll_warning => p_assign_payroll_warning
,p_orig_hire_warning => p_orig_hire_warning
);
--
if g_debug then
hr_utility.set_location(' Leaving:'||l_proc, 40);
end if;
end create_us_employee;
-- --------------------------------------------------------------------------
--
-- Begin fix for bug 899720
--
-- overload procedure for create_us_employee
--
procedure create_us_employee
(p_validate in boolean default false
,p_hire_date in date
,p_business_group_id in number
,p_last_name in varchar2
,p_sex in varchar2
,p_person_type_id in number default null
,p_comments in varchar2 default null
,p_date_employee_data_verified in date default null
,p_date_of_birth in date default null
,p_email_address in varchar2 default null
,p_employee_number in out nocopy varchar2
,p_expense_check_send_to_addres in varchar2 default null
,p_first_name in varchar2 default null
,p_known_as in varchar2 default null
,p_marital_status in varchar2 default null
,p_middle_names in varchar2 default null
,p_nationality in varchar2 default null
,p_ss_number in varchar2 default null
,p_previous_last_name in varchar2 default null
,p_registered_disabled_flag in varchar2 default null
,p_title in varchar2 default null
,p_vendor_id in number default null
,p_work_telephone in varchar2 default null
,p_attribute_category in varchar2 default null
,p_attribute1 in varchar2 default null
,p_attribute2 in varchar2 default null
,p_attribute3 in varchar2 default null
,p_attribute4 in varchar2 default null
,p_attribute5 in varchar2 default null
,p_attribute6 in varchar2 default null
,p_attribute7 in varchar2 default null
,p_attribute8 in varchar2 default null
,p_attribute9 in varchar2 default null
,p_attribute10 in varchar2 default null
,p_attribute11 in varchar2 default null
,p_attribute12 in varchar2 default null
,p_attribute13 in varchar2 default null
,p_attribute14 in varchar2 default null
,p_attribute15 in varchar2 default null
,p_attribute16 in varchar2 default null
,p_attribute17 in varchar2 default null
,p_attribute18 in varchar2 default null
,p_attribute19 in varchar2 default null
,p_attribute20 in varchar2 default null
,p_attribute21 in varchar2 default null
,p_attribute22 in varchar2 default null
,p_attribute23 in varchar2 default null
,p_attribute24 in varchar2 default null
,p_attribute25 in varchar2 default null
,p_attribute26 in varchar2 default null
,p_attribute27 in varchar2 default null
,p_attribute28 in varchar2 default null
,p_attribute29 in varchar2 default null
,p_attribute30 in varchar2 default null
,p_ethnic_origin in varchar2 default null
,p_I_9 in varchar2 default 'N'
,p_I_9_expiration_date in varchar2 default null
-- ,p_visa_type in varchar2 default null
,p_veteran_status in varchar2 default null
,p_new_hire in varchar2 default null
,p_exception_reason in varchar2 default null
,p_child_support_obligation in varchar2 default 'N'
,p_opted_for_medicare_flag in varchar2 default 'N'
,p_date_of_death in date default null
,p_background_check_status in varchar2 default null
,p_background_date_check in date default null
,p_blood_type in varchar2 default null
,p_correspondence_language in varchar2 default null
,p_fast_path_employee in varchar2 default null
,p_fte_capacity in number default null
,p_honors in varchar2 default null
,p_internal_location in varchar2 default null
,p_last_medical_test_by in varchar2 default null
,p_last_medical_test_date in date default null
,p_mailstop in varchar2 default null
,p_office_number in varchar2 default null
,p_on_military_service in varchar2 default null
,p_pre_name_adjunct in varchar2 default null
,p_rehire_recommendation in varchar2 default null -- Bug 3210500
,p_projected_start_date in date default null
,p_resume_exists in varchar2 default null
,p_resume_last_updated in date default null
,p_second_passport_exists in varchar2 default null
,p_student_status in varchar2 default null
,p_work_schedule in varchar2 default null
,p_suffix in varchar2 default null
,p_benefit_group_id in number default null
,p_receipt_of_death_cert_date in date default null
,p_coord_ben_med_pln_no in varchar2 default null
,p_coord_ben_no_cvg_flag in varchar2 default 'N'
,p_coord_ben_med_ext_er in varchar2 default null
,p_coord_ben_med_pl_name in varchar2 default null
,p_coord_ben_med_insr_crr_name in varchar2 default null
,p_coord_ben_med_insr_crr_ident in varchar2 default null
,p_coord_ben_med_cvg_strt_dt in date default null
,p_coord_ben_med_cvg_end_dt in date default null
,p_uses_tobacco_flag in varchar2 default null
,p_dpdnt_adoption_date in date default null
,p_dpdnt_vlntry_svce_flag in varchar2 default 'N'
,p_original_date_of_hire in date default null
,p_adjusted_svc_date in date default null
,p_town_of_birth in varchar2 default null
,p_region_of_birth in varchar2 default null
,p_country_of_birth in varchar2 default null
,p_global_person_id in varchar2 default null
,p_party_id in number default null
,p_person_id out nocopy number
,p_assignment_id out nocopy number
,p_per_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_full_name out nocopy varchar2
,p_per_comment_id out nocopy number
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_name_combination_warning out nocopy boolean
,p_assign_payroll_warning out nocopy boolean
)
is
--
-- Declare cursors and local variables
--
l_proc varchar2(72) ;
l_orig_hire_warning boolean := false;
--
begin
--
if g_debug then
l_proc := g_package||'create_us_employee';
hr_utility.set_location('Entering:'||l_proc,333);
end if;
--
hr_employee_api.create_us_employee
(p_validate => p_validate
,p_hire_date => p_hire_date
,p_business_group_id => p_business_group_id
,p_last_name => p_last_name
,p_sex => p_sex
,p_person_type_id => p_person_type_id
,p_comments => p_comments
,p_date_employee_data_verified => p_date_employee_data_verified
,p_date_of_birth => p_date_of_birth
,p_email_address => p_email_address
,p_employee_number => p_employee_number
,p_expense_check_send_to_addres => p_expense_check_send_to_addres
,p_first_name => p_first_name
,p_known_as => p_known_as
,p_marital_status => p_marital_status
,p_middle_names => p_middle_names
,p_nationality => p_nationality
,p_ss_number => p_ss_number
,p_previous_last_name => p_previous_last_name
,p_registered_disabled_flag => p_registered_disabled_flag
,p_title => p_title
,p_vendor_id => p_vendor_id
,p_work_telephone => p_work_telephone
,p_attribute_category => p_attribute_category
,p_attribute1 => p_attribute1
,p_attribute2 => p_attribute2
,p_attribute3 => p_attribute3
,p_attribute4 => p_attribute4
,p_attribute5 => p_attribute5
,p_attribute6 => p_attribute6
,p_attribute7 => p_attribute7
,p_attribute8 => p_attribute8
,p_attribute9 => p_attribute9
,p_attribute10 => p_attribute10
,p_attribute11 => p_attribute11
,p_attribute12 => p_attribute12
,p_attribute13 => p_attribute13
,p_attribute14 => p_attribute14
,p_attribute15 => p_attribute15
,p_attribute16 => p_attribute16
,p_attribute17 => p_attribute17
,p_attribute18 => p_attribute18
,p_attribute19 => p_attribute19
,p_attribute20 => p_attribute20
,p_attribute21 => p_attribute21
,p_attribute22 => p_attribute22
,p_attribute23 => p_attribute23
,p_attribute24 => p_attribute24
,p_attribute25 => p_attribute25
,p_attribute26 => p_attribute26
,p_attribute27 => p_attribute27
,p_attribute28 => p_attribute28
,p_attribute29 => p_attribute29
,p_attribute30 => p_attribute30
,p_ethnic_origin => p_ethnic_origin
,p_I_9 => p_I_9
,p_I_9_expiration_date => p_I_9_expiration_date
-- ,p_visa_type => p_visa_type
,p_veteran_status => p_veteran_status
,p_new_hire => p_new_hire
,p_exception_reason => p_exception_reason
,p_child_support_obligation => p_child_support_obligation
,p_opted_for_medicare_flag => p_opted_for_medicare_flag
,p_date_of_death => p_date_of_death
,p_background_check_status => p_background_check_status
,p_background_date_check => p_background_date_check
,p_blood_type => p_blood_type
,p_correspondence_language => p_correspondence_language
,p_fast_path_employee => p_fast_path_employee
,p_fte_capacity => p_fte_capacity
,p_honors => p_honors
,p_internal_location => p_internal_location
,p_last_medical_test_by => p_last_medical_test_by
,p_last_medical_test_date => p_last_medical_test_date
,p_mailstop => p_mailstop
,p_office_number => p_office_number
,p_on_military_service => p_on_military_service
,p_pre_name_adjunct => p_pre_name_adjunct
,p_rehire_recommendation => p_rehire_recommendation -- Bug 3210500
,p_projected_start_date => p_projected_start_date
,p_resume_exists => p_resume_exists
,p_resume_last_updated => p_resume_last_updated
,p_second_passport_exists => p_second_passport_exists
,p_student_status => p_student_status
,p_work_schedule => p_work_schedule
,p_suffix => p_suffix
,p_benefit_group_id => p_benefit_group_id
,p_receipt_of_death_cert_date => p_receipt_of_death_cert_date
,p_coord_ben_med_pln_no => p_coord_ben_med_pln_no
,p_coord_ben_no_cvg_flag => p_coord_ben_no_cvg_flag
,p_coord_ben_med_ext_er => p_coord_ben_med_ext_er
,p_coord_ben_med_pl_name => p_coord_ben_med_pl_name
,p_coord_ben_med_insr_crr_name => p_coord_ben_med_insr_crr_name
,p_coord_ben_med_insr_crr_ident => p_coord_ben_med_insr_crr_ident
,p_coord_ben_med_cvg_strt_dt => p_coord_ben_med_cvg_strt_dt
,p_coord_ben_med_cvg_end_dt => p_coord_ben_med_cvg_end_dt
,p_uses_tobacco_flag => p_uses_tobacco_flag
,p_dpdnt_adoption_date => p_dpdnt_adoption_date
,p_dpdnt_vlntry_svce_flag => p_dpdnt_vlntry_svce_flag
,p_original_date_of_hire => p_original_date_of_hire
,p_adjusted_svc_date => p_adjusted_svc_date
,p_town_of_birth => p_town_of_birth
,p_region_of_birth => p_region_of_birth
,p_country_of_birth => p_country_of_birth
,p_global_person_id => p_global_person_id
,p_party_id => p_party_id
,p_person_id => p_person_id
,p_assignment_id => p_assignment_id
,p_per_object_version_number => p_per_object_version_number
,p_asg_object_version_number => p_asg_object_version_number
,p_per_effective_start_date => p_per_effective_start_date
,p_per_effective_end_date => p_per_effective_end_date
,p_full_name => p_full_name
,p_per_comment_id => p_per_comment_id
,p_assignment_sequence => p_assignment_sequence
,p_assignment_number => p_assignment_number
,p_name_combination_warning => p_name_combination_warning
,p_assign_payroll_warning => p_assign_payroll_warning
,p_orig_hire_warning => l_orig_hire_warning
);
--
if g_debug then
hr_utility.set_location('Leaving:'||l_proc,333);
end if;
--
end create_us_employee;
--
-- End of fix for bug 899720
--
-- ----------------------------------------------------------------------------
-- |--------------------------< re_hire_ex_employee >-------------------------|
-- ----------------------------------------------------------------------------
procedure re_hire_ex_employee
(p_validate in boolean default false
,p_hire_date in date
,p_person_id in number
,p_per_object_version_number in out nocopy number
,p_person_type_id in number default hr_api.g_number
,p_rehire_reason in varchar2
,p_assignment_id out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_assign_payroll_warning out nocopy boolean
) is
--
-- declare local variables
--
l_proc varchar2(72) := g_package||'re_hire_ex_employee';
l_business_group_id per_people_f.business_group_id%type;
l_ovn per_people_f.object_version_number%type := p_per_object_version_number;
l_name_combination_warning boolean;
l_orig_hire_warning boolean;
l_person_type_id per_people_f.person_type_id%type := p_person_type_id;
l_person_type_id1 per_people_f.person_type_id%type;
l_comment_id per_people_f.comment_id%type;
l_current_applicant_flag per_people_f.current_applicant_flag%type;
l_current_emp_or_apl_flag per_people_f.current_emp_or_apl_flag%type;
l_current_employee_flag per_people_f.current_employee_flag%type;
l_employee_number per_people_f.employee_number%type;
l_applicant_number per_people_f.applicant_number%TYPE;
l_npw_number per_people_f.npw_number%type;
l_full_name per_people_f.full_name%type;
l_object_version_number per_people_f.object_version_number%type;
l_period_of_service_id per_periods_of_service.period_of_service_id%type;
l_pds_object_version_number per_periods_of_service.object_version_number%type;
l_datetrack_mode varchar2(12);
l_effective_date date;
l_hire_date date;
l_assign_payroll_warning boolean :=FALSE;
--
-- Added local variables for after hook re_hire_ex_employee_a
--
-- Bug 1828850 starts here.
-- The l_assignment_id is declared as per_assignments_f.assignment_id%type.
--
l_assignment_id per_assignments_f.assignment_id%type;
--
-- Bug 1828850 Ends here.
--
l_asg_object_version_number number(9);
l_per_effective_start_date date;
l_per_effective_end_date date;
l_assignment_sequence number(15);
l_assignment_number varchar2(30);
--
-- --------------------------------------------------------------------------
-- |-------------------------< get_person_details >-------------------------|
-- --------------------------------------------------------------------------
--
-- Description
-- This procedure is used for 2 purposes; to validate that the person
-- exists as of the specified effective date and to select the
-- business group, effective start date and system person type information
--
-- --------------------------------------------------------------------------
procedure get_person_details
(p_person_id in number,
p_effective_date in date,
p_business_group_id out nocopy number,
p_employee_number out nocopy varchar2,
p_effective_start_date out nocopy date,
p_system_person_type out nocopy varchar2) is
--
l_proc varchar2(72);
--
-- select and validate the person
--
cursor csr_chk_person_exists is
select per.business_group_id,
per.employee_number,
per.effective_start_date,
pet.system_person_type
from per_person_types pet,
per_people_f per
where per.person_id = p_person_id
and pet.person_type_id = per.person_type_id
and pet.business_group_id + 0 = per.business_group_id
and p_effective_date
between per.effective_start_date
and per.effective_end_date;
--
begin
if g_debug then
l_proc := g_package||'get_person_details';
hr_utility.set_location('Entering:'|| l_proc, 5);
end if;
--
open csr_chk_person_exists;
fetch csr_chk_person_exists into
p_business_group_id, p_employee_number, p_effective_start_date,
p_system_person_type;
if csr_chk_person_exists%notfound then
close csr_chk_person_exists;
--
-- the person cannot exist as of the supplied effective_date therefore
-- we must error
--
-- This person either does not exist at all or does not exist as of the
-- date specified.
--
hr_utility.set_message(801, 'HR_51011_PER_NOT_EXIST_DATE');
hr_utility.raise_error;
end if;
close csr_chk_person_exists;
if g_debug then
hr_utility.set_location(' Leaving:'||l_proc, 10);
end if;
end get_person_details;
-- --------------------------------------------------------------------------
-- |-------------------------< perform_validation >-------------------------|
-- --------------------------------------------------------------------------
--
-- Description
-- This procedure controls and performs the following business process
-- validation:
-- 1) ensure that the p_person_id and p_hire_date parameters are not null.
-- 2) check that this person (p_person_id) exists as of p_hire_date and
-- the current person type (per_people_f.person_type_id) has a
-- corresponding system person type of EX_EMP.
-- 3) ensure the most recent period of service for this person has been
-- completely terminated.
--
-- --------------------------------------------------------------------------
procedure perform_validation
(p_person_id in number,
p_hire_date in date,
p_effective_date out nocopy date,
p_business_group_id out nocopy number,
p_employee_number out nocopy varchar2) is
--
l_proc varchar2(72) := g_package||'perform_validation';
l_system_person_type per_person_types.system_person_type%type;
l_final_process_date per_periods_of_service.final_process_date%type;
l_effective_start_date per_people_f.effective_start_date%type;
l_dummy_number number;
l_dummy_emp_number varchar2(30);
l_dummy_date date;
--
cursor csr_chk_period_of_service is
select pos.final_process_date
from per_periods_of_service pos
where pos.person_id = p_person_id
order by pos.date_start desc;
--
begin
if g_debug then
hr_utility.set_location('Entering:'|| l_proc, 5);
end if;
--
-- Validation Logic
--
-- 1. ensure that the mandatory parameters p_hire_date and p_person_id
-- are not null
--
hr_api.mandatory_arg_error
(p_api_name => l_proc
,p_argument => 'person id'
,p_argument_value => p_person_id);
--
hr_api.mandatory_arg_error
(p_api_name => l_proc
,p_argument => 'hire date'
,p_argument_value => p_hire_date);
--
-- 2. check that this person (p_person_id) exists as of p_hire_date and the
-- the current person type (per_people_f.person_type_id) has a
-- corresponding system person type of EX_EMP.
--
get_person_details
(p_person_id => p_person_id,
p_effective_date => p_hire_date,
p_business_group_id => p_business_group_id,
p_employee_number => p_employee_number,
p_effective_start_date => l_effective_start_date,
p_system_person_type => l_system_person_type);
--
-- ensure that the system person type is 'EX_EMP'
--
if (l_system_person_type <> 'EX_EMP') then
--
-- the system person type is not 'EX_EMP' therefore error
-- You cannot Re-Hire a person who is not an Ex-Employee.
--
hr_utility.set_message(801, 'HR_51012_REHIRE_NOT_EX_EMP');
hr_utility.raise_error;
end if;
if g_debug then
hr_utility.set_location(l_proc, 10);
end if;
--
-- 3. ensure the most recent period of service for this person has been
-- completely terminated. i.e. check that
-- period_of_service.final_process_date is not null and comes before
-- p_hire_date.
-- we only fetch the 1st row (which is the latest pos).
--
open csr_chk_period_of_service;
fetch csr_chk_period_of_service into l_final_process_date;
if csr_chk_period_of_service%notfound then
close csr_chk_period_of_service;
--
-- a period of service row does not exist for the person therefore
-- we must error
--
-- This person does not have a previous period of service
--
hr_utility.set_message(801, 'HR_51013_PDS_NOT_EXIST');
hr_utility.raise_error;
end if;
close csr_chk_period_of_service;
--
if (l_final_process_date is null) then
--
-- the employee cannot be terminated as the final process date has not
-- been set
--
-- You cannot re-hire a person who does not have a final processing date
-- set for their most recent period of service
--
hr_utility.set_message(801, 'HR_51014_REHIRE_FINAL_DATE');
hr_utility.raise_error;
elsif (l_final_process_date >= p_hire_date) then
--
-- the re hire date is before the current final process date
--
-- You cannot re-hire an Ex-Employee before their final processing date.
-- Please specify a Re-Hire date which is after the final processing date.
--
hr_utility.set_message(801, 'HR_51015_REHIRE_NEW_DATE');
hr_utility.raise_error;
end if;
if g_debug then
hr_utility.set_location(l_proc, 20);
end if;
p_effective_date := l_effective_start_date;
--
if g_debug then
hr_utility.set_location(' Leaving:'||l_proc, 25);
end if;
end perform_validation;
begin
if g_debug then
hr_utility.set_location('Entering:'|| l_proc, 5);
end if;
--
-- Issue a savepoint.
--
savepoint re_hire_ex_employee;
--
-- Initialise local variables
--
l_object_version_number := p_per_object_version_number;
l_applicant_number := hr_api.g_varchar2;
l_npw_number := hr_api.g_varchar2;
l_hire_date := trunc(p_hire_date);
--
-- perform business process validation
--
perform_validation
(p_person_id => p_person_id,
p_hire_date => l_hire_date,
p_effective_date => l_effective_date,
p_business_group_id => l_business_group_id,
p_employee_number => l_employee_number);
--
-- processing logic
--
if g_debug then
hr_utility.set_location(l_proc, 10);
end if;
l_person_type_id := p_person_type_id;
--
begin
--
-- Start of call API User Hook for the before hook of re_hire_ex_employee
--
hr_employee_bk2.re_hire_ex_employee_b
(
p_business_group_id =>l_business_group_id
,p_hire_date =>l_hire_date
,p_person_id =>p_person_id
,p_per_object_version_number =>p_per_object_version_number
,p_person_type_id =>p_person_type_id
,p_rehire_reason =>p_rehire_reason
);
exception
when hr_api.cannot_find_prog_unit then
hr_api.cannot_find_prog_unit_error
(p_module_name => 'RE_HIRE_EX_EMPLOYEE'
,p_hook_type => 'BP'
);
--
-- End of API User Hook for the before hook of re_hire_ex_employee
--
end;
--
-- derive and/or validate the person type
--
per_per_bus.chk_person_type
(p_person_type_id => l_person_type_id,
p_business_group_id => l_business_group_id,
p_expected_sys_type => 'EMP');
--
if g_debug then
hr_utility.set_location(l_proc, 15);
end if;
--
if (l_effective_date = p_hire_date) then
l_datetrack_mode := 'CORRECTION';
else
l_datetrack_mode := 'UPDATE';
end if;
-- PTU : Added
l_person_type_id1 := hr_person_type_usage_info.get_default_person_type_id
(l_business_group_id,
'EMP');
-- PTU : End
-- update the person re-hiring as an employee as of the hire date
--
per_per_upd.upd
(p_person_id => p_person_id,
p_person_type_id => l_person_type_id1,
p_effective_date => l_hire_date,
p_datetrack_mode => l_datetrack_mode,
p_object_version_number => p_per_object_version_number,
p_dob_null_warning => p_assign_payroll_warning,
p_effective_start_date => l_per_effective_start_date,
p_effective_end_date => l_per_effective_end_date,
p_rehire_reason => p_rehire_reason,
p_name_combination_warning => l_name_combination_warning,
p_orig_hire_warning => l_orig_hire_warning,
p_comment_id => l_comment_id,
p_current_applicant_flag => l_current_applicant_flag,
p_current_emp_or_apl_flag => l_current_emp_or_apl_flag,
p_current_employee_flag => l_current_employee_flag,
p_employee_number => l_employee_number,
p_applicant_number => l_applicant_number,
p_full_name => l_full_name,
p_npw_number => l_npw_number);
--
if g_debug then
hr_utility.set_location(l_proc, 20);
end if;
--
-- add to current security list
-- when in validation only mode raise the Validate_Enabled exception
--
hr_security_internal.populate_new_person(l_business_group_id,p_person_id);
-- PTU : Following Code has been added
hr_per_type_usage_internal.maintain_person_type_usage
(p_effective_date => l_hire_date
,p_person_id => p_person_id
,p_person_type_id => l_person_type_id
,p_datetrack_update_mode => l_datetrack_mode
);
-- PTU : End of changes
--
if g_debug then
hr_utility.set_location(l_proc, 22);
end if;
--
-- create a new period of service for the re-hired employee
--
per_pds_ins.ins
(p_business_group_id => l_business_group_id,
p_person_id => p_person_id,
p_date_start => l_hire_date,
p_period_of_service_id => l_period_of_service_id,
p_effective_date => p_hire_date,
p_validate_df_flex => false,
p_object_version_number => l_pds_object_version_number);
--
if g_debug then
hr_utility.set_location(l_proc, 25);
end if;
--
-- create a default primary assignment with any corresponding standard
-- element entries for the re-hired employee
--
hr_assignment_internal.create_default_emp_asg
(p_effective_date => l_hire_date,
p_person_id => p_person_id,
p_business_group_id => l_business_group_id,
p_period_of_service_id => l_period_of_service_id,
p_assignment_id => l_assignment_id,
p_object_version_number => l_asg_object_version_number,
p_assignment_sequence => l_assignment_sequence,
p_assignment_number => l_assignment_number);
--
-- when in validation only mode raise the Validate_Enabled exception
--
-- 1766066: added call for contact start date enh.
--
per_people12_pkg.maintain_coverage(p_person_id => p_person_id
,p_type => 'EMP'
);
-- 1766066 end.
begin
--
-- Start of call API User Hook for the after hook of re_hire_ex_employee
--
hr_employee_bk2.re_hire_ex_employee_a
(
p_business_group_id =>l_business_group_id
,p_hire_date =>l_hire_date
,p_person_id =>p_person_id
,p_per_object_version_number =>p_per_object_version_number
,p_person_type_id =>p_person_type_id
,p_rehire_reason =>p_rehire_reason
,p_assignment_id =>l_assignment_id
,p_asg_object_version_number =>l_asg_object_version_number
,p_per_effective_start_date =>l_per_effective_start_date
,p_per_effective_end_date =>l_per_effective_end_date
,p_assignment_sequence =>l_assignment_sequence
,p_assignment_number =>l_assignment_number
,p_assign_payroll_warning =>l_assign_payroll_warning
);
exception
when hr_api.cannot_find_prog_unit then
hr_api.cannot_find_prog_unit_error
(p_module_name => 'RE_HIRE_EX_EMPLOYEE'
,p_hook_type => 'BP'
);
--
-- End of API User Hook for the after hook of re_hire_ex_employee
--
end;
--
if p_validate then
raise hr_api.validate_enabled;
end if;
--
-- Set all output arguments
--
p_assignment_id := l_assignment_id;
p_asg_object_version_number := l_asg_object_version_number;
p_per_effective_start_date := l_per_effective_start_date;
p_per_effective_end_date := l_per_effective_end_date;
p_assignment_sequence := l_assignment_sequence;
p_assignment_number := l_assignment_number;
p_assign_payroll_warning := l_assign_payroll_warning;
--
-- When in validation only mode raise the Validate_Enabled exception
--
if g_debug then
hr_utility.set_location(' Leaving:'||l_proc, 30);
end if;
exception
when hr_api.validate_enabled then
--
-- As the Validate_Enabled exception has been raised
-- we must rollback to the savepoint
--
ROLLBACK TO re_hire_ex_employee;
--
-- Only set output warning arguments
-- (Any key or derived arguments must be set to null
-- when validation only mode is being used.)
--
p_per_object_version_number := l_object_version_number;
p_assignment_id := null;
p_asg_object_version_number := null;
p_per_effective_start_date := null;
p_per_effective_end_date := null;
p_assignment_sequence := null;
p_assignment_number := null;
p_assign_payroll_warning := l_assign_payroll_warning;
--
when others then
--
-- A validation or unexpected error has occurred
--
p_per_object_version_number := l_ovn;
p_assignment_id := null;
p_asg_object_version_number := null;
p_per_effective_start_date := null;
p_per_effective_end_date := null;
p_assignment_sequence := null;
p_assignment_number := null;
p_assign_payroll_warning := false;
-- Added as part of fix to bug 632479
--
ROLLBACK TO re_hire_ex_employee;
--
-- set in out parameters and set out parameters
--
raise;
--
-- End of fix.
--
if g_debug then
hr_utility.set_location(' Leaving:'||l_proc, 35);
end if;
end re_hire_ex_employee;
--
-- ----------------------------------------------------------------------------
-- |-----------------< apply_for_internal_vacancy >-------------------------|
-- ----------------------------------------------------------------------------
procedure apply_for_internal_vacancy
(p_validate in boolean default false
,p_effective_date in date
,p_person_id in number
,p_applicant_number in out nocopy varchar2
,p_per_object_version_number in out nocopy number
,p_vacancy_id in number default null
,p_person_type_id in number default hr_api.g_number
,p_application_id out nocopy number
,p_assignment_id out nocopy number
,p_apl_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_assignment_sequence out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
) is
--
-- declare local variables
--
l_proc varchar2(72) := g_package||'apply_for_internal_vacancy';
l_business_group_id per_people_f.business_group_id%type;
l_name_combination_warning boolean;
l_dob_null_warning boolean;
l_orig_hire_warning boolean;
l_organization_id per_business_groups.organization_id%type;
l_legislation_code per_business_groups.legislation_code%type;
l_person_type_id per_people_f.person_type_id%type := p_person_type_id;
l_person_type_id1 per_people_f.person_type_id%type;
l_application_id per_applications.application_id%type;
l_comment_id per_assignments_f.comment_id%type;
l_assignment_sequence per_assignments_f.assignment_sequence%type;
l_assignment_id per_assignments_f.assignment_id%type;
l_object_version_number per_assignments_f.object_version_number%type;
l_current_applicant_flag per_people_f.current_applicant_flag%type;
l_current_emp_or_apl_flag per_people_f.current_emp_or_apl_flag%type;
l_current_employee_flag per_people_f.current_employee_flag%type;
l_employee_number per_people_f.employee_number%type;
l_applicant_number per_people_f.applicant_number%TYPE;
l_npw_number per_people_f.npw_number%TYPE;
l_per_object_version_number per_people_f.object_version_number%TYPE;
l_full_name per_people_f.full_name%type;
l_system_person_type per_person_types.system_person_type%type;
l_effective_date date;
l_effective_start_date date;
l_effective_end_date date;
l_default_start_time per_business_groups.default_start_time%type;
l_default_end_time per_business_groups.default_end_time%type;
l_normal_hours number;
l_frequency per_business_groups.frequency%type;
l_recruiter_id per_vacancies.recruiter_id%type;
l_grade_id per_vacancies.grade_id%type;
l_position_id per_vacancies.position_id%type;
l_job_id per_vacancies.job_id%type;
l_location_id per_vacancies.location_id%type;
l_people_group_id per_vacancies.people_group_id%type;
l_vac_organization_id per_vacancies.organization_id%type;
l_vac_business_group_id per_vacancies.business_group_id%type;
l_group_name pay_people_groups.group_name%type;
--
-- Local variable added for the before and after business process
-- apply_for_internal_vacancy
--
l_apl_object_version_number number; -- THESE NEED TO BE CHANGED
l_asg_object_version_number number; -- THESE NEED TO BE CHANGED
l_per_effective_start_date date;
l_per_effective_end_date date;
--
--
-- select and validate the person
--
-- now returns employee number which is needed by upd.upd - thayden
--
cursor csr_chk_person_exists is
select ppf.business_group_id
,ppf.employee_number
,ppf.npw_number
,ppt.system_person_type
from per_person_types ppt
,per_people_f ppf
where ppf.person_id = p_person_id
and ppt.person_type_id = ppf.person_type_id
and ppt.business_group_id + 0 = ppf.business_group_id
and l_effective_date
between ppf.effective_start_date
and ppf.effective_end_date;
--
-- Get default person type id for a system person type EMP_APL
--
cursor csr_get_person_type_id is
select person_type_id
from per_person_types
where business_group_id = l_business_group_id
and active_flag = 'Y'
and default_flag = 'Y'
and system_person_type = 'EMP_APL';
--
-- Get organization id for business group.
--
cursor csr_get_organization_id is
select organization_id
,legislation_code
,default_start_time
,default_end_time
,fnd_number.canonical_to_number(working_hours)
,frequency
from per_business_groups
where business_group_id = l_business_group_id;
--
-- Get vacancy information.
--
cursor csr_get_vacancy_details is
select recruiter_id
,grade_id
,position_id
,job_id
,location_id
,people_group_id
,organization_id -- added org id to cursor. thayden 7/10.
,business_group_id -- added business_group_id to cursor lma 7/11
from per_vacancies
where vacancy_id = p_vacancy_id;
--
begin
-- Bug 665566 Savepoint issued before validations start
--
-- Issue a savepoint if operating in validation only mode.
--
if p_validate then
savepoint apply_for_internal_vacancy;
end if;
-- Bug 665566 End
if g_debug then
hr_utility.set_location('Entering:'|| l_proc, 5);
end if;
--
-- Truncate p_effective_date
--
l_effective_date := trunc(p_effective_date);
-- Initialise local variables
--
l_applicant_number := p_applicant_number;
l_per_object_version_number := p_per_object_version_number;
--
--
-- Validation Logic
--
-- Ensure that the mandatory parameter, p_person_id
-- is not null
--
hr_api.mandatory_arg_error
(p_api_name => l_proc
,p_argument => 'person id'
,p_argument_value => p_person_id);
--
if g_debug then
hr_utility.set_location(' Leaving:'||l_proc, 10);
end if;
--
-- Check that this person (p_person_id) exists as of l_effective_date
-- the current person type (per_people_f.person_type_id) has a
-- corresponding system person type of EMP.
--
open csr_chk_person_exists;
fetch csr_chk_person_exists into
l_business_group_id
,l_employee_number
,l_npw_number
,l_system_person_type;
if csr_chk_person_exists%notfound then
close csr_chk_person_exists;
hr_utility.set_message(800, 'HR_51011_PER_NOT_EXIST_DATE');
hr_utility.raise_error;
end if;
close csr_chk_person_exists;
--
--
-- ensure that the system person type is 'EMP'
-- added and l_system_person_type <> 'EMP_APL' to if 15-Jul-97 lma
if (l_system_person_type <> 'EMP' and l_system_person_type <> 'EMP_APL') then
--
-- the system person type is not 'EMP'.
--
hr_utility.set_message(800, 'PER_52788_PER_INV_PER_TYPE');
hr_utility.raise_error;
end if;
if g_debug then
hr_utility.set_location(l_proc, 15);
end if;
--
-- Initialise local variables
--
l_applicant_number := p_applicant_number;
l_per_object_version_number := p_per_object_version_number;
--
begin
--
-- Start of call API User Hook for the before hook of apply_for_internal_vacancy_b
--
hr_employee_bk3.apply_for_internal_vacancy_b
(
p_business_group_id => l_business_group_id
,p_effective_date => l_effective_date
,p_person_id => p_person_id
,p_applicant_number => p_applicant_number
,p_per_object_version_number => p_per_object_version_number
,p_vacancy_id => p_vacancy_id
,p_person_type_id => p_person_type_id
);
exception
when hr_api.cannot_find_prog_unit then
hr_api.cannot_find_prog_unit_error
(p_module_name => 'APPLY_FOR_INTERNAL_VACANCY'
,p_hook_type => 'BP'
);
--
-- End of API User Hook for the before hook of apply_for_internal_vacancy
--
end;
-- processing logic
--
if g_debug then
hr_utility.set_location(l_proc, 20);
end if;
--
-- PTU : Following Code has been added
-- Validate that the person_type_id passed is a flavour of 'APL' or derive the default
--
per_per_bus.chk_person_type
(p_person_type_id => l_person_type_id,
p_business_group_id => l_business_group_id,
p_expected_sys_type => 'APL');
--
-- Get default person type id for EMP_APL.
--
l_person_type_id1 := hr_person_type_usage_info.get_default_person_type_id
(l_business_group_id,
'EMP_APL');
-- PTU end of changes
--
-- open csr_get_person_type_id;
-- fetch csr_get_person_type_id into
-- l_person_type_id;
-- if csr_get_person_type_id%notfound then
-- close csr_get_person_type_id;
-- hr_utility.set_message(801, 'HR_7513_PER_TYPE_INVALID');
-- hr_utility.raise_error;
-- end if;
-- close csr_get_person_type_id;
--
if g_debug then
hr_utility.set_location(l_proc, 25);
end if;
--
-- Get organization id
--
open csr_get_organization_id;
fetch csr_get_organization_id into
l_organization_id
,l_legislation_code
,l_default_start_time
,l_default_end_time
,l_normal_hours
,l_frequency;
if csr_get_organization_id%notfound then
close csr_get_organization_id;
hr_utility.set_message(801, 'HR_7208_API_BUS_GRP_INVALID');
hr_utility.raise_error;
end if;
close csr_get_organization_id;
--
-- Get vacancy details.
--
if p_vacancy_id is not null then
open csr_get_vacancy_details;
fetch csr_get_vacancy_details into
l_recruiter_id
,l_grade_id
,l_position_id
,l_job_id
,l_location_id
,l_people_group_id
,l_vac_organization_id -- added org id. thayden 7/10.
,l_vac_business_group_id; -- added business_group_id. thayden 7/11.
if csr_get_vacancy_details%notfound then
close csr_get_vacancy_details;
hr_utility.set_message(801, 'HR_51001_THE_VAC_NOT_FOUND');
hr_utility.raise_error;
end if;
close csr_get_vacancy_details;
--added if ... end if (Rod's sugguestion)
if l_vac_organization_id is null then
l_vac_organization_id := l_vac_business_group_id;
end if;
else
l_vac_organization_id := l_business_group_id;
end if;
--
if g_debug then
hr_utility.set_location(l_proc, 30);
end if;
--
if l_system_person_type <> 'EMP_APL' then
--
-- update the person from an employee to an employee applicant.
--
per_per_upd.upd
(p_person_id => p_person_id
,p_person_type_id => l_person_type_id1
,p_effective_date => l_effective_date
,p_datetrack_mode => 'UPDATE'
,p_object_version_number => p_per_object_version_number
,p_effective_start_date => l_per_effective_start_date
,p_effective_end_date => l_per_effective_end_date
,p_name_combination_warning => l_name_combination_warning
,p_dob_null_warning => l_dob_null_warning
,p_orig_hire_warning => l_orig_hire_warning
,p_comment_id => l_comment_id
,p_current_applicant_flag => l_current_applicant_flag
,p_current_emp_or_apl_flag => l_current_emp_or_apl_flag
,p_current_employee_flag => l_current_employee_flag
,p_applicant_number => p_applicant_number
,p_employee_number => l_employee_number
,p_full_name => l_full_name
,p_npw_number => l_npw_number
);
--
if g_debug then
hr_utility.set_location(l_proc, 35);
end if;
--
-- create an application.
--
per_apl_ins.ins
(p_application_id => l_application_id
,p_business_group_id => l_business_group_id
,p_person_id => p_person_id
,p_date_received => l_effective_date
,p_object_version_number => l_apl_object_version_number
,p_effective_date => l_effective_date
);
--
if g_debug then
hr_utility.set_location(l_proc, 40);
end if;
--
-- create an applicant assignment for the employee
--
hr_assignment_internal.create_apl_asg
(p_effective_date => l_effective_date
,p_legislation_code => l_legislation_code
,p_business_group_id => l_business_group_id
,p_person_id => p_person_id
,p_organization_id => l_vac_organization_id
,p_application_id => l_application_id
,p_recruiter_id => l_recruiter_id
,p_grade_id => l_grade_id
,p_position_id => l_position_id
,p_job_id => l_job_id
,p_location_id => l_location_id
,p_people_group_id => l_people_group_id
,p_vacancy_id => p_vacancy_id
,p_frequency => l_frequency
,p_manager_flag => 'N'
,p_normal_hours => l_normal_hours
,p_time_normal_finish => l_default_end_time
,p_time_normal_start => l_default_start_time
,p_assignment_id => l_assignment_id
,p_object_version_number => l_asg_object_version_number
,p_effective_start_date => l_effective_start_date
,p_effective_end_date => l_effective_end_date
,p_assignment_sequence => l_assignment_sequence
,p_comment_id => l_comment_id
);
--
-- add to the security list
--
hr_security_internal.add_to_person_list(l_effective_date,l_assignment_id);
--
--
if g_debug then
hr_utility.set_location(l_proc, 45);
end if;
else --l_system_person_type = 'EMP_APL'
--
-- create secondary applicant assignment for the employee
--
-- Get application_id for this person to link this assignment to...
--
select application_id
into l_application_id
from per_applications
where person_id=p_person_id
and l_effective_date between date_received and
nvl(date_end,hr_general.end_of_time);
--
-- create an applicant assignment for the employee
-- but use the create_apl_asg BSI as we don't have any information,
-- like PGP keyflex, about the assignment other than the vacancy
-- details and this one will enable us to by-pass all the flexfield
-- validation.
--
hr_assignment_internal.create_apl_asg
(p_effective_date => l_effective_date
,p_legislation_code => l_legislation_code
,p_business_group_id => l_business_group_id
,p_person_id => p_person_id
,p_organization_id => l_vac_organization_id
,p_application_id => l_application_id
,p_recruiter_id => l_recruiter_id
,p_grade_id => l_grade_id
,p_position_id => l_position_id
,p_job_id => l_job_id
,p_location_id => l_location_id
,p_people_group_id => l_people_group_id
,p_vacancy_id => p_vacancy_id
,p_frequency => l_frequency
,p_manager_flag => 'N'
,p_normal_hours => l_normal_hours
,p_time_normal_finish => l_default_end_time
,p_time_normal_start => l_default_start_time
,p_validate_df_flex => FALSE
,p_assignment_id => l_assignment_id
,p_object_version_number => l_asg_object_version_number
,p_effective_start_date => l_effective_start_date
,p_effective_end_date => l_effective_end_date
,p_assignment_sequence => l_assignment_sequence
,p_comment_id => l_comment_id
);
--
-- add to the security list
--
hr_security_internal.add_to_person_list(l_effective_date,l_assignment_id);
end if;
--
-- PTU: following code added:
--
begin
select ptuf.person_type_id into l_person_type_id1
from per_person_type_usages_f ptuf,
per_person_types ppt
where ptuf.person_id = p_person_id
and p_effective_date between ptuf.effective_start_date
and ptuf.effective_end_date
and ppt.person_type_id = ptuf.person_type_id
and ppt.system_person_type = 'APL';
exception
when no_data_found then
l_person_type_id1 := hr_api.g_number;
end;
--
if l_system_person_type <> 'EMP_APL'
OR (l_system_person_type = 'EMP_APL' AND l_person_type_id <> l_person_type_id1) then
hr_per_type_usage_internal.maintain_person_type_usage
(p_effective_date => l_effective_date
,p_person_id => p_person_id
,p_person_type_id => l_person_type_id
);
end if;
--
-- PTU end of changes
--
begin
--
-- Start of call API User Hook for the after hook of re_hire_ex_employee
--
hr_employee_bk3.apply_for_internal_vacancy_a
(
p_business_group_id => l_business_group_id
,p_effective_date => l_effective_date
,p_person_id => p_person_id
,p_applicant_number => p_applicant_number
,p_per_object_version_number => p_per_object_version_number
,p_vacancy_id => p_vacancy_id
,p_person_type_id => p_person_type_id
,p_application_id => l_application_id
,p_assignment_id => l_assignment_id
,p_apl_object_version_number => l_apl_object_version_number
,p_asg_object_version_number => l_asg_object_version_number
,p_assignment_sequence => l_assignment_sequence
,p_per_effective_start_date => l_per_effective_start_date
,p_per_effective_end_date => l_per_effective_end_date
);
--
exception
when hr_api.cannot_find_prog_unit then
hr_api.cannot_find_prog_unit_error
(p_module_name => 'APPLY_FOR_INTERNAL_VACANCY'
,p_hook_type => 'BP'
);
--
-- End of API User Hook for the after hook of apply_for_internal_vacancy
--
end;
--
-- Set all output arguments
--
p_application_id := l_application_id;
p_assignment_id := l_assignment_id;
p_apl_object_version_number := l_apl_object_version_number;
p_asg_object_version_number := l_asg_object_version_number;
p_assignment_sequence := l_assignment_sequence;
p_per_effective_start_date := l_per_effective_start_date;
p_per_effective_end_date := l_per_effective_end_date;
--
-- when in validation only mode raise the Validate_Enabled exception
--
if p_validate then
raise hr_api.validate_enabled;
end if;
--
if g_debug then
hr_utility.set_location(' Leaving:'||l_proc, 50);
end if;
exception
when hr_api.validate_enabled then
--
-- As the Validate_Enabled exception has been raised
-- we must rollback to the savepoint
--
ROLLBACK TO apply_for_internal_vacancy;
--
-- Only set output warning arguments
-- (Any key or derived arguments must be set to null
-- when validation only mode is being used.)
--
p_per_object_version_number := l_per_object_version_number;
p_applicant_number := l_applicant_number;
p_application_id := null;
p_assignment_id := null;
p_apl_object_version_number := null;
p_asg_object_version_number := null;
p_assignment_sequence := null;
p_per_effective_start_date := null;
p_per_effective_end_date := null;
if g_debug then
hr_utility.set_location(' Leaving:'||l_proc, 55);
end if;
end apply_for_internal_vacancy;
--
-- ----------------------------------------------------------------------------
-- |----------------------------< hire_into_job >-----------------------------|
-- ----------------------------------------------------------------------------
--
PROCEDURE hire_into_job
(p_validate IN BOOLEAN DEFAULT FALSE
,p_effective_date IN DATE
,p_person_id IN NUMBER
,p_object_version_number IN OUT NOCOPY NUMBER
,p_employee_number IN OUT NOCOPY VARCHAR2
,p_datetrack_update_mode IN VARCHAR2 DEFAULT NULL
,p_person_type_id IN NUMBER DEFAULT NULL
,p_national_identifier IN VARCHAR2 DEFAULT NULL
,p_effective_start_date OUT NOCOPY DATE
,p_effective_end_date OUT NOCOPY DATE
,p_assign_payroll_warning OUT NOCOPY BOOLEAN
,p_orig_hire_warning OUT NOCOPY BOOLEAN
)
IS
--
-- Local variables
--
l_proc VARCHAR2(72) := g_package||'hire_into_job';
--
l_effective_date DATE;
--
l_object_version_number CONSTANT per_all_assignments_f.object_version_number%TYPE := p_object_version_number;
l_datetrack_update_mode VARCHAR2(30) := p_datetrack_update_mode;
l_employee_number CONSTANT per_all_people_f.applicant_number%TYPE := p_employee_number;
l_emp_num per_all_people_f.applicant_number%TYPE := p_employee_number;
l_ovn per_all_people_f.object_version_number%TYPE := p_object_version_number;
l_per_effective_start_date per_all_people_f.effective_start_date%TYPE;
l_per_effective_end_date per_all_people_f.effective_end_date%TYPE;
l_assign_payroll_warning BOOLEAN;
l_orig_hire_warning BOOLEAN;
--
l_person_type_id per_person_types.person_type_id%TYPE := p_person_type_id;
l_person_type_id1 per_person_types.person_type_id%TYPE;
--
l_future_asgs_count INTEGER;
l_system_person_type per_person_types.system_person_type%TYPE;
l_effective_start_date DATE;
l_effective_end_date DATE;
l_comment_id hr_comments.comment_id%TYPE;
l_current_applicant_flag per_all_people_f.current_applicant_flag%TYPE;
l_current_emp_or_apl_flag per_all_people_f.current_emp_or_apl_flag%TYPE;
l_current_employee_flag per_all_people_f.current_employee_flag%TYPE;
l_full_name per_all_people_f.full_name%TYPE;
l_name_combination_warning BOOLEAN;
l_period_of_service_id per_periods_of_service.period_of_service_id%TYPE;
l_pds_object_version_number per_periods_of_service.object_version_number%TYPE;
l_assignment_id per_all_assignments_f.assignment_id%TYPE;
l_asg_object_version_number per_all_assignments_f.object_version_number%TYPE;
l_assignment_sequence per_all_assignments_f.assignment_sequence%TYPE;
l_assignment_number per_all_assignments_f.assignment_number%TYPE;
l_person_type_usage_id per_person_type_usages.person_type_usage_id%TYPE;
l_ptu_object_version_number per_person_type_usages.object_version_number%TYPE;
--
-- Start of fix for bug 3143299
l_final_process_date per_periods_of_service.final_process_date%type;
--
-- Local cursors
cursor csr_chk_period_of_service is
select pos.final_process_date
from per_periods_of_service pos
where pos.person_id = p_person_id
order by pos.date_start desc;
--
-- End of fix for bug 3143299
--
CURSOR csr_per_details
(p_person_id IN per_all_people_f.person_id%TYPE
,p_effective_date IN DATE
)
IS
SELECT pet.person_type_id
,pet.system_person_type
,per.effective_start_date
,per.effective_end_date
,per.applicant_number
,per.employee_number
,per.npw_number
,bus.business_group_id
,bus.legislation_code
FROM per_people_f per
,per_business_groups bus
,per_person_types pet
WHERE per.person_type_id = pet.person_type_id
AND per.business_group_id+0 = bus.business_group_id
AND per.person_id = csr_per_details.p_person_id
AND csr_per_details.p_effective_date BETWEEN per.effective_start_date
AND per.effective_end_date;
l_per_details_rec csr_per_details%ROWTYPE;
--
BEGIN
--
if g_debug then
hr_utility.set_location('Entering:'||l_proc,10);
end if;
--
-- Ensure mandatory arguments have been passed
--
hr_api.mandatory_arg_error
(p_api_name => l_proc
,p_argument => 'person_id'
,p_argument_value => p_person_id
);
--
hr_api.mandatory_arg_error
(p_api_name => l_proc
,p_argument => 'effective_date'
,p_argument_value => p_effective_date
);
--
-- Truncate all date parameters passed in
--
l_effective_date := TRUNC(p_effective_date);
--
-- Issue savepoint
--
SAVEPOINT hire_into_job;
--
if g_debug then
hr_utility.set_location(l_proc,20);
end if;
--
-- Get dervied details for person on effective date
--
OPEN csr_per_details
(p_person_id => p_person_id
,p_effective_date => p_effective_date
);
FETCH csr_per_details INTO l_per_details_rec;
IF csr_per_details%NOTFOUND
THEN
CLOSE csr_per_details;
hr_utility.set_message(800,'PER_52097_APL_INV_PERSON_ID');
hr_utility.raise_error;
END IF;
CLOSE csr_per_details;
--
if g_debug then
hr_utility.set_location(l_proc,30);
end if;
--
-- Call Before Process User Hook
--
BEGIN
hr_employee_bk4.hire_into_job_b
(p_effective_date => l_effective_date
,p_person_id => p_person_id
,p_business_group_id => l_per_details_rec.business_group_id
,p_object_version_number => p_object_version_number
,p_datetrack_update_mode => p_datetrack_update_mode
,p_employee_number => p_employee_number
,p_person_type_id => p_person_type_id
,p_national_identifier => p_national_identifier
);
EXCEPTION
WHEN hr_api.cannot_find_prog_unit
THEN
hr_api.cannot_find_prog_unit_error
(p_module_name => 'HIRE_INTO_JOB'
,p_hook_type => 'BP'
);
END;
--
if g_debug then
hr_utility.set_location(l_proc,40);
end if;
--
-- Check the person is of a correct system person type
--
IF l_per_details_rec.system_person_type NOT IN ('EX_APL','EX_EMP','OTHER')
THEN
if g_debug then
hr_utility.set_location(l_proc,50);
end if;
hr_utility.set_message(800,'PER_52096_APL_INV_PERSON_TYPE');
hr_utility.raise_error;
END IF;
--
if g_debug then
hr_utility.set_location(l_proc,60);
end if;
-- Start of fix for bug 3143299.
--
-- if the person is of type Ex-employee then ensure the most recent period
-- of service for this person has been completely terminated. i.e. check
-- that period_of_service.final_process_date is not null and comes before
-- p_hire_date. we only fetch the 1st row (which is the latest pos).
--
if l_per_details_rec.system_person_type = 'EX_EMP' then
--
open csr_chk_period_of_service;
fetch csr_chk_period_of_service into l_final_process_date;
if csr_chk_period_of_service%notfound then
close csr_chk_period_of_service;
--
-- a period of service row does not exist for the person therefore
-- we must error
--
-- This person does not have a previous period of service
--
hr_utility.set_message(801, 'HR_51013_PDS_NOT_EXIST');
hr_utility.raise_error;
end if;
close csr_chk_period_of_service;
--
if (l_final_process_date is null) then
--
-- the employee cannot be terminated as the final process date has not
-- been set
--
-- You cannot re-hire a person who does not have a final processing date
-- set for their most recent period of service
--
hr_utility.set_message(801, 'HR_51014_REHIRE_FINAL_DATE');
hr_utility.raise_error;
elsif (l_final_process_date >= l_effective_date) then
--
-- the re hire date is before the current final process date
--
-- You cannot re-hire an Ex-Employee before their final processing date.
-- Please specify a Re-Hire date which is after the final processing date.
--
hr_utility.set_message(801, 'HR_51015_REHIRE_NEW_DATE');
hr_utility.raise_error;
end if;
end if;
--
if g_debug then
hr_utility.set_location(l_proc,65);
end if;
-- End of fix for bug 3143299
-- Ensure the employee number will not be changed if it exists
--
IF l_per_details_rec.employee_number IS NOT NULL
AND NVL(p_employee_number,hr_api.g_number) <> l_per_details_rec.employee_number
THEN
if g_debug then
hr_utility.set_location(l_proc,70);
end if;
p_employee_number := l_per_details_rec.employee_number;
END IF;
--
if g_debug then
hr_utility.set_location(l_proc,80);
end if;
--
-- Check the person does not have future assignment changes
--
l_future_asgs_count := future_asgs_count
(p_person_id => p_person_id
,p_effective_date => l_effective_date
);
IF l_future_asgs_count > 0
THEN
if g_debug then
hr_utility.set_location(l_proc,90);
end if;
hr_utility.set_message(800,'HR_7975_ASG_INV_FUTURE_ASA');
hr_utility.raise_error;
END IF;
--
if g_debug then
hr_utility.set_location(l_proc,100);
end if;
--
-- If person type id is not null check it corresponds to the correct type for
-- the persons current system person type is currently active and in the
-- correct business group, otherwise set person type id to the active default
-- for the correct system person type in the correct business group
--
if g_debug then
hr_utility.set_location(l_proc,110);
end if;
l_system_person_type := 'EMP';
per_per_bus.chk_person_type
(p_person_type_id => l_person_type_id
,p_business_group_id => l_per_details_rec.business_group_id
,p_expected_sys_type => l_system_person_type
);
--
if g_debug then
hr_utility.set_location(l_proc,120);
end if;
--
-- Check the datetrack mode
--
IF (l_per_details_rec.system_person_type = 'OTHER')
THEN
IF (l_datetrack_update_mode IS NULL)
THEN
l_datetrack_update_mode := hr_api.g_update;
ELSE
IF (l_datetrack_update_mode NOT IN (hr_api.g_update,hr_api.g_correction))
THEN
hr_utility.set_message(800,'HR_7203_DT_UPD_MODE_INVALID');
hr_utility.raise_error;
END IF;
END IF;
ELSE
l_datetrack_update_mode := hr_api.g_update;
END IF;
--
-- PTU : Added
l_person_type_id1 := hr_person_type_usage_info.get_default_person_type_id
( l_per_details_rec.business_group_id,
'EMP');
-- PTU : End
-- Update the person details to the new person type
--
per_per_upd.upd
(p_person_id => p_person_id
,p_effective_start_date => l_per_effective_start_date
,p_effective_end_date => l_per_effective_end_date
,p_person_type_id => l_person_type_id1
,p_applicant_number => l_per_details_rec.applicant_number
,p_comment_id => l_comment_id
,p_current_applicant_flag => l_current_applicant_flag
,p_current_emp_or_apl_flag => l_current_emp_or_apl_flag
,p_current_employee_flag => l_current_employee_flag
,p_employee_number => p_employee_number
,p_national_identifier => p_national_identifier
,p_full_name => l_full_name
,p_object_version_number => p_object_version_number
,p_effective_date => l_effective_date
,p_datetrack_mode => l_datetrack_update_mode
,p_name_combination_warning => l_name_combination_warning
,p_dob_null_warning => l_assign_payroll_warning
,p_orig_hire_warning => l_orig_hire_warning
,p_npw_number => l_per_details_rec.npw_number
);
--
if g_debug then
hr_utility.set_location(l_proc,130);
end if;
--
-- add to current security list
--
hr_security_internal.populate_new_person(l_per_details_rec.business_group_id,p_person_id);
--
if g_debug then
hr_utility.set_location(l_proc,135);
end if;
--
-- Create an period of service for the person
--
per_pds_ins.ins
(p_effective_date => l_effective_date
,p_business_group_id => l_per_details_rec.business_group_id
,p_person_id => p_person_id
,p_date_start => l_effective_date
,p_validate_df_flex => false
,p_period_of_service_id => l_period_of_service_id
,p_object_version_number => l_pds_object_version_number
);
--
if g_debug then
hr_utility.set_location(l_proc,140);
end if;
--
-- Create a default employee assignment for the person
--
hr_assignment_internal.create_default_emp_asg
(p_effective_date => l_effective_date
,p_business_group_id => l_per_details_rec.business_group_id
,p_person_id => p_person_id
,p_period_of_service_id => l_period_of_service_id
,p_assignment_id => l_assignment_id
,p_object_version_number => l_asg_object_version_number
,p_assignment_sequence => l_assignment_sequence
,p_assignment_number => l_assignment_number
);
--
if g_debug then
hr_utility.set_location(l_proc,150);
end if;
--
-- Create person type usage record
-- No Longer Required: This is automatically created on insert of
-- a period of service record above.
--
/*
hr_per_type_usage_internal.create_person_type_usage
(p_effective_date => l_effective_date
,p_person_id => p_person_id
,p_person_type_id => l_person_type_id
,p_person_type_usage_id => l_person_type_usage_id
,p_effective_start_date => l_effective_start_date
,p_effective_end_date => l_effective_end_date
,p_object_version_number => l_ptu_object_version_number
);
*/
-- PTU : Following Code has been added
hr_per_type_usage_internal.maintain_person_type_usage
(p_effective_date => l_effective_date
,p_person_id => p_person_id
,p_person_type_id => l_person_type_id
);
-- PTU : End of changes
-- 1766066: added call for contact start date enh.
--
per_people12_pkg.maintain_coverage(p_person_id => p_person_id
,p_type => 'EMP'
);
-- 1766066 end.
--
-- Call After Process User Hook
--
BEGIN
hr_employee_bk4.hire_into_job_a
(p_effective_date => l_effective_date
,p_person_id => p_person_id
,p_business_group_id => l_per_details_rec.business_group_id
,p_object_version_number => p_object_version_number
,p_datetrack_update_mode => p_datetrack_update_mode
,p_employee_number => p_employee_number
,p_person_type_id => p_person_type_id
,p_national_identifier => p_national_identifier
,p_effective_start_date => l_per_effective_start_date
,p_effective_end_date => l_per_effective_end_date
,p_assign_payroll_warning => l_assign_payroll_warning
,p_orig_hire_warning => l_orig_hire_warning
);
EXCEPTION
WHEN hr_api.cannot_find_prog_unit
THEN
hr_api.cannot_find_prog_unit_error
(p_module_name => 'HIRE_INTO_JOB'
,p_hook_type => 'AP'
);
END;
--
if g_debug then
hr_utility.set_location(l_proc,160);
end if;
--
-- When in validation only mode raise validate_enabled exception
--
IF p_validate
THEN
RAISE hr_api.validate_enabled;
END IF;
--
-- Set OUT parameters
--
p_effective_start_date := l_per_effective_start_date;
p_effective_end_date := l_per_effective_end_date;
p_assign_payroll_warning := l_assign_payroll_warning;
p_orig_hire_warning := l_orig_hire_warning;
--
if g_debug then
hr_utility.set_location(' Leaving:'||l_proc,1000);
end if;
--
EXCEPTION
--
WHEN hr_api.validate_enabled
THEN
--
-- In validation only mode
-- Rollback to savepoint
-- Set relevant output warning arguments
-- Reset any key or derived arguments
--
ROLLBACK TO hire_into_job;
p_object_version_number := l_object_version_number;
p_employee_number := l_employee_number;
p_effective_start_date := NULL;
p_effective_end_date := NULL;
p_assign_payroll_warning := l_assign_payroll_warning;
p_orig_hire_warning := l_orig_hire_warning;
--
WHEN OTHERS
THEN
--
-- Validation or unexpected error occured
-- Ensure opened non-local cursors are closed
-- Rollback to savepoint
-- Re-raise exception
--
ROLLBACK TO hire_into_job;
--
-- set in out parameters and set out parameters
--
p_object_version_number := l_ovn;
p_employee_number := l_emp_num;
p_effective_start_date := NULL;
p_effective_end_date := NULL;
p_assign_payroll_warning := false;
p_orig_hire_warning := false;
--
IF csr_per_details%ISOPEN
THEN
CLOSE csr_per_details;
END IF;
RAISE;
--
END hire_into_job;
--
end hr_employee_api;
/
set define on
create or replace Package hr_employee_api AUTHID CURRENT_USER as
/* $Header: peempapi.pkh 115.24 2003/10/23 02:41:13 jpthomas ship $ */
--
-- ----------------------------------------------------------------------------
-- |--------------------------< create_employee >-----------------------------|
-- ----------------------------------------------------------------------------
--
-- {Start Of Comments}
--
-- Description:
-- This API creates a new employee, including a default primary assignment
-- and a period of service for the employee.
--
-- Secure user functionality is included in this version of the API. The
-- employee will be visible to secure users in the business group.
--
-- The following parameters are currently unsupported and must have a null
-- value :
-- p_fast_path_employee
-- p_projected_start_date
--
-- Prerequisites
-- If person_type_id is supplied, it must have a corresponding system person
-- type of 'EMP', must be active and be in the same business group as that
-- of the employee being created.
--
-- In Parameters:
-- Name Reqd Type Description
-- p_validate No boolean If true, the database
-- remains unchanged. If false
-- then the employee will be
-- created in the database.
-- p_hire_date Yes date The employee hire date and
-- thus the effective start
-- date of the person, primary
-- assignment and period of
-- service.
-- p_business_group_id Yes number The employee's business
-- group.
-- p_last_name Yes varchar2 Employee's last name.
-- p_sex Yes varchar2 Employee sex.
-- p_person_type_id No number Person type id. If this value
-- is omitted then the
-- person_type_id of the default
-- `EMP' system person type in
-- the employee's business group
-- is used.
-- p_per_comments No varchar2 Comments for person record.
-- p_date_employee_data_verified No date The date on which the
-- employee data was last
-- verified.
-- p_date_of_birth No date Date of birth.
-- p_email_address No date Email address.
-- p_employee_number No varchar2 Employee number.
-- p_expense_check_send_to_addres No varchar2 Address to use as mailing
-- address.
-- p_first_name No varchar2 Employee's first name.
-- p_known_as No varchar2 Alternative name.
-- p_marital_status No varchar2 Marital status.
-- p_middle_names No varchar2 Employee's middle name(s).
-- p_nationality No varchar2 Employee's nationality.
-- p_national_identifier No varchar2 National identifier.
-- p_previous_last_name No varchar2 Previous last name.
-- p_registered_disabled_flag No varchar2 Registered disabled flag.
-- p_title No varchar2 Employee's title.
-- p_vendor_id No number Foreign key to PO_VENDORS.
-- p_work_telephone No varchar2 Work telephone.
-- p_attribute_category No varchar2 Determines the context of
-- the descriptive flexfield
-- in the parameter list.
-- p_attribute1 No varchar2 Descriptive flexfield.
-- p_attribute2 No varchar2 Descriptive flexfield.
-- p_attribute3 No varchar2 Descriptive flexfield.
-- p_attribute4 No varchar2 Descriptive flexfield.
-- p_attribute5 No varchar2 Descriptive flexfield.
-- p_attribute6 No varchar2 Descriptive flexfield.
-- p_attribute7 No varchar2 Descriptive flexfield.
-- p_attribute8 No varchar2 Descriptive flexfield.
-- p_attribute9 No varchar2 Descriptive flexfield.
-- p_attribute10 No varchar2 Descriptive flexfield.
-- p_attribute11 No varchar2 Descriptive flexfield.
-- p_attribute12 No varchar2 Descriptive flexfield.
-- p_attribute13 No varchar2 Descriptive flexfield.
-- p_attribute14 No varchar2 Descriptive flexfield.
-- p_attribute15 No varchar2 Descriptive flexfield.
-- p_attribute16 No varchar2 Descriptive flexfield.
-- p_attribute17 No varchar2 Descriptive flexfield.
-- p_attribute18 No varchar2 Descriptive flexfield.
-- p_attribute19 No varchar2 Descriptive flexfield.
-- p_attribute20 No varchar2 Descriptive flexfield.
-- p_attribute21 No varchar2 Descriptive flexfield.
-- p_attribute22 No varchar2 Descriptive flexfield.
-- p_attribute23 No varchar2 Descriptive flexfield.
-- p_attribute24 No varchar2 Descriptive flexfield.
-- p_attribute25 No varchar2 Descriptive flexfield.
-- p_attribute26 No varchar2 Descriptive flexfield.
-- p_attribute27 No varchar2 Descriptive flexfield.
-- p_attribute28 No varchar2 Descriptive flexfield.
-- p_attribute29 No varchar2 Descriptive flexfield.
-- p_attribute30 No varchar2 Descriptive flexfield.
-- p_per_information_category No varchar2 Determines the context of
-- the developer descriptive
-- flexfield.
-- p_per_information1 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information2 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information3 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information4 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information5 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information6 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information7 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information8 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information9 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information10 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information11 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information12 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information13 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information14 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information15 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information16 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information17 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information18 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information19 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information20 No varchar2 Developer descriptive
-- flexfield.
-- p_per_information21 No varchar2 Developer descriptive
-- flexfield
-- p_per_information22 No varchar2 Developer descriptive
-- flexfield
-- p_per_information23 No varchar2 Developer descriptive
-- flexfield
-- p_per_information24 No varchar2 Developer descriptive
-- flexfield
-- p_per_information25 No varchar2 Developer descriptive
-- flexfield
-- p_per_information26 No varchar2 Developer descriptive
-- flexfield
-- p_per_information27 No varchar2 Developer descriptive
-- flexfield
-- p_per_information28 No varchar2 Developer descriptive
-- flexfield
-- p_per_information29 No varchar2 Developer descriptive
-- flexfield
-- p_per_information30 No varchar2 Developer descriptive
-- flexfield
-- p_date_of_death No varchar2 Date of death
-- p_background_check_status No varchar2 Y/N flag indicates whether
-- background check has been
-- performed
-- p_background_date_check No date Date background check was
-- performed
-- p_blood_type No varchar2 Blood type
-- p_correspondence_language No varchar2 Preferred language for
-- correspondance
-- p_fast_path_employee No varchar2 Currently unsupported
-- p_fte_capacity No number Full time/part time
-- availability for work
-- p_honors No varchar2 Honors or degrees awarded
-- p_internal_location No varchar2 Internal location of office
-- p_last_medical_test_by No varchar2 Name of physician who
-- performed last medical test
-- p_last_medical_test_date No date Date of last medical test
-- p_mailstop No varchar2 Office identifier for
-- internal mail
-- p_office_number No varchar2 Number of office
-- p_on_military_service No varchar2 Y/N flag indicating whether
-- person is employed in
-- military service
-- p_pre_name_adjunct No varchar2 First part of surname such
-- as Van or De
-- p_rehire_recommendation No varchar2 The employee can be rehired
-- or not after termination.
-- p_projected_start_date No date Currently unsupported
-- p_resume_exists No varchar2 Y/N flag indicating whether
-- resume is on file
-- p_resume_last_updated No date Date resume last updated
-- p_second_passport_exists No varchar2 Y/N flag indicaing whether
-- person has multiple passports
-- p_student_status No varchar2 Full time/part time status
-- of student
-- p_work_schedule No varchar2 Type of work schedule
-- inndicating which days
-- person works
-- p_suffix No varchar2 Employee's suffix
-- p_benefit_group_id No number Benefit group id.
-- p_receipt_of_death_cert_date No date Date the death certificate
-- is received.
-- p_coord_ben_med_pln_no No varchar2 Coordinated benefit medical
-- plan number
-- p_coord_ben_no_cvg_flag No varchar2 Coordinated benefit no other
-- coverage flag
-- p_coord_ben_med_ext_er No varchar2 Secondary medical coverage external
-- employer
-- p_coord_ben_med_pl_name No varchar2 Secondary medical coverage name
-- p_coord_ben_med_insr_crr_name No varchar2 Secondary medical coverage insurance
-- carrier
-- p_coord_ben_med_insr_crr_ident No varchar2 Secondary medical coverage insurance
-- carrier id
-- p_coord_ben_med_cvg_strt_dt No varchar2 Secondary medical coverage effective
-- start date
-- p_coord_ben_med_cvg_end_dt No varchar2 Secondary medical coverage effective
-- end date
-- p_uses_tobacco_flag No varchar2 Uses tobacco list of values
-- p_dpdnt_adoption_date No date Dependent's adoption date
-- p_dpdnt_vlntry_svce_flag No varchar2 Dependent's voluntary service
-- flag
-- p_original_date_of_hire No date Original date of hire
-- p_adjusted_svc_date No date Adjusted service date
-- p_town_of_birth No varchar2 Town or city of birth
-- p_region_of_birth No varchar2 Geographical region of birth
-- p_country_of_birth No varchar2 Country of birth
-- p_global_person_id No varchar2 Global ID for the person
--
--
-- Post success:
-- When the person, primary assignment and period of service have been
-- successfully inserted, the following OUT parameters are set:
--
-- Name Type Description
-- p_employee_number varchar2 If p_validate is false this will
-- be set to the employee number of
-- the person created. If
-- p_validate is true this will be
-- set to the same value as passed
-- in.
-- p_person_id number If p_validate is false, this
-- uniquely identifies the person
-- created. If p_validate is true
-- this parameter will be null.
-- p_assignment_id number If p_validate is false, this
-- uniquely identifies the primary
-- assignment created. If
-- p_validate is true this parameter
-- will be null.
-- p_per_object_version_number number If p_validate is false, this will
-- be set to the version number of
-- the person created. If
-- p_validate is true this parameter
-- will be set to null.
-- p_asg_object_version_number number If p_validate is false, this will
-- be set to the version number of
-- the default assignment created.
-- If p_validate is true this
-- parameter will be set to null.
-- p_per_effective_start_date date If p_validate is false, this will
-- be set to the effective start
-- date of the person. If
-- p_validate is true this will be
-- null.
-- p_per_effective_end_date date If p_validate is false, this will
-- be set to the effective end
-- date of the person. If
-- p_validate is true this will be
-- null.
-- p_full_name varchar2 If p_validate is false, this will
-- be set to the complete full name
-- of the person. If p_validate is
-- true this will be null.
-- p_per_comment_id number If p_validate is false this will
-- be set to the id of the
-- corresponding person comment row,
-- if any comment text exists. If
-- p_validate is true this will be
-- null.
-- p_assignment_sequence number If p_validate is false this will
-- be set to the sequence number of
-- the primary assignment. If
-- p_validate is true this will be
-- null.
-- p_assignment_number varchar2 If p_validate is false this will
-- be set to the assignment number
-- of the primary assignment. If
-- p_validate is true this will be
-- null.
-- p_name_combination_warning boolean Set to true if the combination
-- of last name, first name and date
-- of birth already existed prior
-- to the person being created.
-- p_assign_payroll_warning boolean Set to true if the date of birth
-- has not been set.
-- p_orig_hire_warning boolean Set to true if the original date
-- of hire is not null and the
-- person type is not EMP,EMP_APL,
-- EX_EMP or EX_EMP_APL.
--
-- Post Failure:
-- The API does not create the person, primary assignment or period of
-- service and raises an error.
--
-- Access Status:
-- Public.
--
-- {End Of Comments}
--
procedure create_employee
(p_validate in boolean default false
,p_hire_date in date
,p_business_group_id in number
,p_last_name in varchar2
,p_sex in varchar2
,p_person_type_id in number default null
,p_per_comments in varchar2 default null
,p_date_employee_data_verified in date default null
,p_date_of_birth in date default null
,p_email_address in varchar2 default null
,p_employee_number in out nocopy varchar2
,p_expense_check_send_to_addres in varchar2 default null
,p_first_name in varchar2 default null
,p_known_as in varchar2 default null
,p_marital_status in varchar2 default null
,p_middle_names in varchar2 default null
,p_nationality in varchar2 default null
,p_national_identifier in varchar2 default null
,p_previous_last_name in varchar2 default null
,p_registered_disabled_flag in varchar2 default null
,p_title in varchar2 default null
,p_vendor_id in number default null
,p_work_telephone in varchar2 default null
,p_attribute_category in varchar2 default null
,p_attribute1 in varchar2 default null
,p_attribute2 in varchar2 default null
,p_attribute3 in varchar2 default null
,p_attribute4 in varchar2 default null
,p_attribute5 in varchar2 default null
,p_attribute6 in varchar2 default null
,p_attribute7 in varchar2 default null
,p_attribute8 in varchar2 default null
,p_attribute9 in varchar2 default null
,p_attribute10 in varchar2 default null
,p_attribute11 in varchar2 default null
,p_attribute12 in varchar2 default null
,p_attribute13 in varchar2 default null
,p_attribute14 in varchar2 default null
,p_attribute15 in varchar2 default null
,p_attribute16 in varchar2 default null
,p_attribute17 in varchar2 default null
,p_attribute18 in varchar2 default null
,p_attribute19 in varchar2 default null
,p_attribute20 in varchar2 default null
,p_attribute21 in varchar2 default null
,p_attribute22 in varchar2 default null
,p_attribute23 in varchar2 default null
,p_attribute24 in varchar2 default null
,p_attribute25 in varchar2 default null
,p_attribute26 in varchar2 default null
,p_attribute27 in varchar2 default null
,p_attribute28 in varchar2 default null
,p_attribute29 in varchar2 default null
,p_attribute30 in varchar2 default null
,p_per_information_category in varchar2 default null
,p_per_information1 in varchar2 default null
,p_per_information2 in varchar2 default null
,p_per_information3 in varchar2 default null
,p_per_information4 in varchar2 default null
,p_per_information5 in varchar2 default null
,p_per_information6 in varchar2 default null
,p_per_information7 in varchar2 default null
,p_per_information8 in varchar2 default null
,p_per_information9 in varchar2 default null
,p_per_information10 in varchar2 default null
,p_per_information11 in varchar2 default null
,p_per_information12 in varchar2 default null
,p_per_information13 in varchar2 default null
,p_per_information14 in varchar2 default null
,p_per_information15 in varchar2 default null
,p_per_information16 in varchar2 default null
,p_per_information17 in varchar2 default null
,p_per_information18 in varchar2 default null
,p_per_information19 in varchar2 default null
,p_per_information20 in varchar2 default null
,p_per_information21 in varchar2 default null
,p_per_information22 in varchar2 default null
,p_per_information23 in varchar2 default null
,p_per_information24 in varchar2 default null
,p_per_information25 in varchar2 default null
,p_per_information26 in varchar2 default null
,p_per_information27 in varchar2 default null
,p_per_information28 in varchar2 default null
,p_per_information29 in varchar2 default null
,p_per_information30 in varchar2 default null
,p_date_of_death in date default null
,p_background_check_status in varchar2 default null
,p_background_date_check in date default null
,p_blood_type in varchar2 default null
,p_correspondence_language in varchar2 default null
,p_fast_path_employee in varchar2 default null
,p_fte_capacity in number default null
,p_honors in varchar2 default null
,p_internal_location in varchar2 default null
,p_last_medical_test_by in varchar2 default null
,p_last_medical_test_date in date default null
,p_mailstop in varchar2 default null
,p_office_number in varchar2 default null
,p_on_military_service in varchar2 default null
,p_pre_name_adjunct in varchar2 default null
,p_rehire_recommendation in varchar2 default null -- Bug3210500
,p_projected_start_date in date default null
,p_resume_exists in varchar2 default null
,p_resume_last_updated in date default null
,p_second_passport_exists in varchar2 default null
,p_student_status in varchar2 default null
,p_work_schedule in varchar2 default null
,p_suffix in varchar2 default null
,p_benefit_group_id in number default null
,p_receipt_of_death_cert_date in date default null
,p_coord_ben_med_pln_no in varchar2 default null
,p_coord_ben_no_cvg_flag in varchar2 default 'N'
,p_coord_ben_med_ext_er in varchar2 default null
,p_coord_ben_med_pl_name in varchar2 default null
,p_coord_ben_med_insr_crr_name in varchar2 default null
,p_coord_ben_med_insr_crr_ident in varchar2 default null
,p_coord_ben_med_cvg_strt_dt in date default null
,p_coord_ben_med_cvg_end_dt in date default null
,p_uses_tobacco_flag in varchar2 default null
,p_dpdnt_adoption_date in date default null
,p_dpdnt_vlntry_svce_flag in varchar2 default 'N'
,p_original_date_of_hire in date default null
,p_adjusted_svc_date in date default null
,p_town_of_birth in varchar2 default null
,p_region_of_birth in varchar2 default null
,p_country_of_birth in varchar2 default null
,p_global_person_id in varchar2 default null
,p_party_id in number default null
,p_person_id out nocopy number
,p_assignment_id out nocopy number
,p_per_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_full_name out nocopy varchar2
,p_per_comment_id out nocopy number
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_name_combination_warning out nocopy boolean
,p_assign_payroll_warning out nocopy boolean
,p_orig_hire_warning out nocopy boolean
);
-- ----------------------------------------------------------------------------
--
-- Begin fix for bug 899720
--
-- ----------------------------------------------------------------------------
-- |--------------------------< create_employee >-----------------------------|
-- ----------------------------------------------------------------------------
--
-- {Start Of Comments}
--
-- Description:
-- This procedure is an overload version of the above procedure
-- create_employee without the parameter 'p_orig_hire_warning'.
-- Therefore the user documentation is the same.
--
-- {End Of Comments}
--
procedure create_employee
(p_validate in boolean default false
,p_hire_date in date
,p_business_group_id in number
,p_last_name in varchar2
,p_sex in varchar2
,p_person_type_id in number default null
,p_per_comments in varchar2 default null
,p_date_employee_data_verified in date default null
,p_date_of_birth in date default null
,p_email_address in varchar2 default null
,p_employee_number in out nocopy varchar2
,p_expense_check_send_to_addres in varchar2 default null
,p_first_name in varchar2 default null
,p_known_as in varchar2 default null
,p_marital_status in varchar2 default null
,p_middle_names in varchar2 default null
,p_nationality in varchar2 default null
,p_national_identifier in varchar2 default null
,p_previous_last_name in varchar2 default null
,p_registered_disabled_flag in varchar2 default null
,p_title in varchar2 default null
,p_vendor_id in number default null
,p_work_telephone in varchar2 default null
,p_attribute_category in varchar2 default null
,p_attribute1 in varchar2 default null
,p_attribute2 in varchar2 default null
,p_attribute3 in varchar2 default null
,p_attribute4 in varchar2 default null
,p_attribute5 in varchar2 default null
,p_attribute6 in varchar2 default null
,p_attribute7 in varchar2 default null
,p_attribute8 in varchar2 default null
,p_attribute9 in varchar2 default null
,p_attribute10 in varchar2 default null
,p_attribute11 in varchar2 default null
,p_attribute12 in varchar2 default null
,p_attribute13 in varchar2 default null
,p_attribute14 in varchar2 default null
,p_attribute15 in varchar2 default null
,p_attribute16 in varchar2 default null
,p_attribute17 in varchar2 default null
,p_attribute18 in varchar2 default null
,p_attribute19 in varchar2 default null
,p_attribute20 in varchar2 default null
,p_attribute21 in varchar2 default null
,p_attribute22 in varchar2 default null
,p_attribute23 in varchar2 default null
,p_attribute24 in varchar2 default null
,p_attribute25 in varchar2 default null
,p_attribute26 in varchar2 default null
,p_attribute27 in varchar2 default null
,p_attribute28 in varchar2 default null
,p_attribute29 in varchar2 default null
,p_attribute30 in varchar2 default null
,p_per_information_category in varchar2 default null
,p_per_information1 in varchar2 default null
,p_per_information2 in varchar2 default null
,p_per_information3 in varchar2 default null
,p_per_information4 in varchar2 default null
,p_per_information5 in varchar2 default null
,p_per_information6 in varchar2 default null
,p_per_information7 in varchar2 default null
,p_per_information8 in varchar2 default null
,p_per_information9 in varchar2 default null
,p_per_information10 in varchar2 default null
,p_per_information11 in varchar2 default null
,p_per_information12 in varchar2 default null
,p_per_information13 in varchar2 default null
,p_per_information14 in varchar2 default null
,p_per_information15 in varchar2 default null
,p_per_information16 in varchar2 default null
,p_per_information17 in varchar2 default null
,p_per_information18 in varchar2 default null
,p_per_information19 in varchar2 default null
,p_per_information20 in varchar2 default null
,p_per_information21 in varchar2 default null
,p_per_information22 in varchar2 default null
,p_per_information23 in varchar2 default null
,p_per_information24 in varchar2 default null
,p_per_information25 in varchar2 default null
,p_per_information26 in varchar2 default null
,p_per_information27 in varchar2 default null
,p_per_information28 in varchar2 default null
,p_per_information29 in varchar2 default null
,p_per_information30 in varchar2 default null
,p_date_of_death in date default null
,p_background_check_status in varchar2 default null
,p_background_date_check in date default null
,p_blood_type in varchar2 default null
,p_correspondence_language in varchar2 default null
,p_fast_path_employee in varchar2 default null
,p_fte_capacity in number default null
,p_honors in varchar2 default null
,p_internal_location in varchar2 default null
,p_last_medical_test_by in varchar2 default null
,p_last_medical_test_date in date default null
,p_mailstop in varchar2 default null
,p_office_number in varchar2 default null
,p_on_military_service in varchar2 default null
,p_pre_name_adjunct in varchar2 default null
,p_rehire_recommendation in varchar2 default null -- Bug3210500
,p_projected_start_date in date default null
,p_resume_exists in varchar2 default null
,p_resume_last_updated in date default null
,p_second_passport_exists in varchar2 default null
,p_student_status in varchar2 default null
,p_work_schedule in varchar2 default null
,p_suffix in varchar2 default null
,p_benefit_group_id in number default null
,p_receipt_of_death_cert_date in date default null
,p_coord_ben_med_pln_no in varchar2 default null
,p_coord_ben_no_cvg_flag in varchar2 default 'N'
,p_coord_ben_med_ext_er in varchar2 default null
,p_coord_ben_med_pl_name in varchar2 default null
,p_coord_ben_med_insr_crr_name in varchar2 default null
,p_coord_ben_med_insr_crr_ident in varchar2 default null
,p_coord_ben_med_cvg_strt_dt in date default null
,p_coord_ben_med_cvg_end_dt in date default null
,p_uses_tobacco_flag in varchar2 default null
,p_dpdnt_adoption_date in date default null
,p_dpdnt_vlntry_svce_flag in varchar2 default 'N'
,p_original_date_of_hire in date default null
,p_adjusted_svc_date in date default null
,p_town_of_birth in varchar2 default null
,p_region_of_birth in varchar2 default null
,p_country_of_birth in varchar2 default null
,p_global_person_id in varchar2 default null
,p_party_id in number default null
,p_person_id out nocopy number
,p_assignment_id out nocopy number
,p_per_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_full_name out nocopy varchar2
,p_per_comment_id out nocopy number
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_name_combination_warning out nocopy boolean
,p_assign_payroll_warning out nocopy boolean
);
--
-- End of fix for bug 899720
--
-- ----------------------------------------------------------------------------
-- |-------------------------< create_gb_employee >---------------------------|
-- ----------------------------------------------------------------------------
--
-- {Start Of Comments}
--
-- Description:
-- This API creates a new GB employee, including a default primary
-- assignment and a period of service for the employee.
-- The API calls the generic API create_employee, with the parameters set
-- as appropriate for a GB employee.
--
-- Secure user functionality is included in this version of the API. The
-- employee will be visible to secure users in the business group.
--
-- As this API is effectively an alternative to the API create_employee,
-- see that API for further explanation.
--
-- Prerequisites:
-- See API create_employee.
--
-- In Parameters:
-- Name Reqd Type Description
-- p_validate No boolean If true, the database
-- remains unchanged. If false
-- then the employee will be
-- created in the database.
-- p_hire_date Yes date The employee hire date and
-- thus the effective start
-- date of the person, primary
-- assignment and period of
-- service.
-- p_business_group_id Yes number The employee's business
-- group.
-- p_last_name Yes varchar2 Employee's last name.
-- p_sex Yes varchar2 Employee sex.
-- p_person_type_id No number Person type id. If this value
-- is omitted then the
-- person_type_id of the active
-- default `EMP' system person
-- type in the employee's
-- business group is used.
-- p_comments No varchar2 Comments for person record.
-- p_date_employee_data_verified No date The date on which the
-- employee data was last
-- verified.
-- p_date_of_birth No date Date of birth.
-- p_email_address No date Email address.
-- p_employee_number No varchar2 Employee number.
-- p_expense_check_send_to_addres No varchar2 Address to use as mailing
-- address.
-- p_first_name No varchar2 Employee's first name.
-- p_known_as No varchar2 Alternative name.
-- p_marital_status No varchar2 Marital status.
-- p_middle_names No varchar2 Employee's middle name(s).
-- p_nationality No varchar2 Employee's nationality.
-- p_ni_number No varchar2 N.I. Number.
-- p_previous_last_name No varchar2 Previous last name.
-- p_registered_disabled_flag No varchar2 Registered disabled flag.
-- p_title No varchar2 Employee's title.
-- p_vendor_id No number Foreign key to PO_VENDORS.
-- p_work_telephone No varchar2 Work telephone.
-- p_attribute_category No varchar2 Determines the context of
-- the descriptive flexfield
-- in the parameter list.
-- p_attribute1 No varchar2 Descriptive flexfield.
-- p_attribute2 No varchar2 Descriptive flexfield.
-- p_attribute3 No varchar2 Descriptive flexfield.
-- p_attribute4 No varchar2 Descriptive flexfield.
-- p_attribute5 No varchar2 Descriptive flexfield.
-- p_attribute6 No varchar2 Descriptive flexfield.
-- p_attribute7 No varchar2 Descriptive flexfield.
-- p_attribute8 No varchar2 Descriptive flexfield.
-- p_attribute9 No varchar2 Descriptive flexfield.
-- p_attribute10 No varchar2 Descriptive flexfield.
-- p_attribute11 No varchar2 Descriptive flexfield.
-- p_attribute12 No varchar2 Descriptive flexfield.
-- p_attribute13 No varchar2 Descriptive flexfield.
-- p_attribute14 No varchar2 Descriptive flexfield.
-- p_attribute15 No varchar2 Descriptive flexfield.
-- p_attribute16 No varchar2 Descriptive flexfield.
-- p_attribute17 No varchar2 Descriptive flexfield.
-- p_attribute18 No varchar2 Descriptive flexfield.
-- p_attribute19 No varchar2 Descriptive flexfield.
-- p_attribute20 No varchar2 Descriptive flexfield.
-- p_attribute21 No varchar2 Descriptive flexfield.
-- p_attribute22 No varchar2 Descriptive flexfield.
-- p_attribute23 No varchar2 Descriptive flexfield.
-- p_attribute24 No varchar2 Descriptive flexfield.
-- p_attribute25 No varchar2 Descriptive flexfield.
-- p_attribute26 No varchar2 Descriptive flexfield.
-- p_attribute27 No varchar2 Descriptive flexfield.
-- p_attribute28 No varchar2 Descriptive flexfield.
-- p_attribute29 No varchar2 Descriptive flexfield.
-- p_attribute30 No varchar2 Descriptive flexfield.
-- p_ethnic_origin No varchar2 Employee's ethnic origin.
-- p_director No varchar2 Director flag. Defaulted
-- to 'N'.
-- p_pensioner No varchar2 Pensioner flag. Defaulted
-- to 'N'.
-- p_permit_work_number No varchar2 Permit work number.
-- p_addl_pension_years No varchar2 Additional Pension years
-- p_addl_pension_months No varchar2 Additional Pension months
-- p_addl_pension_days No varchar2 Additional Pension days
-- p_ni_multiple_asg No varchar2 NI multiple Assigments.
-- Defaulted to 'N'.
-- p_date_of_death No varchar2 Date of death
-- p_background_check_status No varchar2 Y/N flag indicates whether
-- background check has been
-- performed
-- p_background_date_check No date Date background check was
-- performed
-- p_blood_type No varchar2 Blood type
-- p_correspondence_language No varchar2 Preferred language for
-- correspondance
-- p_fast_path_employee No varchar2 Currently unsupported
-- p_fte_capacity No number Full time/part time
-- availability for work
-- p_honors No varchar2 Honors or degrees awarded
-- p_internal_location No varchar2 Internal location of office
-- p_last_medical_test_by No varchar2 Name of physician who
-- performed last medical test
-- p_last_medical_test_date No date Date of last medical test
-- p_mailstop No varchar2 Office identifier for
-- internal mail
-- p_office_number No varchar2 Number of office
-- p_on_military_service No varchar2 Y/N flag indicating whether
-- person is employed in
-- military service
-- p_pre_name_adjunct No varchar2 First part of surname such
-- as Van or De
-- p_projected_start_date No date Currently unsupported
-- p_resume_exists No varchar2 Y/N flag indicating whether
-- resume is on file
-- p_resume_last_updated No date Date resume last updated
-- p_second_passport_exists No varchar2 Y/N flag indicaing whether
-- person has multiple passports
-- p_student_status No varchar2 Full time/part time status
-- of student
-- p_work_schedule No varchar2 Type of work schedule
-- inndicating which days
-- person works
-- p_suffix No varchar2 Employee's suffix
-- p_benefit_group_id No number Benefit group id.
-- p_receipt_of_death_cert_date No date Date the death certificate
-- is received.
-- p_coord_ben_med_pln_no No varchar2 Coordinated benefit medical
-- plan number
-- p_coord_ben_no_cvg_flag No varchar2 Coordinated benefit no other
-- coverage flag
-- p_coord_ben_med_ext_er No varchar2 Secondary medical coverage external
-- employer
-- p_coord_ben_med_pl_name No varchar2 Secondary medical coverage name
-- p_coord_ben_med_insr_crr_name No varchar2 Secondary medical coverage insurance
-- carrier
-- p_coord_ben_med_insr_crr_ident No varchar2 Secondary medical coverage insurance
-- carrier id
-- p_coord_ben_med_cvg_strt_dt No varchar2 Secondary medical coverage effective
-- start date
-- p_coord_ben_med_cvg_end_dt No varchar2 Secondary medical coverage effective
-- end date
-- p_uses_tobacco_flag No varchar2 Uses tobacco list of values
-- p_dpdnt_adoption_date No date Dependent's adoption date
-- p_dpdnt_vlntry_svce_flag No varchar2 Dependent's voluntary service
-- flag
-- p_original_date_of_hire No date Original date of hire
-- p_adjusted_svc_date No date Adjusted service date
-- p_town_of_birth No varchar2 Town or city of birth
-- p_region_of_birth No varchar2 Geographical region of birth
-- p_country_of_birth No varchar2 Country of birth
-- p_global_person_id No varchar2 Global ID for the person
--
-- Post success:
-- When the person, primary assignment and period of service have been
-- successfully inserted, the following OUT parameters are set:
--
-- Name Type Description
-- p_employee_number varchar2 If p_validate is false this will
-- be set to the employee number of
-- the person created. If
-- p_validate is true this will be
-- set to the same value as passed
-- in.
-- p_person_id number If p_validate is false, this
-- uniquely identifies the person
-- created. If p_validate is true
-- this parameter will be null.
-- p_assignment_id number If p_validate is false, this
-- uniquely identifies the primary
-- assignment created. If
-- p_validate is true this parameter
-- will be null.
-- p_per_object_version_number number If p_validate is false, this will
-- be set to the version number of
-- the person created. If
-- p_validate is true this parameter
-- will be set to null.
-- p_asg_object_version_number number If p_validate is false, this will
-- be set to the version number of
-- the primary assignment created.
-- If p_validate is true this
-- parameter will be set to null.
-- p_per_effective_start_date date If p_validate is false, this will
-- be set to the effective start
-- date of the person. If
-- p_validate is true this will be
-- null.
-- p_per_effective_end_date date If p_validate is false, this will
-- be set to the effective end
-- date of the person. If
-- p_validate is true this will be
-- null.
-- p_full_name varchar2 If p_validate is false, this will
-- be set to the complete full name
-- of the person. If p_validate is
-- true this will be null.
-- p_per_comment_id number If p_validate is false this will
-- be set to the id of the
-- corresponding person comment row,
-- if any comment text exists. If
-- p_validate is true this will be
-- null.
-- p_assignment_sequence number If p_validate is false this will
-- be set to the sequence number of
-- the primary assignment. If
-- p_validate is true this will be
-- null.
-- p_assignment_number varchar2 If p_validate is false this will
-- be set to the assignment number
-- of the primary assignment. If
-- p_validate is true this will be
-- null.
-- p_name_combination_warning boolean Set to true if the combination
-- of last name, first name and date
-- of birth already existed prior
-- to the person being created.
-- p_assign_payroll_warning boolean Set to true if the date of birth
-- has not been set.
-- p_orig_hire_warning boolean Set to true if the original date
-- of hire is not null and the
-- person type is not EMP,EMP_APL,
-- EX_EMP or EX_EMP_APL.
--
-- Post Failure:
-- The API does not create the employee, default assignment or period of
-- service and raises an error.
--
-- Access Status:
-- Public.
--
-- {End Of Comments}
--
procedure create_gb_employee
(p_validate in boolean default false
,p_hire_date in date
,p_business_group_id in number
,p_last_name in varchar2
,p_sex in varchar2
,p_person_type_id in number default null
,p_comments in varchar2 default null
,p_date_employee_data_verified in date default null
,p_date_of_birth in date default null
,p_email_address in varchar2 default null
,p_employee_number in out nocopy varchar2
,p_expense_check_send_to_addres in varchar2 default null
,p_first_name in varchar2 default null
,p_known_as in varchar2 default null
,p_marital_status in varchar2 default null
,p_middle_names in varchar2 default null
,p_nationality in varchar2 default null
,p_ni_number in varchar2 default null
,p_previous_last_name in varchar2 default null
,p_registered_disabled_flag in varchar2 default null
,p_title in varchar2 default null
,p_vendor_id in number default null
,p_work_telephone in varchar2 default null
,p_attribute_category in varchar2 default null
,p_attribute1 in varchar2 default null
,p_attribute2 in varchar2 default null
,p_attribute3 in varchar2 default null
,p_attribute4 in varchar2 default null
,p_attribute5 in varchar2 default null
,p_attribute6 in varchar2 default null
,p_attribute7 in varchar2 default null
,p_attribute8 in varchar2 default null
,p_attribute9 in varchar2 default null
,p_attribute10 in varchar2 default null
,p_attribute11 in varchar2 default null
,p_attribute12 in varchar2 default null
,p_attribute13 in varchar2 default null
,p_attribute14 in varchar2 default null
,p_attribute15 in varchar2 default null
,p_attribute16 in varchar2 default null
,p_attribute17 in varchar2 default null
,p_attribute18 in varchar2 default null
,p_attribute19 in varchar2 default null
,p_attribute20 in varchar2 default null
,p_attribute21 in varchar2 default null
,p_attribute22 in varchar2 default null
,p_attribute23 in varchar2 default null
,p_attribute24 in varchar2 default null
,p_attribute25 in varchar2 default null
,p_attribute26 in varchar2 default null
,p_attribute27 in varchar2 default null
,p_attribute28 in varchar2 default null
,p_attribute29 in varchar2 default null
,p_attribute30 in varchar2 default null
,p_ethnic_origin in varchar2 default null
,p_director in varchar2 default 'N'
,p_pensioner in varchar2 default 'N'
,p_work_permit_number in varchar2 default null
,p_addl_pension_years in varchar2 default null
,p_addl_pension_months in varchar2 default null
,p_addl_pension_days in varchar2 default null
,p_ni_multiple_asg in varchar2 default 'N'
,p_date_of_death in date default null
,p_background_check_status in varchar2 default null
,p_background_date_check in date default null
,p_blood_type in varchar2 default null
,p_correspondence_language in varchar2 default null
,p_fast_path_employee in varchar2 default null
,p_fte_capacity in number default null
,p_honors in varchar2 default null
,p_internal_location in varchar2 default null
,p_last_medical_test_by in varchar2 default null
,p_last_medical_test_date in date default null
,p_mailstop in varchar2 default null
,p_office_number in varchar2 default null
,p_on_military_service in varchar2 default null
,p_pre_name_adjunct in varchar2 default null
,p_rehire_recommendation in varchar2 default null -- Bug3210500
,p_projected_start_date in date default null
,p_resume_exists in varchar2 default null
,p_resume_last_updated in date default null
,p_second_passport_exists in varchar2 default null
,p_student_status in varchar2 default null
,p_work_schedule in varchar2 default null
,p_suffix in varchar2 default null
,p_benefit_group_id in number default null
,p_receipt_of_death_cert_date in date default null
,p_coord_ben_med_pln_no in varchar2 default null
,p_coord_ben_no_cvg_flag in varchar2 default 'N'
,p_coord_ben_med_ext_er in varchar2 default null
,p_coord_ben_med_pl_name in varchar2 default null
,p_coord_ben_med_insr_crr_name in varchar2 default null
,p_coord_ben_med_insr_crr_ident in varchar2 default null
,p_coord_ben_med_cvg_strt_dt in date default null
,p_coord_ben_med_cvg_end_dt in date default null
,p_uses_tobacco_flag in varchar2 default null
,p_dpdnt_adoption_date in date default null
,p_dpdnt_vlntry_svce_flag in varchar2 default 'N'
,p_original_date_of_hire in date default null
,p_adjusted_svc_date in date default null
,p_town_of_birth in varchar2 default null
,p_region_of_birth in varchar2 default null
,p_country_of_birth in varchar2 default null
,p_global_person_id in varchar2 default null
,p_party_id in number default null
,p_person_id out nocopy number
,p_assignment_id out nocopy number
,p_per_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_full_name out nocopy varchar2
,p_per_comment_id out nocopy number
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_name_combination_warning out nocopy boolean
,p_assign_payroll_warning out nocopy boolean
,p_orig_hire_warning out nocopy boolean
);
-- ----------------------------------------------------------------------------
--
-- Begin fix for bug 899720
--
-- ----------------------------------------------------------------------------
-- |-------------------------< create_gb_employee >---------------------------|
-- ----------------------------------------------------------------------------
--
-- {Start Of Comments}
--
-- Description:
-- This procedure is an overload version of the above procedure
-- create_gb_employee without the parameter 'p_orig_hire_warning'.
-- Therefore the user documentation is the same.
--
-- {End Of Comments}
--
procedure create_gb_employee
(p_validate in boolean default false
,p_hire_date in date
,p_business_group_id in number
,p_last_name in varchar2
,p_sex in varchar2
,p_person_type_id in number default null
,p_comments in varchar2 default null
,p_date_employee_data_verified in date default null
,p_date_of_birth in date default null
,p_email_address in varchar2 default null
,p_employee_number in out nocopy varchar2
,p_expense_check_send_to_addres in varchar2 default null
,p_first_name in varchar2 default null
,p_known_as in varchar2 default null
,p_marital_status in varchar2 default null
,p_middle_names in varchar2 default null
,p_nationality in varchar2 default null
,p_ni_number in varchar2 default null
,p_previous_last_name in varchar2 default null
,p_registered_disabled_flag in varchar2 default null
,p_title in varchar2 default null
,p_vendor_id in number default null
,p_work_telephone in varchar2 default null
,p_attribute_category in varchar2 default null
,p_attribute1 in varchar2 default null
,p_attribute2 in varchar2 default null
,p_attribute3 in varchar2 default null
,p_attribute4 in varchar2 default null
,p_attribute5 in varchar2 default null
,p_attribute6 in varchar2 default null
,p_attribute7 in varchar2 default null
,p_attribute8 in varchar2 default null
,p_attribute9 in varchar2 default null
,p_attribute10 in varchar2 default null
,p_attribute11 in varchar2 default null
,p_attribute12 in varchar2 default null
,p_attribute13 in varchar2 default null
,p_attribute14 in varchar2 default null
,p_attribute15 in varchar2 default null
,p_attribute16 in varchar2 default null
,p_attribute17 in varchar2 default null
,p_attribute18 in varchar2 default null
,p_attribute19 in varchar2 default null
,p_attribute20 in varchar2 default null
,p_attribute21 in varchar2 default null
,p_attribute22 in varchar2 default null
,p_attribute23 in varchar2 default null
,p_attribute24 in varchar2 default null
,p_attribute25 in varchar2 default null
,p_attribute26 in varchar2 default null
,p_attribute27 in varchar2 default null
,p_attribute28 in varchar2 default null
,p_attribute29 in varchar2 default null
,p_attribute30 in varchar2 default null
,p_ethnic_origin in varchar2 default null
,p_director in varchar2 default 'N'
,p_pensioner in varchar2 default 'N'
,p_work_permit_number in varchar2 default null
,p_addl_pension_years in varchar2 default null
,p_addl_pension_months in varchar2 default null
,p_addl_pension_days in varchar2 default null
,p_ni_multiple_asg in varchar2 default 'N'
,p_date_of_death in date default null
,p_background_check_status in varchar2 default null
,p_background_date_check in date default null
,p_blood_type in varchar2 default null
,p_correspondence_language in varchar2 default null
,p_fast_path_employee in varchar2 default null
,p_fte_capacity in number default null
,p_honors in varchar2 default null
,p_internal_location in varchar2 default null
,p_last_medical_test_by in varchar2 default null
,p_last_medical_test_date in date default null
,p_mailstop in varchar2 default null
,p_office_number in varchar2 default null
,p_on_military_service in varchar2 default null
,p_pre_name_adjunct in varchar2 default null
,p_rehire_recommendation in varchar2 default null -- Bug3210500
,p_projected_start_date in date default null
,p_resume_exists in varchar2 default null
,p_resume_last_updated in date default null
,p_second_passport_exists in varchar2 default null
,p_student_status in varchar2 default null
,p_work_schedule in varchar2 default null
,p_suffix in varchar2 default null
,p_benefit_group_id in number default null
,p_receipt_of_death_cert_date in date default null
,p_coord_ben_med_pln_no in varchar2 default null
,p_coord_ben_no_cvg_flag in varchar2 default 'N'
,p_coord_ben_med_ext_er in varchar2 default null
,p_coord_ben_med_pl_name in varchar2 default null
,p_coord_ben_med_insr_crr_name in varchar2 default null
,p_coord_ben_med_insr_crr_ident in varchar2 default null
,p_coord_ben_med_cvg_strt_dt in date default null
,p_coord_ben_med_cvg_end_dt in date default null
,p_uses_tobacco_flag in varchar2 default null
,p_dpdnt_adoption_date in date default null
,p_dpdnt_vlntry_svce_flag in varchar2 default 'N'
,p_original_date_of_hire in date default null
,p_adjusted_svc_date in date default null
,p_town_of_birth in varchar2 default null
,p_region_of_birth in varchar2 default null
,p_country_of_birth in varchar2 default null
,p_global_person_id in varchar2 default null
,p_party_id in number default null
,p_person_id out nocopy number
,p_assignment_id out nocopy number
,p_per_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_full_name out nocopy varchar2
,p_per_comment_id out nocopy number
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_name_combination_warning out nocopy boolean
,p_assign_payroll_warning out nocopy boolean
);
--
-- End of fix for bug 899720
--
-- ----------------------------------------------------------------------------
-- |-------------------------< create_us_employee >---------------------------|
-- ----------------------------------------------------------------------------
--
-- {Start Of Comments}
--
-- Description:
-- This API creates a new US employee, including a default primary
-- assignment and a period of service for the employee.
-- The API calls the generic API create_employee, with the parameters set
-- as appropriate for a US employee.
--
-- Secure user functionality is included in this version of the API. The
-- employee will be visible to secure users in the business group.
--
-- As this API is effectively an alternative to the API create_employee,
-- see that API for further explanation.
--
-- Prerequisites:
-- See API create_employee.
--
-- In Parameters:
-- Name Reqd Type Description
-- p_validate No boolean If true, the database
-- remains unchanged. If false
-- then the employee will be
-- created in the database.
-- p_hire_date Yes date The employee hire date and
-- thus the effective start
-- date of the person, primary
-- assignment and period of
-- service.
-- p_business_group_id Yes number The employee's business
-- group.
-- p_last_name Yes varchar2 Employee's last name.
-- p_sex Yes varchar2 Employee sex.
-- p_person_type_id No number Person type id. If this value
-- is omitted then the
-- person_type_id of the active
-- default `EMP' system person
-- type in the employee's
-- business group is used.
-- p_comments No varchar2 Comments for person record.
-- p_date_employee_data_verified No date The date on which the
-- employee data was last
-- verified.
-- p_date_of_birth No date Date of birth.
-- p_email_address No date Email address.
-- p_employee_number No varchar2 Employee number.
-- p_expense_check_send_to_addres No varchar2 Address to use as mailing
-- address.
-- p_first_name No varchar2 Employee's first name.
-- p_known_as No varchar2 Alternative name.
-- p_marital_status No varchar2 Marital status.
-- p_middle_names No varchar2 Employee's middle name(s).
-- p_nationality No varchar2 Employee's nationality.
-- p_ss_number No varchar2 Social Security number.
-- p_previous_last_name No varchar2 Previous last name.
-- p_registered_disabled_flag No varchar2 Registered disabled flag.
-- p_title No varchar2 Employee's title.
-- p_vendor_id No number Foreign key to PO_VENDORS.
-- p_work_telephone No varchar2 Work telephone.
-- p_attribute_category No varchar2 Determines the context of
-- the descriptive flexfield
-- in the parameter list.
-- p_attribute1 No varchar2 Descriptive flexfield.
-- p_attribute2 No varchar2 Descriptive flexfield.
-- p_attribute3 No varchar2 Descriptive flexfield.
-- p_attribute4 No varchar2 Descriptive flexfield.
-- p_attribute5 No varchar2 Descriptive flexfield.
-- p_attribute6 No varchar2 Descriptive flexfield.
-- p_attribute7 No varchar2 Descriptive flexfield.
-- p_attribute8 No varchar2 Descriptive flexfield.
-- p_attribute9 No varchar2 Descriptive flexfield.
-- p_attribute10 No varchar2 Descriptive flexfield.
-- p_attribute11 No varchar2 Descriptive flexfield.
-- p_attribute12 No varchar2 Descriptive flexfield.
-- p_attribute13 No varchar2 Descriptive flexfield.
-- p_attribute14 No varchar2 Descriptive flexfield.
-- p_attribute15 No varchar2 Descriptive flexfield.
-- p_attribute16 No varchar2 Descriptive flexfield.
-- p_attribute17 No varchar2 Descriptive flexfield.
-- p_attribute18 No varchar2 Descriptive flexfield.
-- p_attribute19 No varchar2 Descriptive flexfield.
-- p_attribute20 No varchar2 Descriptive flexfield.
-- p_attribute21 No varchar2 Descriptive flexfield.
-- p_attribute22 No varchar2 Descriptive flexfield.
-- p_attribute23 No varchar2 Descriptive flexfield.
-- p_attribute24 No varchar2 Descriptive flexfield.
-- p_attribute25 No varchar2 Descriptive flexfield.
-- p_attribute26 No varchar2 Descriptive flexfield.
-- p_attribute27 No varchar2 Descriptive flexfield.
-- p_attribute28 No varchar2 Descriptive flexfield.
-- p_attribute29 No varchar2 Descriptive flexfield.
-- p_attribute30 No varchar2 Descriptive flexfield.
-- p_ethnic_origin No varchar2 Ethnic origin.
-- p_I_9 No varchar2 I_9 flag. Defaulted to
-- 'N'.
-- p_I_9_expiration_date No varchar2 I_9 expiration date.
-- p_veteran_status No varchar2 Veteran status.
-- p_new_hire No varchar2 New hire status.
-- p_exception_reason No varchar2 New hire exception reason.
-- p_child_support_obligation No varchar2 Child support obligation
-- flag. Defaulted to 'N'.
-- p_opted_for_medicare_flag No varchar2 Opted for additional medicare.
-- p_date_of_death No varchar2 Date of death
-- p_background_check_status No varchar2 Y/N flag indicates whether
-- background check has been
-- performed
-- p_background_date_check No date Date background check was
-- performed
-- p_blood_type No varchar2 Blood type
-- p_correspondence_language No varchar2 Preferred language for
-- correspondance
-- p_fast_path_employee No varchar2 Currently unsupported
-- p_fte_capacity No number Full time/part time
-- availability for work
-- p_honors No varchar2 Honors or degrees awarded
-- p_internal_location No varchar2 Internal location of office
-- p_last_medical_test_by No varchar2 Name of physician who
-- performed last medical test
-- p_last_medical_test_date No date Date of last medical test
-- p_mailstop No varchar2 Office identifier for
-- internal mail
-- p_office_number No varchar2 Number of office
-- p_on_military_service No varchar2 Y/N flag indicating whether
-- person is employed in
-- military service
-- p_pre_name_adjunct No varchar2 First part of surname such
-- as Van or De
-- p_rehire_recommendation No varchar2 The employee can be rehired
-- or not after termination.
-- p_projected_start_date No date Currently unsupported
-- p_resume_exists No varchar2 Y/N flag indicating whether
-- resume is on file
-- p_resume_last_updated No date Date resume last updated
-- p_second_passport_exists No varchar2 Y/N flag indicaing whether
-- person has multiple passports
-- p_student_status No varchar2 Full time/part time status
-- of student
-- p_work_schedule No varchar2 Type of work schedule
-- inndicating which days
-- person works
-- p_suffix No varchar2 Employee's suffix
-- p_benefit_group_id No number Benefit group id.
-- p_receipt_of_death_cert_date No date Date the death certificate
-- is received.
-- p_coord_ben_med_pln_no No varchar2 Coordinated benefit medical
-- plan number
-- p_coord_ben_no_cvg_flag No varchar2 Coordinated benefit no other
-- coverage flag
-- p_coord_ben_med_ext_er No varchar2 Secondary medical coverage external
-- employer
-- p_coord_ben_med_pl_name No varchar2 Secondary medical coverage name
-- p_coord_ben_med_insr_crr_name No varchar2 Secondary medical coverage insurance
-- carrier
-- p_coord_ben_med_insr_crr_ident No varchar2 Secondary medical coverage insurance
-- carrier id
-- p_coord_ben_med_cvg_strt_dt No varchar2 Secondary medical coverage effective
-- start date
-- p_coord_ben_med_cvg_end_dt No varchar2 Secondary medical coverage effective
-- end date
-- p_uses_tobacco_flag No varchar2 Uses tobacco list of values
-- p_dpdnt_adoption_date No date Dependent's adoption date
-- p_dpdnt_vlntry_svce_flag No varchar2 Dependent's voluntary service
-- flag
-- p_original_date_of_hire No date Original date of hire
-- p_adjusted_svc_date No date Adjusted service date
-- p_town_of_birth No varchar2 Town or city of birth
-- p_region_of_birth No varchar2 Geographical region of birth
-- p_country_of_birth No varchar2 Country of birth
-- p_global_person_id No varchar2 Global ID for the person
--
-- Post success:
-- When the person, primary assignment and period of service have been
-- successfully inserted, the following OUT parameters are set:
--
-- Name Type Description
-- p_employee_number varchar2 If p_validate is false this will
-- be set to the employee number of
-- the person created. If
-- p_validate is true this will be
-- set to the same value as passed
-- in.
-- p_person_id number If p_validate is false, this
-- uniquely identifies the person
-- created. If p_validate is true
-- this parameter will be null.
-- p_assignment_id number If p_validate is false, this
-- uniquely identifies the primary
-- assignment created. If
-- p_validate is true this parameter
-- will be null.
-- p_per_object_version_number number If p_validate is false, this will
-- be set to the version number of
-- the person created. If
-- p_validate is true this parameter
-- will be set to null.
-- p_asg_object_version_number number If p_validate is false, this will
-- be set to the version number of
-- the primary assignment created.
-- If p_validate is true this
-- parameter will be set to null.
-- p_per_effective_start_date date If p_validate is false, this will
-- be set to the effective start
-- date of the person. If
-- p_validate is true this will be
-- null.
-- p_per_effective_end_date date If p_validate is false, this will
-- be set to the effective end
-- date of the person. If
-- p_validate is true this will be
-- null.
-- p_full_name varchar2 If p_validate is false, this will
-- be set to the complete full name
-- of the person. If p_validate is
-- true this will be null.
-- p_per_comment_id number If p_validate is false this will
-- be set to the id of the
-- corresponding person comment row,
-- if any comment text exists. If
-- p_validate is true this will be
-- null.
-- p_assignment_sequence number If p_validate is false this will
-- be set to the sequence number of
-- the primary assignment. If
-- p_validate is true this will be
-- null.
-- p_assignment_number varchar2 If p_validate is false this will
-- be set to the assignment number
-- of the primary assignment. If
-- p_validate is true this will be
-- null.
-- p_name_combination_warning boolean Set to true if the combination
-- of last name, first name and date
-- of birth already existed prior
-- to the person being created.
-- p_assign_payroll_warning boolean Set to true if the date of birth
-- has not been set.
-- p_orig_hire_warning boolean Set to true if the original date
-- of hire is not null and the
-- person type is not EMP,EMP_APL,
-- EX_EMP or EX_EMP_APL.
--
-- Post Failure:
-- The API does not create the employee, default assignment or period of
-- service and raises an error.
--
-- Access Status:
-- Public.
--
-- {End Of Comments}
--
procedure create_us_employee
(p_validate in boolean default false
,p_hire_date in date
,p_business_group_id in number
,p_last_name in varchar2
,p_sex in varchar2
,p_person_type_id in number default null
,p_comments in varchar2 default null
,p_date_employee_data_verified in date default null
,p_date_of_birth in date default null
,p_email_address in varchar2 default null
,p_employee_number in out nocopy varchar2
,p_expense_check_send_to_addres in varchar2 default null
,p_first_name in varchar2 default null
,p_known_as in varchar2 default null
,p_marital_status in varchar2 default null
,p_middle_names in varchar2 default null
,p_nationality in varchar2 default null
,p_ss_number in varchar2 default null
,p_previous_last_name in varchar2 default null
,p_registered_disabled_flag in varchar2 default null
,p_title in varchar2 default null
,p_vendor_id in number default null
,p_work_telephone in varchar2 default null
,p_attribute_category in varchar2 default null
,p_attribute1 in varchar2 default null
,p_attribute2 in varchar2 default null
,p_attribute3 in varchar2 default null
,p_attribute4 in varchar2 default null
,p_attribute5 in varchar2 default null
,p_attribute6 in varchar2 default null
,p_attribute7 in varchar2 default null
,p_attribute8 in varchar2 default null
,p_attribute9 in varchar2 default null
,p_attribute10 in varchar2 default null
,p_attribute11 in varchar2 default null
,p_attribute12 in varchar2 default null
,p_attribute13 in varchar2 default null
,p_attribute14 in varchar2 default null
,p_attribute15 in varchar2 default null
,p_attribute16 in varchar2 default null
,p_attribute17 in varchar2 default null
,p_attribute18 in varchar2 default null
,p_attribute19 in varchar2 default null
,p_attribute20 in varchar2 default null
,p_attribute21 in varchar2 default null
,p_attribute22 in varchar2 default null
,p_attribute23 in varchar2 default null
,p_attribute24 in varchar2 default null
,p_attribute25 in varchar2 default null
,p_attribute26 in varchar2 default null
,p_attribute27 in varchar2 default null
,p_attribute28 in varchar2 default null
,p_attribute29 in varchar2 default null
,p_attribute30 in varchar2 default null
,p_ethnic_origin in varchar2 default null
,p_I_9 in varchar2 default 'N'
,p_I_9_expiration_date in varchar2 default null
-- ,p_visa_type in varchar2 default null
,p_veteran_status in varchar2 default null
,p_new_hire in varchar2 default null
,p_exception_reason in varchar2 default null
,p_child_support_obligation in varchar2 default 'N'
,p_opted_for_medicare_flag in varchar2 default 'N'
,p_date_of_death in date default null
,p_background_check_status in varchar2 default null
,p_background_date_check in date default null
,p_blood_type in varchar2 default null
,p_correspondence_language in varchar2 default null
,p_fast_path_employee in varchar2 default null
,p_fte_capacity in number default null
,p_honors in varchar2 default null
,p_internal_location in varchar2 default null
,p_last_medical_test_by in varchar2 default null
,p_last_medical_test_date in date default null
,p_mailstop in varchar2 default null
,p_office_number in varchar2 default null
,p_on_military_service in varchar2 default null
,p_pre_name_adjunct in varchar2 default null
,p_rehire_recommendation in varchar2 default null -- Bug3210500
,p_projected_start_date in date default null
,p_resume_exists in varchar2 default null
,p_resume_last_updated in date default null
,p_second_passport_exists in varchar2 default null
,p_student_status in varchar2 default null
,p_work_schedule in varchar2 default null
,p_suffix in varchar2 default null
,p_benefit_group_id in number default null
,p_receipt_of_death_cert_date in date default null
,p_coord_ben_med_pln_no in varchar2 default null
,p_coord_ben_no_cvg_flag in varchar2 default 'N'
,p_coord_ben_med_ext_er in varchar2 default null
,p_coord_ben_med_pl_name in varchar2 default null
,p_coord_ben_med_insr_crr_name in varchar2 default null
,p_coord_ben_med_insr_crr_ident in varchar2 default null
,p_coord_ben_med_cvg_strt_dt in date default null
,p_coord_ben_med_cvg_end_dt in date default null
,p_uses_tobacco_flag in varchar2 default null
,p_dpdnt_adoption_date in date default null
,p_dpdnt_vlntry_svce_flag in varchar2 default 'N'
,p_original_date_of_hire in date default null
,p_adjusted_svc_date in date default null
,p_town_of_birth in varchar2 default null
,p_region_of_birth in varchar2 default null
,p_country_of_birth in varchar2 default null
,p_global_person_id in varchar2 default null
,p_party_id in number default null
,p_person_id out nocopy number
,p_assignment_id out nocopy number
,p_per_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_full_name out nocopy varchar2
,p_per_comment_id out nocopy number
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_name_combination_warning out nocopy boolean
,p_assign_payroll_warning out nocopy boolean
,p_orig_hire_warning out nocopy boolean
);
--
-- ----------------------------------------------------------------------------
--
-- Begin fix for bug 899720
--
-- ----------------------------------------------------------------------------
-- |-------------------------< create_us_employee >---------------------------|
-- ----------------------------------------------------------------------------
--
-- {Start Of Comments}
--
-- Description:
-- This procedure is an overload version of the above procedure
-- create_us_employee without the parameter 'p_orig_hire_warning'.
-- Therefore the user documentation is the same.
--
-- {End Of Comments}
--
procedure create_us_employee
(p_validate in boolean default false
,p_hire_date in date
,p_business_group_id in number
,p_last_name in varchar2
,p_sex in varchar2
,p_person_type_id in number default null
,p_comments in varchar2 default null
,p_date_employee_data_verified in date default null
,p_date_of_birth in date default null
,p_email_address in varchar2 default null
,p_employee_number in out nocopy varchar2
,p_expense_check_send_to_addres in varchar2 default null
,p_first_name in varchar2 default null
,p_known_as in varchar2 default null
,p_marital_status in varchar2 default null
,p_middle_names in varchar2 default null
,p_nationality in varchar2 default null
,p_ss_number in varchar2 default null
,p_previous_last_name in varchar2 default null
,p_registered_disabled_flag in varchar2 default null
,p_title in varchar2 default null
,p_vendor_id in number default null
,p_work_telephone in varchar2 default null
,p_attribute_category in varchar2 default null
,p_attribute1 in varchar2 default null
,p_attribute2 in varchar2 default null
,p_attribute3 in varchar2 default null
,p_attribute4 in varchar2 default null
,p_attribute5 in varchar2 default null
,p_attribute6 in varchar2 default null
,p_attribute7 in varchar2 default null
,p_attribute8 in varchar2 default null
,p_attribute9 in varchar2 default null
,p_attribute10 in varchar2 default null
,p_attribute11 in varchar2 default null
,p_attribute12 in varchar2 default null
,p_attribute13 in varchar2 default null
,p_attribute14 in varchar2 default null
,p_attribute15 in varchar2 default null
,p_attribute16 in varchar2 default null
,p_attribute17 in varchar2 default null
,p_attribute18 in varchar2 default null
,p_attribute19 in varchar2 default null
,p_attribute20 in varchar2 default null
,p_attribute21 in varchar2 default null
,p_attribute22 in varchar2 default null
,p_attribute23 in varchar2 default null
,p_attribute24 in varchar2 default null
,p_attribute25 in varchar2 default null
,p_attribute26 in varchar2 default null
,p_attribute27 in varchar2 default null
,p_attribute28 in varchar2 default null
,p_attribute29 in varchar2 default null
,p_attribute30 in varchar2 default null
,p_ethnic_origin in varchar2 default null
,p_I_9 in varchar2 default 'N'
,p_I_9_expiration_date in varchar2 default null
-- ,p_visa_type in varchar2 default null
,p_veteran_status in varchar2 default null
,p_new_hire in varchar2 default null
,p_exception_reason in varchar2 default null
,p_child_support_obligation in varchar2 default 'N'
,p_opted_for_medicare_flag in varchar2 default 'N'
,p_date_of_death in date default null
,p_background_check_status in varchar2 default null
,p_background_date_check in date default null
,p_blood_type in varchar2 default null
,p_correspondence_language in varchar2 default null
,p_fast_path_employee in varchar2 default null
,p_fte_capacity in number default null
,p_honors in varchar2 default null
,p_internal_location in varchar2 default null
,p_last_medical_test_by in varchar2 default null
,p_last_medical_test_date in date default null
,p_mailstop in varchar2 default null
,p_office_number in varchar2 default null
,p_on_military_service in varchar2 default null
,p_pre_name_adjunct in varchar2 default null
,p_rehire_recommendation in varchar2 default null -- Bug3210500
,p_projected_start_date in date default null
,p_resume_exists in varchar2 default null
,p_resume_last_updated in date default null
,p_second_passport_exists in varchar2 default null
,p_student_status in varchar2 default null
,p_work_schedule in varchar2 default null
,p_suffix in varchar2 default null
,p_benefit_group_id in number default null
,p_receipt_of_death_cert_date in date default null
,p_coord_ben_med_pln_no in varchar2 default null
,p_coord_ben_no_cvg_flag in varchar2 default 'N'
,p_coord_ben_med_ext_er in varchar2 default null
,p_coord_ben_med_pl_name in varchar2 default null
,p_coord_ben_med_insr_crr_name in varchar2 default null
,p_coord_ben_med_insr_crr_ident in varchar2 default null
,p_coord_ben_med_cvg_strt_dt in date default null
,p_coord_ben_med_cvg_end_dt in date default null
,p_uses_tobacco_flag in varchar2 default null
,p_dpdnt_adoption_date in date default null
,p_dpdnt_vlntry_svce_flag in varchar2 default 'N'
,p_original_date_of_hire in date default null
,p_adjusted_svc_date in date default null
,p_town_of_birth in varchar2 default null
,p_region_of_birth in varchar2 default null
,p_country_of_birth in varchar2 default null
,p_global_person_id in varchar2 default null
,p_party_id in number default null
,p_person_id out nocopy number
,p_assignment_id out nocopy number
,p_per_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_full_name out nocopy varchar2
,p_per_comment_id out nocopy number
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_name_combination_warning out nocopy boolean
,p_assign_payroll_warning out nocopy boolean
);
--
-- End of fix for bug 899720
--
-- ----------------------------------------------------------------------------
-- |--------------------------< re_hire_ex_employee >-------------------------|
-- ----------------------------------------------------------------------------
-- {Start Of Comments}
--
-- Description:
-- This API will re-hire an ex-employee as an employee. A person can be
-- re-hired only if their previous period of service has a final process
-- date.
--
-- When an employee is re-hired, the person type is changed to employee, a
-- new period of service record is created and a new primary employee
-- assignment record is created. All changes are made effective from the
-- hire date, p_hire_date.
--
-- It is now possible to re-hire an employee the day after they were
-- terminated (i.e. hire date can be the day after the final process date)
--
-- The new person type must have a corresponding system type of EMP. If a
-- person type is not specified, the API will use the default EMP type for
-- the business group.
--
-- The security lists will be updated so that this employee will be correctly
-- visible to secure users.
--
-- Prerequisites:
-- The person record, identified by p_person_id and
-- p_per_object_version_number must exist.
-- The person must have a current person type corresponding to a system type
-- of EX_EMP.
-- The most recent previous period of service must have a final process
-- date.
-- The hire date cannot come before the final process date of the previous
-- period of service.
-- The person type, p_person_type_id, if supplied, must exist for the same
-- business groupas the person, must be active and must have a corresponding
-- system type of EMP.
--
-- In Parameters:
-- Name Reqd Type Description
-- p_validate No boolean If true, the database
-- remains unchanged. If false
-- then the person record will
-- be updated.
-- p_hire_date Yes date Hire date
-- p_person_id Yes number ID of the person
-- p_per_object_version_number Yes number Version number of the
-- person record
-- p_person_type_id No number Person type id. If this value
-- is omitted then the
-- person_type_id of the active
-- default `EMP' system person
-- type in the employee's
-- business group is used.
-- p_rehire_reason No varchar2 The reason the person is
-- being re-hired.
--
-- Post Success:
-- The API will update the person, create a new period of service, create
-- a new primary assignment and set the following out parameters:
--
-- Name Type Description
-- p_per_object_version_number number If p_validate is false, set to
-- the new version number of the
-- updated person record.
-- If p_validate is true, set to
-- the value passed in.
-- p_assignment_id number If p_validate is false, this
-- uniquely identifies the primary
-- assignment created.
-- If p_validate is true, set to
-- null.
-- p_asg_object_version_number number If p_validate is false, this will
-- be set to the version number of
-- the primary assignment created.
-- If p_validate is true, set to
-- null.
-- p_per_effective_start_date date If p_validate is false, set to
-- the effective start date for this
-- person change.
-- If p_validate is true, set to
-- null.
-- p_per_effective_end_date date If p_validate is false, set to
-- the effective end date for this
-- person change.
-- If p_validate is true, set to
-- null.
-- p_assignment_sequence number If p_validate is false, this will
-- be set to the sequence number of
-- the primary assignment. If
-- p_validate is true, set to null.
-- p_assignment_number varchar2 If p_validate is false, this will
-- be set to the assignment number
-- of the primary assignment. If
-- p_validate is true, set to null.
-- p_assign_payroll_warning boolean Set to true if the date of birth
-- has not been set for this person.
--
-- Post Failure:
-- The API does not update the person, or create a period of service, or
-- create an assignment and raises an error.
--
-- Access Status:
-- Public.
--
-- {End Of Comments}
--
procedure re_hire_ex_employee
(p_validate in boolean default false
,p_hire_date in date
,p_person_id in number
,p_per_object_version_number in out nocopy number
,p_person_type_id in number default hr_api.g_number
,p_rehire_reason in varchar2
,p_assignment_id out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_assign_payroll_warning out nocopy boolean
);
--
--
-- ----------------------------------------------------------------------------
-- |-----------------< apply_for_internal_vacancy >---------------------------|
-- ----------------------------------------------------------------------------
--
-- {Start Of Comments}
--
-- Description:
-- This API updates an employee, system person type 'EMP'
-- to an employee and applicant, system person type 'EMP_APL'.
--
-- A new applicant assignment and an application are created for the employee.
--
-- The security lists are updated.
--
--
-- Prerequisites:
-- The employee must have a system person type of 'EMP'.
--
-- In Parameters:
-- Name Reqd Type Description
-- p_validate No boolean If true, the database
-- remains unchanged. If false
-- then the employee person type
-- is updated to an 'EMP_APL',
-- an application is a secondary
-- assignment is created in
-- the database.
-- p_effective_date Yes date The effective start date
-- of the new person status,
-- application and secondary
-- assignment.
-- p_person_id Yes number. Person ID.
-- p_applicant_number No varchar2 Applicant number. If the
-- number generation method is
-- Manual then this parameter
-- is mandatory. If the number
-- generation is Automatic, the
-- the value of this parameter
-- defaults to null.
-- p_per_object_version_number Yes number Object version number of
-- person.
-- p_vacancy_id No number Vacancy ID. Defaults to null.
-- p_person_type_id No number Person Type ID of 'EMP_APL'.
-- Defaults to hr_api.g_number.
--
-- Post success:
-- When the person is successfully updated, applicant assignment and
-- application are successfully inserted, the following OUT parameters are
-- set:
--
-- Name Type Description
-- p_per_object_version_number number If p_validate is false, this will
-- be set to the new version number of
-- the person updated. If
-- p_validate is true this parameter
-- will be set to the value passed in.
-- p_application_id number If p_validate is false, this
-- uniquely identifies the application
-- created . If p_validate is true this
-- parameter is null.
-- p_assignment_id number If p_validate is false, this
-- uniquely identifies the assignment
-- created. If p_validate is true
-- this parameter is set null.
-- p_apl_object_version_number number If p_validate is false, this will
-- be set to the version number of
-- the application created. If
-- p_validate is true this parameter is
-- set to null.
-- p_asg_object_version_number number If p_validate is false, this will
-- be set to the version number of
-- the assignment created. If
-- p_validate is true this
-- parameter is set to null.
-- p_assignment_sequence number If p_validate is false, this will
-- be set to the assignment sequence
-- of the assignment created. If
-- p_validate is true, this parameter
-- is set to null.
-- p_per_effective_start_date date If p_validate is false, this is
-- set to the effective start
-- date of the person. If
-- p_validate is true this is
-- null.
-- p_per_effective_end_date date If p_validate is false, this is
-- set to the effective end date
-- of the person. If p_validate
-- is true this is set null.
--
-- Post Failure:
-- The API does not update the person or create the applicant assignment
-- or application and raises an error.
--
-- Access Status:
-- Public.
--
-- {End Of Comments}
--
procedure apply_for_internal_vacancy
(p_validate in boolean default false
,p_effective_date in date
,p_person_id in number
,p_applicant_number in out nocopy varchar2
,p_per_object_version_number in out nocopy number
,p_vacancy_id in number default null
,p_person_type_id in number default hr_api.g_number
,p_application_id out nocopy number
,p_assignment_id out nocopy number
,p_apl_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_assignment_sequence out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
);
--
-- -----------------------------------------------------------------------------
-- |----------------------------< hire_into_job >------------------------------|
-- -----------------------------------------------------------------------------
--
-- {Start Of Comments}
--
-- Description:
-- This business process converts a person of type EX_APL, EX_EMP or OTHER to
-- a type of EMP.
-- This is achieved by
-- Setting the person type to EMP
-- Creating a period of service
-- Creating a default employee assignment
-- Repopulating the security lists
--
-- In Parameters:
-- Name Reqd Type Description
-- p_validate No boolean If true, the database remains
-- unchanged. If false a valid
-- assignment is updated in
-- the database.
-- p_effective_date Yes date Effective date of the change
-- of status.
-- p_person_id Yes number Person to become an applicant.
-- p_per_object_version_number Yes number Version number of the person
-- record.
-- p_datetrack_update_mode No varchar2 Datetrack update mode. Only
-- applicable if hiring a person of
-- type OTHER, when the values of
-- Update or Correction may be used.
-- If not set a value of Update is
-- used. In all other cases this
-- value is ignored and a value of
-- Update used.
-- p_employee_number No varchar2 Employee number. Ignored if
-- the person already has an
-- employee number. Required if
-- the number generation method
-- is manual. Must be NULL if the
-- number generation method is
-- automatic.
-- p_person_type_id No number Person type id the person is to
-- become. If this value is
-- omitted the person type id
-- of the default system person
-- type required in the person's
-- business group is used.
-- p_national_identifier No varchar2 The national identifier.
--
-- Post Success:
-- The API updates the person and application and set the following out
-- parameters:
--
-- Name Type Description
-- p_per_object_version_number number If p_validate is false, set to
-- the new version number of the
-- person record. If p_validate is
-- true, set to the value passed in.
-- p_employee_number number If p_validate is false, set to the
-- employee number of the person. If
-- p_validate is true, set to the
-- value passed in.
-- p_effective_start_date date If p_validate is false, set to
-- the effective start date of the
-- updated person record. If
-- p_validate is true, set to null.
-- p_effective_end_date date If p_validate is false, set to
-- the effective end date of the
-- updated person record. If
-- p_validate is true, set to null.
-- p_assign_payroll_warning boolean Set to true if the person's date of
-- birth has not been set. Set to
-- false if the date of birth has been
-- entered. Indicates if it will be
-- possible to set the payroll
-- component on any of this person's
-- assignments.
-- p_orig_hire_warning boolean Set to true if the original date of
-- hire is not null and the person
-- type is not EMP, EMP_APL, EX_EMP or
-- EX_EMP_APL.
--
-- Post Failure:
-- The API does not update the person and period of service and raises an error.
--
-- Access Status:
-- Public.
--
-- {End Of Comments}
--
PROCEDURE hire_into_job
(p_validate IN BOOLEAN DEFAULT FALSE
,p_effective_date IN DATE
,p_person_id IN NUMBER
,p_object_version_number IN OUT NOCOPY NUMBER
,p_employee_number IN OUT NOCOPY VARCHAR2
,p_datetrack_update_mode IN VARCHAR2 DEFAULT NULL
,p_person_type_id IN NUMBER DEFAULT NULL
,p_national_identifier IN VARCHAR2 DEFAULT NULL
,p_effective_start_date OUT NOCOPY DATE
,p_effective_end_date OUT NOCOPY DATE
,p_assign_payroll_warning OUT NOCOPY BOOLEAN
,p_orig_hire_warning OUT NOCOPY BOOLEAN
);
--
end hr_employee_api;
/
create or replace Package Body hr_employee_api as
/* $Header: peempapi.pkb 115.48 2003/10/23 02:41:38 jpthomas ship $ */
--
-- Package Variables
--
g_package varchar2(33) := 'hr_employee_api.';
g_debug boolean := hr_utility.debug_enabled;
--
-- Package cursors
--
CURSOR csr_future_asgs
(p_person_id IN per_all_people_f.person_id%TYPE
,p_effective_date IN DATE
)
IS
SELECT asg.assignment_id
,asg.object_version_number
FROM per_assignments_f asg
WHERE asg.person_id = csr_future_asgs.p_person_id
AND asg.effective_start_date >= csr_future_asgs.p_effective_date;
--
-- -----------------------------------------------------------------------------
-- |--------------------------< future_asgs_count >----------------------------|
-- -----------------------------------------------------------------------------
--
-- {Start Of Comments}
--
-- Description:
-- Determines the number of assignments for a person which start on or after
-- a date.
--
-- Prerequisites:
-- None
--
-- In Parameters:
-- Name Reqd Type Description
-- p_person_id No number Person id
-- p_effective_date No date Effective date
--
-- Post Success:
-- The number of assignments for the person starting on or after a date is
-- returned.
--
-- Post Failure:
-- An error is raised.
--
-- Access Status:
-- Internal Development Use Only
--
-- {End Of Comments}
--
FUNCTION future_asgs_count
(p_person_id IN per_all_people_f.person_id%TYPE
,p_effective_date IN DATE
)
RETURN INTEGER
IS
--
-- Local variables
--
l_proc VARCHAR2(72);
--
l_future_asgs_count INTEGER := 0;
--
BEGIN
--
if g_debug then
l_proc := g_package||'future_asgs_count';
hr_utility.set_location('Entering:'||l_proc,10);
end if;
--
FOR l_future_asgs_rec IN
csr_future_asgs
(p_person_id => p_person_id
,p_effective_date => p_effective_date
)
LOOP
l_future_asgs_count := l_future_asgs_count + 1;
END LOOP;
--
if g_debug then
hr_utility.set_location(' Leaving:'||l_proc,100);
end if;
--
RETURN(l_future_asgs_count);
--
EXCEPTION
WHEN OTHERS
THEN
IF csr_future_asgs%ISOPEN
THEN
CLOSE csr_future_asgs;
END IF;
RAISE;
--
END future_asgs_count;
--
-- ----------------------------------------------------------------------------
-- |--------------------------< create_employee >-----------------------------|
-- ----------------------------------------------------------------------------
--
procedure create_employee
(p_validate in boolean default false
,p_hire_date in date
,p_business_group_id in number
,p_last_name in varchar2
,p_sex in varchar2
,p_person_type_id in number default null
,p_per_comments in varchar2 default null
,p_date_employee_data_verified in date default null
,p_date_of_birth in date default null
,p_email_address in varchar2 default null
,p_employee_number in out nocopy varchar2
,p_expense_check_send_to_addres in varchar2 default null
,p_first_name in varchar2 default null
,p_known_as in varchar2 default null
,p_marital_status in varchar2 default null
,p_middle_names in varchar2 default null
,p_nationality in varchar2 default null
,p_national_identifier in varchar2 default null
,p_previous_last_name in varchar2 default null
,p_registered_disabled_flag in varchar2 default null
,p_title in varchar2 default null
,p_vendor_id in number default null
,p_work_telephone in varchar2 default null
,p_attribute_category in varchar2 default null
,p_attribute1 in varchar2 default null
,p_attribute2 in varchar2 default null
,p_attribute3 in varchar2 default null
,p_attribute4 in varchar2 default null
,p_attribute5 in varchar2 default null
,p_attribute6 in varchar2 default null
,p_attribute7 in varchar2 default null
,p_attribute8 in varchar2 default null
,p_attribute9 in varchar2 default null
,p_attribute10 in varchar2 default null
,p_attribute11 in varchar2 default null
,p_attribute12 in varchar2 default null
,p_attribute13 in varchar2 default null
,p_attribute14 in varchar2 default null
,p_attribute15 in varchar2 default null
,p_attribute16 in varchar2 default null
,p_attribute17 in varchar2 default null
,p_attribute18 in varchar2 default null
,p_attribute19 in varchar2 default null
,p_attribute20 in varchar2 default null
,p_attribute21 in varchar2 default null
,p_attribute22 in varchar2 default null
,p_attribute23 in varchar2 default null
,p_attribute24 in varchar2 default null
,p_attribute25 in varchar2 default null
,p_attribute26 in varchar2 default null
,p_attribute27 in varchar2 default null
,p_attribute28 in varchar2 default null
,p_attribute29 in varchar2 default null
,p_attribute30 in varchar2 default null
,p_per_information_category in varchar2 default null
,p_per_information1 in varchar2 default null
,p_per_information2 in varchar2 default null
,p_per_information3 in varchar2 default null
,p_per_information4 in varchar2 default null
,p_per_information5 in varchar2 default null
,p_per_information6 in varchar2 default null
,p_per_information7 in varchar2 default null
,p_per_information8 in varchar2 default null
,p_per_information9 in varchar2 default null
,p_per_information10 in varchar2 default null
,p_per_information11 in varchar2 default null
,p_per_information12 in varchar2 default null
,p_per_information13 in varchar2 default null
,p_per_information14 in varchar2 default null
,p_per_information15 in varchar2 default null
,p_per_information16 in varchar2 default null
,p_per_information17 in varchar2 default null
,p_per_information18 in varchar2 default null
,p_per_information19 in varchar2 default null
,p_per_information20 in varchar2 default null
,p_per_information21 in varchar2 default null
,p_per_information22 in varchar2 default null
,p_per_information23 in varchar2 default null
,p_per_information24 in varchar2 default null
,p_per_information25 in varchar2 default null
,p_per_information26 in varchar2 default null
,p_per_information27 in varchar2 default null
,p_per_information28 in varchar2 default null
,p_per_information29 in varchar2 default null
,p_per_information30 in varchar2 default null
,p_date_of_death in date default null
,p_background_check_status in varchar2 default null
,p_background_date_check in date default null
,p_blood_type in varchar2 default null
,p_correspondence_language in varchar2 default null
,p_fast_path_employee in varchar2 default null
,p_fte_capacity in number default null
,p_honors in varchar2 default null
,p_internal_location in varchar2 default null
,p_last_medical_test_by in varchar2 default null
,p_last_medical_test_date in date default null
,p_mailstop in varchar2 default null
,p_office_number in varchar2 default null
,p_on_military_service in varchar2 default null
,p_pre_name_adjunct in varchar2 default null
,p_rehire_recommendation in varchar2 default null -- Bug 3210500
,p_projected_start_date in date default null
,p_resume_exists in varchar2 default null
,p_resume_last_updated in date default null
,p_second_passport_exists in varchar2 default null
,p_student_status in varchar2 default null
,p_work_schedule in varchar2 default null
,p_suffix in varchar2 default null
,p_benefit_group_id in number default null
,p_receipt_of_death_cert_date in date default null
,p_coord_ben_med_pln_no in varchar2 default null
,p_coord_ben_no_cvg_flag in varchar2 default 'N'
,p_coord_ben_med_ext_er in varchar2 default null
,p_coord_ben_med_pl_name in varchar2 default null
,p_coord_ben_med_insr_crr_name in varchar2 default null
,p_coord_ben_med_insr_crr_ident in varchar2 default null
,p_coord_ben_med_cvg_strt_dt in date default null
,p_coord_ben_med_cvg_end_dt in date default null
,p_uses_tobacco_flag in varchar2 default null
,p_dpdnt_adoption_date in date default null
,p_dpdnt_vlntry_svce_flag in varchar2 default 'N'
,p_original_date_of_hire in date default null
,p_adjusted_svc_date in date default null
,p_town_of_birth in varchar2 default null
,p_region_of_birth in varchar2 default null
,p_country_of_birth in varchar2 default null
,p_global_person_id in varchar2 default null
,p_party_id in number default null
,p_person_id out nocopy number
,p_assignment_id out nocopy number
,p_per_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_full_name out nocopy varchar2
,p_per_comment_id out nocopy number
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_name_combination_warning out nocopy boolean
,p_assign_payroll_warning out nocopy boolean
,p_orig_hire_warning out nocopy boolean
)
is
--
-- Declare cursors and local variables
--
l_proc varchar2(72);
l_person_type_id per_person_types.person_type_id%type := p_person_type_id;
l_person_type_id1 per_person_types.person_type_id%type;
l_person_id per_people_f.person_id%type;
l_period_of_service_id per_periods_of_service.period_of_service_id%type;
l_employee_number per_people_f.employee_number%type;
l_emp_num per_people_f.employee_number%type := p_employee_number;
l_applicant_number per_people_f.applicant_number%TYPE;
l_npw_number per_people_f.npw_number%TYPE;
l_assignment_sequence per_assignments_f.assignment_sequence%type;
l_assignment_number per_assignments_f.assignment_number%type;
l_hire_date date;
l_discard_number number;
l_discard_date date;
l_discard_varchar2 varchar2(30);
l_assignment_id number;
l_per_object_version_number number;
l_asg_object_version_number number;
l_per_effective_start_date date;
l_per_effective_end_date date;
l_full_name per_people_f.full_name%type;
l_per_comment_id number;
l_name_combination_warning boolean;
l_assign_payroll_warning boolean;
l_orig_hire_warning boolean;
l_date_employee_data_verified date;
l_date_of_birth date;
l_phn_object_version_number per_phones.object_version_number%TYPE;
l_phone_id per_phones.phone_id%TYPE;
l_date_of_death date;
l_receipt_of_death_cert_date date;
l_dpdnt_adoption_date date;
l_original_date_of_hire date;
l_adjusted_svc_date date;
--
begin
if g_debug then
l_proc := g_package||'create_employee';
hr_utility.set_location('Entering:'|| l_proc, 10);
end if;
--
-- Issue a savepoint.
--
savepoint create_employee;
--
--
-- Truncate the time portion from all date parameters
-- which are passed in.
--
l_hire_date := trunc(p_hire_date);
l_date_employee_data_verified := trunc(p_date_employee_data_verified);
l_date_of_birth := trunc(p_date_of_birth);
l_date_of_death := trunc(p_date_of_death);
l_receipt_of_death_cert_date := trunc(p_receipt_of_death_cert_date);
l_dpdnt_adoption_date := trunc(p_dpdnt_adoption_date);
l_original_date_of_hire := trunc(p_original_date_of_hire);
l_adjusted_svc_date := trunc(p_adjusted_svc_date);
--
begin
--
-- Start of API User Hook for the before hook of create_employee
--
hr_employee_bk1.create_employee_b
(p_hire_date => l_hire_date
,p_business_group_id => p_business_group_id
,p_last_name => p_last_name
,p_sex => p_sex
,p_person_type_id => p_person_type_id
,p_per_comments => p_per_comments
,p_date_employee_data_verified => l_date_employee_data_verified
,p_date_of_birth => l_date_of_birth
,p_email_address => p_email_address
,p_employee_number => p_employee_number
,p_expense_check_send_to_addres => p_expense_check_send_to_addres
,p_first_name => p_first_name
,p_known_as => p_known_as
,p_marital_status => p_marital_status
,p_middle_names => p_middle_names
,p_nationality => p_nationality
,p_national_identifier => p_national_identifier
,p_previous_last_name => p_previous_last_name
,p_registered_disabled_flag => p_registered_disabled_flag
,p_title => p_title
,p_vendor_id => p_vendor_id
,p_work_telephone => p_work_telephone
,p_attribute_category => p_attribute_category
,p_attribute1 => p_attribute1
,p_attribute2 => p_attribute2
,p_attribute3 => p_attribute3
,p_attribute4 => p_attribute4
,p_attribute5 => p_attribute5
,p_attribute6 => p_attribute6
,p_attribute7 => p_attribute7
,p_attribute8 => p_attribute8
,p_attribute9 => p_attribute9
,p_attribute10 => p_attribute10
,p_attribute11 => p_attribute11
,p_attribute12 => p_attribute12
,p_attribute13 => p_attribute13
,p_attribute14 => p_attribute14
,p_attribute15 => p_attribute15
,p_attribute16 => p_attribute16
,p_attribute17 => p_attribute17
,p_attribute18 => p_attribute18
,p_attribute19 => p_attribute19
,p_attribute20 => p_attribute20
,p_attribute21 => p_attribute21
,p_attribute22 => p_attribute22
,p_attribute23 => p_attribute23
,p_attribute24 => p_attribute24
,p_attribute25 => p_attribute25
,p_attribute26 => p_attribute26
,p_attribute27 => p_attribute27
,p_attribute28 => p_attribute28
,p_attribute29 => p_attribute29
,p_attribute30 => p_attribute30
,p_per_information_category => p_per_information_category
,p_per_information1 => p_per_information1
,p_per_information2 => p_per_information2
,p_per_information3 => p_per_information3
,p_per_information4 => p_per_information4
,p_per_information5 => p_per_information5
,p_per_information6 => p_per_information6
,p_per_information7 => p_per_information7
,p_per_information8 => p_per_information8
,p_per_information9 => p_per_information9
,p_per_information10 => p_per_information10
,p_per_information11 => p_per_information11
,p_per_information12 => p_per_information12
,p_per_information13 => p_per_information13
,p_per_information14 => p_per_information14
,p_per_information15 => p_per_information15
,p_per_information16 => p_per_information16
,p_per_information17 => p_per_information17
,p_per_information18 => p_per_information18
,p_per_information19 => p_per_information19
,p_per_information20 => p_per_information20
,p_per_information21 => p_per_information21
,p_per_information22 => p_per_information22
,p_per_information23 => p_per_information23
,p_per_information24 => p_per_information24
,p_per_information25 => p_per_information25
,p_per_information26 => p_per_information26
,p_per_information27 => p_per_information27
,p_per_information28 => p_per_information28
,p_per_information29 => p_per_information29
,p_per_information30 => p_per_information30
,p_date_of_death => l_date_of_death
,p_background_check_status => p_background_check_status
,p_background_date_check => p_background_date_check
,p_blood_type => p_blood_type
,p_correspondence_language => p_correspondence_language
,p_fast_path_employee => p_fast_path_employee
,p_fte_capacity => p_fte_capacity
,p_honors => p_honors
,p_internal_location => p_internal_location
,p_last_medical_test_by => p_last_medical_test_by
,p_last_medical_test_date => p_last_medical_test_date
,p_mailstop => p_mailstop
,p_office_number => p_office_number
,p_on_military_service => p_on_military_service
,p_pre_name_adjunct => p_pre_name_adjunct
,p_rehire_recommendation => p_rehire_recommendation -- Bug 3210500
,p_projected_start_date => p_projected_start_date
,p_resume_exists => p_resume_exists
,p_resume_last_updated => p_resume_last_updated
,p_second_passport_exists => p_second_passport_exists
,p_student_status => p_student_status
,p_work_schedule => p_work_schedule
,p_suffix => p_suffix
,p_benefit_group_id => p_benefit_group_id
,p_receipt_of_death_cert_date => l_receipt_of_death_cert_date
,p_coord_ben_med_pln_no => p_coord_ben_med_pln_no
,p_coord_ben_no_cvg_flag => p_coord_ben_no_cvg_flag
,p_coord_ben_med_ext_er => p_coord_ben_med_ext_er
,p_coord_ben_med_pl_name => p_coord_ben_med_pl_name
,p_coord_ben_med_insr_crr_name => p_coord_ben_med_insr_crr_name
,p_coord_ben_med_insr_crr_ident => p_coord_ben_med_insr_crr_ident
,p_coord_ben_med_cvg_strt_dt => p_coord_ben_med_cvg_strt_dt
,p_coord_ben_med_cvg_end_dt => p_coord_ben_med_cvg_end_dt
,p_uses_tobacco_flag => p_uses_tobacco_flag
,p_dpdnt_adoption_date => l_dpdnt_adoption_date
,p_dpdnt_vlntry_svce_flag => p_dpdnt_vlntry_svce_flag
,p_original_date_of_hire => l_original_date_of_hire
,p_adjusted_svc_date => l_adjusted_svc_date
,p_town_of_birth => p_town_of_birth
,p_region_of_birth => p_region_of_birth
,p_country_of_birth => p_country_of_birth
,p_global_person_id => p_global_person_id
,p_party_id => p_party_id
);
exception
when hr_api.cannot_find_prog_unit then
hr_api.cannot_find_prog_unit_error
(p_module_name => 'CREATE_EMPLOYEE'
,p_hook_type => 'BP'
);
--
-- End of API User Hook for the before hook of create_employee
--
end;
--
if g_debug then
hr_utility.set_location(l_proc, 20);
end if;
--
-- Truncate the time portion from all date parameters
-- which are passed in.
--
l_hire_date := trunc(p_hire_date);
--
-- Set the original hire date to sysdate if not passed in.
if (l_original_date_of_hire is null) THEN
l_original_date_of_hire := l_hire_date;
end if;
--
-- Validation in addition to Row Handlers
--
-- If the specified person type id is not null then check that it
-- corresponds to type 'EMP', is currently active and is in the correct
-- business group, otherwise set person type to the active default for EMP
-- in the current business group.
--
per_per_bus.chk_person_type
(p_person_type_id => l_person_type_id
,p_business_group_id => p_business_group_id
,p_expected_sys_type => 'EMP'
);
if g_debug then
hr_utility.set_location(l_proc, 30);
end if;
--
-- Initialise local variables as appropriate
--
l_applicant_number := null;
l_npw_number := null;
l_employee_number := p_employee_number;
--
-- PTU : Changes
l_person_type_id1 := hr_person_type_usage_info.get_default_person_type_id
(p_business_group_id,
'EMP');
-- PTU : End of Changes
-- Create the person details
--
per_per_ins.ins
(p_business_group_id => p_business_group_id
,p_person_type_id => l_person_type_id1
,p_last_name => p_last_name
,p_start_date => l_hire_date
,p_effective_date => l_hire_date
--
,p_comments => p_per_comments
,p_date_employee_data_verified => l_date_employee_data_verified
,p_date_of_birth => l_date_of_birth
,p_email_address => p_email_address
,p_expense_check_send_to_addres => p_expense_check_send_to_addres
,p_first_name => p_first_name
,p_known_as => p_known_as
,p_marital_status => p_marital_status
,p_middle_names => p_middle_names
,p_nationality => p_nationality
,p_national_identifier => p_national_identifier
,p_previous_last_name => p_previous_last_name
,p_registered_disabled_flag => p_registered_disabled_flag
,p_sex => p_sex
,p_title => p_title
,p_vendor_id => p_vendor_id
-- ,p_work_telephone => p_work_telephone -- Now Handled by Create_phone
,p_attribute_category => p_attribute_category
,p_attribute1 => p_attribute1
,p_attribute2 => p_attribute2
,p_attribute3 => p_attribute3
,p_attribute4 => p_attribute4
,p_attribute5 => p_attribute5
,p_attribute6 => p_attribute6
,p_attribute7 => p_attribute7
,p_attribute8 => p_attribute8
,p_attribute9 => p_attribute9
,p_attribute10 => p_attribute10
,p_attribute11 => p_attribute11
,p_attribute12 => p_attribute12
,p_attribute13 => p_attribute13
,p_attribute14 => p_attribute14
,p_attribute15 => p_attribute15
,p_attribute16 => p_attribute16
,p_attribute17 => p_attribute17
,p_attribute18 => p_attribute18
,p_attribute19 => p_attribute19
,p_attribute20 => p_attribute20
,p_attribute21 => p_attribute21
,p_attribute22 => p_attribute22
,p_attribute23 => p_attribute23
,p_attribute24 => p_attribute24
,p_attribute25 => p_attribute25
,p_attribute26 => p_attribute26
,p_attribute27 => p_attribute27
,p_attribute28 => p_attribute28
,p_attribute29 => p_attribute29
,p_attribute30 => p_attribute30
,p_per_information_category => p_per_information_category
,p_per_information1 => p_per_information1
,p_per_information2 => p_per_information2
,p_per_information3 => p_per_information3
,p_per_information4 => p_per_information4
,p_per_information5 => p_per_information5
,p_per_information6 => p_per_information6
,p_per_information7 => p_per_information7
,p_per_information8 => p_per_information8
,p_per_information9 => p_per_information9
,p_per_information10 => p_per_information10
,p_per_information11 => p_per_information11
,p_per_information12 => p_per_information12
,p_per_information13 => p_per_information13
,p_per_information14 => p_per_information14
,p_per_information15 => p_per_information15
,p_per_information16 => p_per_information16
,p_per_information17 => p_per_information17
,p_per_information18 => p_per_information18
,p_per_information19 => p_per_information19
,p_per_information20 => p_per_information20
,p_per_information21 => p_per_information21
,p_per_information22 => p_per_information22
,p_per_information23 => p_per_information23
,p_per_information24 => p_per_information24
,p_per_information25 => p_per_information25
,p_per_information26 => p_per_information26
,p_per_information27 => p_per_information27
,p_per_information28 => p_per_information28
,p_per_information29 => p_per_information29
,p_per_information30 => p_per_information30
,p_date_of_death => l_date_of_death
,p_background_check_status => p_background_check_status
,p_background_date_check => p_background_date_check
,p_blood_type => p_blood_type
,p_correspondence_language => p_correspondence_language
,p_fast_path_employee => p_fast_path_employee
,p_fte_capacity => p_fte_capacity
,p_honors => p_honors
,p_internal_location => p_internal_location
,p_last_medical_test_by => p_last_medical_test_by
,p_last_medical_test_date => p_last_medical_test_date
,p_mailstop => p_mailstop
,p_office_number => p_office_number
,p_on_military_service => p_on_military_service
,p_pre_name_adjunct => p_pre_name_adjunct
,p_projected_start_date => p_projected_start_date
,p_rehire_recommendation => p_rehire_recommendation -- Bug 3210500
,p_resume_exists => p_resume_exists
,p_resume_last_updated => p_resume_last_updated
,p_second_passport_exists => p_second_passport_exists
,p_student_status => p_student_status
,p_work_schedule => p_work_schedule
,p_suffix => p_suffix
,p_benefit_group_id => p_benefit_group_id
,p_receipt_of_death_cert_date => l_receipt_of_death_cert_date
,p_coord_ben_med_pln_no => p_coord_ben_med_pln_no
,p_coord_ben_no_cvg_flag => p_coord_ben_no_cvg_flag
,p_coord_ben_med_ext_er => p_coord_ben_med_ext_er
,p_coord_ben_med_pl_name => p_coord_ben_med_pl_name
,p_coord_ben_med_insr_crr_name => p_coord_ben_med_insr_crr_name
,p_coord_ben_med_insr_crr_ident => p_coord_ben_med_insr_crr_ident
,p_coord_ben_med_cvg_strt_dt => p_coord_ben_med_cvg_strt_dt
,p_coord_ben_med_cvg_end_dt => p_coord_ben_med_cvg_end_dt
,p_uses_tobacco_flag => p_uses_tobacco_flag
,p_dpdnt_adoption_date => l_dpdnt_adoption_date
,p_dpdnt_vlntry_svce_flag => p_dpdnt_vlntry_svce_flag
,p_original_date_of_hire => l_original_date_of_hire
,p_town_of_birth => p_town_of_birth
,p_region_of_birth => p_region_of_birth
,p_country_of_birth => p_country_of_birth
,p_global_person_id => p_global_person_id
,p_party_id => p_party_id
,p_validate => false
--
,p_applicant_number => l_applicant_number
,p_employee_number => p_employee_number
,p_person_id => l_person_id
,p_effective_start_date => l_per_effective_start_date
,p_effective_end_date => l_per_effective_end_date
,p_comment_id => l_per_comment_id
,p_current_applicant_flag => l_discard_varchar2
,p_current_emp_or_apl_flag => l_discard_varchar2
,p_current_employee_flag => l_discard_varchar2
,p_full_name => l_full_name
,p_object_version_number => l_per_object_version_number
,p_name_combination_warning => l_name_combination_warning
,p_dob_null_warning => l_assign_payroll_warning
,p_orig_hire_warning => l_orig_hire_warning
,p_npw_number => l_npw_number
);
--
if g_debug then
hr_utility.set_location(l_proc, 40);
end if;
--
-- insert the person in to the security list
--
hr_security_internal.populate_new_person(p_business_group_id,l_person_id);
--
-- PTU : Following Code has been added
hr_per_type_usage_internal.maintain_person_type_usage
(p_effective_date => l_hire_date
,p_person_id => l_person_id
,p_person_type_id => l_person_type_id
);
-- PTU : End of changes
if g_debug then
hr_utility.set_location(l_proc, 50);
end if;
--
-- Create the period of service record
--
per_pds_ins.ins
(p_business_group_id => p_business_group_id
,p_person_id => l_person_id
,p_date_start => l_hire_date
,p_effective_date => l_hire_date
,p_adjusted_svc_date => l_adjusted_svc_date
--
,p_validate => false
,p_validate_df_flex => false
--
,p_period_of_service_id => l_period_of_service_id
,p_object_version_number => l_discard_number
);
if g_debug then
hr_utility.set_location(l_proc, 50);
end if;
--
-- Create the default primary employee assignment
--
hr_assignment_internal.create_default_emp_asg
(p_effective_date => l_hire_date
,p_person_id => l_person_id
,p_business_group_id => p_business_group_id
,p_period_of_service_id => l_period_of_service_id
--
,p_assignment_id => l_assignment_id
,p_object_version_number => l_asg_object_version_number
,p_assignment_sequence => l_assignment_sequence
,p_assignment_number => l_assignment_number
);
if g_debug then
hr_utility.set_location(l_proc, 60);
end if;
--
-- Create a phone row using the newly created person as the parent row.
-- This phone row replaces the work_telephone column on the person.
--
if p_work_telephone is not null then
hr_phone_api.create_phone
(p_date_from => l_hire_date
,p_date_to => null
,p_phone_type => 'W1'
,p_phone_number => p_work_telephone
,p_parent_id => l_person_id
,p_parent_table => 'PER_ALL_PEOPLE_F'
,p_validate => FALSE
,p_effective_date => l_hire_date
,p_object_version_number => l_phn_object_version_number --out
,p_phone_id => l_phone_id --out
);
end if;
--
begin
--
-- Start of API User Hook for the after hook of create_employee
--
hr_employee_bk1.create_employee_a
(p_hire_date => l_hire_date
,p_business_group_id => p_business_group_id
,p_last_name => p_last_name
,p_sex => p_sex
,p_person_type_id => p_person_type_id
,p_per_comments => p_per_comments
,p_date_employee_data_verified => l_date_employee_data_verified
,p_date_of_birth => l_date_of_birth
,p_email_address => p_email_address
,p_employee_number => p_employee_number
,p_expense_check_send_to_addres => p_expense_check_send_to_addres
,p_first_name => p_first_name
,p_known_as => p_known_as
,p_marital_status => p_marital_status
,p_middle_names => p_middle_names
,p_nationality => p_nationality
,p_national_identifier => p_national_identifier
,p_previous_last_name => p_previous_last_name
,p_registered_disabled_flag => p_registered_disabled_flag
,p_title => p_title
,p_vendor_id => p_vendor_id
,p_work_telephone => p_work_telephone
,p_attribute_category => p_attribute_category
,p_attribute1 => p_attribute1
,p_attribute2 => p_attribute2
,p_attribute3 => p_attribute3
,p_attribute4 => p_attribute4
,p_attribute5 => p_attribute5
,p_attribute6 => p_attribute6
,p_attribute7 => p_attribute7
,p_attribute8 => p_attribute8
,p_attribute9 => p_attribute9
,p_attribute10 => p_attribute10
,p_attribute11 => p_attribute11
,p_attribute12 => p_attribute12
,p_attribute13 => p_attribute13
,p_attribute14 => p_attribute14
,p_attribute15 => p_attribute15
,p_attribute16 => p_attribute16
,p_attribute17 => p_attribute17
,p_attribute18 => p_attribute18
,p_attribute19 => p_attribute19
,p_attribute20 => p_attribute20
,p_attribute21 => p_attribute21
,p_attribute22 => p_attribute22
,p_attribute23 => p_attribute23
,p_attribute24 => p_attribute24
,p_attribute25 => p_attribute25
,p_attribute26 => p_attribute26
,p_attribute27 => p_attribute27
,p_attribute28 => p_attribute28
,p_attribute29 => p_attribute29
,p_attribute30 => p_attribute30
,p_per_information_category => p_per_information_category
,p_per_information1 => p_per_information1
,p_per_information2 => p_per_information2
,p_per_information3 => p_per_information3
,p_per_information4 => p_per_information4
,p_per_information5 => p_per_information5
,p_per_information6 => p_per_information6
,p_per_information7 => p_per_information7
,p_per_information8 => p_per_information8
,p_per_information9 => p_per_information9
,p_per_information10 => p_per_information10
,p_per_information11 => p_per_information11
,p_per_information12 => p_per_information12
,p_per_information13 => p_per_information13
,p_per_information14 => p_per_information14
,p_per_information15 => p_per_information15
,p_per_information16 => p_per_information16
,p_per_information17 => p_per_information17
,p_per_information18 => p_per_information18
,p_per_information19 => p_per_information19
,p_per_information20 => p_per_information20
,p_per_information21 => p_per_information21
,p_per_information22 => p_per_information22
,p_per_information23 => p_per_information23
,p_per_information24 => p_per_information24
,p_per_information25 => p_per_information25
,p_per_information26 => p_per_information26
,p_per_information27 => p_per_information27
,p_per_information28 => p_per_information28
,p_per_information29 => p_per_information29
,p_per_information30 => p_per_information30
,p_date_of_death => l_date_of_death
,p_background_check_status => p_background_check_status
,p_background_date_check => p_background_date_check
,p_blood_type => p_blood_type
,p_correspondence_language => p_correspondence_language
,p_fast_path_employee => p_fast_path_employee
,p_fte_capacity => p_fte_capacity
,p_honors => p_honors
,p_internal_location => p_internal_location
,p_last_medical_test_by => p_last_medical_test_by
,p_last_medical_test_date => p_last_medical_test_date
,p_mailstop => p_mailstop
,p_office_number => p_office_number
,p_on_military_service => p_on_military_service
,p_pre_name_adjunct => p_pre_name_adjunct
,p_projected_start_date => p_projected_start_date
,p_rehire_recommendation => p_rehire_recommendation -- Bug 3210500
,p_resume_exists => p_resume_exists
,p_resume_last_updated => p_resume_last_updated
,p_second_passport_exists => p_second_passport_exists
,p_student_status => p_student_status
,p_work_schedule => p_work_schedule
,p_suffix => p_suffix
,p_benefit_group_id => p_benefit_group_id
,p_receipt_of_death_cert_date => l_receipt_of_death_cert_date
,p_coord_ben_med_pln_no => p_coord_ben_med_pln_no
,p_coord_ben_no_cvg_flag => p_coord_ben_no_cvg_flag
,p_coord_ben_med_ext_er => p_coord_ben_med_ext_er
,p_coord_ben_med_pl_name => p_coord_ben_med_pl_name
,p_coord_ben_med_insr_crr_name => p_coord_ben_med_insr_crr_name
,p_coord_ben_med_insr_crr_ident => p_coord_ben_med_insr_crr_ident
,p_coord_ben_med_cvg_strt_dt => p_coord_ben_med_cvg_strt_dt
,p_coord_ben_med_cvg_end_dt => p_coord_ben_med_cvg_end_dt
,p_uses_tobacco_flag => p_uses_tobacco_flag
,p_dpdnt_adoption_date => l_dpdnt_adoption_date
,p_dpdnt_vlntry_svce_flag => p_dpdnt_vlntry_svce_flag
,p_original_date_of_hire => l_original_date_of_hire
,p_adjusted_svc_date => l_adjusted_svc_date
,p_person_id => l_person_id
,p_assignment_id => l_assignment_id
,p_per_object_version_number => l_per_object_version_number
,p_asg_object_version_number => l_asg_object_version_number
,p_per_effective_start_date => l_per_effective_start_date
,p_per_effective_end_date => l_per_effective_end_date
,p_full_name => l_full_name
,p_per_comment_id => l_per_comment_id
,p_assignment_sequence => l_assignment_sequence
,p_assignment_number => l_assignment_number
,p_town_of_birth => p_town_of_birth
,p_region_of_birth => p_region_of_birth
,p_country_of_birth => p_country_of_birth
,p_global_person_id => p_global_person_id
,p_party_id => p_party_id
,p_name_combination_warning => l_name_combination_warning
,p_assign_payroll_warning => l_assign_payroll_warning
,p_orig_hire_warning => l_orig_hire_warning
);
exception
when hr_api.cannot_find_prog_unit then
hr_api.cannot_find_prog_unit_error
(p_module_name => 'CREATE_EMPLOYEE'
,p_hook_type => 'AP'
);
--
-- End of API User Hook for the after hook of create_employee
--
end;
--
-- Set all output arguments
--
p_person_id := l_person_id;
p_assignment_sequence := l_assignment_sequence;
p_assignment_number := l_assignment_number;
p_assignment_id := l_assignment_id;
p_per_object_version_number := l_per_object_version_number;
p_asg_object_version_number := l_asg_object_version_number;
p_per_effective_start_date := l_per_effective_start_date;
p_per_effective_end_date := l_per_effective_end_date;
p_full_name := l_full_name;
p_per_comment_id := l_per_comment_id;
p_name_combination_warning := l_name_combination_warning;
p_assign_payroll_warning := l_assign_payroll_warning;
p_orig_hire_warning := l_orig_hire_warning;
--
-- When in validation only mode raise the Validate_Enabled exception
--
if p_validate then
raise hr_api.validate_enabled;
end if;
--
if g_debug then
hr_utility.set_location(' Leaving:'||l_proc, 70);
end if;
exception
when hr_api.validate_enabled then
--
-- As the Validate_Enabled exception has been raised
-- we must rollback to the savepoint
--
ROLLBACK TO create_employee;
--
-- Only set output warning arguments
-- (Any key or derived arguments must be set to null
-- when validation only mode is being used.)
--
p_employee_number := l_employee_number;
p_person_id := null;
p_assignment_id := null;
p_per_object_version_number := null;
p_asg_object_version_number := null;
p_per_effective_start_date := null;
p_per_effective_end_date := null;
p_full_name := null;
p_per_comment_id := null;
p_assignment_sequence := null;
p_assignment_number := null;
p_name_combination_warning := FALSE;
p_assign_payroll_warning := FALSE;
p_orig_hire_warning := FALSE;
--
when others then
--
-- A validation or unexpected error has occurred
--
-- Added as part of fix to bug 632479
--
ROLLBACK TO create_employee;
--
-- set in out parameters and set out parameters
--
p_employee_number := l_emp_num;
p_person_id := null;
p_assignment_id := null;
p_per_object_version_number := null;
p_asg_object_version_number := null;
p_per_effective_start_date := null;
p_per_effective_end_date := null;
p_full_name := null;
p_per_comment_id := null;
p_assignment_sequence := null;
p_assignment_number := null;
p_name_combination_warning := FALSE;
p_assign_payroll_warning := FALSE;
p_orig_hire_warning := FALSE;
raise;
--
-- End of fix.
--
end create_employee;
-- --------------------------------------------------------------------------
--
-- Begin fix for bug 899720
--
-- overload procedure for create_employee
--
procedure create_employee
(p_validate in boolean default false
,p_hire_date in date
,p_business_group_id in number
,p_last_name in varchar2
,p_sex in varchar2
,p_person_type_id in number default null
,p_per_comments in varchar2 default null
,p_date_employee_data_verified in date default null
,p_date_of_birth in date default null
,p_email_address in varchar2 default null
,p_employee_number in out nocopy varchar2
,p_expense_check_send_to_addres in varchar2 default null
,p_first_name in varchar2 default null
,p_known_as in varchar2 default null
,p_marital_status in varchar2 default null
,p_middle_names in varchar2 default null
,p_nationality in varchar2 default null
,p_national_identifier in varchar2 default null
,p_previous_last_name in varchar2 default null
,p_registered_disabled_flag in varchar2 default null
,p_title in varchar2 default null
,p_vendor_id in number default null
,p_work_telephone in varchar2 default null
,p_attribute_category in varchar2 default null
,p_attribute1 in varchar2 default null
,p_attribute2 in varchar2 default null
,p_attribute3 in varchar2 default null
,p_attribute4 in varchar2 default null
,p_attribute5 in varchar2 default null
,p_attribute6 in varchar2 default null
,p_attribute7 in varchar2 default null
,p_attribute8 in varchar2 default null
,p_attribute9 in varchar2 default null
,p_attribute10 in varchar2 default null
,p_attribute11 in varchar2 default null
,p_attribute12 in varchar2 default null
,p_attribute13 in varchar2 default null
,p_attribute14 in varchar2 default null
,p_attribute15 in varchar2 default null
,p_attribute16 in varchar2 default null
,p_attribute17 in varchar2 default null
,p_attribute18 in varchar2 default null
,p_attribute19 in varchar2 default null
,p_attribute20 in varchar2 default null
,p_attribute21 in varchar2 default null
,p_attribute22 in varchar2 default null
,p_attribute23 in varchar2 default null
,p_attribute24 in varchar2 default null
,p_attribute25 in varchar2 default null
,p_attribute26 in varchar2 default null
,p_attribute27 in varchar2 default null
,p_attribute28 in varchar2 default null
,p_attribute29 in varchar2 default null
,p_attribute30 in varchar2 default null
,p_per_information_category in varchar2 default null
,p_per_information1 in varchar2 default null
,p_per_information2 in varchar2 default null
,p_per_information3 in varchar2 default null
,p_per_information4 in varchar2 default null
,p_per_information5 in varchar2 default null
,p_per_information6 in varchar2 default null
,p_per_information7 in varchar2 default null
,p_per_information8 in varchar2 default null
,p_per_information9 in varchar2 default null
,p_per_information10 in varchar2 default null
,p_per_information11 in varchar2 default null
,p_per_information12 in varchar2 default null
,p_per_information13 in varchar2 default null
,p_per_information14 in varchar2 default null
,p_per_information15 in varchar2 default null
,p_per_information16 in varchar2 default null
,p_per_information17 in varchar2 default null
,p_per_information18 in varchar2 default null
,p_per_information19 in varchar2 default null
,p_per_information20 in varchar2 default null
,p_per_information21 in varchar2 default null
,p_per_information22 in varchar2 default null
,p_per_information23 in varchar2 default null
,p_per_information24 in varchar2 default null
,p_per_information25 in varchar2 default null
,p_per_information26 in varchar2 default null
,p_per_information27 in varchar2 default null
,p_per_information28 in varchar2 default null
,p_per_information29 in varchar2 default null
,p_per_information30 in varchar2 default null
,p_date_of_death in date default null
,p_background_check_status in varchar2 default null
,p_background_date_check in date default null
,p_blood_type in varchar2 default null
,p_correspondence_language in varchar2 default null
,p_fast_path_employee in varchar2 default null
,p_fte_capacity in number default null
,p_honors in varchar2 default null
,p_internal_location in varchar2 default null
,p_last_medical_test_by in varchar2 default null
,p_last_medical_test_date in date default null
,p_mailstop in varchar2 default null
,p_office_number in varchar2 default null
,p_on_military_service in varchar2 default null
,p_pre_name_adjunct in varchar2 default null
,p_rehire_recommendation in varchar2 default null -- Bug3210500
,p_projected_start_date in date default null
,p_resume_exists in varchar2 default null
,p_resume_last_updated in date default null
,p_second_passport_exists in varchar2 default null
,p_student_status in varchar2 default null
,p_work_schedule in varchar2 default null
,p_suffix in varchar2 default null
,p_benefit_group_id in number default null
,p_receipt_of_death_cert_date in date default null
,p_coord_ben_med_pln_no in varchar2 default null
,p_coord_ben_no_cvg_flag in varchar2 default 'N'
,p_coord_ben_med_ext_er in varchar2 default null
,p_coord_ben_med_pl_name in varchar2 default null
,p_coord_ben_med_insr_crr_name in varchar2 default null
,p_coord_ben_med_insr_crr_ident in varchar2 default null
,p_coord_ben_med_cvg_strt_dt in date default null
,p_coord_ben_med_cvg_end_dt in date default null
,p_uses_tobacco_flag in varchar2 default null
,p_dpdnt_adoption_date in date default null
,p_dpdnt_vlntry_svce_flag in varchar2 default 'N'
,p_original_date_of_hire in date default null
,p_adjusted_svc_date in date default null
,p_town_of_birth in varchar2 default null
,p_region_of_birth in varchar2 default null
,p_country_of_birth in varchar2 default null
,p_global_person_id in varchar2 default null
,p_party_id in number default null
,p_person_id out nocopy number
,p_assignment_id out nocopy number
,p_per_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_full_name out nocopy varchar2
,p_per_comment_id out nocopy number
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_name_combination_warning out nocopy boolean
,p_assign_payroll_warning out nocopy boolean
)
is
--
-- Declare cursors and local variables
--
l_proc varchar2(72);
l_orig_hire_warning boolean := false;
--
begin
--
if g_debug then
l_proc := g_package||'create_employee';
hr_utility.set_location('Entering:'||l_proc,111);
end if;
--
hr_employee_api.create_employee
(p_validate => p_validate
,p_hire_date => p_hire_date
,p_business_group_id => p_business_group_id
,p_last_name => p_last_name
,p_sex => p_sex
,p_person_type_id => p_person_type_id
,p_per_comments => p_per_comments
,p_date_employee_data_verified => p_date_employee_data_verified
,p_date_of_birth => p_date_of_birth
,p_email_address => p_email_address
,p_employee_number => p_employee_number
,p_expense_check_send_to_addres => p_expense_check_send_to_addres
,p_first_name => p_first_name
,p_known_as => p_known_as
,p_marital_status => p_marital_status
,p_middle_names => p_middle_names
,p_nationality => p_nationality
,p_national_identifier => p_national_identifier
,p_previous_last_name => p_previous_last_name
,p_registered_disabled_flag => p_registered_disabled_flag
,p_title => p_title
,p_vendor_id => p_vendor_id
,p_work_telephone => p_work_telephone
,p_attribute_category => p_attribute_category
,p_attribute1 => p_attribute1
,p_attribute2 => p_attribute2
,p_attribute3 => p_attribute3
,p_attribute4 => p_attribute4
,p_attribute5 => p_attribute5
,p_attribute6 => p_attribute6
,p_attribute7 => p_attribute7
,p_attribute8 => p_attribute8
,p_attribute9 => p_attribute9
,p_attribute10 => p_attribute10
,p_attribute11 => p_attribute11
,p_attribute12 => p_attribute12
,p_attribute13 => p_attribute13
,p_attribute14 => p_attribute14
,p_attribute15 => p_attribute15
,p_attribute16 => p_attribute16
,p_attribute17 => p_attribute17
,p_attribute18 => p_attribute18
,p_attribute19 => p_attribute19
,p_attribute20 => p_attribute20
,p_attribute21 => p_attribute21
,p_attribute22 => p_attribute22
,p_attribute23 => p_attribute23
,p_attribute24 => p_attribute24
,p_attribute25 => p_attribute25
,p_attribute26 => p_attribute26
,p_attribute27 => p_attribute27
,p_attribute28 => p_attribute28
,p_attribute29 => p_attribute29
,p_attribute30 => p_attribute30
,p_per_information_category => p_per_information_category
,p_per_information1 => p_per_information1
,p_per_information2 => p_per_information2
,p_per_information3 => p_per_information3
,p_per_information4 => p_per_information4
,p_per_information5 => p_per_information5
,p_per_information6 => p_per_information6
,p_per_information7 => p_per_information7
,p_per_information8 => p_per_information8
,p_per_information9 => p_per_information9
,p_per_information10 => p_per_information10
,p_per_information11 => p_per_information11
,p_per_information12 => p_per_information12
,p_per_information13 => p_per_information13
,p_per_information14 => p_per_information14
,p_per_information15 => p_per_information15
,p_per_information16 => p_per_information16
,p_per_information17 => p_per_information17
,p_per_information18 => p_per_information18
,p_per_information19 => p_per_information19
,p_per_information20 => p_per_information20
,p_per_information21 => p_per_information21
,p_per_information22 => p_per_information22
,p_per_information23 => p_per_information23
,p_per_information24 => p_per_information24
,p_per_information25 => p_per_information25
,p_per_information26 => p_per_information26
,p_per_information27 => p_per_information27
,p_per_information28 => p_per_information28
,p_per_information29 => p_per_information29
,p_per_information30 => p_per_information30
,p_date_of_death => p_date_of_death
,p_background_check_status => p_background_check_status
,p_background_date_check => p_background_date_check
,p_blood_type => p_blood_type
,p_correspondence_language => p_correspondence_language
,p_fast_path_employee => p_fast_path_employee
,p_fte_capacity => p_fte_capacity
,p_honors => p_honors
,p_internal_location => p_internal_location
,p_last_medical_test_by => p_last_medical_test_by
,p_last_medical_test_date => p_last_medical_test_date
,p_mailstop => p_mailstop
,p_office_number => p_office_number
,p_on_military_service => p_on_military_service
,p_pre_name_adjunct => p_pre_name_adjunct
,p_rehire_recommendation => p_rehire_recommendation -- Bug 3210500
,p_projected_start_date => p_projected_start_date
,p_resume_exists => p_resume_exists
,p_resume_last_updated => p_resume_last_updated
,p_second_passport_exists => p_second_passport_exists
,p_student_status => p_student_status
,p_work_schedule => p_work_schedule
,p_suffix => p_suffix
,p_benefit_group_id => p_benefit_group_id
,p_receipt_of_death_cert_date => p_receipt_of_death_cert_date
,p_coord_ben_med_pln_no => p_coord_ben_med_pln_no
,p_coord_ben_no_cvg_flag => p_coord_ben_no_cvg_flag
,p_coord_ben_med_ext_er => p_coord_ben_med_ext_er
,p_coord_ben_med_pl_name => p_coord_ben_med_pl_name
,p_coord_ben_med_insr_crr_name => p_coord_ben_med_insr_crr_name
,p_coord_ben_med_insr_crr_ident => p_coord_ben_med_insr_crr_ident
,p_coord_ben_med_cvg_strt_dt => p_coord_ben_med_cvg_strt_dt
,p_coord_ben_med_cvg_end_dt => p_coord_ben_med_cvg_end_dt
,p_uses_tobacco_flag => p_uses_tobacco_flag
,p_dpdnt_adoption_date => p_dpdnt_adoption_date
,p_dpdnt_vlntry_svce_flag => p_dpdnt_vlntry_svce_flag
,p_original_date_of_hire => p_original_date_of_hire
,p_adjusted_svc_date => p_adjusted_svc_date
,p_town_of_birth => p_town_of_birth
,p_region_of_birth => p_region_of_birth
,p_country_of_birth => p_country_of_birth
,p_global_person_id => p_global_person_id
,p_party_id => p_party_id
,p_person_id => p_person_id
,p_assignment_id => p_assignment_id
,p_per_object_version_number => p_per_object_version_number
,p_asg_object_version_number => p_asg_object_version_number
,p_per_effective_start_date => p_per_effective_start_date
,p_per_effective_end_date => p_per_effective_end_date
,p_full_name => p_full_name
,p_per_comment_id => p_per_comment_id
,p_assignment_sequence => p_assignment_sequence
,p_assignment_number => p_assignment_number
,p_name_combination_warning => p_name_combination_warning
,p_assign_payroll_warning => p_assign_payroll_warning
,p_orig_hire_warning => l_orig_hire_warning
);
--
if g_debug then
hr_utility.set_location('Leaving:'||l_proc,111);
end if;
--
end create_employee;
--
-- End of fix for bug 899720
--
-- ----------------------------------------------------------------------------
-- |-------------------------< create_gb_employee >---------------------------|
-- ----------------------------------------------------------------------------
--
procedure create_gb_employee
(p_validate in boolean default false
,p_hire_date in date
,p_business_group_id in number
,p_last_name in varchar2
,p_sex in varchar2
,p_person_type_id in number default null
,p_comments in varchar2 default null
,p_date_employee_data_verified in date default null
,p_date_of_birth in date default null
,p_email_address in varchar2 default null
,p_employee_number in out nocopy varchar2
,p_expense_check_send_to_addres in varchar2 default null
,p_first_name in varchar2 default null
,p_known_as in varchar2 default null
,p_marital_status in varchar2 default null
,p_middle_names in varchar2 default null
,p_nationality in varchar2 default null
,p_ni_number in varchar2 default null
,p_previous_last_name in varchar2 default null
,p_registered_disabled_flag in varchar2 default null
,p_title in varchar2 default null
,p_vendor_id in number default null
,p_work_telephone in varchar2 default null
,p_attribute_category in varchar2 default null
,p_attribute1 in varchar2 default null
,p_attribute2 in varchar2 default null
,p_attribute3 in varchar2 default null
,p_attribute4 in varchar2 default null
,p_attribute5 in varchar2 default null
,p_attribute6 in varchar2 default null
,p_attribute7 in varchar2 default null
,p_attribute8 in varchar2 default null
,p_attribute9 in varchar2 default null
,p_attribute10 in varchar2 default null
,p_attribute11 in varchar2 default null
,p_attribute12 in varchar2 default null
,p_attribute13 in varchar2 default null
,p_attribute14 in varchar2 default null
,p_attribute15 in varchar2 default null
,p_attribute16 in varchar2 default null
,p_attribute17 in varchar2 default null
,p_attribute18 in varchar2 default null
,p_attribute19 in varchar2 default null
,p_attribute20 in varchar2 default null
,p_attribute21 in varchar2 default null
,p_attribute22 in varchar2 default null
,p_attribute23 in varchar2 default null
,p_attribute24 in varchar2 default null
,p_attribute25 in varchar2 default null
,p_attribute26 in varchar2 default null
,p_attribute27 in varchar2 default null
,p_attribute28 in varchar2 default null
,p_attribute29 in varchar2 default null
,p_attribute30 in varchar2 default null
,p_ethnic_origin in varchar2 default null
,p_director in varchar2 default 'N'
,p_pensioner in varchar2 default 'N'
,p_work_permit_number in varchar2 default null
,p_addl_pension_years in varchar2 default null
,p_addl_pension_months in varchar2 default null
,p_addl_pension_days in varchar2 default null
,p_ni_multiple_asg in varchar2 default 'N'
,p_date_of_death in date default null
,p_background_check_status in varchar2 default null
,p_background_date_check in date default null
,p_blood_type in varchar2 default null
,p_correspondence_language in varchar2 default null
,p_fast_path_employee in varchar2 default null
,p_fte_capacity in number default null
,p_honors in varchar2 default null
,p_internal_location in varchar2 default null
,p_last_medical_test_by in varchar2 default null
,p_last_medical_test_date in date default null
,p_mailstop in varchar2 default null
,p_office_number in varchar2 default null
,p_on_military_service in varchar2 default null
,p_pre_name_adjunct in varchar2 default null
,p_rehire_recommendation in varchar2 default null -- Bug 3210500
,p_projected_start_date in date default null
,p_resume_exists in varchar2 default null
,p_resume_last_updated in date default null
,p_second_passport_exists in varchar2 default null
,p_student_status in varchar2 default null
,p_work_schedule in varchar2 default null
,p_suffix in varchar2 default null
,p_benefit_group_id in number default null
,p_receipt_of_death_cert_date in date default null
,p_coord_ben_med_pln_no in varchar2 default null
,p_coord_ben_no_cvg_flag in varchar2 default 'N'
,p_coord_ben_med_ext_er in varchar2 default null
,p_coord_ben_med_pl_name in varchar2 default null
,p_coord_ben_med_insr_crr_name in varchar2 default null
,p_coord_ben_med_insr_crr_ident in varchar2 default null
,p_coord_ben_med_cvg_strt_dt in date default null
,p_coord_ben_med_cvg_end_dt in date default null
,p_uses_tobacco_flag in varchar2 default null
,p_dpdnt_adoption_date in date default null
,p_dpdnt_vlntry_svce_flag in varchar2 default 'N'
,p_original_date_of_hire in date default null
,p_adjusted_svc_date in date default null
,p_town_of_birth in varchar2 default null
,p_region_of_birth in varchar2 default null
,p_country_of_birth in varchar2 default null
,p_global_person_id in varchar2 default null
,p_party_id in number default null
,p_person_id out nocopy number
,p_assignment_id out nocopy number
,p_per_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_full_name out nocopy varchar2
,p_per_comment_id out nocopy number
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_name_combination_warning out nocopy boolean
,p_assign_payroll_warning out nocopy boolean
,p_orig_hire_warning out nocopy boolean
) is
--
-- Declare cursors and local variables
--
l_proc varchar2(72);
l_legislation_code varchar2(2);
l_hire_date date := trunc(p_hire_date);
l_original_date_of_hire date := trunc(p_original_date_of_hire);
--
cursor csr_bg is
select legislation_code
from per_business_groups pbg
where pbg.business_group_id = p_business_group_id;
--
begin
if g_debug then
l_proc := g_package||'create_gb_employee';
hr_utility.set_location('Entering:'|| l_proc, 5);
end if;
--
-- Validation in addition to Row Handlers
--
-- Check that the specified business group is valid.
--
open csr_bg;
fetch csr_bg
into l_legislation_code;
if csr_bg%notfound then
close csr_bg;
hr_utility.set_message(801, 'HR_7208_API_BUS_GRP_INVALID');
hr_utility.raise_error;
end if;
close csr_bg;
--
-- Check that the legislation of the specified business group is 'GB'.
--
if l_legislation_code <> 'GB' then
hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
hr_utility.set_message_token('LEG_CODE','GB');
hr_utility.raise_error;
end if;
if g_debug then
hr_utility.set_location(l_proc, 6);
end if;
--
-- set the original date of hire to hire date if null
--
if p_original_date_of_hire is null then
l_original_date_of_hire := l_hire_date;
end if;
--
-- Call the person business process
--
hr_employee_api.create_employee
(p_validate => p_validate
,p_hire_date => p_hire_date
,p_business_group_id => p_business_group_id
,p_last_name => p_last_name
,p_sex => p_sex
,p_person_type_id => p_person_type_id
,p_per_comments => p_comments
,p_date_employee_data_verified => p_date_employee_data_verified
,p_date_of_birth => p_date_of_birth
,p_email_address => p_email_address
,p_employee_number => p_employee_number
,p_expense_check_send_to_addres => p_expense_check_send_to_addres
,p_first_name => p_first_name
,p_known_as => p_known_as
,p_marital_status => p_marital_status
,p_middle_names => p_middle_names
,p_nationality => p_nationality
,p_national_identifier => p_ni_number
,p_previous_last_name => p_previous_last_name
,p_registered_disabled_flag => p_registered_disabled_flag
,p_title => p_title
,p_vendor_id => p_vendor_id
,p_work_telephone => p_work_telephone
,p_attribute_category => p_attribute_category
,p_attribute1 => p_attribute1
,p_attribute2 => p_attribute2
,p_attribute3 => p_attribute3
,p_attribute4 => p_attribute4
,p_attribute5 => p_attribute5
,p_attribute6 => p_attribute6
,p_attribute7 => p_attribute7
,p_attribute8 => p_attribute8
,p_attribute9 => p_attribute9
,p_attribute10 => p_attribute10
,p_attribute11 => p_attribute11
,p_attribute12 => p_attribute12
,p_attribute13 => p_attribute13
,p_attribute14 => p_attribute14
,p_attribute15 => p_attribute15
,p_attribute16 => p_attribute16
,p_attribute17 => p_attribute17
,p_attribute18 => p_attribute18
,p_attribute19 => p_attribute19
,p_attribute20 => p_attribute20
,p_attribute21 => p_attribute21
,p_attribute22 => p_attribute22
,p_attribute23 => p_attribute23
,p_attribute24 => p_attribute24
,p_attribute25 => p_attribute25
,p_attribute26 => p_attribute26
,p_attribute27 => p_attribute27
,p_attribute28 => p_attribute28
,p_attribute29 => p_attribute29
,p_attribute30 => p_attribute30
,p_per_information_category => 'GB'
,p_per_information1 => p_ethnic_origin
,p_per_information2 => p_director
,p_per_information4 => p_pensioner
,p_per_information5 => p_work_permit_number
,p_per_information6 => p_addl_pension_years
,p_per_information7 => p_addl_pension_months
,p_per_information8 => p_addl_pension_days
,p_per_information9 => p_ni_multiple_asg
,p_date_of_death => p_date_of_death
,p_background_check_status => p_background_check_status
,p_background_date_check => p_background_date_check
,p_blood_type => p_blood_type
,p_correspondence_language => p_correspondence_language
,p_fast_path_employee => p_fast_path_employee
,p_fte_capacity => p_fte_capacity
,p_honors => p_honors
,p_internal_location => p_internal_location
,p_last_medical_test_by => p_last_medical_test_by
,p_last_medical_test_date => p_last_medical_test_date
,p_mailstop => p_mailstop
,p_office_number => p_office_number
,p_on_military_service => p_on_military_service
,p_pre_name_adjunct => p_pre_name_adjunct
,p_rehire_recommendation => p_rehire_recommendation -- Bug 3210500
,p_projected_start_date => p_projected_start_date
,p_resume_exists => p_resume_exists
,p_resume_last_updated => p_resume_last_updated
,p_second_passport_exists => p_second_passport_exists
,p_student_status => p_student_status
,p_work_schedule => p_work_schedule
,p_suffix => p_suffix
,p_benefit_group_id => p_benefit_group_id
,p_receipt_of_death_cert_date => p_receipt_of_death_cert_date
,p_coord_ben_med_pln_no => p_coord_ben_med_pln_no
,p_coord_ben_no_cvg_flag => p_coord_ben_no_cvg_flag
,p_coord_ben_med_ext_er => p_coord_ben_med_ext_er
,p_coord_ben_med_pl_name => p_coord_ben_med_pl_name
,p_coord_ben_med_insr_crr_name => p_coord_ben_med_insr_crr_name
,p_coord_ben_med_insr_crr_ident => p_coord_ben_med_insr_crr_ident
,p_coord_ben_med_cvg_strt_dt => p_coord_ben_med_cvg_strt_dt
,p_coord_ben_med_cvg_end_dt => p_coord_ben_med_cvg_end_dt
,p_uses_tobacco_flag => p_uses_tobacco_flag
,p_dpdnt_adoption_date => p_dpdnt_adoption_date
,p_dpdnt_vlntry_svce_flag => p_dpdnt_vlntry_svce_flag
,p_original_date_of_hire => l_original_date_of_hire
,p_adjusted_svc_date => p_adjusted_svc_date
,p_town_of_birth => p_town_of_birth
,p_region_of_birth => p_region_of_birth
,p_country_of_birth => p_country_of_birth
,p_global_person_id => p_global_person_id
,p_party_id => p_party_id
--
,p_person_id => p_person_id
,p_assignment_id => p_assignment_id
,p_per_object_version_number => p_per_object_version_number
,p_asg_object_version_number => p_asg_object_version_number
,p_per_effective_start_date => p_per_effective_start_date
,p_per_effective_end_date => p_per_effective_end_date
,p_full_name => p_full_name
,p_per_comment_id => p_per_comment_id
,p_assignment_sequence => p_assignment_sequence
,p_assignment_number => p_assignment_number
,p_name_combination_warning => p_name_combination_warning
,p_assign_payroll_warning => p_assign_payroll_warning
,p_orig_hire_warning => p_orig_hire_warning
);
--
end create_gb_employee;
-- --------------------------------------------------------------------------
--
-- Begin fix for bug 899720
--
-- overload procedure for create_gb_employee
--
procedure create_gb_employee
(p_validate in boolean default false
,p_hire_date in date
,p_business_group_id in number
,p_last_name in varchar2
,p_sex in varchar2
,p_person_type_id in number default null
,p_comments in varchar2 default null
,p_date_employee_data_verified in date default null
,p_date_of_birth in date default null
,p_email_address in varchar2 default null
,p_employee_number in out nocopy varchar2
,p_expense_check_send_to_addres in varchar2 default null
,p_first_name in varchar2 default null
,p_known_as in varchar2 default null
,p_marital_status in varchar2 default null
,p_middle_names in varchar2 default null
,p_nationality in varchar2 default null
,p_ni_number in varchar2 default null
,p_previous_last_name in varchar2 default null
,p_registered_disabled_flag in varchar2 default null
,p_title in varchar2 default null
,p_vendor_id in number default null
,p_work_telephone in varchar2 default null
,p_attribute_category in varchar2 default null
,p_attribute1 in varchar2 default null
,p_attribute2 in varchar2 default null
,p_attribute3 in varchar2 default null
,p_attribute4 in varchar2 default null
,p_attribute5 in varchar2 default null
,p_attribute6 in varchar2 default null
,p_attribute7 in varchar2 default null
,p_attribute8 in varchar2 default null
,p_attribute9 in varchar2 default null
,p_attribute10 in varchar2 default null
,p_attribute11 in varchar2 default null
,p_attribute12 in varchar2 default null
,p_attribute13 in varchar2 default null
,p_attribute14 in varchar2 default null
,p_attribute15 in varchar2 default null
,p_attribute16 in varchar2 default null
,p_attribute17 in varchar2 default null
,p_attribute18 in varchar2 default null
,p_attribute19 in varchar2 default null
,p_attribute20 in varchar2 default null
,p_attribute21 in varchar2 default null
,p_attribute22 in varchar2 default null
,p_attribute23 in varchar2 default null
,p_attribute24 in varchar2 default null
,p_attribute25 in varchar2 default null
,p_attribute26 in varchar2 default null
,p_attribute27 in varchar2 default null
,p_attribute28 in varchar2 default null
,p_attribute29 in varchar2 default null
,p_attribute30 in varchar2 default null
,p_ethnic_origin in varchar2 default null
,p_director in varchar2 default 'N'
,p_pensioner in varchar2 default 'N'
,p_work_permit_number in varchar2 default null
,p_addl_pension_years in varchar2 default null
,p_addl_pension_months in varchar2 default null
,p_addl_pension_days in varchar2 default null
,p_ni_multiple_asg in varchar2 default 'N'
,p_date_of_death in date default null
,p_background_check_status in varchar2 default null
,p_background_date_check in date default null
,p_blood_type in varchar2 default null
,p_correspondence_language in varchar2 default null
,p_fast_path_employee in varchar2 default null
,p_fte_capacity in number default null
,p_honors in varchar2 default null
,p_internal_location in varchar2 default null
,p_last_medical_test_by in varchar2 default null
,p_last_medical_test_date in date default null
,p_mailstop in varchar2 default null
,p_office_number in varchar2 default null
,p_on_military_service in varchar2 default null
,p_pre_name_adjunct in varchar2 default null
,p_rehire_recommendation in varchar2 default null -- Bug 3210500
,p_projected_start_date in date default null
,p_resume_exists in varchar2 default null
,p_resume_last_updated in date default null
,p_second_passport_exists in varchar2 default null
,p_student_status in varchar2 default null
,p_work_schedule in varchar2 default null
,p_suffix in varchar2 default null
,p_benefit_group_id in number default null
,p_receipt_of_death_cert_date in date default null
,p_coord_ben_med_pln_no in varchar2 default null
,p_coord_ben_no_cvg_flag in varchar2 default 'N'
,p_coord_ben_med_ext_er in varchar2 default null
,p_coord_ben_med_pl_name in varchar2 default null
,p_coord_ben_med_insr_crr_name in varchar2 default null
,p_coord_ben_med_insr_crr_ident in varchar2 default null
,p_coord_ben_med_cvg_strt_dt in date default null
,p_coord_ben_med_cvg_end_dt in date default null
,p_uses_tobacco_flag in varchar2 default null
,p_dpdnt_adoption_date in date default null
,p_dpdnt_vlntry_svce_flag in varchar2 default 'N'
,p_original_date_of_hire in date default null
,p_adjusted_svc_date in date default null
,p_town_of_birth in varchar2 default null
,p_region_of_birth in varchar2 default null
,p_country_of_birth in varchar2 default null
,p_global_person_id in varchar2 default null
,p_party_id in number default null
,p_person_id out nocopy number
,p_assignment_id out nocopy number
,p_per_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_full_name out nocopy varchar2
,p_per_comment_id out nocopy number
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_name_combination_warning out nocopy boolean
,p_assign_payroll_warning out nocopy boolean
)
is
--
-- Declare cursors and local variables
--
l_proc varchar2(72);
l_orig_hire_warning boolean := false;
--
begin
--
if g_debug then
l_proc := g_package||'create_gb_employee';
hr_utility.set_location('Entering:'||l_proc,222);
end if;
--
hr_employee_api.create_gb_employee
(p_validate => p_validate
,p_hire_date => p_hire_date
,p_business_group_id => p_business_group_id
,p_last_name => p_last_name
,p_sex => p_sex
,p_person_type_id => p_person_type_id
,p_comments => p_comments
,p_date_employee_data_verified => p_date_employee_data_verified
,p_date_of_birth => p_date_of_birth
,p_email_address => p_email_address
,p_employee_number => p_employee_number
,p_expense_check_send_to_addres => p_expense_check_send_to_addres
,p_first_name => p_first_name
,p_known_as => p_known_as
,p_marital_status => p_marital_status
,p_middle_names => p_middle_names
,p_nationality => p_nationality
,p_ni_number => p_ni_number
,p_previous_last_name => p_previous_last_name
,p_registered_disabled_flag => p_registered_disabled_flag
,p_title => p_title
,p_vendor_id => p_vendor_id
,p_work_telephone => p_work_telephone
,p_attribute_category => p_attribute_category
,p_attribute1 => p_attribute1
,p_attribute2 => p_attribute2
,p_attribute3 => p_attribute3
,p_attribute4 => p_attribute4
,p_attribute5 => p_attribute5
,p_attribute6 => p_attribute6
,p_attribute7 => p_attribute7
,p_attribute8 => p_attribute8
,p_attribute9 => p_attribute9
,p_attribute10 => p_attribute10
,p_attribute11 => p_attribute11
,p_attribute12 => p_attribute12
,p_attribute13 => p_attribute13
,p_attribute14 => p_attribute14
,p_attribute15 => p_attribute15
,p_attribute16 => p_attribute16
,p_attribute17 => p_attribute17
,p_attribute18 => p_attribute18
,p_attribute19 => p_attribute19
,p_attribute20 => p_attribute20
,p_attribute21 => p_attribute21
,p_attribute22 => p_attribute22
,p_attribute23 => p_attribute23
,p_attribute24 => p_attribute24
,p_attribute25 => p_attribute25
,p_attribute26 => p_attribute26
,p_attribute27 => p_attribute27
,p_attribute28 => p_attribute28
,p_attribute29 => p_attribute29
,p_attribute30 => p_attribute30
,p_ethnic_origin => p_ethnic_origin
,p_director => p_director
,p_pensioner => p_pensioner
,p_work_permit_number => p_work_permit_number
,p_addl_pension_years => p_addl_pension_years
,p_addl_pension_months => p_addl_pension_months
,p_addl_pension_days => p_addl_pension_days
,p_ni_multiple_asg => p_ni_multiple_asg
,p_date_of_death => p_date_of_death
,p_background_check_status => p_background_check_status
,p_background_date_check => p_background_date_check
,p_blood_type => p_blood_type
,p_correspondence_language => p_correspondence_language
,p_fast_path_employee => p_fast_path_employee
,p_fte_capacity => p_fte_capacity
,p_honors => p_honors
,p_internal_location => p_internal_location
,p_last_medical_test_by => p_last_medical_test_by
,p_last_medical_test_date => p_last_medical_test_date
,p_mailstop => p_mailstop
,p_office_number => p_office_number
,p_on_military_service => p_on_military_service
,p_pre_name_adjunct => p_pre_name_adjunct
,p_rehire_recommendation => p_rehire_recommendation -- Bug 3210500
,p_projected_start_date => p_projected_start_date
,p_resume_exists => p_resume_exists
,p_resume_last_updated => p_resume_last_updated
,p_second_passport_exists => p_second_passport_exists
,p_student_status => p_student_status
,p_work_schedule => p_work_schedule
,p_suffix => p_suffix
,p_benefit_group_id => p_benefit_group_id
,p_receipt_of_death_cert_date => p_receipt_of_death_cert_date
,p_coord_ben_med_pln_no => p_coord_ben_med_pln_no
,p_coord_ben_no_cvg_flag => p_coord_ben_no_cvg_flag
,p_coord_ben_med_ext_er => p_coord_ben_med_ext_er
,p_coord_ben_med_pl_name => p_coord_ben_med_pl_name
,p_coord_ben_med_insr_crr_name => p_coord_ben_med_insr_crr_name
,p_coord_ben_med_insr_crr_ident => p_coord_ben_med_insr_crr_ident
,p_coord_ben_med_cvg_strt_dt => p_coord_ben_med_cvg_strt_dt
,p_coord_ben_med_cvg_end_dt => p_coord_ben_med_cvg_end_dt
,p_uses_tobacco_flag => p_uses_tobacco_flag
,p_dpdnt_adoption_date => p_dpdnt_adoption_date
,p_dpdnt_vlntry_svce_flag => p_dpdnt_vlntry_svce_flag
,p_original_date_of_hire => p_original_date_of_hire
,p_adjusted_svc_date => p_adjusted_svc_date
,p_town_of_birth => p_town_of_birth
,p_region_of_birth => p_region_of_birth
,p_country_of_birth => p_country_of_birth
,p_global_person_id => p_global_person_id
,p_party_id => p_party_id
,p_person_id => p_person_id
,p_assignment_id => p_assignment_id
,p_per_object_version_number => p_per_object_version_number
,p_asg_object_version_number => p_asg_object_version_number
,p_per_effective_start_date => p_per_effective_start_date
,p_per_effective_end_date => p_per_effective_end_date
,p_full_name => p_full_name
,p_per_comment_id => p_per_comment_id
,p_assignment_sequence => p_assignment_sequence
,p_assignment_number => p_assignment_number
,p_name_combination_warning => p_name_combination_warning
,p_assign_payroll_warning => p_assign_payroll_warning
,p_orig_hire_warning => l_orig_hire_warning
);
--
if g_debug then
hr_utility.set_location('Leaving:'||l_proc,222);
end if;
--
end create_gb_employee;
--
-- End of fix for bug 899720
--
-- ----------------------------------------------------------------------------
-- |-------------------------< create_us_employee >---------------------------|
-- ----------------------------------------------------------------------------
--
procedure create_us_employee
(p_validate in boolean default false
,p_hire_date in date
,p_business_group_id in number
,p_last_name in varchar2
,p_sex in varchar2
,p_person_type_id in number default null
,p_comments in varchar2 default null
,p_date_employee_data_verified in date default null
,p_date_of_birth in date default null
,p_email_address in varchar2 default null
,p_employee_number in out nocopy varchar2
,p_expense_check_send_to_addres in varchar2 default null
,p_first_name in varchar2 default null
,p_known_as in varchar2 default null
,p_marital_status in varchar2 default null
,p_middle_names in varchar2 default null
,p_nationality in varchar2 default null
,p_ss_number in varchar2 default null
,p_previous_last_name in varchar2 default null
,p_registered_disabled_flag in varchar2 default null
,p_title in varchar2 default null
,p_vendor_id in number default null
,p_work_telephone in varchar2 default null
,p_attribute_category in varchar2 default null
,p_attribute1 in varchar2 default null
,p_attribute2 in varchar2 default null
,p_attribute3 in varchar2 default null
,p_attribute4 in varchar2 default null
,p_attribute5 in varchar2 default null
,p_attribute6 in varchar2 default null
,p_attribute7 in varchar2 default null
,p_attribute8 in varchar2 default null
,p_attribute9 in varchar2 default null
,p_attribute10 in varchar2 default null
,p_attribute11 in varchar2 default null
,p_attribute12 in varchar2 default null
,p_attribute13 in varchar2 default null
,p_attribute14 in varchar2 default null
,p_attribute15 in varchar2 default null
,p_attribute16 in varchar2 default null
,p_attribute17 in varchar2 default null
,p_attribute18 in varchar2 default null
,p_attribute19 in varchar2 default null
,p_attribute20 in varchar2 default null
,p_attribute21 in varchar2 default null
,p_attribute22 in varchar2 default null
,p_attribute23 in varchar2 default null
,p_attribute24 in varchar2 default null
,p_attribute25 in varchar2 default null
,p_attribute26 in varchar2 default null
,p_attribute27 in varchar2 default null
,p_attribute28 in varchar2 default null
,p_attribute29 in varchar2 default null
,p_attribute30 in varchar2 default null
,p_ethnic_origin in varchar2 default null
,p_I_9 in varchar2 default 'N'
,p_I_9_expiration_date in varchar2 default null
-- ,p_visa_type in varchar2 default null
,p_veteran_status in varchar2 default null
,p_new_hire in varchar2 default null
,p_exception_reason in varchar2 default null
,p_child_support_obligation in varchar2 default 'N'
,p_opted_for_medicare_flag in varchar2 default 'N'
,p_date_of_death in date default null
,p_background_check_status in varchar2 default null
,p_background_date_check in date default null
,p_blood_type in varchar2 default null
,p_correspondence_language in varchar2 default null
,p_fast_path_employee in varchar2 default null
,p_fte_capacity in number default null
,p_honors in varchar2 default null
,p_internal_location in varchar2 default null
,p_last_medical_test_by in varchar2 default null
,p_last_medical_test_date in date default null
,p_mailstop in varchar2 default null
,p_office_number in varchar2 default null
,p_on_military_service in varchar2 default null
,p_pre_name_adjunct in varchar2 default null
,p_rehire_recommendation in varchar2 default null -- Bug 3210500
,p_projected_start_date in date default null
,p_resume_exists in varchar2 default null
,p_resume_last_updated in date default null
,p_second_passport_exists in varchar2 default null
,p_student_status in varchar2 default null
,p_work_schedule in varchar2 default null
,p_suffix in varchar2 default null
,p_benefit_group_id in number default null
,p_receipt_of_death_cert_date in date default null
,p_coord_ben_med_pln_no in varchar2 default null
,p_coord_ben_no_cvg_flag in varchar2 default 'N'
,p_coord_ben_med_ext_er in varchar2 default null
,p_coord_ben_med_pl_name in varchar2 default null
,p_coord_ben_med_insr_crr_name in varchar2 default null
,p_coord_ben_med_insr_crr_ident in varchar2 default null
,p_coord_ben_med_cvg_strt_dt in date default null
,p_coord_ben_med_cvg_end_dt in date default null
,p_uses_tobacco_flag in varchar2 default null
,p_dpdnt_adoption_date in date default null
,p_dpdnt_vlntry_svce_flag in varchar2 default 'N'
,p_original_date_of_hire in date default null
,p_adjusted_svc_date in date default null
,p_town_of_birth in varchar2 default null
,p_region_of_birth in varchar2 default null
,p_country_of_birth in varchar2 default null
,p_global_person_id in varchar2 default null
,p_party_id in number default null
,p_person_id out nocopy number
,p_assignment_id out nocopy number
,p_per_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_full_name out nocopy varchar2
,p_per_comment_id out nocopy number
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_name_combination_warning out nocopy boolean
,p_assign_payroll_warning out nocopy boolean
,p_orig_hire_warning out nocopy boolean
)
is
--
-- Declare cursors and local variables
--
l_proc varchar2(72) ;
l_legislation_code varchar2(2);
l_asg_object_version_number number(9);
--
cursor csr_bg is
select legislation_code
from per_business_groups pbg
where pbg.business_group_id = p_business_group_id;
--
begin
--
-- Validation in addition to Row Handlers
--
-- Check that the specified business group is valid.
--
open csr_bg;
fetch csr_bg
into l_legislation_code;
if csr_bg%notfound then
close csr_bg;
hr_utility.set_message(801, 'HR_7208_API_BUS_GRP_INVALID');
hr_utility.raise_error;
end if;
close csr_bg;
if g_debug then
l_proc := g_package||'create_us_employee';
hr_utility.set_location(l_proc, 20);
end if;
--
-- Check that the legislation of the specified business group is 'US'.
--
if l_legislation_code <> 'US' then
hr_utility.set_message(801, 'HR_7961_PER_BUS_GRP_INVALID');
hr_utility.set_message_token('LEG_CODE','US');
hr_utility.raise_error;
end if;
if g_debug then
hr_utility.set_location(l_proc, 30);
end if;
--
-- Call the person business process
--
hr_employee_api.create_employee
(p_validate => p_validate
,p_hire_date => p_hire_date
,p_business_group_id => p_business_group_id
,p_last_name => p_last_name
,p_sex => p_sex
,p_person_type_id => p_person_type_id
,p_per_comments => p_comments
,p_date_employee_data_verified => p_date_employee_data_verified
,p_date_of_birth => p_date_of_birth
,p_email_address => p_email_address
,p_employee_number => p_employee_number
,p_expense_check_send_to_addres => p_expense_check_send_to_addres
,p_first_name => p_first_name
,p_known_as => p_known_as
,p_marital_status => p_marital_status
,p_middle_names => p_middle_names
,p_nationality => p_nationality
,p_national_identifier => p_ss_number
,p_previous_last_name => p_previous_last_name
,p_registered_disabled_flag => p_registered_disabled_flag
,p_title => p_title
,p_vendor_id => p_vendor_id
,p_work_telephone => p_work_telephone
,p_attribute_category => p_attribute_category
,p_attribute1 => p_attribute1
,p_attribute2 => p_attribute2
,p_attribute3 => p_attribute3
,p_attribute4 => p_attribute4
,p_attribute5 => p_attribute5
,p_attribute6 => p_attribute6
,p_attribute7 => p_attribute7
,p_attribute8 => p_attribute8
,p_attribute9 => p_attribute9
,p_attribute10 => p_attribute10
,p_attribute11 => p_attribute11
,p_attribute12 => p_attribute12
,p_attribute13 => p_attribute13
,p_attribute14 => p_attribute14
,p_attribute15 => p_attribute15
,p_attribute16 => p_attribute16
,p_attribute17 => p_attribute17
,p_attribute18 => p_attribute18
,p_attribute19 => p_attribute19
,p_attribute20 => p_attribute20
,p_attribute21 => p_attribute21
,p_attribute22 => p_attribute22
&nb3p; ,p_a4tribute23 => p_attribute23
,p_attribute24 &nbsx; ? => p_attribute24
,p_attribute25 => p_attribute25
,p_attribute26 => p_attribute26
,p_attribute27 nbsp; => p_attribute27
,p_attribute28  3 => p_attribute28
,p_attribute29 => p_attribute29
,p_attribute30 => p_attribute30
,p_per_information_category => 'US'
,p_per_information1 => p_ethnic_origin
,p_per_information2 => p_I_9
,p_per_information3 => p_I_9_expiration_date
-- ,p_per_information4 => p_visa_type
,p_per_information5 => p_veteran_status
,p_per_information7 => p_new_hire
,p_per_information8 => p_exception_reason
,p_per_information9 => p_child_support_obligation
,p_per_information10 => p_opted_for_medicare_flag
,p_date_of_death => p_date_of_death
,p_background_check_status => p_background_check_status
,p_background_date_check => p_background_date_check
,p_blood_type => p_blood_type
,p_correspondence_language => p_correspondence_language
,p_fast_path_employee => p_fast_path_employee
,p_fte_capacity => p_fte_capacity
,p_honors => p_honors
,p_internal_location => p_internal_location
,p_last_medical_test_by => p_last_medical_test_by
,p_last_medical_test_date => p_last_medical_test_date
,p_mailstop => p_mailstop
,p_office_number => p_office_number
,p_on_military_service => p_on_military_service
,p_pre_name_adjunct => p_pre_name_adjunct
,p_rehire_recommendation => p_rehire_recommendation -- Bug 3210500
,p_projected_start_date => p_projected_start_date
,p_resume_exists => p_resume_exists
,p_resume_last_updated => p_resume_last_updated
,p_second_passport_exists => p_second_passport_exists
,p_student_status => p_student_status
,p_work_schedule => p_work_schedule
,p_suffix => p_suffix
,p_benefit_group_id => p_benefit_group_id
,p_receipt_of_death_cert_date => p_receipt_of_death_cert_date
,p_coord_ben_med_pln_no => p_coord_ben_med_pln_no
,p_coord_ben_no_cvg_flag => p_coord_ben_no_cvg_flag
,p_coord_ben_med_ext_er => p_coord_ben_med_ext_er
,p_coord_ben_med_pl_name => p_coord_ben_med_pl_name
,p_coord_ben_med_insr_crr_name => p_coord_ben_med_insr_crr_name
,p_coord_ben_med_insr_crr_ident => p_coord_ben_med_insr_crr_ident
,p_coord_ben_med_cvg_strt_dt => p_coord_ben_med_cvg_strt_dt
,p_coord_ben_med_cvg_end_dt => p_coord_ben_med_cvg_end_dt
,p_uses_tobacco_flag => p_uses_tobacco_flag
,p_dpdnt_adoption_date => p_dpdnt_adoption_date
,p_dpdnt_vlntry_svce_flag => p_dpdnt_vlntry_svce_flag
,p_original_date_of_hire => p_original_date_of_hire
,p_adjusted_svc_date => p_adjusted_svc_date
,p_town_of_birth => p_town_of_birth
,p_region_of_birth => p_region_of_birth
,p_country_of_birth => p_country_of_birth
,p_global_person_id => p_global_person_id
,p_party_id => p_party_id
--
,p_person_id => p_person_id
,p_assignment_id => p_assignment_id
,p_per_object_version_number => p_per_object_version_number
,p_asg_object_version_number => p_asg_object_version_number
,p_per_effective_start_date => p_per_effective_start_date
,p_per_effective_end_date => p_per_effective_end_date
,p_full_name => p_full_name
,p_per_comment_id => p_per_comment_id
,p_assignment_sequence => p_assignment_sequence
,p_assignment_number => p_assignment_number
,p_name_combination_warning => p_name_combination_warning
,p_assign_payroll_warning => p_assign_payroll_warning
,p_orig_hire_warning => p_orig_hire_warning
);
--
if g_debug then
hr_utility.set_location(' Leaving:'||l_proc, 40);
end if;
end create_us_employee;
-- --------------------------------------------------------------------------
--
-- Begin fix for bug 899720
--
-- overload procedure for create_us_employee
--
procedure create_us_employee
(p_validate in boolean default false
,p_hire_date in date
,p_business_group_id in number
,p_last_name in varchar2
,p_sex in varchar2
,p_person_type_id in number default null
,p_comments in varchar2 default null
,p_date_employee_data_verified in date default null
,p_date_of_birth in date default null
,p_email_address in varchar2 default null
,p_employee_number in out nocopy varchar2
,p_expense_check_send_to_addres in varchar2 default null
,p_first_name in varchar2 default null
,p_known_as in varchar2 default null
,p_marital_status in varchar2 default null
,p_middle_names in varchar2 default null
,p_nationality in varchar2 default null
,p_ss_number in varchar2 default null
,p_previous_last_name in varchar2 default null
,p_registered_disabled_flag in varchar2 default null
,p_title in varchar2 default null
,p_vendor_id in number default null
,p_work_telephone in varchar2 default null
,p_attribute_category in varchar2 default null
,p_attribute1 in varchar2 default null
,p_attribute2 in varchar2 default null
,p_attribute3 in varchar2 default null
,p_attribute4 in varchar2 default null
,p_attribute5 in varchar2 default null
,p_attribute6 in varchar2 default null
,p_attribute7 in varchar2 default null
,p_attribute8 in varchar2 default null
,p_attribute9 in varchar2 default null
,p_attribute10 in varchar2 default null
,p_attribute11 in varchar2 default null
,p_attribute12 in varchar2 default null
,p_attribute13 in varchar2 default null
,p_attribute14 in varchar2 default null
,p_attribute15 in varchar2 default null
,p_attribute16 in varchar2 default null
,p_attribute17 in varchar2 default null
,p_attribute18 in varchar2 default null
,p_attribute19 in varchar2 default null
,p_attribute20 in varchar2 default null
,p_attribute21 in varchar2 default null
,p_attribute22 in varchar2 default null
,p_attribute23 in varchar2 default null
,p_attribute24 in varchar2 default null
,p_attribute25 in varchar2 default null
,p_attribute26 in varchar2 default null
,p_attribute27 in varchar2 default null
,p_attribute28 in varchar2 default null
,p_attribute29 in varchar2 default null
,p_attribute30 in varchar2 default null
,p_ethnic_origin in varchar2 default null
,p_I_9 in varchar2 default 'N'
,p_I_9_expiration_date in varchar2 default null
-- ,p_visa_type in varchar2 default null
,p_veteran_status in varchar2 default null
,p_new_hire in varchar2 default null
,p_exception_reason in varchar2 default null
,p_child_support_obligation in varchar2 default 'N'
,p_opted_for_medicare_flag in varchar2 default 'N'
,p_date_of_death in date default null
,p_background_check_status in varchar2 default null
,p_background_date_check in date default null
,p_blood_type in varchar2 default null
,p_correspondence_language in varchar2 default null
,p_fast_path_employee in varchar2 default null
,p_fte_capacity in number default null
,p_honors in varchar2 default null
,p_internal_location in varchar2 default null
,p_last_medical_test_by in varchar2 default null
,p_last_medical_test_date in date default null
,p_mailstop in varchar2 default null
,p_office_number in varchar2 default null
,p_on_military_service in varchar2 default null
,p_pre_name_adjunct in varchar2 default null
,p_rehire_recommendation in varchar2 default null -- Bug 3210500
,p_projected_start_date in date default null
,p_resume_exists in varchar2 default null
,p_resume_last_updated in date default null
,p_second_passport_exists in varchar2 default null
,p_student_status in varchar2 default null
,p_work_schedule in varchar2 default null
,p_suffix in varchar2 default null
,p_benefit_group_id in number default null
,p_receipt_of_death_cert_date in date default null
,p_coord_ben_med_pln_no in varchar2 default null
,p_coord_ben_no_cvg_flag in varchar2 default 'N'
,p_coord_ben_med_ext_er in varchar2 default null
,p_coord_ben_med_pl_name in varchar2 default null
,p_coord_ben_med_insr_crr_name in varchar2 default null
,p_coord_ben_med_insr_crr_ident in varchar2 default null
,p_coord_ben_med_cvg_strt_dt in date default null
,p_coord_ben_med_cvg_end_dt in date default null
,p_uses_tobacco_flag in varchar2 default null
,p_dpdnt_adoption_date in date default null
,p_dpdnt_vlntry_svce_flag in varchar2 default 'N'
,p_original_date_of_hire in date default null
,p_adjusted_svc_date in date default null
,p_town_of_birth in varchar2 default null
,p_region_of_birth in varchar2 default null
,p_country_of_birth in varchar2 default null
,p_global_person_id in varchar2 default null
,p_party_id in number default null
,p_person_id out nocopy number
,p_assignment_id out nocopy number
,p_per_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_full_name out nocopy varchar2
,p_per_comment_id out nocopy number
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_name_combination_warning out nocopy boolean
,p_assign_payroll_warning out nocopy boolean
)
is
--
-- Declare cursors and local variables
--
l_proc varchar2(72) ;
l_orig_hire_warning boolean := false;
--
begin
--
if g_debug then
l_proc := g_package||'create_us_employee';
hr_utility.set_location('Entering:'||l_proc,333);
end if;
--
hr_employee_api.create_us_employee
(p_validate => p_validate
,p_hire_date => p_hire_date
,p_business_group_id => p_business_group_id
,p_last_name => p_last_name
,p_sex => p_sex
,p_person_type_id => p_person_type_id
,p_comments => p_comments
,p_date_employee_data_verified => p_date_employee_data_verified
,p_date_of_birth => p_date_of_birth
,p_email_address => p_email_address
,p_employee_number => p_employee_number
,p_expense_check_send_to_addres => p_expense_check_send_to_addres
,p_first_name => p_first_name
,p_known_as => p_known_as
,p_marital_status => p_marital_status
,p_middle_names => p_middle_names
,p_nationality => p_nationality
,p_ss_number => p_ss_number
,p_previous_last_name => p_previous_last_name
,p_registered_disabled_flag => p_registered_disabled_flag
,p_title => p_title
,p_vendor_id => p_vendor_id
,p_work_telephone => p_work_telephone
,p_attribute_category => p_attribute_category
,p_attribute1 => p_attribute1
,p_attribute2 => p_attribute2
,p_attribute3 => p_attribute3
,p_attribute4 => p_attribute4
,p_attribute5 => p_attribute5
,p_attribute6 => p_attribute6
,p_attribute7 => p_attribute7
,p_attribute8 => p_attribute8
,p_attribute9 => p_attribute9
,p_attribute10 => p_attribute10
,p_attribute11 => p_attribute11
,p_attribute12 => p_attribute12
,p_attribute13 => p_attribute13
,p_attribute14 => p_attribute14
,p_attribute15 => p_attribute15
,p_attribute16 => p_attribute16
,p_attribute17 => p_attribute17
,p_attribute18 => p_attribute18
,p_attribute19 => p_attribute19
,p_attribute20 => p_attribute20
,p_attribute21 => p_attribute21
,p_attribute22 => p_attribute22
,p_attribute23 => p_attribute23
,p_attribute24 => p_attribute24
,p_attribute25 => p_attribute25
,p_attribute26 => p_attribute26
,p_attribute27 => p_attribute27
,p_attribute28 => p_attribute28
,p_attribute29 => p_attribute29
,p_attribute30 => p_attribute30
,p_ethnic_origin => p_ethnic_origin
,p_I_9 => p_I_9
,p_I_9_expiration_date => p_I_9_expiration_date
-- ,p_visa_type => p_visa_type
,p_veteran_status => p_veteran_status
,p_new_hire => p_new_hire
,p_exception_reason => p_exception_reason
,p_child_support_obligation => p_child_support_obligation
,p_opted_for_medicare_flag => p_opted_for_medicare_flag
,p_date_of_death => p_date_of_death
,p_background_check_status => p_background_check_status
,p_background_date_check => p_background_date_check
,p_blood_type => p_blood_type
,p_correspondence_language => p_correspondence_language
,p_fast_path_employee => p_fast_path_employee
,p_fte_capacity => p_fte_capacity
,p_honors => p_honors
,p_internal_location => p_internal_location
,p_last_medical_test_by => p_last_medical_test_by
,p_last_medical_test_date => p_last_medical_test_date
,p_mailstop => p_mailstop
,p_office_number => p_office_number
,p_on_military_service => p_on_military_service
,p_pre_name_adjunct => p_pre_name_adjunct
,p_rehire_recommendation => p_rehire_recommendation -- Bug 3210500
,p_projected_start_date => p_projected_start_date
,p_resume_exists => p_resume_exists
,p_resume_last_updated => p_resume_last_updated
,p_second_passport_exists => p_second_passport_exists
,p_student_status => p_student_status
,p_work_schedule => p_work_schedule
,p_suffix => p_suffix
,p_benefit_group_id => p_benefit_group_id
,p_receipt_of_death_cert_date => p_receipt_of_death_cert_date
,p_coord_ben_med_pln_no => p_coord_ben_med_pln_no
,p_coord_ben_no_cvg_flag => p_coord_ben_no_cvg_flag
,p_coord_ben_med_ext_er => p_coord_ben_med_ext_er
,p_coord_ben_med_pl_name => p_coord_ben_med_pl_name
,p_coord_ben_med_insr_crr_name => p_coord_ben_med_insr_crr_name
,p_coord_ben_med_insr_crr_ident => p_coord_ben_med_insr_crr_ident
,p_coord_ben_med_cvg_strt_dt => p_coord_ben_med_cvg_strt_dt
,p_coord_ben_med_cvg_end_dt => p_coord_ben_med_cvg_end_dt
,p_uses_tobacco_flag => p_uses_tobacco_flag
,p_dpdnt_adoption_date => p_dpdnt_adoption_date
,p_dpdnt_vlntry_svce_flag => p_dpdnt_vlntry_svce_flag
,p_original_date_of_hire => p_original_date_of_hire
,p_adjusted_svc_date => p_adjusted_svc_date
,p_town_of_birth => p_town_of_birth
,p_region_of_birth => p_region_of_birth
,p_country_of_birth => p_country_of_birth
,p_global_person_id => p_global_person_id
,p_party_id => p_party_id
,p_person_id => p_person_id
,p_assignment_id => p_assignment_id
,p_per_object_version_number => p_per_object_version_number
,p_asg_object_version_number => p_asg_object_version_number
,p_per_effective_start_date => p_per_effective_start_date
,p_per_effective_end_date => p_per_effective_end_date
,p_full_name => p_full_name
,p_per_comment_id => p_per_comment_id
,p_assignment_sequence => p_assignment_sequence
,p_assignment_number => p_assignment_number
,p_name_combination_warning => p_name_combination_warning
,p_assign_payroll_warning => p_assign_payroll_warning
,p_orig_hire_warning => l_orig_hire_warning
);
--
if g_debug then
hr_utility.set_location('Leaving:'||l_proc,333);
end if;
--
end create_us_employee;
--
-- End of fix for bug 899720
--
-- ----------------------------------------------------------------------------
-- |--------------------------< re_hire_ex_employee >-------------------------|
-- ----------------------------------------------------------------------------
procedure re_hire_ex_employee
(p_validate in boolean default false
,p_hire_date in date
,p_person_id in number
,p_per_object_version_number in out nocopy number
,p_person_type_id in number default hr_api.g_number
,p_rehire_reason in varchar2
,p_assignment_id out nocopy number
,p_asg_object_version_number out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
,p_assignment_sequence out nocopy number
,p_assignment_number out nocopy varchar2
,p_assign_payroll_warning out nocopy boolean
) is
--
-- declare local variables
--
l_proc varchar2(72) := g_package||'re_hire_ex_employee';
l_business_group_id per_people_f.business_group_id%type;
l_ovn per_people_f.object_version_number%type := p_per_object_version_number;
l_name_combination_warning boolean;
l_orig_hire_warning boolean;
l_person_type_id per_people_f.person_type_id%type := p_person_type_id;
l_person_type_id1 per_people_f.person_type_id%type;
l_comment_id per_people_f.comment_id%type;
l_current_applicant_flag per_people_f.current_applicant_flag%type;
l_current_emp_or_apl_flag per_people_f.current_emp_or_apl_flag%type;
l_current_employee_flag per_people_f.current_employee_flag%type;
l_employee_number per_people_f.employee_number%type;
l_applicant_number per_people_f.applicant_number%TYPE;
l_npw_number per_people_f.npw_number%type;
l_full_name per_people_f.full_name%type;
l_object_version_number per_people_f.object_version_number%type;
l_period_of_service_id per_periods_of_service.period_of_service_id%type;
l_pds_object_version_number per_periods_of_service.object_version_number%type;
l_datetrack_mode varchar2(12);
l_effective_date date;
l_hire_date date;
l_assign_payroll_warning boolean :=FALSE;
--
-- Added local variables for after hook re_hire_ex_employee_a
--
-- Bug 1828850 starts here.
-- The l_assignment_id is declared as per_assignments_f.assignment_id%type.
--
l_assignment_id per_assignments_f.assignment_id%type;
--
-- Bug 1828850 Ends here.
--
l_asg_object_version_number number(9);
l_per_effective_start_date date;
l_per_effective_end_date date;
l_assignment_sequence number(15);
l_assignment_number varchar2(30);
--
-- --------------------------------------------------------------------------
-- |-------------------------< get_person_details >-------------------------|
-- --------------------------------------------------------------------------
--
-- Description
-- This procedure is used for 2 purposes; to validate that the person
-- exists as of the specified effective date and to select the
-- business group, effective start date and system person type information
--
-- --------------------------------------------------------------------------
procedure get_person_details
(p_person_id in number,
p_effective_date in date,
p_business_group_id out nocopy number,
p_employee_number out nocopy varchar2,
p_effective_start_date out nocopy date,
p_system_person_type out nocopy varchar2) is
--
l_proc varchar2(72);
--
-- select and validate the person
--
cursor csr_chk_person_exists is
select per.business_group_id,
per.employee_number,
per.effective_start_date,
pet.system_person_type
from per_person_types pet,
per_people_f per
where per.person_id = p_person_id
and pet.person_type_id = per.person_type_id
and pet.business_group_id + 0 = per.business_group_id
and p_effective_date
between per.effective_start_date
and per.effective_end_date;
--
begin
if g_debug then
l_proc := g_package||'get_person_details';
hr_utility.set_location('Entering:'|| l_proc, 5);
end if;
--
open csr_chk_person_exists;
fetch csr_chk_person_exists into
p_business_group_id, p_employee_number, p_effective_start_date,
p_system_person_type;
if csr_chk_person_exists%notfound then
close csr_chk_person_exists;
--
-- the person cannot exist as of the supplied effective_date therefore
-- we must error
--
-- This person either does not exist at all or does not exist as of the
-- date specified.
--
hr_utility.set_message(801, 'HR_51011_PER_NOT_EXIST_DATE');
hr_utility.raise_error;
end if;
close csr_chk_person_exists;
if g_debug then
hr_utility.set_location(' Leaving:'||l_proc, 10);
end if;
end get_person_details;
-- --------------------------------------------------------------------------
-- |-------------------------< perform_validation >-------------------------|
-- --------------------------------------------------------------------------
--
-- Description
-- This procedure controls and performs the following business process
-- validation:
-- 1) ensure that the p_person_id and p_hire_date parameters are not null.
-- 2) check that this person (p_person_id) exists as of p_hire_date and
-- the current person type (per_people_f.person_type_id) has a
-- corresponding system person type of EX_EMP.
-- 3) ensure the most recent period of service for this person has been
-- completely terminated.
--
-- --------------------------------------------------------------------------
procedure perform_validation
(p_person_id in number,
p_hire_date in date,
p_effective_date out nocopy date,
p_business_group_id out nocopy number,
p_employee_number out nocopy varchar2) is
--
l_proc varchar2(72) := g_package||'perform_validation';
l_system_person_type per_person_types.system_person_type%type;
l_final_process_date per_periods_of_service.final_process_date%type;
l_effective_start_date per_people_f.effective_start_date%type;
l_dummy_number number;
l_dummy_emp_number varchar2(30);
l_dummy_date date;
--
cursor csr_chk_period_of_service is
select pos.final_process_date
from per_periods_of_service pos
where pos.person_id = p_person_id
order by pos.date_start desc;
--
begin
if g_debug then
hr_utility.set_location('Entering:'|| l_proc, 5);
end if;
--
-- Validation Logic
--
-- 1. ensure that the mandatory parameters p_hire_date and p_person_id
-- are not null
--
hr_api.mandatory_arg_error
(p_api_name => l_proc
,p_argument => 'person id'
,p_argument_value => p_person_id);
--
hr_api.mandatory_arg_error
(p_api_name => l_proc
,p_argument => 'hire date'
,p_argument_value => p_hire_date);
--
-- 2. check that this person (p_person_id) exists as of p_hire_date and the
-- the current person type (per_people_f.person_type_id) has a
-- corresponding system person type of EX_EMP.
--
get_person_details
(p_person_id => p_person_id,
p_effective_date => p_hire_date,
p_business_group_id => p_business_group_id,
p_employee_number => p_employee_number,
p_effective_start_date => l_effective_start_date,
p_system_person_type => l_system_person_type);
--
-- ensure that the system person type is 'EX_EMP'
--
if (l_system_person_type <> 'EX_EMP') then
--
-- the system person type is not 'EX_EMP' therefore error
-- You cannot Re-Hire a person who is not an Ex-Employee.
--
hr_utility.set_message(801, 'HR_51012_REHIRE_NOT_EX_EMP');
hr_utility.raise_error;
end if;
if g_debug then
hr_utility.set_location(l_proc, 10);
end if;
--
-- 3. ensure the most recent period of service for this person has been
-- completely terminated. i.e. check that
-- period_of_service.final_process_date is not null and comes before
-- p_hire_date.
-- we only fetch the 1st row (which is the latest pos).
--
open csr_chk_period_of_service;
fetch csr_chk_period_of_service into l_final_process_date;
if csr_chk_period_of_service%notfound then
close csr_chk_period_of_service;
--
-- a period of service row does not exist for the person therefore
-- we must error
--
-- This person does not have a previous period of service
--
hr_utility.set_message(801, 'HR_51013_PDS_NOT_EXIST');
hr_utility.raise_error;
end if;
close csr_chk_period_of_service;
--
if (l_final_process_date is null) then
--
-- the employee cannot be terminated as the final process date has not
-- been set
--
-- You cannot re-hire a person who does not have a final processing date
-- set for their most recent period of service
--
hr_utility.set_message(801, 'HR_51014_REHIRE_FINAL_DATE');
hr_utility.raise_error;
elsif (l_final_process_date >= p_hire_date) then
--
-- the re hire date is before the current final process date
--
-- You cannot re-hire an Ex-Employee before their final processing date.
-- Please specify a Re-Hire date which is after the final processing date.
--
hr_utility.set_message(801, 'HR_51015_REHIRE_NEW_DATE');
hr_utility.raise_error;
end if;
if g_debug then
hr_utility.set_location(l_proc, 20);
end if;
p_effective_date := l_effective_start_date;
--
if g_debug then
hr_utility.set_location(' Leaving:'||l_proc, 25);
end if;
end perform_validation;
begin
if g_debug then
hr_utility.set_location('Entering:'|| l_proc, 5);
end if;
--
-- Issue a savepoint.
--
savepoint re_hire_ex_employee;
--
-- Initialise local variables
--
l_object_version_number := p_per_object_version_number;
l_applicant_number := hr_api.g_varchar2;
l_npw_number := hr_api.g_varchar2;
l_hire_date := trunc(p_hire_date);
--
-- perform business process validation
--
perform_validation
(p_person_id => p_person_id,
p_hire_date => l_hire_date,
p_effective_date => l_effective_date,
p_business_group_id => l_business_group_id,
p_employee_number => l_employee_number);
--
-- processing logic
--
if g_debug then
hr_utility.set_location(l_proc, 10);
end if;
l_person_type_id := p_person_type_id;
--
begin
--
-- Start of call API User Hook for the before hook of re_hire_ex_employee
--
hr_employee_bk2.re_hire_ex_employee_b
(
p_business_group_id =>l_business_group_id
,p_hire_date =>l_hire_date
,p_person_id =>p_person_id
,p_per_object_version_number =>p_per_object_version_number
,p_person_type_id =>p_person_type_id
,p_rehire_reason =>p_rehire_reason
);
exception
when hr_api.cannot_find_prog_unit then
hr_api.cannot_find_prog_unit_error
(p_module_name => 'RE_HIRE_EX_EMPLOYEE'
,p_hook_type => 'BP'
);
--
-- End of API User Hook for the before hook of re_hire_ex_employee
--
end;
--
-- derive and/or validate the person type
--
per_per_bus.chk_person_type
(p_person_type_id => l_person_type_id,
p_business_group_id => l_business_group_id,
p_expected_sys_type => 'EMP');
--
if g_debug then
hr_utility.set_location(l_proc, 15);
end if;
--
if (l_effective_date = p_hire_date) then
l_datetrack_mode := 'CORRECTION';
else
l_datetrack_mode := 'UPDATE';
end if;
-- PTU : Added
l_person_type_id1 := hr_person_type_usage_info.get_default_person_type_id
(l_business_group_id,
'EMP');
-- PTU : End
-- update the person re-hiring as an employee as of the hire date
--
per_per_upd.upd
(p_person_id => p_person_id,
p_person_type_id => l_person_type_id1,
p_effective_date => l_hire_date,
p_datetrack_mode => l_datetrack_mode,
p_object_version_number => p_per_object_version_number,
p_dob_null_warning => p_assign_payroll_warning,
p_effective_start_date => l_per_effective_start_date,
p_effective_end_date => l_per_effective_end_date,
p_rehire_reason => p_rehire_reason,
p_name_combination_warning => l_name_combination_warning,
p_orig_hire_warning => l_orig_hire_warning,
p_comment_id => l_comment_id,
p_current_applicant_flag => l_current_applicant_flag,
p_current_emp_or_apl_flag => l_current_emp_or_apl_flag,
p_current_employee_flag => l_current_employee_flag,
p_employee_number => l_employee_number,
p_applicant_number => l_applicant_number,
p_full_name => l_full_name,
p_npw_number => l_npw_number);
--
if g_debug then
hr_utility.set_location(l_proc, 20);
end if;
--
-- add to current security list
-- when in validation only mode raise the Validate_Enabled exception
--
hr_security_internal.populate_new_person(l_business_group_id,p_person_id);
-- PTU : Following Code has been added
hr_per_type_usage_internal.maintain_person_type_usage
(p_effective_date => l_hire_date
,p_person_id => p_person_id
,p_person_type_id => l_person_type_id
,p_datetrack_update_mode => l_datetrack_mode
);
-- PTU : End of changes
--
if g_debug then
hr_utility.set_location(l_proc, 22);
end if;
--
-- create a new period of service for the re-hired employee
--
per_pds_ins.ins
(p_business_group_id => l_business_group_id,
p_person_id => p_person_id,
p_date_start => l_hire_date,
p_period_of_service_id => l_period_of_service_id,
p_effective_date => p_hire_date,
p_validate_df_flex => false,
p_object_version_number => l_pds_object_version_number);
--
if g_debug then
hr_utility.set_location(l_proc, 25);
end if;
--
-- create a default primary assignment with any corresponding standard
-- element entries for the re-hired employee
--
hr_assignment_internal.create_default_emp_asg
(p_effective_date => l_hire_date,
p_person_id => p_person_id,
p_business_group_id => l_business_group_id,
p_period_of_service_id => l_period_of_service_id,
p_assignment_id => l_assignment_id,
p_object_version_number => l_asg_object_version_number,
p_assignment_sequence => l_assignment_sequence,
p_assignment_number => l_assignment_number);
--
-- when in validation only mode raise the Validate_Enabled exception
--
-- 1766066: added call for contact start date enh.
--
per_people12_pkg.maintain_coverage(p_person_id => p_person_id
,p_type => 'EMP'
);
-- 1766066 end.
begin
--
-- Start of call API User Hook for the after hook of re_hire_ex_employee
--
hr_employee_bk2.re_hire_ex_employee_a
(
p_business_group_id =>l_business_group_id
,p_hire_date =>l_hire_date
,p_person_id =>p_person_id
,p_per_object_version_number =>p_per_object_version_number
,p_person_type_id =>p_person_type_id
,p_rehire_reason =>p_rehire_reason
,p_assignment_id =>l_assignment_id
,p_asg_object_version_number =>l_asg_object_version_number
,p_per_effective_start_date =>l_per_effective_start_date
,p_per_effective_end_date =>l_per_effective_end_date
,p_assignment_sequence =>l_assignment_sequence
,p_assignment_number =>l_assignment_number
,p_assign_payroll_warning =>l_assign_payroll_warning
);
exception
when hr_api.cannot_find_prog_unit then
hr_api.cannot_find_prog_unit_error
(p_module_name => 'RE_HIRE_EX_EMPLOYEE'
,p_hook_type => 'BP'
);
--
-- End of API User Hook for the after hook of re_hire_ex_employee
--
end;
--
if p_validate then
raise hr_api.validate_enabled;
end if;
--
-- Set all output arguments
--
p_assignment_id := l_assignment_id;
p_asg_object_version_number := l_asg_object_version_number;
p_per_effective_start_date := l_per_effective_start_date;
p_per_effective_end_date := l_per_effective_end_date;
p_assignment_sequence := l_assignment_sequence;
p_assignment_number := l_assignment_number;
p_assign_payroll_warning := l_assign_payroll_warning;
--
-- When in validation only mode raise the Validate_Enabled exception
--
if g_debug then
hr_utility.set_location(' Leaving:'||l_proc, 30);
end if;
exception
when hr_api.validate_enabled then
--
-- As the Validate_Enabled exception has been raised
-- we must rollback to the savepoint
--
ROLLBACK TO re_hire_ex_employee;
--
-- Only set output warning arguments
-- (Any key or derived arguments must be set to null
-- when validation only mode is being used.)
--
p_per_object_version_number := l_object_version_number;
p_assignment_id := null;
p_asg_object_version_number := null;
p_per_effective_start_date := null;
p_per_effective_end_date := null;
p_assignment_sequence := null;
p_assignment_number := null;
p_assign_payroll_warning := l_assign_payroll_warning;
--
when others then
--
-- A validation or unexpected error has occurred
--
p_per_object_version_number := l_ovn;
p_assignment_id := null;
p_asg_object_version_number := null;
p_per_effective_start_date := null;
p_per_effective_end_date := null;
p_assignment_sequence := null;
p_assignment_number := null;
p_assign_payroll_warning := false;
-- Added as part of fix to bug 632479
--
ROLLBACK TO re_hire_ex_employee;
--
-- set in out parameters and set out parameters
--
raise;
--
-- End of fix.
--
if g_debug then
hr_utility.set_location(' Leaving:'||l_proc, 35);
end if;
end re_hire_ex_employee;
--
-- ----------------------------------------------------------------------------
-- |-----------------< apply_for_internal_vacancy >-------------------------|
-- ----------------------------------------------------------------------------
procedure apply_for_internal_vacancy
(p_validate in boolean default false
,p_effective_date in date
,p_person_id in number
,p_applicant_number in out nocopy varchar2
,p_per_object_version_number in out nocopy number
,p_vacancy_id in number default null
,p_person_type_id in number default hr_api.g_number
,p_application_id out nocopy number
,p_assignment_id out nocopy number
,p_apl_object_version_number out nocopy number
,p_asg_object_version_number out nocopy number
,p_assignment_sequence out nocopy number
,p_per_effective_start_date out nocopy date
,p_per_effective_end_date out nocopy date
) is
--
-- declare local variables
--
l_proc varchar2(72) := g_package||'apply_for_internal_vacancy';
l_business_group_id per_people_f.business_group_id%type;
l_name_combination_warning boolean;
l_dob_null_warning boolean;
l_orig_hire_warning boolean;
l_organization_id per_business_groups.organization_id%type;
l_legislation_code per_business_groups.legislation_code%type;
l_person_type_id per_people_f.person_type_id%type := p_person_type_id;
l_person_type_id1 per_people_f.person_type_id%type;
l_application_id per_applications.application_id%type;
l_comment_id per_assignments_f.comment_id%type;
l_assignment_sequence per_assignments_f.assignment_sequence%type;
l_assignment_id per_assignments_f.assignment_id%type;
l_object_version_number per_assignments_f.object_version_number%type;
l_current_applicant_flag per_people_f.current_applicant_flag%type;
l_current_emp_or_apl_flag per_people_f.current_emp_or_apl_flag%type;
l_current_employee_flag per_people_f.current_employee_flag%type;
l_employee_number per_people_f.employee_number%type;
l_applicant_number per_people_f.applicant_number%TYPE;
l_npw_number per_people_f.npw_number%TYPE;
l_per_object_version_number per_people_f.object_version_number%TYPE;
l_full_name per_people_f.full_name%type;
l_system_person_type per_person_types.system_person_type%type;
l_effective_date date;
l_effective_start_date date;
l_effective_end_date date;
l_default_start_time per_business_groups.default_start_time%type;
l_default_end_time per_business_groups.default_end_time%type;
l_normal_hours number;
l_frequency per_business_groups.frequency%type;
l_recruiter_id per_vacancies.recruiter_id%type;
l_grade_id per_vacancies.grade_id%type;
l_position_id per_vacancies.position_id%type;
l_job_id per_vacancies.job_id%type;
l_location_id per_vacancies.location_id%type;
l_people_group_id per_vacancies.people_group_id%type;
l_vac_organization_id per_vacancies.organization_id%type;
l_vac_business_group_id per_vacancies.business_group_id%type;
l_group_name pay_people_groups.group_name%type;
--
-- Local variable added for the before and after business process
-- apply_for_internal_vacancy
--
l_apl_object_version_number number; -- THESE NEED TO BE CHANGED
l_asg_object_version_number number; -- THESE NEED TO BE CHANGED
l_per_effective_start_date date;
l_per_effective_end_date date;
--
--
-- select and validate the person
--
-- now returns employee number which is needed by upd.upd - thayden
--
cursor csr_chk_person_exists is
select ppf.business_group_id
,ppf.employee_number
,ppf.npw_number
,ppt.system_person_type
from per_person_types ppt
,per_people_f ppf
where ppf.person_id = p_person_id
and ppt.person_type_id = ppf.person_type_id
and ppt.business_group_id + 0 = ppf.business_group_id
and l_effective_date
between ppf.effective_start_date
and ppf.effective_end_date;
--
-- Get default person type id for a system person type EMP_APL
--
cursor csr_get_person_type_id is
select person_type_id
from per_person_types
where business_group_id = l_business_group_id
and active_flag = 'Y'
and default_flag = 'Y'
and system_person_type = 'EMP_APL';
--
-- Get organization id for business group.
--
cursor csr_get_organization_id is
select organization_id
,legislation_code
,default_start_time
,default_end_time
,fnd_number.canonical_to_number(working_hours)
,frequency
from per_business_groups
where business_group_id = l_business_group_id;
--
-- Get vacancy information.
--
cursor csr_get_vacancy_details is
select recruiter_id
,grade_id
,position_id
,job_id
,location_id
,people_group_id
,organization_id -- added org id to cursor. thayden 7/10.
,business_group_id -- added business_group_id to cursor lma 7/11
from per_vacancies
where vacancy_id = p_vacancy_id;
--
begin
-- Bug 665566 Savepoint issued before validations start
--
-- Issue a savepoint if operating in validation only mode.
--
if p_validate then
savepoint apply_for_internal_vacancy;
end if;
-- Bug 665566 End
if g_debug then
hr_utility.set_location('Entering:'|| l_proc, 5);
end if;
--
-- Truncate p_effective_date
--
l_effective_date := trunc(p_effective_date);
-- Initialise local variables
--
l_applicant_number := p_applicant_number;
l_per_object_version_number := p_per_object_version_number;
--
--
-- Validation Logic
--
-- Ensure that the mandatory parameter, p_person_id
-- is not null
--
hr_api.mandatory_arg_error
(p_api_name => l_proc
,p_argument => 'person id'
,p_argument_value => p_person_id);
--
if g_debug then
hr_utility.set_location(' Leaving:'||l_proc, 10);
end if;
--
-- Check that this person (p_person_id) exists as of l_effective_date
-- the current person type (per_people_f.person_type_id) has a
-- corresponding system person type of EMP.
--
open csr_chk_person_exists;
fetch csr_chk_person_exists into
l_business_group_id
,l_employee_number
,l_npw_number
,l_system_person_type;
if csr_chk_person_exists%notfound then
close csr_chk_person_exists;
hr_utility.set_message(800, 'HR_51011_PER_NOT_EXIST_DATE');
hr_utility.raise_error;
end if;
close csr_chk_person_exists;
--
--
-- ensure that the system person type is 'EMP'
-- added and l_system_person_type <> 'EMP_APL' to if 15-Jul-97 lma
if (l_system_person_type <> 'EMP' and l_system_person_type <> 'EMP_APL') then
--
-- the system person type is not 'EMP'.
--
hr_utility.set_message(800, 'PER_52788_PER_INV_PER_TYPE');
hr_utility.raise_error;
end if;
if g_debug then
hr_utility.set_location(l_proc, 15);
end if;
--
-- Initialise local variables
--
l_applicant_number := p_applicant_number;
l_per_object_version_number := p_per_object_version_number;
--
begin
--
-- Start of call API User Hook for the before hook of apply_for_internal_vacancy_b
--
hr_employee_bk3.apply_for_internal_vacancy_b
(
p_business_group_id => l_business_group_id
,p_effective_date => l_effective_date
,p_person_id => p_person_id
,p_applicant_number => p_applicant_number
,p_per_object_version_number => p_per_object_version_number
,p_vacancy_id => p_vacancy_id
,p_person_type_id => p_person_type_id
);
exception
when hr_api.cannot_find_prog_unit then
hr_api.cannot_find_prog_unit_error
(p_module_name => 'APPLY_FOR_INTERNAL_VACANCY'
,p_hook_type => 'BP'
);
--
-- End of API User Hook for the before hook of apply_for_internal_vacancy
--
end;
-- processing logic
--
if g_debug then
hr_utility.set_location(l_proc, 20);
end if;
--
-- PTU : Following Code has been added
-- Validate that the person_type_id passed is a flavour of 'APL' or derive the default
--
per_per_bus.chk_person_type
(p_person_type_id => l_person_type_id,
p_business_group_id => l_business_group_id,
p_expected_sys_type => 'APL');
--
-- Get default person type id for EMP_APL.
--
l_person_type_id1 := hr_person_type_usage_info.get_default_person_type_id
(l_business_group_id,
'EMP_APL');
-- PTU end of changes
--
-- open csr_get_person_type_id;
-- fetch csr_get_person_type_id into
-- l_person_type_id;
-- if csr_get_person_type_id%notfound then
-- close csr_get_person_type_id;
-- hr_utility.set_message(801, 'HR_7513_PER_TYPE_INVALID');
-- hr_utility.raise_error;
-- end if;
-- close csr_get_person_type_id;
--
if g_debug then
hr_utility.set_location(l_proc, 25);
end if;
--
-- Get organization id
--
open csr_get_organization_id;
fetch csr_get_organization_id into
l_organization_id
,l_legislation_code
,l_default_start_time
,l_default_end_time
,l_normal_hours
,l_frequency;
if csr_get_organization_id%notfound then
close csr_get_organization_id;
hr_utility.set_message(801, 'HR_7208_API_BUS_GRP_INVALID');
hr_utility.raise_error;
end if;
close csr_get_organization_id;
--
-- Get vacancy details.
--
if p_vacancy_id is not null then
open csr_get_vacancy_details;
fetch csr_get_vacancy_details into
l_recruiter_id
,l_grade_id
,l_position_id
,l_job_id
,l_location_id
,l_people_group_id
,l_vac_organization_id -- added org id. thayden 7/10.
,l_vac_business_group_id; -- added business_group_id. thayden 7/11.
if csr_get_vacancy_details%notfound then
close csr_get_vacancy_details;
hr_utility.set_message(801, 'HR_51001_THE_VAC_NOT_FOUND');
hr_utility.raise_error;
end if;
close csr_get_vacancy_details;
--added if ... end if (Rod's sugguestion)
if l_vac_organization_id is null then
l_vac_organization_id := l_vac_business_group_id;
end if;
else
l_vac_organization_id := l_business_group_id;
end if;
--
if g_debug then
hr_utility.set_location(l_proc, 30);
end if;
--
if l_system_person_type <> 'EMP_APL' then
--
-- update the person from an employee to an employee applicant.
--
per_per_upd.upd
(p_person_id => p_person_id
,p_person_type_id => l_person_type_id1
,p_effective_date => l_effective_date
,p_datetrack_mode => 'UPDATE'
,p_object_version_number => p_per_object_version_number
,p_effective_start_date => l_per_effective_start_date
,p_effective_end_date => l_per_effective_end_date
,p_name_combination_warning => l_name_combination_warning
,p_dob_null_warning => l_dob_null_warning
,p_orig_hire_warning => l_orig_hire_warning
,p_comment_id => l_comment_id
,p_current_applicant_flag => l_current_applicant_flag
,p_current_emp_or_apl_flag => l_current_emp_or_apl_flag
,p_current_employee_flag => l_current_employee_flag
,p_applicant_number => p_applicant_number
,p_employee_number => l_employee_number
,p_full_name => l_full_name
,p_npw_number => l_npw_number
);
--
if g_debug then
hr_utility.set_location(l_proc, 35);
end if;
--
-- create an application.
--
per_apl_ins.ins
(p_application_id => l_application_id
,p_business_group_id => l_business_group_id
,p_person_id => p_person_id
,p_date_received => l_effective_date
,p_object_version_number => l_apl_object_version_number
,p_effective_date => l_effective_date
);
--
if g_debug then
hr_utility.set_location(l_proc, 40);
end if;
--
-- create an applicant assignment for the employee
--
hr_assignment_internal.create_apl_asg
(p_effective_date => l_effective_date
,p_legislation_code => l_legislation_code
,p_business_group_id => l_business_group_id
,p_person_id => p_person_id
,p_organization_id => l_vac_organization_id
,p_application_id => l_application_id
,p_recruiter_id => l_recruiter_id
,p_grade_id => l_grade_id
,p_position_id => l_position_id
,p_job_id => l_job_id
,p_location_id => l_location_id
,p_people_group_id => l_people_group_id
,p_vacancy_id => p_vacancy_id
,p_frequency => l_frequency
,p_manager_flag => 'N'
,p_normal_hours => l_normal_hours
,p_time_normal_finish => l_default_end_time
,p_time_normal_start => l_default_start_time
,p_assignment_id => l_assignment_id
,p_object_version_number => l_asg_object_version_number
,p_effective_start_date => l_effective_start_date
,p_effective_end_date => l_effective_end_date
,p_assignment_sequence => l_assignment_sequence
,p_comment_id => l_comment_id
);
--
-- add to the security list
--
hr_security_internal.add_to_person_list(l_effective_date,l_assignment_id);
--
--
if g_debug then
hr_utility.set_location(l_proc, 45);
end if;
else --l_system_person_type = 'EMP_APL'
--
-- create secondary applicant assignment for the employee
--
-- Get application_id for this person to link this assignment to...
--
select application_id
into l_application_id
from per_applications
where person_id=p_person_id
and l_effective_date between date_received and
nvl(date_end,hr_general.end_of_time);
--
-- create an applicant assignment for the employee
-- but use the create_apl_asg BSI as we don't have any information,
-- like PGP keyflex, about the assignment other than the vacancy
-- details and this one will enable us to by-pass all the flexfield
-- validation.
--
hr_assignment_internal.create_apl_asg
(p_effective_date => l_effective_date
,p_legislation_code => l_legislation_code
,p_business_group_id => l_business_group_id
,p_person_id => p_person_id
,p_organization_id => l_vac_organization_id
,p_application_id => l_application_id
,p_recruiter_id => l_recruiter_id
,p_grade_id => l_grade_id
,p_position_id => l_position_id
,p_job_id => l_job_id
,p_location_id => l_location_id
,p_people_group_id => l_people_group_id
,p_vacancy_id => p_vacancy_id
,p_frequency => l_frequency
,p_manager_flag => 'N'
,p_normal_hours => l_normal_hours
,p_time_normal_finish => l_default_end_time
,p_time_normal_start => l_default_start_time
,p_validate_df_flex => FALSE
,p_assignment_id => l_assignment_id
,p_object_version_number => l_asg_object_version_number
,p_effective_start_date => l_effective_start_date
,p_effective_end_date => l_effective_end_date
,p_assignment_sequence => l_assignment_sequence
,p_comment_id => l_comment_id
);
--
-- add to the security list
--
hr_security_internal.add_to_person_list(l_effective_date,l_assignment_id);
end if;
--
-- PTU: following code added:
--
begin
select ptuf.person_type_id into l_person_type_id1
from per_person_type_usages_f ptuf,
per_person_types ppt
where ptuf.person_id = p_person_id
and p_effective_date between ptuf.effective_start_date
and ptuf.effective_end_date
and ppt.person_type_id = ptuf.person_type_id
and ppt.system_person_type = 'APL';
exception
when no_data_found then
l_person_type_id1 := hr_api.g_number;
end;
--
if l_system_person_type <> 'EMP_APL'
OR (l_system_person_type = 'EMP_APL' AND l_person_type_id <> l_person_type_id1) then
hr_per_type_usage_internal.maintain_person_type_usage
(p_effective_date => l_effective_date
,p_person_id => p_person_id
,p_person_type_id => l_person_type_id
);
end if;
--
-- PTU end of changes
--
begin
--
-- Start of call API User Hook for the after hook of re_hire_ex_employee
--
hr_employee_bk3.apply_for_internal_vacancy_a
(
p_business_group_id => l_business_group_id
,p_effective_date => l_effective_date
,p_person_id => p_person_id
,p_applicant_number => p_applicant_number
,p_per_object_version_number => p_per_object_version_number
,p_vacancy_id => p_vacancy_id
,p_person_type_id => p_person_type_id
,p_application_id => l_application_id
,p_assignment_id => l_assignment_id
,p_apl_object_version_number => l_apl_object_version_number
,p_asg_object_version_number => l_asg_object_version_number
,p_assignment_sequence => l_assignment_sequence
,p_per_effective_start_date => l_per_effective_start_date
,p_per_effective_end_date => l_per_effective_end_date
);
--
exception
when hr_api.cannot_find_prog_unit then
hr_api.cannot_find_prog_unit_error
(p_module_name => 'APPLY_FOR_INTERNAL_VACANCY'
,p_hook_type => 'BP'
);
--
-- End of API User Hook for the after hook of apply_for_internal_vacancy
--
end;
--
-- Set all output arguments
--
p_application_id := l_application_id;
p_assignment_id := l_assignment_id;
p_apl_object_version_number := l_apl_object_version_number;
p_asg_object_version_number := l_asg_object_version_number;
p_assignment_sequence := l_assignment_sequence;
p_per_effective_start_date := l_per_effective_start_date;
p_per_effective_end_date := l_per_effective_end_date;
--
-- when in validation only mode raise the Validate_Enabled exception
--
if p_validate then
raise hr_api.validate_enabled;
end if;
--
if g_debug then
hr_utility.set_location(' Leaving:'||l_proc, 50);
end if;
exception
when hr_api.validate_enabled then
--
-- As the Validate_Enabled exception has been raised
-- we must rollback to the savepoint
--
ROLLBACK TO apply_for_internal_vacancy;
--
-- Only set output warning arguments
-- (Any key or derived arguments must be set to null
-- when validation only mode is being used.)
--
p_per_object_version_number := l_per_object_version_number;
p_applicant_number := l_applicant_number;
p_application_id := null;
p_assignment_id := null;
p_apl_object_version_number := null;
p_asg_object_version_number := null;
p_assignment_sequence := null;
p_per_effective_start_date := null;
p_per_effective_end_date := null;
if g_debug then
hr_utility.set_location(' Leaving:'||l_proc, 55);
end if;
end apply_for_internal_vacancy;
--
-- ----------------------------------------------------------------------------
-- |----------------------------< hire_into_job >-----------------------------|
-- ----------------------------------------------------------------------------
--
PROCEDURE hire_into_job
(p_validate IN BOOLEAN DEFAULT FALSE
,p_effective_date IN DATE
,p_person_id IN NUMBER
,p_object_version_number IN OUT NOCOPY NUMBER
,p_employee_number IN OUT NOCOPY VARCHAR2
,p_datetrack_update_mode IN VARCHAR2 DEFAULT NULL
,p_person_type_id IN NUMBER DEFAULT NULL
,p_national_identifier IN VARCHAR2 DEFAULT NULL
,p_effective_start_date OUT NOCOPY DATE
,p_effective_end_date OUT NOCOPY DATE
,p_assign_payroll_warning OUT NOCOPY BOOLEAN
,p_orig_hire_warning OUT NOCOPY BOOLEAN
)
IS
--
-- Local variables
--
l_proc VARCHAR2(72) := g_package||'hire_into_job';
--
l_effective_date DATE;
--
l_object_version_number CONSTANT per_all_assignments_f.object_version_number%TYPE := p_object_version_number;
l_datetrack_update_mode VARCHAR2(30) := p_datetrack_update_mode;
l_employee_number CONSTANT per_all_people_f.applicant_number%TYPE := p_employee_number;
l_emp_num per_all_people_f.applicant_number%TYPE := p_employee_number;
l_ovn per_all_people_f.object_version_number%TYPE := p_object_version_number;
l_per_effective_start_date per_all_people_f.effective_start_date%TYPE;
l_per_effective_end_date per_all_people_f.effective_end_date%TYPE;
l_assign_payroll_warning BOOLEAN;
l_orig_hire_warning BOOLEAN;
--
l_person_type_id per_person_types.person_type_id%TYPE := p_person_type_id;
l_person_type_id1 per_person_types.person_type_id%TYPE;
--
l_future_asgs_count INTEGER;
l_system_person_type per_person_types.system_person_type%TYPE;
l_effective_start_date DATE;
l_effective_end_date DATE;
l_comment_id hr_comments.comment_id%TYPE;
l_current_applicant_flag per_all_people_f.current_applicant_flag%TYPE;
l_current_emp_or_apl_flag per_all_people_f.current_emp_or_apl_flag%TYPE;
l_current_employee_flag per_all_people_f.current_employee_flag%TYPE;
l_full_name per_all_people_f.full_name%TYPE;
l_name_combination_warning BOOLEAN;
l_period_of_service_id per_periods_of_service.period_of_service_id%TYPE;
l_pds_object_version_number per_periods_of_service.object_version_number%TYPE;
l_assignment_id per_all_assignments_f.assignment_id%TYPE;
l_asg_object_version_number per_all_assignments_f.object_version_number%TYPE;
l_assignment_sequence per_all_assignments_f.assignment_sequence%TYPE;
l_assignment_number per_all_assignments_f.assignment_number%TYPE;
l_person_type_usage_id per_person_type_usages.person_type_usage_id%TYPE;
l_ptu_object_version_number per_person_type_usages.object_version_number%TYPE;
--
-- Start of fix for bug 3143299
l_final_process_date per_periods_of_service.final_process_date%type;
--
-- Local cursors
cursor csr_chk_period_of_service is
select pos.final_process_date
from per_periods_of_service pos
where pos.person_id = p_person_id
order by pos.date_start desc;
--
-- End of fix for bug 3143299
--
CURSOR csr_per_details
(p_person_id IN per_all_people_f.person_id%TYPE
,p_effective_date IN DATE
)
IS
SELECT pet.person_type_id
,pet.system_person_type
,per.effective_start_date
,per.effective_end_date
,per.applicant_number
,per.employee_number
,per.npw_number
,bus.business_group_id
,bus.legislation_code
FROM per_people_f per
,per_business_groups bus
,per_person_types pet
WHERE per.person_type_id = pet.person_type_id
AND per.business_group_id+0 = bus.business_group_id
AND per.person_id = csr_per_details.p_person_id
AND csr_per_details.p_effective_date BETWEEN per.effective_start_date
AND per.effective_end_date;
l_per_details_rec csr_per_details%ROWTYPE;
--
BEGIN
--
if g_debug then
hr_utility.set_location('Entering:'||l_proc,10);
end if;
--
-- Ensure mandatory arguments have been passed
--
hr_api.mandatory_arg_error
(p_api_name => l_proc
,p_argument => 'person_id'
,p_argument_value => p_person_id
);
--
hr_api.mandatory_arg_error
(p_api_name => l_proc
,p_argument => 'effective_date'
,p_argument_value => p_effective_date
);
--
-- Truncate all date parameters passed in
--
l_effective_date := TRUNC(p_effective_date);
--
-- Issue savepoint
--
SAVEPOINT hire_into_job;
--
if g_debug then
hr_utility.set_location(l_proc,20);
end if;
--
-- Get dervied details for person on effective date
--
OPEN csr_per_details
(p_person_id => p_person_id
,p_effective_date => p_effective_date
);
FETCH csr_per_details INTO l_per_details_rec;
IF csr_per_details%NOTFOUND
THEN
CLOSE csr_per_details;
hr_utility.set_message(800,'PER_52097_APL_INV_PERSON_ID');
hr_utility.raise_error;
END IF;
CLOSE csr_per_details;
--
if g_debug then
hr_utility.set_location(l_proc,30);
end if;
--
-- Call Before Process User Hook
--
BEGIN
hr_employee_bk4.hire_into_job_b
(p_effective_date => l_effective_date
,p_person_id => p_person_id
,p_business_group_id => l_per_details_rec.business_group_id
,p_object_version_number => p_object_version_number
,p_datetrack_update_mode => p_datetrack_update_mode
,p_employee_number => p_employee_number
,p_person_type_id => p_person_type_id
,p_national_identifier => p_national_identifier
);
EXCEPTION
WHEN hr_api.cannot_find_prog_unit
THEN
hr_api.cannot_find_prog_unit_error
(p_module_name => 'HIRE_INTO_JOB'
,p_hook_type => 'BP'
);
END;
--
if g_debug then
hr_utility.set_location(l_proc,40);
end if;
--
-- Check the person is of a correct system person type
--
IF l_per_details_rec.system_person_type NOT IN ('EX_APL','EX_EMP','OTHER')
THEN
if g_debug then
hr_utility.set_location(l_proc,50);
end if;
hr_utility.set_message(800,'PER_52096_APL_INV_PERSON_TYPE');
hr_utility.raise_error;
END IF;
--
if g_debug then
hr_utility.set_location(l_proc,60);
end if;
-- Start of fix for bug 3143299.
--
-- if the person is of type Ex-employee then ensure the most recent period
-- of service for this person has been completely terminated. i.e. check
-- that period_of_service.final_process_date is not null and comes before
-- p_hire_date. we only fetch the 1st row (which is the latest pos).
--
if l_per_details_rec.system_person_type = 'EX_EMP' then
--
open csr_chk_period_of_service;
fetch csr_chk_period_of_service into l_final_process_date;
if csr_chk_period_of_service%notfound then
close csr_chk_period_of_service;
--
-- a period of service row does not exist for the person therefore
-- we must error
--
-- This person does not have a previous period of service
--
hr_utility.set_message(801, 'HR_51013_PDS_NOT_EXIST');
hr_utility.raise_error;
end if;
close csr_chk_period_of_service;
--
if (l_final_process_date is null) then
--
-- the employee cannot be terminated as the final process date has not
-- been set
--
-- You cannot re-hire a person who does not have a final processing date
-- set for their most recent period of service
--
hr_utility.set_message(801, 'HR_51014_REHIRE_FINAL_DATE');
hr_utility.raise_error;
elsif (l_final_process_date >= l_effective_date) then
--
-- the re hire date is before the current final process date
--
-- You cannot re-hire an Ex-Employee before their final processing date.
-- Please specify a Re-Hire date which is after the final processing date.
--
hr_utility.set_message(801, 'HR_51015_REHIRE_NEW_DATE');
hr_utility.raise_error;
end if;
end if;
--
if g_debug then
hr_utility.set_location(l_proc,65);
end if;
-- End of fix for bug 3143299
-- Ensure the employee number will not be changed if it exists
--
IF l_per_details_rec.employee_number IS NOT NULL
AND NVL(p_employee_number,hr_api.g_number) <> l_per_details_rec.employee_number
THEN
if g_debug then
hr_utility.set_location(l_proc,70);
end if;
p_employee_number := l_per_details_rec.employee_number;
END IF;
--
if g_debug then
hr_utility.set_location(l_proc,80);
end if;
--
-- Check the person does not have future assignment changes
--
l_future_asgs_count := future_asgs_count
(p_person_id => p_person_id
,p_effective_date => l_effective_date
);
IF l_future_asgs_count > 0
THEN
if g_debug then
hr_utility.set_location(l_proc,90);
end if;
hr_utility.set_message(800,'HR_7975_ASG_INV_FUTURE_ASA');
hr_utility.raise_error;
END IF;
--
if g_debug then
hr_utility.set_location(l_proc,100);
end if;
--
-- If person type id is not null check it corresponds to the correct type for
-- the persons current system person type is currently active and in the
-- correct business group, otherwise set person type id to the active default
-- for the correct system person type in the correct business group
--
if g_debug then
hr_utility.set_location(l_proc,110);
end if;
l_system_person_type := 'EMP';
per_per_bus.chk_person_type
(p_person_type_id => l_person_type_id
,p_business_group_id => l_per_details_rec.business_group_id
,p_expected_sys_type => l_system_person_type
);
--
if g_debug then
hr_utility.set_location(l_proc,120);
end if;
--
-- Check the datetrack mode
--
IF (l_per_details_rec.system_person_type = 'OTHER')
THEN
IF (l_datetrack_update_mode IS NULL)
THEN
l_datetrack_update_mode := hr_api.g_update;
ELSE
IF (l_datetrack_update_mode NOT IN (hr_api.g_update,hr_api.g_correction))
THEN
hr_utility.set_message(800,'HR_7203_DT_UPD_MODE_INVALID');
hr_utility.raise_error;
END IF;
END IF;
ELSE
l_datetrack_update_mode := hr_api.g_update;
END IF;
--
-- PTU : Added
l_person_type_id1 := hr_person_type_usage_info.get_default_person_type_id
( l_per_details_rec.business_group_id,
'EMP');
-- PTU : End
-- Update the person details to the new person type
--
per_per_upd.upd
(p_person_id => p_person_id
,p_effective_start_date => l_per_effective_start_date
,p_effective_end_date => l_per_effective_end_date
,p_person_type_id => l_person_type_id1
,p_applicant_number => l_per_details_rec.applicant_number
,p_comment_id => l_comment_id
,p_current_applicant_flag => l_current_applicant_flag
,p_current_emp_or_apl_flag => l_current_emp_or_apl_flag
,p_current_employee_flag => l_current_employee_flag
,p_employee_number => p_employee_number
,p_national_identifier => p_national_identifier
,p_full_name => l_full_name
,p_object_version_number => p_object_version_number
,p_effective_date => l_effective_date
,p_datetrack_mode => l_datetrack_update_mode
,p_name_combination_warning => l_name_combination_warning
,p_dob_null_warning => l_assign_payroll_warning
,p_orig_hire_warning => l_orig_hire_warning
,p_npw_number => l_per_details_rec.npw_number
);
--
if g_debug then
hr_utility.set_location(l_proc,130);
end if;
--
-- add to current security list
--
hr_security_internal.populate_new_person(l_per_details_rec.business_group_id,p_person_id);
--
if g_debug then
hr_utility.set_location(l_proc,135);
end if;
--
-- Create an period of service for the person
--
per_pds_ins.ins
(p_effective_date => l_effective_date
,p_business_group_id => l_per_details_rec.business_group_id
,p_person_id => p_person_id
,p_date_start => l_effective_date
,p_validate_df_flex => false
,p_period_of_service_id => l_period_of_service_id
,p_object_version_number => l_pds_object_version_number
);
--
if g_debug then
hr_utility.set_location(l_proc,140);
end if;
--
-- Create a default employee assignment for the person
--
hr_assignment_internal.create_default_emp_asg
(p_effective_date => l_effective_date
,p_business_group_id => l_per_details_rec.business_group_id
,p_person_id => p_person_id
,p_period_of_service_id => l_period_of_service_id
,p_assignment_id => l_assignment_id
,p_object_version_number => l_asg_object_version_number
,p_assignment_sequence => l_assignment_sequence
,p_assignment_number => l_assignment_number
);
--
if g_debug then
hr_utility.set_location(l_proc,150);
end if;
--
-- Create person type usage record
-- No Longer Required: This is automatically created on insert of
-- a period of service record above.
--
/*
hr_per_type_usage_internal.create_person_type_usage
(p_effective_date => l_effective_date
,p_person_id => p_person_id
,p_person_type_id => l_person_type_id
,p_person_type_usage_id => l_person_type_usage_id
,p_effective_start_date => l_effective_start_date
,p_effective_end_date => l_effective_end_date
,p_object_version_number => l_ptu_object_version_number
);
*/
-- PTU : Following Code has been added
hr_per_type_usage_internal.maintain_person_type_usage
(p_effective_date => l_effective_date
,p_person_id => p_person_id
,p_person_type_id => l_person_type_id
);
-- PTU : End of changes
-- 1766066: added call for contact start date enh.
--
per_people12_pkg.maintain_coverage(p_person_id => p_person_id
,p_type => 'EMP'
);
-- 1766066 end.
--
-- Call After Process User Hook
--
BEGIN
hr_employee_bk4.hire_into_job_a
(p_effective_date => l_effective_date
,p_person_id => p_person_id
,p_business_group_id => l_per_details_rec.business_group_id
,p_object_version_number => p_object_version_number
,p_datetrack_update_mode => p_datetrack_update_mode
,p_employee_number => p_employee_number
,p_person_type_id => p_person_type_id
,p_national_identifier => p_national_identifier
,p_effective_start_date => l_per_effective_start_date
,p_effective_end_date => l_per_effective_end_date
,p_assign_payroll_warning => l_assign_payroll_warning
,p_orig_hire_warning => l_orig_hire_warning
);
EXCEPTION
WHEN hr_api.cannot_find_prog_unit
THEN
hr_api.cannot_find_prog_unit_error
(p_module_name => 'HIRE_INTO_JOB'
,p_hook_type => 'AP'
);
END;
--
if g_debug then
hr_utility.set_location(l_proc,160);
end if;
--
-- When in validation only mode raise validate_enabled exception
--
IF p_validate
THEN
RAISE hr_api.validate_enabled;
END IF;
--
-- Set OUT parameters
--
p_effective_start_date := l_per_effective_start_date;
p_effective_end_date := l_per_effective_end_date;
p_assign_payroll_warning := l_assign_payroll_warning;
p_orig_hire_warning := l_orig_hire_warning;
--
if g_debug then
hr_utility.set_location(' Leaving:'||l_proc,1000);
end if;
--
EXCEPTION
--
WHEN hr_api.validate_enabled
THEN
--
-- In validation only mode
-- Rollback to savepoint
-- Set relevant output warning arguments
-- Reset any key or derived arguments
--
ROLLBACK TO hire_into_job;
p_object_version_number := l_object_version_number;
p_employee_number := l_employee_number;
p_effective_start_date := NULL;
p_effective_end_date := NULL;
p_assign_payroll_warning := l_assign_payroll_warning;
p_orig_hire_warning := l_orig_hire_warning;
--
WHEN OTHERS
THEN
--
-- Validation or unexpected error occured
-- Ensure opened non-local cursors are closed
-- Rollback to savepoint
-- Re-raise exception
--
ROLLBACK TO hire_into_job;
--
-- set in out parameters and set out parameters
--
p_object_version_number := l_ovn;
p_employee_number := l_emp_num;
p_effective_start_date := NULL;
p_effective_end_date := NULL;
p_assign_payroll_warning := false;
p_orig_hire_warning := false;
--
IF csr_per_details%ISOPEN
THEN
CLOSE csr_per_details;
END IF;
RAISE;
--
END hire_into_job;
--
end hr_employee_api;
/
set define on
No comments:
Post a Comment