1 PACKAGE HR_MX_CONTACT_REL_API AS
2 /* $Header: hrmxwrcr.pkh 120.1 2005/10/02 02:36:20 aroussel $ */
3 /*#
4 * This package contains APIs to maintain contact relationship information for
5 * Mexico.
6 * @rep:scope public
7 * @rep:product PER
8 * @rep:displayname Contact Relationship for Mexico
9 */
10 --
11 -- ----------------------------------------------------------------------------
12 -- |----------------------------< create_mx_contact >-------------------------|
13 -- ----------------------------------------------------------------------------
14 --
15 -- {Start Of Comments}
16 /*#
17 * This API creates the first contact relationship between two people in the
18 * database.
19 *
20 * If the contact person does not exist, a person record is created for the
21 * contact.
22 *
23 * <p><b>Licensing</b><br>
24 * This API is licensed for use with Human Resources.
25 *
26 * <p><b>Prerequisites</b><br>
27 * The person for whom the contact relationship is being created must exist.
28 * The person who is the contact need not exist.
29 *
30 * <p><b>Post Success</b><br>
31 * If p_contact_person_id is not passed, then a person is created with details
32 * derived from the relevant parameters of this API call. Otherwise the contact
33 * person must exist already. The contact relationship is then created between
34 * the two people.
35 *
36 * <p><b>Post Failure</b><br>
37 * No contact person record, or contact relationship between the original
38 * person and contact is created, and an error is raised.
39 *
40 * @param p_validate If true, then validation alone will be performed and the
41 * database will remain unchanged. If false and all validation checks pass,
42 * then the database will be modified.
43 * @param p_start_date The start date on which to create the contact's person
44 * record, if the contact person does not already exist.
45 * @param p_business_group_id Business group of the person.
46 * @param p_person_id Identifies the person for whom you create the contact
47 * record.
48 * @param p_contact_person_id If passed, identifies the contact person of the
49 * contact relationship. If not passed, then a contact will be created in the
50 * system.
51 * @param p_contact_type Contact Type. Valid values are defined in the CONTACT
52 * lookup type.
53 * @param p_ctr_comments Comments for the contact relationship.
54 * @param p_primary_contact_flag Value 'Y' identifies if this is the primary
55 * contact relationship. Value 'N' identifies that this is not. There can only
56 * be one primary contact relationship between the same person and contact.
57 * @param p_date_start Start date of the contact relationship.
58 * @param p_start_life_reason_id Identifies the reason for the start of the
59 * contact relationship for Benefits purposes.
60 * @param p_date_end End date of the contact relationship.
61 * @param p_end_life_reason_id Identifies the reason for the end of the contact
62 * relationship, for Benefits purposes.
63 * @param p_rltd_per_rsds_w_dsgntr_flag Value 'Y' indicates if the contact
64 * resides at the same address as the person, otherwise 'N'. For Benefits
65 * purposes.
66 * @param p_personal_flag Value 'Y' indicates that the contact relationship is
67 * a personal relationship. Otherwise 'N'. For Benefits purposes.
68 * @param p_sequence_number Unique number to identify this relationship from
69 * other relationships the same person is in.
70 * @param p_cont_attribute_category This context value determines which
71 * Flexfield Structure to use with the Descriptive flexfield segments.
72 * @param p_cont_attribute1 Descriptive flexfield segment.
73 * @param p_cont_attribute2 Descriptive flexfield segment.
74 * @param p_cont_attribute3 Descriptive flexfield segment.
75 * @param p_cont_attribute4 Descriptive flexfield segment.
76 * @param p_cont_attribute5 Descriptive flexfield segment.
77 * @param p_cont_attribute6 Descriptive flexfield segment.
78 * @param p_cont_attribute7 Descriptive flexfield segment.
79 * @param p_cont_attribute8 Descriptive flexfield segment.
80 * @param p_cont_attribute9 Descriptive flexfield segment.
81 * @param p_cont_attribute10 Descriptive flexfield segment.
82 * @param p_cont_attribute11 Descriptive flexfield segment.
83 * @param p_cont_attribute12 Descriptive flexfield segment.
84 * @param p_cont_attribute13 Descriptive flexfield segment.
85 * @param p_cont_attribute14 Descriptive flexfield segment.
86 * @param p_cont_attribute15 Descriptive flexfield segment.
87 * @param p_cont_attribute16 Descriptive flexfield segment.
88 * @param p_cont_attribute17 Descriptive flexfield segment.
89 * @param p_cont_attribute18 Descriptive flexfield segment.
90 * @param p_cont_attribute19 Descriptive flexfield segment.
91 * @param p_cont_attribute20 Descriptive flexfield segment.
92 * @param p_third_party_pay_flag Value 'Y' indicates that the contact receives
93 * third party payments from the person.
94 * @param p_bondholder_flag Value 'Y' indicates that the contact is a
95 * bondholder.
96 * @param p_dependent_flag Value 'Y' indicates that the contact is a dependent
97 * of the person.
98 * @param p_beneficiary_flag Value 'Y' indicates that the contact is a
99 * beneficiary.
100 * @param p_paternal_last_name Paternal last name of the person.
101 * @param p_sex Sex of contact, if a contact is to be created. Valid values are
102 * defined in the SEX lookup type.
103 * @param p_person_type_id Person Type of contact, if a contact is to be
104 * created. Must be of system person type of OTHER.
105 * @param p_per_comments Comments for contact's person record.
106 * @param p_date_of_birth Date of birth of contact, if a contact is to be
107 * created.
108 * @param p_email_address Email address of contact, if a contact is to be
109 * created.
110 * @param p_first_name First name of contact, if a contact is to be created.
111 * @param p_known_as Preferred name of contact, if a contact is to be created.
112 * @param p_marital_status Marital status of contact, if a contact is to be
113 * created. Valid values are defined in the MAR_STATUS lookup type.
114 * @param p_second_name Second name of the person.
115 * @param p_nationality Nationality of contact, if a contact is to be created.
116 * Valid values are defined in the NATIONALITY lookup type.
117 * @param p_curp_id Mexican national identifier.
118 * @param p_previous_last_name Obsolete parameter, do not use.
119 * @param p_registered_disabled_flag Indicates registered disabled value of
120 * contact, if a contact is to be created. Valid values are defined in the
121 * REGISTERED_DISABLED lookup type.
122 * @param p_title Title of contact, if a contact is to be created. Valid values
123 * are defined in the TITLE lookup type.
124 * @param p_work_telephone Work telephone number of contact, if a contact is to
125 * be created.
126 * @param p_attribute_category This context value determines which flexfield
127 * structure to use with the descriptive flexfield segments.
128 * @param p_attribute1 Descriptive flexfield segment.
129 * @param p_attribute2 Descriptive flexfield segment.
130 * @param p_attribute3 Descriptive flexfield segment.
131 * @param p_attribute4 Descriptive flexfield segment.
132 * @param p_attribute5 Descriptive flexfield segment.
133 * @param p_attribute6 Descriptive flexfield segment.
134 * @param p_attribute7 Descriptive flexfield segment.
135 * @param p_attribute8 Descriptive flexfield segment.
136 * @param p_attribute9 Descriptive flexfield segment.
137 * @param p_attribute10 Descriptive flexfield segment.
138 * @param p_attribute11 Descriptive flexfield segment.
139 * @param p_attribute12 Descriptive flexfield segment.
140 * @param p_attribute13 Descriptive flexfield segment.
141 * @param p_attribute14 Descriptive flexfield segment.
142 * @param p_attribute15 Descriptive flexfield segment.
143 * @param p_attribute16 Descriptive flexfield segment.
144 * @param p_attribute17 Descriptive flexfield segment.
145 * @param p_attribute18 Descriptive flexfield segment.
146 * @param p_attribute19 Descriptive flexfield segment.
147 * @param p_attribute20 Descriptive flexfield segment.
148 * @param p_attribute21 Descriptive flexfield segment.
149 * @param p_attribute22 Descriptive flexfield segment.
150 * @param p_attribute23 Descriptive flexfield segment.
151 * @param p_attribute24 Descriptive flexfield segment.
152 * @param p_attribute25 Descriptive flexfield segment.
153 * @param p_attribute26 Descriptive flexfield segment.
154 * @param p_attribute27 Descriptive flexfield segment.
155 * @param p_attribute28 Descriptive flexfield segment.
156 * @param p_attribute29 Descriptive flexfield segment.
157 * @param p_attribute30 Descriptive flexfield segment.
158 * @param p_maternal_last_name Maternal last name of the person.
159 * @param p_correspondence_language Correspondence language of contact, if a
160 * contact is to be created.
161 * @param p_honors Honors of contact, if a contact is to be created.
162 * @param p_pre_name_adjunct Prefix before the person's name.
163 * @param p_suffix Suffix of contact, if a contact is to be created.
164 * @param p_create_mirror_flag The value 'Y' indicates to create a mirror
165 * contact relationship, which is a new record with the person and contact
166 * reversed. Otherwise the mirror contact relationship is not created.
167 * @param p_mirror_type Contact type of the mirror contact relationship. Valid
168 * values are defined in the CONTACT lookup type, but the value passed to this
169 * parameter must be appropriate to the value passed to p_contact_type. For
170 * example, if the relationship is a parental one, the mirror must be a child
171 * relationship.
172 * @param p_mirror_cont_attribute_cat This context value determines which
173 * Flexfield Structure to use with the Descriptive flexfield segments for the
174 * mirror contact relationship record.
175 * @param p_mirror_cont_attribute1 Descriptive flexfield segment for the mirror
176 * contact relationship.
177 * @param p_mirror_cont_attribute2 Descriptive flexfield segment for the mirror
178 * contact relationship.
179 * @param p_mirror_cont_attribute3 Descriptive flexfield segment for the mirror
180 * contact relationship.
181 * @param p_mirror_cont_attribute4 Descriptive flexfield segment for the mirror
182 * contact relationship.
183 * @param p_mirror_cont_attribute5 Descriptive flexfield segment for the mirror
184 * contact relationship.
185 * @param p_mirror_cont_attribute6 Descriptive flexfield segment for the mirror
186 * contact relationship.
187 * @param p_mirror_cont_attribute7 Descriptive flexfield segment for the mirror
188 * contact relationship.
189 * @param p_mirror_cont_attribute8 Descriptive flexfield segment for the mirror
190 * contact relationship.
191 * @param p_mirror_cont_attribute9 Descriptive flexfield segment for the mirror
192 * contact relationship.
193 * @param p_mirror_cont_attribute10 Descriptive flexfield segment for the
194 * mirror contact relationship.
195 * @param p_mirror_cont_attribute11 Descriptive flexfield segment for the
196 * mirror contact relationship.
197 * @param p_mirror_cont_attribute12 Descriptive flexfield segment for the
198 * mirror contact relationship.
199 * @param p_mirror_cont_attribute13 Descriptive flexfield segment for the
200 * mirror contact relationship.
201 * @param p_mirror_cont_attribute14 Descriptive flexfield segment for the
202 * mirror contact relationship.
203 * @param p_mirror_cont_attribute15 Descriptive flexfield segment for the
204 * mirror contact relationship.
205 * @param p_mirror_cont_attribute16 Descriptive flexfield segment for the
206 * mirror contact relationship.
207 * @param p_mirror_cont_attribute17 Descriptive flexfield segment for the
208 * mirror contact relationship.
209 * @param p_mirror_cont_attribute18 Descriptive flexfield segment for the
210 * mirror contact relationship.
211 * @param p_mirror_cont_attribute19 Descriptive flexfield segment for the
212 * mirror contact relationship.
213 * @param p_mirror_cont_attribute20 Descriptive flexfield segment for the
214 * mirror contact relationship.
215 * @param p_contact_relationship_id If p_validate is false, then set to the
216 * unique identifier of the relationship created. If p_validate is true, then
217 * the value will be null.
218 * @param p_ctr_object_version_number If p_validate is false, then set to the
219 * version number of the contact relationship created. If p_validate is true,
220 * then the value will be null.
221 * @param p_per_person_id If p_validate is false, then set to the unique
222 * identifier of the contact's person record, if a contact was created. If
223 * p_validate is true, then the value will be null.
224 * @param p_per_object_version_number If p_validate is false, then set to the
225 * version number of the created contact. If p_validate is true, then the value
226 * will be null.
227 * @param p_per_effective_start_date If p_validate is false, then set to the
228 * earliest effective start date for the created person record for the contact,
229 * if a contact was to be created. If p_validate is true, then the value will
230 * be null.
231 * @param p_per_effective_end_date If p_validate is false, then set to the
232 * effective end date for the created person record for the contact, if a
233 * contact was to be created. If p_validate is true, then the value will be
234 * null.
235 * @param p_full_name If p_validate is false, then set to the complete full
236 * name of the contact if a contact was to be created. If p_validate is true,
237 * then the value will be null.
238 * @param p_per_comment_id If p_validate is false and comment text was
239 * provided, then set to the identifier of the created contact's comment
240 * record. If p_validate is true or no comment text was provided, then the
241 * value will be null.
242 * @param p_name_combination_warning If set to true, then the combination of
243 * last name, first name and date of birth existed prior to calling this API.
244 * @param p_orig_hire_warning Will always be set to false as a result of
245 * calling this API.
246 * @rep:displayname Create Contact Relationship for Mexico
247 * @rep:category BUSINESS_ENTITY PER_CONTACT_RELATIONSHIP
248 * @rep:lifecycle active
249 * @rep:category MISC_EXTENSIONS HR_DATAPUMP
250 * @rep:scope public
251 */
252 --
253 -- {End Of Comments}
254 --
255 PROCEDURE CREATE_MX_CONTACT
256 (p_validate in boolean default false
257 ,p_start_date in date
258 ,p_business_group_id in number
259 ,p_person_id in number
260 ,p_contact_person_id in number default null
261 ,p_contact_type in varchar2
262 ,p_ctr_comments in varchar2 default null
263 ,p_primary_contact_flag in varchar2 default 'N'
264 ,p_date_start in date default null
265 ,p_start_life_reason_id in number default null
266 ,p_date_end in date default null
267 ,p_end_life_reason_id in number default null
268 ,p_rltd_per_rsds_w_dsgntr_flag in varchar2 default 'N'
269 ,p_personal_flag in varchar2 default 'N'
270 ,p_sequence_number in number default null
271 ,p_cont_attribute_category in varchar2 default null
272 ,p_cont_attribute1 in varchar2 default null
273 ,p_cont_attribute2 in varchar2 default null
274 ,p_cont_attribute3 in varchar2 default null
275 ,p_cont_attribute4 in varchar2 default null
276 ,p_cont_attribute5 in varchar2 default null
277 ,p_cont_attribute6 in varchar2 default null
278 ,p_cont_attribute7 in varchar2 default null
279 ,p_cont_attribute8 in varchar2 default null
280 ,p_cont_attribute9 in varchar2 default null
281 ,p_cont_attribute10 in varchar2 default null
282 ,p_cont_attribute11 in varchar2 default null
283 ,p_cont_attribute12 in varchar2 default null
284 ,p_cont_attribute13 in varchar2 default null
285 ,p_cont_attribute14 in varchar2 default null
286 ,p_cont_attribute15 in varchar2 default null
287 ,p_cont_attribute16 in varchar2 default null
288 ,p_cont_attribute17 in varchar2 default null
289 ,p_cont_attribute18 in varchar2 default null
290 ,p_cont_attribute19 in varchar2 default null
291 ,p_cont_attribute20 in varchar2 default null
292 ,p_third_party_pay_flag in varchar2 default 'N'
293 ,p_bondholder_flag in varchar2 default 'N'
294 ,p_dependent_flag in varchar2 default 'N'
295 ,p_beneficiary_flag in varchar2 default 'N'
296 ,p_paternal_last_name in varchar2 default null
297 ,p_sex in varchar2 default null
298 ,p_person_type_id in number default null
299 ,p_per_comments in varchar2 default null
300 ,p_date_of_birth in date default null
301 ,p_email_address in varchar2 default null
302 ,p_first_name in varchar2 default null
303 ,p_known_as in varchar2 default null
304 ,p_marital_status in varchar2 default null
305 ,p_second_name in varchar2 default null
306 ,p_nationality in varchar2 default null
307 ,p_curp_id in varchar2 default null
308 ,p_previous_last_name in varchar2 default null
309 ,p_registered_disabled_flag in varchar2 default null
310 ,p_title in varchar2 default null
311 ,p_work_telephone in varchar2 default null
312 ,p_attribute_category in varchar2 default null
313 ,p_attribute1 in varchar2 default null
314 ,p_attribute2 in varchar2 default null
315 ,p_attribute3 in varchar2 default null
316 ,p_attribute4 in varchar2 default null
317 ,p_attribute5 in varchar2 default null
318 ,p_attribute6 in varchar2 default null
319 ,p_attribute7 in varchar2 default null
320 ,p_attribute8 in varchar2 default null
321 ,p_attribute9 in varchar2 default null
322 ,p_attribute10 in varchar2 default null
323 ,p_attribute11 in varchar2 default null
324 ,p_attribute12 in varchar2 default null
325 ,p_attribute13 in varchar2 default null
326 ,p_attribute14 in varchar2 default null
327 ,p_attribute15 in varchar2 default null
328 ,p_attribute16 in varchar2 default null
329 ,p_attribute17 in varchar2 default null
330 ,p_attribute18 in varchar2 default null
331 ,p_attribute19 in varchar2 default null
332 ,p_attribute20 in varchar2 default null
333 ,p_attribute21 in varchar2 default null
334 ,p_attribute22 in varchar2 default null
335 ,p_attribute23 in varchar2 default null
336 ,p_attribute24 in varchar2 default null
337 ,p_attribute25 in varchar2 default null
338 ,p_attribute26 in varchar2 default null
339 ,p_attribute27 in varchar2 default null
340 ,p_attribute28 in varchar2 default null
341 ,p_attribute29 in varchar2 default null
342 ,p_attribute30 in varchar2 default null
343 ,p_maternal_last_name in varchar2 default null
344 ,p_correspondence_language in varchar2 default null
345 ,p_honors in varchar2 default null
346 ,p_pre_name_adjunct in varchar2 default null
347 ,p_suffix in varchar2 default null
348 ,p_create_mirror_flag in varchar2 default 'N'
349 ,p_mirror_type in varchar2 default null
350 ,p_mirror_cont_attribute_cat in varchar2 default null
351 ,p_mirror_cont_attribute1 in varchar2 default null
352 ,p_mirror_cont_attribute2 in varchar2 default null
353 ,p_mirror_cont_attribute3 in varchar2 default null
354 ,p_mirror_cont_attribute4 in varchar2 default null
355 ,p_mirror_cont_attribute5 in varchar2 default null
356 ,p_mirror_cont_attribute6 in varchar2 default null
357 ,p_mirror_cont_attribute7 in varchar2 default null
358 ,p_mirror_cont_attribute8 in varchar2 default null
359 ,p_mirror_cont_attribute9 in varchar2 default null
360 ,p_mirror_cont_attribute10 in varchar2 default null
361 ,p_mirror_cont_attribute11 in varchar2 default null
362 ,p_mirror_cont_attribute12 in varchar2 default null
363 ,p_mirror_cont_attribute13 in varchar2 default null
364 ,p_mirror_cont_attribute14 in varchar2 default null
365 ,p_mirror_cont_attribute15 in varchar2 default null
366 ,p_mirror_cont_attribute16 in varchar2 default null
367 ,p_mirror_cont_attribute17 in varchar2 default null
368 ,p_mirror_cont_attribute18 in varchar2 default null
369 ,p_mirror_cont_attribute19 in varchar2 default null
370 ,p_mirror_cont_attribute20 in varchar2 default null
371 ,p_contact_relationship_id out nocopy number
372 ,p_ctr_object_version_number out nocopy number
373 ,p_per_person_id out nocopy number
374 ,p_per_object_version_number out nocopy number
375 ,p_per_effective_start_date out nocopy date
376 ,p_per_effective_end_date out nocopy date
377 ,p_full_name out nocopy varchar2
378 ,p_per_comment_id out nocopy number
379 ,p_name_combination_warning out nocopy boolean
380 ,p_orig_hire_warning out nocopy boolean
381 );
382 END HR_MX_CONTACT_REL_API;