1 package hr_sa_employee_api as
2 /* $Header: peempsai.pkh 120.2 2005/10/02 02:16:35 aroussel $ */
3 /*#
4 * This package contains employee APIs for Saudi Arabia.
5 * @rep:scope public
6 * @rep:product per
7 * @rep:displayname Employee for Saudi Arabia
8 */
9 --
10 -- ----------------------------------------------------------------------------
11 -- |----------------------------< create_sa_employee >------------------------|
12 -- ----------------------------------------------------------------------------
13 --
14 -- {Start Of Comments}
15 /*#
16 * This API creates an employee in a Saudi Arabia business group.
17 *
18 * The API calls the generic API create_employee, with parameters set as
19 * appropriate for the Saudi person. As this API is effectively an alternative
20 * to the API create_employee, see that API for further explanation.
21 *
22 * <p><b>Licensing</b><br>
23 * This API is licensed for use with Human Resources.
24 *
25 * <p><b>Prerequisites</b><br>
26 * See API create_employee
27 *
28 * <p><b>Post Success</b><br>
29 * The API successfully creates the employee record in the database.
30 *
31 * <p><b>Post Failure</b><br>
32 * The API does not create the employee record and raises an error.
33 * @param p_validate If true, then validation alone will be performed and the
34 * database will remain unchanged. If false and all validation checks pass,
35 * then the database will be modified.
36 * @param p_hire_date Hire Date.
37 * @param p_business_group_id Business group of the person.
38 * @param p_family_name Family Name
39 * @param p_sex Legal gender. Valid values are defined by the SEX lookup type.
40 * @param p_person_type_id Type of employee being created.
41 * @param p_comments Comments text
42 * @param p_date_employee_data_verified The date on which the employee data was
43 * last verified.
44 * @param p_date_of_birth Date of birth.
45 * @param p_email_address Email address.
46 * @param p_employee_number The business group's employee number generation
47 * method determines when the API derives and passes out an employee number or
48 * when the calling program should pass in a value. When the API call completes
49 * if p_validate is false then will be set to the employee number. If
50 * p_validate is true then will be set to the passed value.
51 * @param p_expense_check_send_to_addres Mailing address.
52 * @param p_first_name First name.
53 * @param p_known_as Preferred name.
54 * @param p_marital_status Marital status. Valid values are defined by the
55 * MAR_STATUS lookup type.
56 * @param p_nationality Nationality. Valid values are defined by the
57 * NATIONALITY lookup type.
58 * @param p_national_identifier Number by which a person is identified in a
59 * given legislation.
60 * @param p_previous_last_name Previous last name.
61 * @param p_registered_disabled_flag Flag indicating whether the person is
62 * classified as disabled.
63 * @param p_title Title. Valid values are defined by the TITLE lookup type.
64 * @param p_vendor_id Obsolete parameter, do not use.
65 * @param p_work_telephone Obsolete parameter, do not use.
66 * @param p_attribute_category This context value determines which flexfield
67 * structure to use with the descriptive flexfield segments.
68 * @param p_attribute1 Descriptive flexfield segment.
69 * @param p_attribute2 Descriptive flexfield segment.
70 * @param p_attribute3 Descriptive flexfield segment.
71 * @param p_attribute4 Descriptive flexfield segment.
72 * @param p_attribute5 Descriptive flexfield segment.
73 * @param p_attribute6 Descriptive flexfield segment.
74 * @param p_attribute7 Descriptive flexfield segment.
75 * @param p_attribute8 Descriptive flexfield segment.
76 * @param p_attribute9 Descriptive flexfield segment.
77 * @param p_attribute10 Descriptive flexfield segment.
78 * @param p_attribute11 Descriptive flexfield segment.
79 * @param p_attribute12 Descriptive flexfield segment.
80 * @param p_attribute13 Descriptive flexfield segment.
81 * @param p_attribute14 Descriptive flexfield segment.
82 * @param p_attribute15 Descriptive flexfield segment.
83 * @param p_attribute16 Descriptive flexfield segment.
84 * @param p_attribute17 Descriptive flexfield segment.
85 * @param p_attribute18 Descriptive flexfield segment.
86 * @param p_attribute19 Descriptive flexfield segment.
87 * @param p_attribute20 Descriptive flexfield segment.
88 * @param p_attribute21 Descriptive flexfield segment.
89 * @param p_attribute22 Descriptive flexfield segment.
90 * @param p_attribute23 Descriptive flexfield segment.
91 * @param p_attribute24 Descriptive flexfield segment.
92 * @param p_attribute25 Descriptive flexfield segment.
93 * @param p_attribute26 Descriptive flexfield segment.
94 * @param p_attribute27 Descriptive flexfield segment.
95 * @param p_attribute28 Descriptive flexfield segment.
96 * @param p_attribute29 Descriptive flexfield segment.
97 * @param p_attribute30 Descriptive flexfield segment.
98 * @param p_father_name Father's Name
99 * @param p_grandfather_name Grandfather's Name
100 * @param p_alt_first_name Specifies First Name in alternative language
101 * @param p_alt_father_name Specifies Father's Name in alternative language
102 * @param p_alt_grandfather_name Specifies Grandfather's Name in alternative
103 * language
104 * @param p_alt_family_name Specifies Family Name in alternative language
105 * @param p_religion Religion
106 * @param p_hijrah_birth_date Date of birth according to the Hijrah calendar.
107 * @param p_hijrah_hire_date Hire date according to the Hijrah calendar
108 * @param p_date_of_death Date of death.
109 * @param p_background_check_status Flag indicating whether the person's
110 * background has been checked.
111 * @param p_background_date_check Date on which the background check was
112 * performed.
113 * @param p_blood_type Blood type.
114 * @param p_correspondence_language Preferred language for correspondence.
115 * @param p_fast_path_employee New parameter, available on the latest version
116 * of this API.
117 * @param p_fte_capacity Obsolete parameter, do not use.
118 * @param p_honors Honors awarded.
119 * @param p_internal_location Internal location of office.
120 * @param p_last_medical_test_by Name of physician who performed the last
121 * medical test.
122 * @param p_last_medical_test_date Date of last medical test.
123 * @param p_mailstop Internal mail location.
124 * @param p_office_number Office number.
125 * @param p_on_military_service Flag indicating whether the person is on
126 * military service.
127 * @param p_projected_start_date Obsolete parameter, do not use.
128 * @param p_resume_exists Flag indicating whether the person's resume is on
129 * file.
130 * @param p_resume_last_updated Date on which the resume was last updated.
131 * @param p_second_passport_exists Flag indicating whether a person has
132 * multiple passports.
133 * @param p_student_status If this employee is a student, this field is used to
134 * capture their status. Valid values are defined by the STUDENT_STATUS lookup
135 * type.
136 * @param p_work_schedule The days on which this person will work.
137 * @param p_benefit_group_id Benefit group to which this person will belong.
138 * @param p_receipt_of_death_cert_date Date death certificate was received.
139 * @param p_coord_ben_med_pln_no Secondary medical plan name. Column used for
140 * external processing.
141 * @param p_coord_ben_no_cvg_flag No secondary medical plan coverage. Column
142 * used for external processing.
143 * @param p_coord_ben_med_ext_er Secondary external medical coverage. Column
144 * used for external processing.
145 * @param p_coord_ben_med_pl_name Secondary medical coverage name. Column used
146 * for external processing.
147 * @param p_coord_ben_med_insr_crr_name Secondary medical coverage insurance
148 * carrier name. Column used for external processing.
149 * @param p_coord_ben_med_insr_crr_ident Identifies the secondary medical
150 * coverage insurance carrier. Column used for external processing.
151 * @param p_coord_ben_med_cvg_strt_dt Secondary medical coverage effective
152 * start date. Column used for external processing.
153 * @param p_coord_ben_med_cvg_end_dt Secondary medical coverage effective end
154 * date. Column used for external processing.
155 * @param p_uses_tobacco_flag Flag indicating whether the person uses tobacco.
156 * @param p_dpdnt_adoption_date Date on which the dependent was adopted.
157 * @param p_dpdnt_vlntry_svce_flag Flag indicating whether the dependent is on
158 * voluntary service.
159 * @param p_original_date_of_hire Original date of hire.
160 * @param p_adjusted_svc_date New parameter, available on the latest version of
161 * this API.
162 * @param p_town_of_birth Town or city of birth.
163 * @param p_region_of_birth Geographical region of birth.
164 * @param p_country_of_birth Country of birth.
165 * @param p_global_person_id Obsolete parameter, do not use.
166 * @param p_person_id If p_validate is false, then this uniquely identifies the
167 * person created. If p_validate is true, then set to null.
168 * @param p_assignment_id If p_validate is false, then this uniquely identifies
169 * the created assignment. If p_validate is true, then set to null.
170 * @param p_per_object_version_number If p_validate is false, then set to the
171 * version number of the created person. If p_validate is true, then set to
172 * null.
173 * @param p_asg_object_version_number If p_validate is false, then this
174 * parameter is set to the version number of the assignment created. If
175 * p_validate is true, then this parameter is null.
176 * @param p_per_effective_start_date If p_validate is false, then set to the
177 * earliest effective start date for the created person. If p_validate is true,
178 * then set to null.
179 * @param p_per_effective_end_date If p_validate is false, then set to the
180 * effective end date for the created person. If p_validate is true, then set
181 * to null.
182 * @param p_full_name If p_validate is false, then set to the complete full
183 * name of the person. If p_validate is true, then set to null.
184 * @param p_per_comment_id If p_validate is false and comment text was
185 * provided, then will be set to the identifier of the created person comment
186 * record. If p_validate is true or no comment text was provided, then will be
187 * null.
188 * @param p_assignment_sequence If p_validate is false, then set to the
189 * sequence number of the default assignment. If p_validate is true, then set
190 * to null.
191 * @param p_assignment_number If p_validate is false, then set to the
192 * assignment number of the default assignment. If p_validate is true, then set
193 * to null.
194 * @param p_name_combination_warning If set to true, then the combination of
195 * last name, first name and date of birth existed prior to calling this API.
196 * @param p_assign_payroll_warning If set to true, then the date of birth is
197 * not entered. If set to false, then the date of birth has been entered.
198 * Indicates if it will be possible to set the payroll on any of this person's
199 * assignments.
200 * @param p_orig_hire_warning Set to true if the original hire date is
201 * populated and the person type is not "Employee", "Employee and Applicant",
202 * "Ex-employee" or "Ex-employee and Applicant".
203 * @param p_education_level New parameter, available on the latest version of this API
204 * @rep:displayname Create Employee for Saudi Arabia
205 * @rep:category BUSINESS_ENTITY PER_EMPLOYEE
206 * @rep:scope public
207 * @rep:lifecycle active
208 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
209 */
210 --
211 -- {End Of Comments}
212 --
213 PROCEDURE create_sa_employee
214 (p_validate in boolean default false
215 ,p_hire_date in date
216 ,p_business_group_id in number
217 ,p_family_name in varchar2
218 ,p_sex in varchar2
219 ,p_person_type_id in number default null
220 ,p_comments in varchar2 default null
221 ,p_date_employee_data_verified in date default null
222 ,p_date_of_birth in date default null
223 ,p_email_address in varchar2 default null
224 ,p_employee_number in out nocopy varchar2
225 ,p_expense_check_send_to_addres in varchar2 default null
226 ,p_first_name in varchar2
227 ,p_known_as in varchar2 default null
228 ,p_marital_status in varchar2 default null
229 ,p_nationality in varchar2
230 ,p_national_identifier in varchar2 default null
231 ,p_previous_last_name in varchar2 default null
232 ,p_registered_disabled_flag in varchar2 default null
233 ,p_title in varchar2 default null
234 ,p_vendor_id in number default null
235 ,p_work_telephone in varchar2 default null
236 ,p_attribute_category in varchar2 default null
237 ,p_attribute1 in varchar2 default null
238 ,p_attribute2 in varchar2 default null
239 ,p_attribute3 in varchar2 default null
240 ,p_attribute4 in varchar2 default null
241 ,p_attribute5 in varchar2 default null
242 ,p_attribute6 in varchar2 default null
243 ,p_attribute7 in varchar2 default null
244 ,p_attribute8 in varchar2 default null
245 ,p_attribute9 in varchar2 default null
246 ,p_attribute10 in varchar2 default null
247 ,p_attribute11 in varchar2 default null
248 ,p_attribute12 in varchar2 default null
249 ,p_attribute13 in varchar2 default null
250 ,p_attribute14 in varchar2 default null
251 ,p_attribute15 in varchar2 default null
252 ,p_attribute16 in varchar2 default null
253 ,p_attribute17 in varchar2 default null
254 ,p_attribute18 in varchar2 default null
255 ,p_attribute19 in varchar2 default null
256 ,p_attribute20 in varchar2 default null
257 ,p_attribute21 in varchar2 default null
258 ,p_attribute22 in varchar2 default null
259 ,p_attribute23 in varchar2 default null
260 ,p_attribute24 in varchar2 default null
261 ,p_attribute25 in varchar2 default null
262 ,p_attribute26 in varchar2 default null
263 ,p_attribute27 in varchar2 default null
264 ,p_attribute28 in varchar2 default null
265 ,p_attribute29 in varchar2 default null
266 ,p_attribute30 in varchar2 default null
267 ,p_father_name in varchar2 default null
268 ,p_grandfather_name in varchar2 default null
269 ,p_alt_first_name in varchar2 default null
270 ,p_alt_father_name in varchar2 default null
271 ,p_alt_grandfather_name in varchar2 default null
272 ,p_alt_family_name in varchar2 default null
273 ,p_religion in varchar2 default null
274 ,p_hijrah_birth_date in varchar2 default null
275 ,p_hijrah_hire_date in varchar2 default null
276 ,p_education_level in varchar2 default null
277 ,p_date_of_death in date default null
278 ,p_background_check_status in varchar2 default null
279 ,p_background_date_check in date default null
280 ,p_blood_type in varchar2 default null
281 ,p_correspondence_language in varchar2 default null
282 ,p_fast_path_employee in varchar2 default null
283 ,p_fte_capacity in number default null
284 ,p_honors in varchar2 default null
285 ,p_internal_location in varchar2 default null
286 ,p_last_medical_test_by in varchar2 default null
287 ,p_last_medical_test_date in date default null
288 ,p_mailstop in varchar2 default null
289 ,p_office_number in varchar2 default null
290 ,p_on_military_service in varchar2 default null
291 ,p_projected_start_date in date default null
292 ,p_resume_exists in varchar2 default null
293 ,p_resume_last_updated in date default null
294 ,p_second_passport_exists in varchar2 default null
295 ,p_student_status in varchar2 default null
296 ,p_work_schedule in varchar2 default null
297 ,p_benefit_group_id in number default null
298 ,p_receipt_of_death_cert_date in date default null
299 ,p_coord_ben_med_pln_no in varchar2 default null
300 ,p_coord_ben_no_cvg_flag in varchar2 default 'N'
301 ,p_coord_ben_med_ext_er in varchar2 default null
302 ,p_coord_ben_med_pl_name in varchar2 default null
303 ,p_coord_ben_med_insr_crr_name in varchar2 default null
304 ,p_coord_ben_med_insr_crr_ident in varchar2 default null
305 ,p_coord_ben_med_cvg_strt_dt in date default null
306 ,p_coord_ben_med_cvg_end_dt in date default null
307 ,p_uses_tobacco_flag in varchar2 default null
308 ,p_dpdnt_adoption_date in date default null
309 ,p_dpdnt_vlntry_svce_flag in varchar2 default 'N'
310 ,p_original_date_of_hire in date default null
311 ,p_adjusted_svc_date in date default null
312 ,p_town_of_birth in varchar2 default null
313 ,p_region_of_birth in varchar2 default null
314 ,p_country_of_birth in varchar2 default null
315 ,p_global_person_id in varchar2 default null
316 ,p_person_id out nocopy number
317 ,p_assignment_id out nocopy number
318 ,p_per_object_version_number out nocopy number
319 ,p_asg_object_version_number out nocopy number
320 ,p_per_effective_start_date out nocopy date
321 ,p_per_effective_end_date out nocopy date
322 ,p_full_name out nocopy varchar2
323 ,p_per_comment_id out nocopy number
324 ,p_assignment_sequence out nocopy number
325 ,p_assignment_number out nocopy varchar2
326 ,p_name_combination_warning out nocopy boolean
327 ,p_assign_payroll_warning out nocopy boolean
328 ,p_orig_hire_warning out nocopy boolean);
329 --
330 END hr_sa_employee_api;