1 Package hr_contact_rel_api as
2 /* $Header: pecrlapi.pkh 120.1 2005/10/02 02:14:06 aroussel $ */
3 /*#
4 * This package contains APIs to maintain contact relationship information.
5 * @rep:scope public
6 * @rep:product per
7 * @rep:displayname Contact Relationship
8 */
9 --
10 -- ----------------------------------------------------------------------------
11 -- |------------------------------< create_contact >--------------------------|
12 -- ----------------------------------------------------------------------------
13 --
14 -- {Start Of Comments}
15 /*#
16 * This API creates the first contact relationship between two people in the
17 * database.
18 *
19 * If the contact person does not exist, a person record is created for the
20 * contact.
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 * The person for whom the contact relationship is being created must exist.
27 * The person who is the contact need not exist.
28 *
29 * <p><b>Post Success</b><br>
30 * If p_contact_person_id is not passed, then a person is created with details
31 * derived from the relevant parameters of this API call. Otherwise the contact
32 * person must exist already. The contact relationship is then created between
33 * the two people.
34 *
35 * <p><b>Post Failure</b><br>
36 * No contact person record, or contact relationship between the original
37 * person and contact is created, and an error is raised.
38 * @param p_validate If true, then validation alone will be performed and the
39 * database will remain unchanged. If false and all validation checks pass,
40 * then the database will be modified.
41 * @param p_start_date The start date on which to create the contact's person
42 * record, if the contact person does not already exist.
43 * @param p_business_group_id Business group of the person
44 * @param p_person_id Identifies the person for whom you create the contact
45 * relationship.
46 * @param p_contact_person_id If passed, identifies the contact person of the
47 * contact relationship. If not passed, then a contact will be created in the
48 * system.
49 * @param p_contact_type Contact Type. Valid values are defined in the CONTACT
50 * lookup type.
51 * @param p_ctr_comments Comments for the contact relationship.
52 * @param p_primary_contact_flag Value 'Y' identifies if this is the primary
53 * contact relationship. Value 'N' identifies that this is not. There can only
54 * be one primary contact relationship between the same person and contact.
55 * @param p_date_start Start date of the contact relationship
56 * @param p_start_life_reason_id Identifies the reason for the start of the
57 * contact relationship for Benefits purposes.
58 * @param p_date_end End date of the contact relationship
59 * @param p_end_life_reason_id Identifies the reason for the end of the contact
60 * relationship, for Benefits purposes.
61 * @param p_rltd_per_rsds_w_dsgntr_flag Value 'Y' indicates if the contact
62 * resides at the same address as the person, otherwise 'N'. For Benefits
63 * purposes.
64 * @param p_personal_flag Value 'Y' indicates that the contact relationship is
65 * a personal relationship. Otherwise 'N'. For Benefits purposes.
66 * @param p_sequence_number Unique number to identify this relationship from
67 * other relationships the same person is in.
68 * @param p_cont_attribute_category This context value determines which
69 * Flexfield Structure to use with the Descriptive flexfield segments.
70 * @param p_cont_attribute1 Descriptive flexfield segment.
71 * @param p_cont_attribute2 Descriptive flexfield segment.
72 * @param p_cont_attribute3 Descriptive flexfield segment.
73 * @param p_cont_attribute4 Descriptive flexfield segment.
74 * @param p_cont_attribute5 Descriptive flexfield segment.
75 * @param p_cont_attribute6 Descriptive flexfield segment.
76 * @param p_cont_attribute7 Descriptive flexfield segment.
77 * @param p_cont_attribute8 Descriptive flexfield segment.
78 * @param p_cont_attribute9 Descriptive flexfield segment.
79 * @param p_cont_attribute10 Descriptive flexfield segment.
80 * @param p_cont_attribute11 Descriptive flexfield segment.
81 * @param p_cont_attribute12 Descriptive flexfield segment.
82 * @param p_cont_attribute13 Descriptive flexfield segment.
83 * @param p_cont_attribute14 Descriptive flexfield segment.
84 * @param p_cont_attribute15 Descriptive flexfield segment.
85 * @param p_cont_attribute16 Descriptive flexfield segment.
86 * @param p_cont_attribute17 Descriptive flexfield segment.
87 * @param p_cont_attribute18 Descriptive flexfield segment.
88 * @param p_cont_attribute19 Descriptive flexfield segment.
89 * @param p_cont_attribute20 Descriptive flexfield segment.
90 * @param p_cont_information_category This context value determines which
91 * Flexfield Structure to use with the Developer Descriptive flexfield
92 * segments.
93 * @param p_cont_information1 Developer Descriptive flexfield segment.
94 * @param p_cont_information2 Developer Descriptive flexfield segment.
95 * @param p_cont_information3 Developer Descriptive flexfield segment.
96 * @param p_cont_information4 Developer Descriptive flexfield segment.
97 * @param p_cont_information5 Developer Descriptive flexfield segment.
98 * @param p_cont_information6 Developer Descriptive flexfield segment.
99 * @param p_cont_information7 Developer Descriptive flexfield segment.
100 * @param p_cont_information8 Developer Descriptive flexfield segment.
101 * @param p_cont_information9 Developer Descriptive flexfield segment.
102 * @param p_cont_information10 Developer Descriptive flexfield segment.
103 * @param p_cont_information11 Developer Descriptive flexfield segment.
104 * @param p_cont_information12 Developer Descriptive flexfield segment.
105 * @param p_cont_information13 Developer Descriptive flexfield segment.
106 * @param p_cont_information14 Developer Descriptive flexfield segment.
107 * @param p_cont_information15 Developer Descriptive flexfield segment.
108 * @param p_cont_information16 Developer Descriptive flexfield segment.
109 * @param p_cont_information17 Developer Descriptive flexfield segment.
110 * @param p_cont_information18 Developer Descriptive flexfield segment.
111 * @param p_cont_information19 Developer Descriptive flexfield segment.
112 * @param p_cont_information20 Developer Descriptive flexfield segment.
113 * @param p_third_party_pay_flag Value 'Y' indicates that the contact receives
114 * third party payments from the person.
115 * @param p_bondholder_flag Value 'Y' indicates that the contact is a
116 * bondholder
117 * @param p_dependent_flag Value 'Y' indicates that the contact is a dependent
118 * of the person
119 * @param p_beneficiary_flag Value 'Y' indicates that the contact is a
120 * beneficiary.
121 * @param p_last_name Last name of contact, if a contact is to be created.
122 * @param p_sex Sex of contact, if a contact is to be created. Valid values are
123 * defined in the SEX lookup type.
124 * @param p_person_type_id Person Type of contact, if a contact is to be
125 * created. Must be of system person type of OTHER
126 * @param p_per_comments Comments for contact's person record.
127 * @param p_date_of_birth Date of birth of contact, if a contact is to be
128 * created.
129 * @param p_email_address Email address of contact, if a contact is to be
130 * created.
131 * @param p_first_name First name of contact, if a contact is to be created.
132 * @param p_known_as Preferred name of contact, if a contact is to be created.
133 * @param p_marital_status Marital status of contact, if a contact is to be
134 * created. Valid values are defined in the MAR_STATUS lookup type.
135 * @param p_middle_names Middle names of contact, if a contact is to be
136 * created.
137 * @param p_nationality Nationality of contact, if a contact is to be created.
138 * Valid values are defined in the NATIONALITY lookup type
139 * @param p_national_identifier National identification number of contact, if a
140 * contact is to be created.
141 * @param p_previous_last_name Previous last name of contact, if a contact is
142 * to be created.
143 * @param p_registered_disabled_flag Indicates registered disabled value of
144 * contact, if a contact is to be created. Valid values are defined in the
145 * REGISTERED_DISABLED lookup type.
146 * @param p_title Title of contact, if a contact is to be created. Valid values
147 * are defined in the TITLE lookup type.
148 * @param p_work_telephone Work telephone number of contact, if a contact is to
149 * be created.
150 * @param p_attribute_category This context value determines which Flexfield
151 * Structure to use with the Descriptive flexfield segments for the contact's
152 * person record, if a contact is to be created.
153 * @param p_attribute1 Descriptive flexfield segment of the contact's person
154 * record, if a contact is to be created.
155 * @param p_attribute2 Descriptive flexfield segment of the contact's person
156 * record, if a contact is to be created.
157 * @param p_attribute3 Descriptive flexfield segment of the contact's person
158 * record, if a contact is to be created.
159 * @param p_attribute4 Descriptive flexfield segment of the contact's person
160 * record, if a contact is to be created.
161 * @param p_attribute5 Descriptive flexfield segment of the contact's person
162 * record, if a contact is to be created.
163 * @param p_attribute6 Descriptive flexfield segment of the contact's person
164 * record, if a contact is to be created.
165 * @param p_attribute7 Descriptive flexfield segment of the contact's person
166 * record, if a contact is to be created.
167 * @param p_attribute8 Descriptive flexfield segment of the contact's person
168 * record, if a contact is to be created.
169 * @param p_attribute9 Descriptive flexfield segment of the contact's person
170 * record, if a contact is to be created.
171 * @param p_attribute10 Descriptive flexfield segment of the contact's person
172 * record, if a contact is to be created.
173 * @param p_attribute11 Descriptive flexfield segment of the contact's person
174 * record, if a contact is to be created.
175 * @param p_attribute12 Descriptive flexfield segment of the contact's person
176 * record, if a contact is to be created.
177 * @param p_attribute13 Descriptive flexfield segment of the contact's person
178 * record, if a contact is to be created.
179 * @param p_attribute14 Descriptive flexfield segment of the contact's person
180 * record, if a contact is to be created.
181 * @param p_attribute15 Descriptive flexfield segment of the contact's person
182 * record, if a contact is to be created.
183 * @param p_attribute16 Descriptive flexfield segment of the contact's person
184 * record, if a contact is to be created.
185 * @param p_attribute17 Descriptive flexfield segment of the contact's person
186 * record, if a contact is to be created.
187 * @param p_attribute18 Descriptive flexfield segment of the contact's person
188 * record, if a contact is to be created.
189 * @param p_attribute19 Descriptive flexfield segment of the contact's person
190 * record, if a contact is to be created.
191 * @param p_attribute20 Descriptive flexfield segment of the contact's person
192 * record, if a contact is to be created.
193 * @param p_attribute21 Descriptive flexfield segment of the contact's person
194 * record, if a contact is to be created.
195 * @param p_attribute22 Descriptive flexfield segment of the contact's person
196 * record, if a contact is to be created.
197 * @param p_attribute23 Descriptive flexfield segment of the contact's person
198 * record, if a contact is to be created.
199 * @param p_attribute24 Descriptive flexfield segment of the contact's person
200 * record, if a contact is to be created.
201 * @param p_attribute25 Descriptive flexfield segment of the contact's person
202 * record, if a contact is to be created.
203 * @param p_attribute26 Descriptive flexfield segment of the contact's person
204 * record, if a contact is to be created.
205 * @param p_attribute27 Descriptive flexfield segment of the contact's person
206 * record, if a contact is to be created.
207 * @param p_attribute28 Descriptive flexfield segment of the contact's person
208 * record, if a contact is to be created.
209 * @param p_attribute29 Descriptive flexfield segment of the contact's person
210 * record, if a contact is to be created.
211 * @param p_attribute30 Descriptive flexfield segment of the contact's person
212 * record, if a contact is to be created.
213 * @param p_per_information_category This context value determines which
214 * Flexfield Structure to use with the Developer Descriptive flexfield segments
215 * for the contact's person record, if a contact is to be created.
216 * @param p_per_information1 Developer Descriptive flexfield segment of the
217 * contact's person record, if a contact is to be created.
218 * @param p_per_information2 Developer Descriptive flexfield segment of the
219 * contact's person record, if a contact is to be created.
220 * @param p_per_information3 Developer Descriptive flexfield segment of the
221 * contact's person record, if a contact is to be created.
222 * @param p_per_information4 Developer Descriptive flexfield segment of the
223 * contact's person record, if a contact is to be created.
224 * @param p_per_information5 Developer Descriptive flexfield segment of the
225 * contact's person record, if a contact is to be created.
226 * @param p_per_information6 Developer Descriptive flexfield segment of the
227 * contact's person record, if a contact is to be created.
228 * @param p_per_information7 Developer Descriptive flexfield segment of the
229 * contact's person record, if a contact is to be created.
230 * @param p_per_information8 Developer Descriptive flexfield segment of the
231 * contact's person record, if a contact is to be created.
232 * @param p_per_information9 Developer Descriptive flexfield segment of the
233 * contact's person record, if a contact is to be created.
234 * @param p_per_information10 Developer Descriptive flexfield segment of the
235 * contact's person record, if a contact is to be created.
236 * @param p_per_information11 Developer Descriptive flexfield segment of the
237 * contact's person record, if a contact is to be created.
238 * @param p_per_information12 Developer Descriptive flexfield segment of the
239 * contact's person record, if a contact is to be created.
240 * @param p_per_information13 Developer Descriptive flexfield segment of the
241 * contact's person record, if a contact is to be created.
242 * @param p_per_information14 Developer Descriptive flexfield segment of the
243 * contact's person record, if a contact is to be created.
244 * @param p_per_information15 Developer Descriptive flexfield segment of the
245 * contact's person record, if a contact is to be created.
246 * @param p_per_information16 Developer Descriptive flexfield segment of the
247 * contact's person record, if a contact is to be created.
248 * @param p_per_information17 Developer Descriptive flexfield segment of the
249 * contact's person record, if a contact is to be created.
253 * contact's person record, if a contact is to be created.
250 * @param p_per_information18 Developer Descriptive flexfield segment of the
251 * contact's person record, if a contact is to be created.
252 * @param p_per_information19 Developer Descriptive flexfield segment of the
254 * @param p_per_information20 Developer Descriptive flexfield segment of the
255 * contact's person record, if a contact is to be created.
256 * @param p_per_information21 Developer Descriptive flexfield segment of the
257 * contact's person record, if a contact is to be created.
258 * @param p_per_information22 Developer Descriptive flexfield segment of the
259 * contact's person record, if a contact is to be created.
260 * @param p_per_information23 Developer Descriptive flexfield segment of the
261 * contact's person record, if a contact is to be created.
262 * @param p_per_information24 Developer Descriptive flexfield segment of the
263 * contact's person record, if a contact is to be created.
264 * @param p_per_information25 Developer Descriptive flexfield segment of the
265 * contact's person record, if a contact is to be created.
266 * @param p_per_information26 Developer Descriptive flexfield segment of the
267 * contact's person record, if a contact is to be created.
268 * @param p_per_information27 Developer Descriptive flexfield segment of the
269 * contact's person record, if a contact is to be created.
270 * @param p_per_information28 Developer Descriptive flexfield segment of the
271 * contact's person record, if a contact is to be created.
272 * @param p_per_information29 Developer Descriptive flexfield segment of the
273 * contact's person record, if a contact is to be created.
274 * @param p_per_information30 Developer Descriptive flexfield segment of the
275 * contact's person record, if a contact is to be created.
276 * @param p_correspondence_language Correspondence language of contact, if a
277 * contact is to be created.
278 * @param p_honors Honors of contact, if a contact is to be created.
279 * @param p_pre_name_adjunct Pre name adjunct of contact, if a contact is to be
280 * created.
281 * @param p_suffix Suffix of contact, if a contact is to be created.
282 * @param p_create_mirror_flag The value 'Y' indicates to create a mirror
283 * contact relationship, which is a new record with the person and contact
284 * reversed. Otherwise the mirror contact relationship is not created.
285 * @param p_mirror_type Contact type of the mirror contact relationship. Valid
286 * values are defined in the CONTACT lookup type, but the value passed to this
287 * parameter must be appropriate to the value passed to p_contact_type. For
288 * example, if the relationship is a parental one, the mirror must be a child
289 * relationship.
290 * @param p_mirror_cont_attribute_cat This context value determines which
291 * Flexfield Structure to use with the Descriptive flexfield segments for the
292 * mirror contact relationship record.
293 * @param p_mirror_cont_attribute1 Descriptive flexfield segment for the mirror
294 * contact relationship.
295 * @param p_mirror_cont_attribute2 Descriptive flexfield segment for the mirror
296 * contact relationship.
297 * @param p_mirror_cont_attribute3 Descriptive flexfield segment for the mirror
298 * contact relationship.
299 * @param p_mirror_cont_attribute4 Descriptive flexfield segment for the mirror
300 * contact relationship.
301 * @param p_mirror_cont_attribute5 Descriptive flexfield segment for the mirror
302 * contact relationship.
303 * @param p_mirror_cont_attribute6 Descriptive flexfield segment for the mirror
304 * contact relationship.
305 * @param p_mirror_cont_attribute7 Descriptive flexfield segment for the mirror
306 * contact relationship.
307 * @param p_mirror_cont_attribute8 Descriptive flexfield segment for the mirror
308 * contact relationship.
309 * @param p_mirror_cont_attribute9 Descriptive flexfield segment for the mirror
310 * contact relationship.
311 * @param p_mirror_cont_attribute10 Descriptive flexfield segment for the
312 * mirror contact relationship.
313 * @param p_mirror_cont_attribute11 Descriptive flexfield segment for the
314 * mirror contact relationship.
315 * @param p_mirror_cont_attribute12 Descriptive flexfield segment for the
316 * mirror contact relationship.
317 * @param p_mirror_cont_attribute13 Descriptive flexfield segment for the
318 * mirror contact relationship.
319 * @param p_mirror_cont_attribute14 Descriptive flexfield segment for the
320 * mirror contact relationship.
321 * @param p_mirror_cont_attribute15 Descriptive flexfield segment for the
322 * mirror contact relationship.
323 * @param p_mirror_cont_attribute16 Descriptive flexfield segment for the
324 * mirror contact relationship.
325 * @param p_mirror_cont_attribute17 Descriptive flexfield segment for the
326 * mirror contact relationship.
327 * @param p_mirror_cont_attribute18 Descriptive flexfield segment for the
328 * mirror contact relationship.
329 * @param p_mirror_cont_attribute19 Descriptive flexfield segment for the
330 * mirror contact relationship.
331 * @param p_mirror_cont_attribute20 Descriptive flexfield segment for the
332 * mirror contact relationship.
333 * @param p_mirror_cont_information_cat This context value determines which
334 * Flexfield Structure to use with the Developer Descriptive flexfield segments
335 * for the mirror contact relationship record.
336 * @param p_mirror_cont_information1 Developer Descriptive flexfield segment
337 * for the mirror contact relationship record.
338 * @param p_mirror_cont_information2 Developer Descriptive flexfield segment
339 * for the mirror contact relationship record.
340 * @param p_mirror_cont_information3 Developer Descriptive flexfield segment
344 * @param p_mirror_cont_information5 Developer Descriptive flexfield segment
341 * for the mirror contact relationship record.
342 * @param p_mirror_cont_information4 Developer Descriptive flexfield segment
343 * for the mirror contact relationship record.
345 * for the mirror contact relationship record.
346 * @param p_mirror_cont_information6 Developer Descriptive flexfield segment
347 * for the mirror contact relationship record.
348 * @param p_mirror_cont_information7 Developer Descriptive flexfield segment
349 * for the mirror contact relationship record.
350 * @param p_mirror_cont_information8 Developer Descriptive flexfield segment
351 * for the mirror contact relationship record.
352 * @param p_mirror_cont_information9 Developer Descriptive flexfield segment
353 * for the mirror contact relationship record.
354 * @param p_mirror_cont_information10 Developer Descriptive flexfield segment
355 * for the mirror contact relationship record.
356 * @param p_mirror_cont_information11 Developer Descriptive flexfield segment
357 * for the mirror contact relationship record.
358 * @param p_mirror_cont_information12 Developer Descriptive flexfield segment
359 * for the mirror contact relationship record.
360 * @param p_mirror_cont_information13 Developer Descriptive flexfield segment
361 * for the mirror contact relationship record.
362 * @param p_mirror_cont_information14 Developer Descriptive flexfield segment
363 * for the mirror contact relationship record.
364 * @param p_mirror_cont_information15 Developer Descriptive flexfield segment
365 * for the mirror contact relationship record.
366 * @param p_mirror_cont_information16 Developer Descriptive flexfield segment
367 * for the mirror contact relationship record.
368 * @param p_mirror_cont_information17 Developer Descriptive flexfield segment
369 * for the mirror contact relationship record.
370 * @param p_mirror_cont_information18 Developer Descriptive flexfield segment
371 * for the mirror contact relationship record.
372 * @param p_mirror_cont_information19 Developer Descriptive flexfield segment
373 * for the mirror contact relationship record.
374 * @param p_mirror_cont_information20 Developer Descriptive flexfield segment
375 * for the mirror contact relationship record.
376 * @param p_contact_relationship_id If p_validate is false, this uniquely
377 * identifies the relationship created. If p_validate is true this parameter
378 * will be null.
379 * @param p_ctr_object_version_number If p_validate is false, this will be set
380 * to the version number of the contact relationship created. If p_validate is
381 * true this parameter will be set to null.
382 * @param p_per_person_id If p_validate is false, this will be set to the
383 * unique identifier of the contact's person record, if a contact was created.
384 * If p_validate is true, this will be set to null.
385 * @param p_per_object_version_number If p_validate is false, then set to the
386 * version number of the created contact person, if a contact was to be
387 * created. If p_validate is true, then the value will be null.
388 * @param p_per_effective_start_date If p_validate is false, then set to the
389 * earliest effective start date for the created person record for the contact,
390 * if a contact was to be created. If p_validate is true, then set to null.
391 * @param p_per_effective_end_date If p_validate is false, then set to the
392 * effective end date for the created person record for the contact, if a
393 * contact was to be created. If p_validate is true, then set to null.
394 * @param p_full_name If p_validate is false, this will be set to the complete
395 * full name of the contact if a contact was to be created. If p_validate is
396 * true this will be null.
397 * @param p_per_comment_id If p_validate is false and comment text was
398 * provided, then will be set to the identifier of the created contact's
399 * comment record. If p_validate is true or no comment text was provided, then
400 * will be null.
401 * @param p_name_combination_warning If set to true, then the combination of
402 * last name, first name and date of birth existed prior to calling this API.
403 * @param p_orig_hire_warning Will always be set to false as a result of
404 * calling this API.
405 * @rep:displayname Create Contact Relationship
406 * @rep:category BUSINESS_ENTITY PER_CONTACT_RELATIONSHIP
407 * @rep:category MISC_EXTENSIONS HR_DATAPUMP
408 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
409 * @rep:scope public
410 * @rep:lifecycle active
411 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
412 */
413 --
414 -- {End Of Comments}
415 --
416 procedure create_contact
417 (p_validate in boolean default false
418 ,p_start_date in date
419 ,p_business_group_id in number
420 ,p_person_id in number
421 ,p_contact_person_id in number default null
422 ,p_contact_type in varchar2
423 ,p_ctr_comments in varchar2 default null
424 ,p_primary_contact_flag in varchar2 default 'N'
425 ,p_date_start in date default null
426 ,p_start_life_reason_id in number default null
427 ,p_date_end in date default null
428 ,p_end_life_reason_id in number default null
429 ,p_rltd_per_rsds_w_dsgntr_flag in varchar2 default 'N'
430 ,p_personal_flag in varchar2 default 'N'
431 ,p_sequence_number in number default null
432 ,p_cont_attribute_category in varchar2 default null
433 ,p_cont_attribute1 in varchar2 default null
437 ,p_cont_attribute5 in varchar2 default null
434 ,p_cont_attribute2 in varchar2 default null
435 ,p_cont_attribute3 in varchar2 default null
436 ,p_cont_attribute4 in varchar2 default null
438 ,p_cont_attribute6 in varchar2 default null
439 ,p_cont_attribute7 in varchar2 default null
440 ,p_cont_attribute8 in varchar2 default null
441 ,p_cont_attribute9 in varchar2 default null
442 ,p_cont_attribute10 in varchar2 default null
443 ,p_cont_attribute11 in varchar2 default null
444 ,p_cont_attribute12 in varchar2 default null
445 ,p_cont_attribute13 in varchar2 default null
446 ,p_cont_attribute14 in varchar2 default null
447 ,p_cont_attribute15 in varchar2 default null
448 ,p_cont_attribute16 in varchar2 default null
449 ,p_cont_attribute17 in varchar2 default null
450 ,p_cont_attribute18 in varchar2 default null
451 ,p_cont_attribute19 in varchar2 default null
452 ,p_cont_attribute20 in varchar2 default null
453 ,p_cont_information_category in varchar2 default null
454 ,p_cont_information1 in varchar2 default null
455 ,p_cont_information2 in varchar2 default null
456 ,p_cont_information3 in varchar2 default null
457 ,p_cont_information4 in varchar2 default null
458 ,p_cont_information5 in varchar2 default null
459 ,p_cont_information6 in varchar2 default null
460 ,p_cont_information7 in varchar2 default null
461 ,p_cont_information8 in varchar2 default null
462 ,p_cont_information9 in varchar2 default null
463 ,p_cont_information10 in varchar2 default null
464 ,p_cont_information11 in varchar2 default null
465 ,p_cont_information12 in varchar2 default null
466 ,p_cont_information13 in varchar2 default null
467 ,p_cont_information14 in varchar2 default null
468 ,p_cont_information15 in varchar2 default null
469 ,p_cont_information16 in varchar2 default null
470 ,p_cont_information17 in varchar2 default null
471 ,p_cont_information18 in varchar2 default null
472 ,p_cont_information19 in varchar2 default null
473 ,p_cont_information20 in varchar2 default null
474 ,p_third_party_pay_flag in varchar2 default 'N'
475 ,p_bondholder_flag in varchar2 default 'N'
476 ,p_dependent_flag in varchar2 default 'N'
477 ,p_beneficiary_flag in varchar2 default 'N'
478 ,p_last_name in varchar2 default null
479 ,p_sex in varchar2 default null
480 ,p_person_type_id in number default null
481 ,p_per_comments in varchar2 default null
482 ,p_date_of_birth in date default null
483 ,p_email_address in varchar2 default null
484 ,p_first_name in varchar2 default null
485 ,p_known_as in varchar2 default null
486 ,p_marital_status in varchar2 default null
487 ,p_middle_names in varchar2 default null
488 ,p_nationality in varchar2 default null
489 ,p_national_identifier in varchar2 default null
490 ,p_previous_last_name in varchar2 default null
491 ,p_registered_disabled_flag in varchar2 default null
492 ,p_title in varchar2 default null
493 ,p_work_telephone in varchar2 default null
494 ,p_attribute_category in varchar2 default null
495 ,p_attribute1 in varchar2 default null
496 ,p_attribute2 in varchar2 default null
497 ,p_attribute3 in varchar2 default null
498 ,p_attribute4 in varchar2 default null
499 ,p_attribute5 in varchar2 default null
500 ,p_attribute6 in varchar2 default null
501 ,p_attribute7 in varchar2 default null
502 ,p_attribute8 in varchar2 default null
503 ,p_attribute9 in varchar2 default null
504 ,p_attribute10 in varchar2 default null
505 ,p_attribute11 in varchar2 default null
506 ,p_attribute12 in varchar2 default null
507 ,p_attribute13 in varchar2 default null
508 ,p_attribute14 in varchar2 default null
509 ,p_attribute15 in varchar2 default null
510 ,p_attribute16 in varchar2 default null
511 ,p_attribute17 in varchar2 default null
512 ,p_attribute18 in varchar2 default null
513 ,p_attribute19 in varchar2 default null
514 ,p_attribute20 in varchar2 default null
515 ,p_attribute21 in varchar2 default null
519 ,p_attribute25 in varchar2 default null
516 ,p_attribute22 in varchar2 default null
517 ,p_attribute23 in varchar2 default null
518 ,p_attribute24 in varchar2 default null
520 ,p_attribute26 in varchar2 default null
521 ,p_attribute27 in varchar2 default null
522 ,p_attribute28 in varchar2 default null
523 ,p_attribute29 in varchar2 default null
524 ,p_attribute30 in varchar2 default null
525 ,p_per_information_category in varchar2 default null
526 -- p_per_information_category - Obsolete parameter, do not use
527 ,p_per_information1 in varchar2 default null
528 ,p_per_information2 in varchar2 default null
529 ,p_per_information3 in varchar2 default null
530 ,p_per_information4 in varchar2 default null
531 ,p_per_information5 in varchar2 default null
532 ,p_per_information6 in varchar2 default null
533 ,p_per_information7 in varchar2 default null
534 ,p_per_information8 in varchar2 default null
535 ,p_per_information9 in varchar2 default null
536 ,p_per_information10 in varchar2 default null
537 ,p_per_information11 in varchar2 default null
538 ,p_per_information12 in varchar2 default null
539 ,p_per_information13 in varchar2 default null
540 ,p_per_information14 in varchar2 default null
541 ,p_per_information15 in varchar2 default null
542 ,p_per_information16 in varchar2 default null
543 ,p_per_information17 in varchar2 default null
544 ,p_per_information18 in varchar2 default null
545 ,p_per_information19 in varchar2 default null
546 ,p_per_information20 in varchar2 default null
547 ,p_per_information21 in varchar2 default null
548 ,p_per_information22 in varchar2 default null
549 ,p_per_information23 in varchar2 default null
550 ,p_per_information24 in varchar2 default null
551 ,p_per_information25 in varchar2 default null
552 ,p_per_information26 in varchar2 default null
553 ,p_per_information27 in varchar2 default null
554 ,p_per_information28 in varchar2 default null
555 ,p_per_information29 in varchar2 default null
556 ,p_per_information30 in varchar2 default null
557 ,p_correspondence_language in varchar2 default null
558 ,p_honors in varchar2 default null
559 ,p_pre_name_adjunct in varchar2 default null
560 ,p_suffix in varchar2 default null
561 ,p_create_mirror_flag in varchar2 default 'N'
562 ,p_mirror_type in varchar2 default null
563 ,p_mirror_cont_attribute_cat in varchar2 default null
564 ,p_mirror_cont_attribute1 in varchar2 default null
565 ,p_mirror_cont_attribute2 in varchar2 default null
566 ,p_mirror_cont_attribute3 in varchar2 default null
567 ,p_mirror_cont_attribute4 in varchar2 default null
568 ,p_mirror_cont_attribute5 in varchar2 default null
569 ,p_mirror_cont_attribute6 in varchar2 default null
570 ,p_mirror_cont_attribute7 in varchar2 default null
571 ,p_mirror_cont_attribute8 in varchar2 default null
572 ,p_mirror_cont_attribute9 in varchar2 default null
573 ,p_mirror_cont_attribute10 in varchar2 default null
574 ,p_mirror_cont_attribute11 in varchar2 default null
575 ,p_mirror_cont_attribute12 in varchar2 default null
576 ,p_mirror_cont_attribute13 in varchar2 default null
577 ,p_mirror_cont_attribute14 in varchar2 default null
578 ,p_mirror_cont_attribute15 in varchar2 default null
579 ,p_mirror_cont_attribute16 in varchar2 default null
580 ,p_mirror_cont_attribute17 in varchar2 default null
581 ,p_mirror_cont_attribute18 in varchar2 default null
582 ,p_mirror_cont_attribute19 in varchar2 default null
583 ,p_mirror_cont_attribute20 in varchar2 default null
584 ,p_mirror_cont_information_cat in varchar2 default null
585 ,p_mirror_cont_information1 in varchar2 default null
586 ,p_mirror_cont_information2 in varchar2 default null
587 ,p_mirror_cont_information3 in varchar2 default null
588 ,p_mirror_cont_information4 in varchar2 default null
589 ,p_mirror_cont_information5 in varchar2 default null
590 ,p_mirror_cont_information6 in varchar2 default null
591 ,p_mirror_cont_information7 in varchar2 default null
592 ,p_mirror_cont_information8 in varchar2 default null
593 ,p_mirror_cont_information9 in varchar2 default null
594 ,p_mirror_cont_information10 in varchar2 default null
595 ,p_mirror_cont_information11 in varchar2 default null
596 ,p_mirror_cont_information12 in varchar2 default null
597 ,p_mirror_cont_information13 in varchar2 default null
601 ,p_mirror_cont_information17 in varchar2 default null
598 ,p_mirror_cont_information14 in varchar2 default null
599 ,p_mirror_cont_information15 in varchar2 default null
600 ,p_mirror_cont_information16 in varchar2 default null
602 ,p_mirror_cont_information18 in varchar2 default null
603 ,p_mirror_cont_information19 in varchar2 default null
604 ,p_mirror_cont_information20 in varchar2 default null
605 --
606 ,p_contact_relationship_id out nocopy number
607 ,p_ctr_object_version_number out nocopy number
608 ,p_per_person_id out nocopy number
609 ,p_per_object_version_number out nocopy number
610 ,p_per_effective_start_date out nocopy date
611 ,p_per_effective_end_date out nocopy date
612 ,p_full_name out nocopy varchar2
613 ,p_per_comment_id out nocopy number
614 ,p_name_combination_warning out nocopy boolean
615 ,p_orig_hire_warning out nocopy boolean
616 );
617 --
618 -- ----------------------------------------------------------------------------
619 -- |-----------------------< update_contact_relationship >--------------------|
620 -- ----------------------------------------------------------------------------
621 --
622 -- {Start Of Comments}
623 /*#
624 * This API updates contact relationship details for a given relationship.
625 *
626 * If you update the contact type, the link to the mirror contact relationship
627 * is removed and the mirror contact relationship is not updated. If you do not
628 * change the contact type, updates to the following parameters on either the
629 * contact relationship or the mirror relationship will cause the reciprocal
630 * relationship to be updated: p_date_start, p_start_life_reason_id,
631 * p_date_end, p_end_life_reason_id, p_rltd_per_rsds_w_dsgntr_flag,
632 * p_personal_flag.
633 *
634 * <p><b>Licensing</b><br>
635 * This API is licensed for use with Human Resources.
636 *
637 * <p><b>Prerequisites</b><br>
638 * The contact relationship record must already exist.
639 *
640 * <p><b>Post Success</b><br>
641 * The contact relationship will be updated. If the contact type is not
642 * changed, the mirror contact relationship will be updated.
643 *
644 * <p><b>Post Failure</b><br>
645 * The API will not update the contact relationship and raises an error.
646 * @param p_validate If true, then validation alone will be performed and the
647 * database will remain unchanged. If false and all validation checks pass,
648 * then the database will be modified.
649 * @param p_effective_date Reference date for validating lookup values are
650 * applicable during the start to end active date range. This date does not
651 * determine when the changes take effect.
652 * @param p_contact_relationship_id Identifier of the contact relationship
653 * record to update.
654 * @param p_contact_type Contact Type. Valid values are defined in the CONTACT
655 * lookup type.
656 * @param p_comments Comments for the contact relationship.
657 * @param p_primary_contact_flag Value 'Y' identifies if this is the primary
658 * contact relationship. Value 'N' identifies that this is not. There can only
659 * be one primary contact relationship between the same person and contact.
660 * @param p_third_party_pay_flag Value 'Y' indicates that the contact receives
661 * third party payments from the person.
662 * @param p_bondholder_flag Value 'Y' indicates that the contact is a
663 * bondholder
664 * @param p_date_start Start date of the contact relationship
665 * @param p_start_life_reason_id Identifies the reason for the start of the
666 * contact relationship, for Benefits purposes.
667 * @param p_date_end End date of the contact relationship
668 * @param p_end_life_reason_id Identifies the reason for the end of the contact
669 * relationship, for Benefits purposes.
670 * @param p_rltd_per_rsds_w_dsgntr_flag Value 'Y' indicates if the contact
671 * resides at the same address as the person, otherwise 'N'. For Benefits
672 * purposes.
673 * @param p_personal_flag Value 'Y' indicates that the contact relationship is
674 * a personal relationship. Otherwise 'N'. For Benefits purposes.
675 * @param p_sequence_number Unique number to identify this relationship from
676 * other relationships the same person is in.
677 * @param p_dependent_flag Value 'Y' indicates that the contact is a dependent
678 * of the person
679 * @param p_beneficiary_flag Value 'Y' indicates that the contact is a
680 * beneficiary.
681 * @param p_cont_attribute_category This context value determines which
682 * Flexfield Structure to use with the Descriptive flexfield segments.
683 * @param p_cont_attribute1 Descriptive flexfield segment.
684 * @param p_cont_attribute2 Descriptive flexfield segment.
685 * @param p_cont_attribute3 Descriptive flexfield segment.
686 * @param p_cont_attribute4 Descriptive flexfield segment.
687 * @param p_cont_attribute5 Descriptive flexfield segment.
688 * @param p_cont_attribute6 Descriptive flexfield segment.
689 * @param p_cont_attribute7 Descriptive flexfield segment.
690 * @param p_cont_attribute8 Descriptive flexfield segment.
691 * @param p_cont_attribute9 Descriptive flexfield segment.
692 * @param p_cont_attribute10 Descriptive flexfield segment.
693 * @param p_cont_attribute11 Descriptive flexfield segment.
694 * @param p_cont_attribute12 Descriptive flexfield segment.
695 * @param p_cont_attribute13 Descriptive flexfield segment.
696 * @param p_cont_attribute14 Descriptive flexfield segment.
697 * @param p_cont_attribute15 Descriptive flexfield segment.
698 * @param p_cont_attribute16 Descriptive flexfield segment.
702 * @param p_cont_attribute20 Descriptive flexfield segment.
699 * @param p_cont_attribute17 Descriptive flexfield segment.
700 * @param p_cont_attribute18 Descriptive flexfield segment.
701 * @param p_cont_attribute19 Descriptive flexfield segment.
703 * @param p_cont_information_category This context value determines which
704 * Flexfield Structure to use with the Developer Descriptive flexfield
705 * segments.
706 * @param p_cont_information1 Developer Descriptive flexfield segment.
707 * @param p_cont_information2 Developer Descriptive flexfield segment.
708 * @param p_cont_information3 Developer Descriptive flexfield segment.
709 * @param p_cont_information4 Developer Descriptive flexfield segment.
710 * @param p_cont_information5 Developer Descriptive flexfield segment.
711 * @param p_cont_information6 Developer Descriptive flexfield segment.
712 * @param p_cont_information7 Developer Descriptive flexfield segment.
713 * @param p_cont_information8 Developer Descriptive flexfield segment.
714 * @param p_cont_information9 Developer Descriptive flexfield segment.
715 * @param p_cont_information10 Developer Descriptive flexfield segment.
716 * @param p_cont_information11 Developer Descriptive flexfield segment.
717 * @param p_cont_information12 Developer Descriptive flexfield segment.
718 * @param p_cont_information13 Developer Descriptive flexfield segment.
719 * @param p_cont_information14 Developer Descriptive flexfield segment.
720 * @param p_cont_information15 Developer Descriptive flexfield segment.
721 * @param p_cont_information16 Developer Descriptive flexfield segment.
722 * @param p_cont_information17 Developer Descriptive flexfield segment.
723 * @param p_cont_information18 Developer Descriptive flexfield segment.
724 * @param p_cont_information19 Developer Descriptive flexfield segment.
725 * @param p_cont_information20 Developer Descriptive flexfield segment.
726 * @param p_object_version_number Pass in the current version number of the
727 * contact relationship record to be updated. When the API completes if
728 * p_validate is false, will be set to the new version number of the updated
729 * contact relationship record. If p_validate is true will be set to the same
730 * value which was passed in.
731 * @rep:displayname Update Contact Relationship
732 * @rep:category BUSINESS_ENTITY PER_CONTACT_RELATIONSHIP
733 * @rep:category MISC_EXTENSIONS HR_DATAPUMP
734 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
735 * @rep:scope public
736 * @rep:lifecycle active
737 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
738 */
739 --
740 -- {End Of Comments}
741 --
742 procedure update_contact_relationship
743 (p_validate in boolean default false
744 ,p_effective_date in date
745 ,p_contact_relationship_id in number
746 ,p_contact_type in varchar2 default hr_api.g_varchar2
747 ,p_comments in long default hr_api.g_varchar2
748 ,p_primary_contact_flag in varchar2 default hr_api.g_varchar2
749 ,p_third_party_pay_flag in varchar2 default hr_api.g_varchar2
750 ,p_bondholder_flag in varchar2 default hr_api.g_varchar2
751 ,p_date_start in date default hr_api.g_date
752 ,p_start_life_reason_id in number default hr_api.g_number
753 ,p_date_end in date default hr_api.g_date
754 ,p_end_life_reason_id in number default hr_api.g_number
755 ,p_rltd_per_rsds_w_dsgntr_flag in varchar2 default hr_api.g_varchar2
756 ,p_personal_flag in varchar2 default hr_api.g_varchar2
757 ,p_sequence_number in number default hr_api.g_number
758 ,p_dependent_flag in varchar2 default hr_api.g_varchar2
759 ,p_beneficiary_flag in varchar2 default hr_api.g_varchar2
760 ,p_cont_attribute_category in varchar2 default hr_api.g_varchar2
761 ,p_cont_attribute1 in varchar2 default hr_api.g_varchar2
762 ,p_cont_attribute2 in varchar2 default hr_api.g_varchar2
763 ,p_cont_attribute3 in varchar2 default hr_api.g_varchar2
764 ,p_cont_attribute4 in varchar2 default hr_api.g_varchar2
765 ,p_cont_attribute5 in varchar2 default hr_api.g_varchar2
766 ,p_cont_attribute6 in varchar2 default hr_api.g_varchar2
767 ,p_cont_attribute7 in varchar2 default hr_api.g_varchar2
768 ,p_cont_attribute8 in varchar2 default hr_api.g_varchar2
769 ,p_cont_attribute9 in varchar2 default hr_api.g_varchar2
770 ,p_cont_attribute10 in varchar2 default hr_api.g_varchar2
771 ,p_cont_attribute11 in varchar2 default hr_api.g_varchar2
772 ,p_cont_attribute12 in varchar2 default hr_api.g_varchar2
773 ,p_cont_attribute13 in varchar2 default hr_api.g_varchar2
774 ,p_cont_attribute14 in varchar2 default hr_api.g_varchar2
775 ,p_cont_attribute15 in varchar2 default hr_api.g_varchar2
776 ,p_cont_attribute16 in varchar2 default hr_api.g_varchar2
777 ,p_cont_attribute17 in varchar2 default hr_api.g_varchar2
778 ,p_cont_attribute18 in varchar2 default hr_api.g_varchar2
779 ,p_cont_attribute19 in varchar2 default hr_api.g_varchar2
780 ,p_cont_attribute20 in varchar2 default hr_api.g_varchar2
781 ,p_cont_information_category in varchar2 default hr_api.g_varchar2
782 ,p_cont_information1 in varchar2 default hr_api.g_varchar2
783 ,p_cont_information2 in varchar2 default hr_api.g_varchar2
784 ,p_cont_information3 in varchar2 default hr_api.g_varchar2
785 ,p_cont_information4 in varchar2 default hr_api.g_varchar2
786 ,p_cont_information5 in varchar2 default hr_api.g_varchar2
787 ,p_cont_information6 in varchar2 default hr_api.g_varchar2
788 ,p_cont_information7 in varchar2 default hr_api.g_varchar2
789 ,p_cont_information8 in varchar2 default hr_api.g_varchar2
790 ,p_cont_information9 in varchar2 default hr_api.g_varchar2
791 ,p_cont_information10 in varchar2 default hr_api.g_varchar2
792 ,p_cont_information11 in varchar2 default hr_api.g_varchar2
793 ,p_cont_information12 in varchar2 default hr_api.g_varchar2
794 ,p_cont_information13 in varchar2 default hr_api.g_varchar2
795 ,p_cont_information14 in varchar2 default hr_api.g_varchar2
796 ,p_cont_information15 in varchar2 default hr_api.g_varchar2
797 ,p_cont_information16 in varchar2 default hr_api.g_varchar2
798 ,p_cont_information17 in varchar2 default hr_api.g_varchar2
799 ,p_cont_information18 in varchar2 default hr_api.g_varchar2
800 ,p_cont_information19 in varchar2 default hr_api.g_varchar2
801 ,p_cont_information20 in varchar2 default hr_api.g_varchar2
802 ,p_object_version_number in out nocopy number
803 );
804 --
805 -- ----------------------------------------------------------------------------
806 -- |-----------------------< delete_contact_relationship >--------------------|
807 -- ----------------------------------------------------------------------------
808 --
809 -- {Start Of Comments}
810 /*#
811 * This API deletes contact relationship details for a given relationship.
812 *
813 * This API deletes the contact relationship record as identified by
814 * p_contact_relationship_id. If a mirror contact relationship exists then this
815 * relationship will also be deleted.
816 *
817 * <p><b>Licensing</b><br>
818 * This API is licensed for use with Human Resources.
819 *
820 * <p><b>Prerequisites</b><br>
821 * The contact relationship record, identified by p_contact_relationship_id
822 * must already exist.
823 *
824 * <p><b>Post Success</b><br>
825 * The API sets no out parameters. The relationship record gets deleted.
826 *
827 * <p><b>Post Failure</b><br>
828 * The API will not delete the contact relationship and raises an error.
829 * @param p_validate If true, then validation alone will be performed and the
830 * database will remain unchanged. If false and all validation checks pass,
831 * then the database will be modified.
832 * @param p_contact_relationship_id Identifier of the contact relationship
833 * record to be deleted.
834 * @param p_object_version_number Current version number of the contact
835 * relationship record to be deleted.
836 * @rep:displayname Delete Contact Relationship
837 * @rep:category BUSINESS_ENTITY PER_CONTACT_RELATIONSHIP
838 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
839 * @rep:scope public
840 * @rep:lifecycle active
841 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
842 */
843 --
844 -- {End Of Comments}
845 --
846 procedure delete_contact_relationship
847 (p_validate in boolean default false
848 ,p_contact_relationship_id in number
849 ,p_object_version_number in number
850 );
851 end hr_contact_rel_api;