DBA Data[Home] [Help]

PACKAGE: APPS.IRC_OFFERS_API

Source


1 Package IRC_OFFERS_API as
2 /* $Header: iriofapi.pkh 120.10.12010000.1 2008/07/28 12:43:40 appldev ship $ */
3 /*#
4  * This package contains APIs for maintaining offers and offer assignments.
5  * @rep:scope public
6  * @rep:product irc
7  * @rep:displayname Offer
8 */
9 --
10 -- ----------------------------------------------------------------------------
11 -- |-------------------------------< create_offer >---------------------------|
12 -- ----------------------------------------------------------------------------
13 --
14 -- {Start Of Comments}
15 /*#
16  * This API creates a new offer.
17  *
18  *
19  * <p><b>Licensing</b><br>
20  * This API is licensed for use with iRecruitment.
21  *
22  * <p><b>Prerequisites</b><br>
23  * None.
24  *
25  * <p><b>Post Success</b><br>
26  *  The record gets successfully inserted.
27  *
28  * <p><b>Post Failure</b><br>
29  * The API does not create the offer and raises an error.
30  *
31  * @param p_validate If true, then validation alone will be performed and the
32  * database will remain unchanged. If false and all validation checks pass,
33  * then the database will be modified.
34  * @param p_effective_date Effective date for the creation
35  * of the offer. If this is not passed in, DATE_FROM will be used.
36  * @param p_offer_status Status of the Offer version.
37  * @param p_discretionary_job_title Job title that can be used as the offer
38  * title instead of the title available in the Job Table.
39  * @param p_offer_extended_method Indicates how offers are extended to
40  * applicants- SYSTEM/HARDCOPY. Value is defined by the IRC: Offer Send Method
41  * System Profile Option.
42  * @param p_respondent_id User ID of the person responding to
43  * the offer extension.
44  * @param p_expiry_date Date when the current offer version expires.
45  * @param p_proposed_start_date The proposed employment start date of the
46  * applicant, if the person accepts the job offer.
47  * @param p_offer_letter_tracking_code Tracking code from the shipping
48  * company when the offer shipped.
49  * @param p_offer_postal_service Name of the company handling the
50  * delivery of the offer.
51  * @param p_offer_shipping_date Date on which paper copy of the Offer was
52  * shipped.
53  * @param p_applicant_assignment_id Applicant assignment for the applicant
54  * where the type is 'APPLICANT'.
55  * @param p_offer_assignment_id Offer assignment for the applicant where the
56  * type is 'OFFER'.
57  * @param p_address_id Address Offer should be sent to.
58  * @param p_template_id ID of the template associated with the offer. The
59  * application sets the value to null, if a manager uploads a modified version
60  * of the offer letter.
61  * @param p_offer_letter_file_type File type of the uploaded offer letter.
62  * @param p_offer_letter_file_name Filename of the uploaded offer letter.
63  * @param p_attribute_category This context value determines which flexfield
64  * structure to use with the descriptive flexfield segments.
65  * @param p_attribute1 Descriptive flexfield segment.
66  * @param p_attribute2 Descriptive flexfield segment.
67  * @param p_attribute3 Descriptive flexfield segment.
68  * @param p_attribute4 Descriptive flexfield segment.
69  * @param p_attribute5 Descriptive flexfield segment.
70  * @param p_attribute6 Descriptive flexfield segment.
71  * @param p_attribute7 Descriptive flexfield segment.
72  * @param p_attribute8 Descriptive flexfield segment.
73  * @param p_attribute9 Descriptive flexfield segment.
74  * @param p_attribute10 Descriptive flexfield segment.
75  * @param p_attribute11 Descriptive flexfield segment.
76  * @param p_attribute12 Descriptive flexfield segment.
77  * @param p_attribute13 Descriptive flexfield segment.
78  * @param p_attribute14 Descriptive flexfield segment.
79  * @param p_attribute15 Descriptive flexfield segment.
80  * @param p_attribute16 Descriptive flexfield segment.
81  * @param p_attribute17 Descriptive flexfield segment.
82  * @param p_attribute18 Descriptive flexfield segment.
83  * @param p_attribute19 Descriptive flexfield segment.
84  * @param p_attribute20 Descriptive flexfield segment.
85  * @param p_attribute21 Descriptive flexfield segment.
86  * @param p_attribute22 Descriptive flexfield segment.
87  * @param p_attribute23 Descriptive flexfield segment.
88  * @param p_attribute24 Descriptive flexfield segment.
89  * @param p_attribute25 Descriptive flexfield segment.
90  * @param p_attribute26 Descriptive flexfield segment.
91  * @param p_attribute27 Descriptive flexfield segment.
92  * @param p_attribute28 Descriptive flexfield segment.
93  * @param p_attribute29 Descriptive flexfield segment.
94  * @param p_attribute30 Descriptive flexfield segment.
95  * @param p_status_change_date Date of the offer status change.
96  * @param p_offer_id If p_validate is false, then this uniquely identifies
97  * the offer created. If p_validate is true, then set to null.
98  * @param p_offer_version Version of the Offer starting at 1.
99  * Part of the Business Key to the Table.
100  * @param p_object_version_number If p_validate is false, then set to the
101  * version number of the created assignment detail. If p_validate is true,
102  * then the value will be null.
103  * @rep:displayname Create Offer
104  * @rep:category BUSINESS_ENTITY IRC_JOB_OFFER
105  * @rep:lifecycle active
106  * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
107  * @rep:scope public
108  * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
109 */
110 --
111 -- {End Of Comments}
112 --
113 procedure create_offer
114   ( P_VALIDATE                     IN   boolean     default false
115    ,P_EFFECTIVE_DATE               IN   date        default null
116    ,P_OFFER_STATUS                 IN   VARCHAR2
117    ,P_DISCRETIONARY_JOB_TITLE      IN   VARCHAR2    default null
118    ,P_OFFER_EXTENDED_METHOD        IN   VARCHAR2    default null
119    ,P_RESPONDENT_ID                IN   NUMBER      default null
120    ,P_EXPIRY_DATE                  IN   DATE        default null
121    ,P_PROPOSED_START_DATE          IN   DATE        default null
122    ,P_OFFER_LETTER_TRACKING_CODE   IN   VARCHAR2    default null
123    ,P_OFFER_POSTAL_SERVICE         IN   VARCHAR2    default null
124    ,P_OFFER_SHIPPING_DATE          IN   DATE        default null
125    ,P_APPLICANT_ASSIGNMENT_ID      IN   NUMBER
126    ,P_OFFER_ASSIGNMENT_ID          IN   NUMBER
127    ,P_ADDRESS_ID                   IN   NUMBER      default null
128    ,P_TEMPLATE_ID                  IN   NUMBER      default null
129    ,P_OFFER_LETTER_FILE_TYPE       IN   VARCHAR2    default null
130    ,P_OFFER_LETTER_FILE_NAME       IN   VARCHAR2    default null
131    ,P_ATTRIBUTE_CATEGORY           IN   VARCHAR2    default null
132    ,P_ATTRIBUTE1                   IN   VARCHAR2    default null
133    ,P_ATTRIBUTE2                   IN   VARCHAR2    default null
134    ,P_ATTRIBUTE3                   IN   VARCHAR2    default null
135    ,P_ATTRIBUTE4                   IN   VARCHAR2    default null
136    ,P_ATTRIBUTE5                   IN   VARCHAR2    default null
137    ,P_ATTRIBUTE6                   IN   VARCHAR2    default null
138    ,P_ATTRIBUTE7                   IN   VARCHAR2    default null
139    ,P_ATTRIBUTE8                   IN   VARCHAR2    default null
140    ,P_ATTRIBUTE9                   IN   VARCHAR2    default null
141    ,P_ATTRIBUTE10                  IN   VARCHAR2    default null
142    ,P_ATTRIBUTE11                  IN   VARCHAR2    default null
143    ,P_ATTRIBUTE12                  IN   VARCHAR2    default null
144    ,P_ATTRIBUTE13                  IN   VARCHAR2    default null
145    ,P_ATTRIBUTE14                  IN   VARCHAR2    default null
146    ,P_ATTRIBUTE15                  IN   VARCHAR2    default null
147    ,P_ATTRIBUTE16                  IN   VARCHAR2    default null
148    ,P_ATTRIBUTE17                  IN   VARCHAR2    default null
149    ,P_ATTRIBUTE18                  IN   VARCHAR2    default null
150    ,P_ATTRIBUTE19                  IN   VARCHAR2    default null
151    ,P_ATTRIBUTE20                  IN   VARCHAR2    default null
152    ,P_ATTRIBUTE21                  IN   VARCHAR2    default null
153    ,P_ATTRIBUTE22                  IN   VARCHAR2    default null
154    ,P_ATTRIBUTE23                  IN   VARCHAR2    default null
155    ,P_ATTRIBUTE24                  IN   VARCHAR2    default null
156    ,P_ATTRIBUTE25                  IN   VARCHAR2    default null
157    ,P_ATTRIBUTE26                  IN   VARCHAR2    default null
158    ,P_ATTRIBUTE27                  IN   VARCHAR2    default null
159    ,P_ATTRIBUTE28                  IN   VARCHAR2    default null
160    ,P_ATTRIBUTE29                  IN   VARCHAR2    default null
161    ,P_ATTRIBUTE30                  IN   VARCHAR2    default null
162    ,P_STATUS_CHANGE_DATE           IN   DATE        default null
163    ,P_OFFER_ID                     OUT  nocopy   NUMBER
164    ,P_OFFER_VERSION                OUT  nocopy   NUMBER
165    ,P_OBJECT_VERSION_NUMBER        OUT  nocopy   NUMBER
166   );
167 --
168 -- ----------------------------------------------------------------------------
169 -- |-------------------------------< update_offer >---------------------------|
170 -- ----------------------------------------------------------------------------
171 --
172 -- {Start Of Comments}
173 /*#
174  * This API updates an offer.
175  *
176  *
177  * <p><b>Licensing</b><br>
178  * This API is licensed for use with iRecruitment.
179  *
180  * <p><b>Prerequisites</b><br>
181  * The offer should exist.
182  *
183  * <p><b>Post Success</b><br>
184  * Successfully updates the record.
185  *
186  * <p><b>Post Failure</b><br>
187  * The API does not update the offer and an error will be raised.
188  *
189  * @param p_validate If true, then validation alone will be performed and the
190  * database will remain unchanged. If false and all validation checks pass,
191  * then the database will be modified.
192  * @param p_effective_date Effective date for the creation
193  * of the offer.
194  * @param p_offer_status Status of the Offer version.
195  * @param p_discretionary_job_title Job Title that can be used as the offer
196  * title instead of the Title set in the Job Table.
197  * @param p_offer_extended_method Indicates how offers are extended to
198  * applicants- SYSTEM/HARDCOPY. Value is defined by the IRC: Offer Send Method
199  * System Profile Option.
200  * @param p_respondent_id User ID of the person responding to
201  * the offer extension.
202  * @param p_expiry_date Date when the current offer version expires.
203  * @param p_proposed_start_date The proposed employment start date of the
204  * applicant, if the person accepts the job offer.
205  * @param p_offer_letter_tracking_code Tracking code from the shipping
206  * company when the offer shipped.
207  * @param p_offer_postal_service Name of the company handling the
208  * delivery of the offer.
209  * @param p_offer_shipping_date Date on which paper copy of the Offer was
210  * shipped.
211  * @param p_applicant_assignment_id Applicant assignment for the applicant
212  * where the type is 'APPLICANT'.
213  * @param p_offer_assignment_id Offer assignment for the applicant where the
214  * type is 'OFFER'.
215  * @param p_address_id Address Offer should be sent to.
216  * @param p_template_id ID of the template associated with the offer. The
217  * application sets the value to null, if a manager uploads a modified version
218  * of the offer letter.
219  * @param p_offer_letter_file_type File type of the uploaded offer letter.
220  * @param p_offer_letter_file_name Filename of the uploaded offer letter.
221  * @param p_attribute_category This context value determines which flexfield
222  * structure to use with the descriptive flexfield segments.
223  * @param p_attribute1 Descriptive flexfield segment.
224  * @param p_attribute2 Descriptive flexfield segment.
225  * @param p_attribute3 Descriptive flexfield segment.
226  * @param p_attribute4 Descriptive flexfield segment.
227  * @param p_attribute5 Descriptive flexfield segment.
228  * @param p_attribute6 Descriptive flexfield segment.
229  * @param p_attribute7 Descriptive flexfield segment.
230  * @param p_attribute8 Descriptive flexfield segment.
231  * @param p_attribute9 Descriptive flexfield segment.
232  * @param p_attribute10 Descriptive flexfield segment.
233  * @param p_attribute11 Descriptive flexfield segment.
234  * @param p_attribute12 Descriptive flexfield segment.
235  * @param p_attribute13 Descriptive flexfield segment.
236  * @param p_attribute14 Descriptive flexfield segment.
237  * @param p_attribute15 Descriptive flexfield segment.
238  * @param p_attribute16 Descriptive flexfield segment.
239  * @param p_attribute17 Descriptive flexfield segment.
240  * @param p_attribute18 Descriptive flexfield segment.
241  * @param p_attribute19 Descriptive flexfield segment.
242  * @param p_attribute20 Descriptive flexfield segment.
243  * @param p_attribute21 Descriptive flexfield segment.
244  * @param p_attribute22 Descriptive flexfield segment.
245  * @param p_attribute23 Descriptive flexfield segment.
246  * @param p_attribute24 Descriptive flexfield segment.
247  * @param p_attribute25 Descriptive flexfield segment.
248  * @param p_attribute26 Descriptive flexfield segment.
249  * @param p_attribute27 Descriptive flexfield segment.
250  * @param p_attribute28 Descriptive flexfield segment.
251  * @param p_attribute29 Descriptive flexfield segment.
252  * @param p_attribute30 Descriptive flexfield segment.
253  * @param p_change_reason Reason for the Status Change.
254  * @param p_decline_reason Applicant Decline Reason.
255  * @param p_note_text Offer Notes Text.
256  * @param p_status_change_date Date of the offer status change.
257  * @param p_offer_id If p_validate is false, then this uniquely identifies
258  * the new version of offer that may be created or will be set to the same
259  * value which was passed in. If p_validate is true will be set to the same
260  * value which was passed in.
261  * @param p_object_version_number Pass in the current version number of the
262  * offer to be updated. When the API completes if p_validate is
263  * false, will be set to the new version number of the updated offer.
264  * @param p_offer_version New Version of the updated Offer.
265  * @rep:displayname Update Offer
266  * @rep:category BUSINESS_ENTITY IRC_JOB_OFFER
267  * @rep:lifecycle active
268  * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
269  * @rep:scope public
270  * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
271 */
272 --
273 -- {End Of Comments}
274 --
275   procedure update_offer
276   ( P_VALIDATE                     IN   boolean     default false
277    ,P_EFFECTIVE_DATE               IN   date        default null
278    ,P_OFFER_STATUS                 IN   VARCHAR2    default hr_api.g_varchar2
279    ,P_DISCRETIONARY_JOB_TITLE      IN   VARCHAR2    default hr_api.g_varchar2
283    ,P_PROPOSED_START_DATE          IN   DATE        default hr_api.g_date
280    ,P_OFFER_EXTENDED_METHOD        IN   VARCHAR2    default hr_api.g_varchar2
281    ,P_RESPONDENT_ID                IN   NUMBER      default hr_api.g_number
282    ,P_EXPIRY_DATE                  IN   DATE        default hr_api.g_date
284    ,P_OFFER_LETTER_TRACKING_CODE   IN   VARCHAR2    default hr_api.g_varchar2
285    ,P_OFFER_POSTAL_SERVICE         IN   VARCHAR2    default hr_api.g_varchar2
286    ,P_OFFER_SHIPPING_DATE          IN   DATE        default hr_api.g_date
287    ,P_APPLICANT_ASSIGNMENT_ID      IN   NUMBER      default hr_api.g_number
288    ,P_OFFER_ASSIGNMENT_ID          IN   NUMBER      default hr_api.g_number
289    ,P_ADDRESS_ID                   IN   NUMBER      default hr_api.g_number
290    ,P_TEMPLATE_ID                  IN   NUMBER      default hr_api.g_number
291    ,P_OFFER_LETTER_FILE_TYPE       IN   VARCHAR2    default hr_api.g_varchar2
292    ,P_OFFER_LETTER_FILE_NAME       IN   VARCHAR2    default hr_api.g_varchar2
293    ,P_ATTRIBUTE_CATEGORY           IN   VARCHAR2    default hr_api.g_varchar2
294    ,P_ATTRIBUTE1                   IN   VARCHAR2    default hr_api.g_varchar2
295    ,P_ATTRIBUTE2                   IN   VARCHAR2    default hr_api.g_varchar2
296    ,P_ATTRIBUTE3                   IN   VARCHAR2    default hr_api.g_varchar2
297    ,P_ATTRIBUTE4                   IN   VARCHAR2    default hr_api.g_varchar2
298    ,P_ATTRIBUTE5                   IN   VARCHAR2    default hr_api.g_varchar2
299    ,P_ATTRIBUTE6                   IN   VARCHAR2    default hr_api.g_varchar2
300    ,P_ATTRIBUTE7                   IN   VARCHAR2    default hr_api.g_varchar2
301    ,P_ATTRIBUTE8                   IN   VARCHAR2    default hr_api.g_varchar2
302    ,P_ATTRIBUTE9                   IN   VARCHAR2    default hr_api.g_varchar2
303    ,P_ATTRIBUTE10                  IN   VARCHAR2    default hr_api.g_varchar2
304    ,P_ATTRIBUTE11                  IN   VARCHAR2    default hr_api.g_varchar2
305    ,P_ATTRIBUTE12                  IN   VARCHAR2    default hr_api.g_varchar2
306    ,P_ATTRIBUTE13                  IN   VARCHAR2    default hr_api.g_varchar2
307    ,P_ATTRIBUTE14                  IN   VARCHAR2    default hr_api.g_varchar2
308    ,P_ATTRIBUTE15                  IN   VARCHAR2    default hr_api.g_varchar2
309    ,P_ATTRIBUTE16                  IN   VARCHAR2    default hr_api.g_varchar2
310    ,P_ATTRIBUTE17                  IN   VARCHAR2    default hr_api.g_varchar2
311    ,P_ATTRIBUTE18                  IN   VARCHAR2    default hr_api.g_varchar2
312    ,P_ATTRIBUTE19                  IN   VARCHAR2    default hr_api.g_varchar2
313    ,P_ATTRIBUTE20                  IN   VARCHAR2    default hr_api.g_varchar2
314    ,P_ATTRIBUTE21                  IN   VARCHAR2    default hr_api.g_varchar2
315    ,P_ATTRIBUTE22                  IN   VARCHAR2    default hr_api.g_varchar2
316    ,P_ATTRIBUTE23                  IN   VARCHAR2    default hr_api.g_varchar2
317    ,P_ATTRIBUTE24                  IN   VARCHAR2    default hr_api.g_varchar2
318    ,P_ATTRIBUTE25                  IN   VARCHAR2    default hr_api.g_varchar2
319    ,P_ATTRIBUTE26                  IN   VARCHAR2    default hr_api.g_varchar2
320    ,P_ATTRIBUTE27                  IN   VARCHAR2    default hr_api.g_varchar2
321    ,P_ATTRIBUTE28                  IN   VARCHAR2    default hr_api.g_varchar2
322    ,P_ATTRIBUTE29                  IN   VARCHAR2    default hr_api.g_varchar2
323    ,P_ATTRIBUTE30                  IN   VARCHAR2    default hr_api.g_varchar2
324    ,P_CHANGE_REASON                IN   VARCHAR2    default null
325    ,P_DECLINE_REASON               IN   VARCHAR2    default null
326    ,P_NOTE_TEXT                    IN   VARCHAR2    default null
327    ,P_STATUS_CHANGE_DATE           IN   DATE        default null
328    ,P_OFFER_ID                     IN OUT  nocopy   NUMBER
329    ,P_OBJECT_VERSION_NUMBER        IN OUT  nocopy   NUMBER
330    ,P_OFFER_VERSION                OUT     nocopy   NUMBER
331    );
332 --
333 -- ----------------------------------------------------------------------------
334 -- |-------------------------------< delete_offer >---------------------------|
335 -- ----------------------------------------------------------------------------
336 --
337 -- {Start Of Comments}
338 /*#
339  * This API deletes an offer.
340  *
341  *
342  * <p><b>Licensing</b><br>
343  * This API is licensed for use with iRecruitment.
344  *
345  * <p><b>Prerequisites</b><br>
346  * The offer should exist.
347  *
348  * <p><b>Post Success</b><br>
349  * The current offer record will be deleted.
350  *
351  * <p><b>Post Failure</b><br>
352  * The record will not be deleted and an error is raised.
353  *
354  * @param p_validate If true, then validation alone will be performed and the
355  * database will remain unchanged. If false and all validation checks pass,
356  * then the database will be modified.
357  * @param p_object_version_number Current version number of the offer
358  * to be deleted.
359  * @param p_offer_id Primary key of the offer in the IRC_OFFERS table.
360  * @param p_effective_date Effective date for the creation
361  * of the offer.
362  * @rep:displayname Delete Offer
363  * @rep:category BUSINESS_ENTITY IRC_JOB_OFFER
364  * @rep:lifecycle active
365  * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
366  * @rep:scope public
367  * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
368 */
369 --
370 -- {End Of Comments}
371 --
372 procedure delete_offer
373 (
374   P_VALIDATE                    in boolean  default false
375 , P_OBJECT_VERSION_NUMBER       in number
376 , P_OFFER_ID                    in number
377 , P_EFFECTIVE_DATE              in date     default null
378 );
379 --
380 -- ----------------------------------------------------------------------------
381 -- |-------------------------------< close_offer >----------------------------|
382 -- ----------------------------------------------------------------------------
383 --
384 -- {Start Of Comments}
385 /*#
386  * This API closes an offer and also end dates the offer assignment record.
387  *
388  * This API works for 2 cases:
389  * 1. A manager closes an offer or an applicant declines an offer.
390  * 2. The applicant withdraws the application for which an offer has been
391  *    created.
392  *
393  * <p><b>Licensing</b><br>
394  * This API is licensed for use with iRecruitment.
395  *
396  * <p><b>Prerequisites</b><br>
397  * The offer should exist for the applicant assignment.
398  *
399  * <p><b>Post Success</b><br>
400  * The API sets the offer status to closed and end dates the offer assignment
401  * record.
402  *
403  * <p><b>Post Failure</b><br>
404  * The API does not close the offer and raises an error.
405  *
406  * @param p_validate If true, then validation alone will be performed and the
407  * database will remain unchanged. If false and all validation checks pass,
408  * then the database will be modified.
409  * @param p_effective_date Effective date for the creation
410  * of the offer.
411  * @param p_applicant_assignment_id Applicant assignment for the applicant
412  * where the type is 'APPLICANT'.
413  * @param p_offer_id Primary key of the offer in the IRC_OFFERS table.
414  * @param p_respondent_id User ID of the person closing the offer.
415  * @param p_change_reason Reason for the status change.
416  * @param p_decline_reason The applicant's reason for declining an offer.
417  * @param p_note_text Offer notes text.
418  * @param p_status_change_date Date of the offer status change.
419  * @rep:displayname Close Offer
420  * @rep:category BUSINESS_ENTITY IRC_JOB_OFFER
421  * @rep:lifecycle active
422  * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
423  * @rep:scope public
424  * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
425 */
426 --
427 -- {End Of Comments}
428 --
429 procedure close_offer
430 ( P_VALIDATE                     IN   boolean     default false
431  ,P_EFFECTIVE_DATE               IN   date        default null
432  ,P_APPLICANT_ASSIGNMENT_ID      IN   number      default null
433  ,P_OFFER_ID                     IN   number      default null
434  ,P_RESPONDENT_ID                IN   number      default null
435  ,P_CHANGE_REASON                IN   VARCHAR2    default null
436  ,P_DECLINE_REASON               IN   VARCHAR2    default null
437  ,P_NOTE_TEXT                    IN   VARCHAR2    default null
438  ,P_STATUS_CHANGE_DATE           IN   date        default null
439 );
440 --
441 -- ----------------------------------------------------------------------------
442 -- |--------------------------------< hold_offer >----------------------------|
443 -- ----------------------------------------------------------------------------
444 --
445 -- {Start Of Comments}
446 /*#
447  * This API places an offer on Hold.
448  *
449  *
450  * <p><b>Licensing</b><br>
451  * This API is licensed for use with iRecruitment.
452  *
453  * <p><b>Prerequisites</b><br>
454  * The offer should exist.
455  *
456  * <p><b>Post Success</b><br>
457  * The offer's status would be set to "HOLD".
458  *
459  * <p><b>Post Failure</b><br>
460  * The API does not place the offer on hold and raises an error.
461  *
462  * @param p_validate If true, then validation alone will be performed and the
463  * database will remain unchanged. If false and all validation checks pass,
464  * then the database will be modified.
465  * @param p_effective_date Effective date for the creation
466  * of the offer.
467  * @param p_offer_id Primary key of the offer in the IRC_OFFERS table.
468  * @param p_respondent_id User ID of the person holding the offer.
469  * @param p_change_reason Reason for the Status Change.
470  * @param p_status_change_date Date of the offer status change.
471  * @param p_note_text Offer Notes Text.
472  * @param p_object_version_number Pass in the current version number of the
473  * offer to be put on hold. When the API completes if p_validate is false,
474  * will be set to the new version number of the updated offer. If p_validate
475  * is true will be set to the same value which was passed in.
476  * @rep:displayname Hold Offer
477  * @rep:category BUSINESS_ENTITY IRC_JOB_OFFER
478  * @rep:lifecycle active
479  * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
480  * @rep:scope public
481  * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
482 */
483 --
484 -- {End Of Comments}
485 --
486 procedure hold_offer
487 ( P_VALIDATE                     IN   boolean     default false
488  ,P_EFFECTIVE_DATE               IN   date        default null
489  ,P_OFFER_ID                     IN   NUMBER
490  ,P_RESPONDENT_ID                IN   NUMBER      default hr_api.g_number
491  ,P_CHANGE_REASON                IN   VARCHAR2    default null
492  ,P_STATUS_CHANGE_DATE           IN   date        default null
493  ,P_NOTE_TEXT                    IN   VARCHAR2    default null
494  ,P_OBJECT_VERSION_NUMBER        IN OUT  nocopy   NUMBER
495 );
496 --
497 -- ----------------------------------------------------------------------------
498 -- |------------------------------< release_offer >---------------------------|
499 -- ----------------------------------------------------------------------------
500 --
501 -- {Start Of Comments}
502 /*#
503  * This API releases an offer from the HOLD state and sets the offer status to the
504  * one that existed before the offer was placed on hold.
505  *
506  * <p><b>Licensing</b><br>
507  * This API is licensed for use with iRecruitment.
508  *
509  * <p><b>Prerequisites</b><br>
510  * The offer should exist and be in HOLD status.
511  *
512  * <p><b>Post Success</b><br>
513  * The offer's status would be released from HOLD and set to the offer status
514  * that existed before the offer was held.
515  *
516  * <p><b>Post Failure</b><br>
517  * The offer will not be released and an error would be raised.
518  *
519  * @param p_validate If true, then validation alone will be performed and the
520  * database will remain unchanged. If false and all validation checks pass,
521  * then the database will be modified.
522  * @param p_effective_date Effective date for the creation
523  * of the offer.
524  * @param p_offer_id Primary key of the offer in the IRC_OFFERS table.
525  * @param p_respondent_id User ID of the person releasing the offer.
526  * @param p_change_reason Reason for the status change.
527  * @param p_status_change_date Date of the offer status change.
528  * @param p_note_text Offer notes text.
529  * @param p_object_version_number Pass in the current version number of the
530  * offer to be released. When the API completes if p_validate is false, will be
531  * set to the new version number of the released offer. If p_validate is true
532  * will be set to the same value which was passed in.
533  * @rep:displayname Release Offer
534  * @rep:category BUSINESS_ENTITY IRC_JOB_OFFER
535  * @rep:lifecycle active
536  * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
537  * @rep:scope public
538  * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
539 */
540 --
541 -- {End Of Comments}
542 --
543 procedure release_offer
544 ( P_VALIDATE                     IN   boolean     default false
545  ,P_EFFECTIVE_DATE               IN   date        default null
546  ,P_OFFER_ID                     IN   NUMBER
547  ,P_RESPONDENT_ID                IN   NUMBER      default hr_api.g_number
548  ,P_CHANGE_REASON                IN   VARCHAR2    default null
549  ,P_STATUS_CHANGE_DATE           IN   date        default null
550  ,P_NOTE_TEXT                    IN   VARCHAR2    default null
551  ,P_OBJECT_VERSION_NUMBER        IN OUT  nocopy   NUMBER
552 );
553 --
554 -- ----------------------------------------------------------------------------
555 -- |-------------------------< create_offer_assignment >----------------------|
556 -- ----------------------------------------------------------------------------
557 --
558 -- {Start Of Comments}
559 /*#
560  * This API creates an assignment record of type 'O' for offers.
561  *
562  *
563  * <p><b>Licensing</b><br>
564  * This API is licensed for use with iRecruitment.
565  *
566  * <p><b>Prerequisites</b><br>
567  * None.
568  *
569  * <p><b>Post Success</b><br>
570  * A new offer assignment record will be created.
571  *
572  * <p><b>Post Failure</b><br>
573  * The record will not be created and an error is raised.
574  *
575  * @param p_assignment_id If p_validate is false, then this uniquely identifies
576  * the created assignment. If p_validate is true, then set to null.
577  * @param p_effective_start_date If p_validate is false, then set to the
578  * earliest effective start date for the created assignment. If p_validate is
579  * true, then set to null.
580  * @param p_effective_end_date If p_validate is false, then set to the
581  * effective end date for the created assignment. If p_validate is true, then
582  * set to null.
583  * @param p_business_group_id The business group associated with this
584  * assignment. This should be the same as the business group associated with
585  * the applicant person.
589  * @param p_position_id Identifies the position of the assignment.
586  * @param p_recruiter_id Recruiter for the assignment. The value refers to the
587  * recruiter's person record.
588  * @param p_grade_id Identifies the grade of the assignment.
590  * @param p_job_id Identifies the job of the assignment.
591  * @param p_assignment_status_type_id Identifies the assignment status of the
592  * assignment.
593  * @param p_payroll_id Identifies the payroll for the assignment.
594  * @param p_location_id Identifies the location of the assignment.
595  * @param p_person_referred_by_id Identifies the person record of the person
596  * who referred the applicant.
597  * @param p_supervisor_id Identifies the supervisor for the assignment. The
598  * value refers to the supervisor's person record.
599  * @param p_special_ceiling_step_id Highest allowed step for the grade scale
600  * associated with the grade of the assignment.
601  * @param p_person_id Identifies the person record that owns the assignments to
602  * update.
603  * @param p_recruitment_activity_id Identifies the Recruitment Activity from
604  * which the applicant was found.
605  * @param p_source_organization_id Identifies the recruiting source
606  * organization.
607  * @param p_organization_id Identifies the organization of the assignment.
608  * @param p_people_group_id If a value is passed in for this parameter, it
609  * identifies an existing People Group Key Flexfield combination to associate
610  * with the assignment, and segment values are ignored. If a value is not
611  * passed in, then the individual People Group Key Flexfield segments supplied
612  * will be used to choose an existing combination or create a new combination.
613  * When the API completes, if p_validate is false, then this uniquely
614  * identifies the associated combination of the People Group Key flexfield for
615  * this assignment. If p_validate is true, then set to null.
616  * @param p_soft_coding_keyflex_id If a value is passed in for this parameter,
617  * it identifies an existing Soft Coded Key Flexfield combination to associate
618  * with the assignment, and segment values are ignored. If a value is not
619  * passed in, then the individual Soft Coded Key Flexfield segments supplied
620  * will be used to choose an existing combination or create a new combination.
621  * When the API completes, if p_validate is false, then this uniquely
622  * identifies the associated combination of the Soft Coded Key flexfield for
623  * this assignment. If p_validate is true, then set to null.
624  * @param p_vacancy_id Identifies the vacancy that the applicant applied for.
625  * @param p_pay_basis_id Salary basis for the assignment.
626  * @param p_assignment_sequence If p_validate is false, then an automatically
627  * incremented number is associated with this assignment, depending on the
628  * number of assignment which already exist. If p_validate is true then set to
629  * null.
630  * @param p_assignment_type Represents the type of the person's assignment,
631  * 'A' if Applicant, 'O' for Offer.
632  * @param p_primary_flag Indicates whether the address is a primary address.
633  * Valid values are 'Y' or 'N'.
634  * @param p_application_id Identifies the application record of the offer
635  * assignment.
636  * @param p_assignment_number If a value is passed in, this is used as the
637  * assignment number. If no value is passed in an assignment number is
638  * generated.
639  * @param p_change_reason Reason for the assignment status change. If there is
640  * no change reason, then the parameter can be null. Valid values are defined
641  * in the EMP_ASSIGN_REASON lookup type.
642  * @param p_comment_id If p_validate is false and comment text was provided,
643  * then will be set to the identifier of the created assignment comment record.
644  * If p_validate is true or no comment text was provided, then will be null.
645  * @param p_comments Comment text.
646  * @param p_date_probation_end End date of the probation period.
647  * @param p_default_code_comb_id Identifier for the General Ledger Accounting
648  * Flexfield combination that applies to this assignment.
649  * @param p_employment_category Employment category. Valid values are defined
650  * in the EMP_CAT lookup type.
651  * @param p_frequency Frequency associated with the defined normal working
652  * hours. Valid values are defined in the FREQUENCY lookup type.
653  * @param p_internal_address_line Internal address identified with the
654  * assignment.
655  * @param p_manager_flag Indicates whether the employee is a manager.
656  * @param p_normal_hours Normal working hours for this assignment.
657  * @param p_perf_review_period Length of the performance review period.
658  * @param p_perf_review_period_frequency Units of the performance review
659  * period.
660  * @param p_period_of_service_id Period of service that is being terminated.
661  * @param p_probation_period Length of the probation period.
662  * @param p_probation_unit Units of the probation period. Valid values are
663  * defined in the QUALIFYING_UNITS lookup type.
664  * @param p_sal_review_period Length of the salary review period.
665  * @param p_sal_review_period_frequency Units of the salary review period.
666  * Valid values are defined in the FREQUENCY lookup type.
667  * @param p_set_of_books_id Identifies General Ledger set of books.
668  * @param p_source_type Recruitment activity that this assignment is sourced
669  * from. Valid values are defined in the REC_TYPE lookup type.
670  * @param p_time_normal_finish Normal work finish time.
671  * @param p_time_normal_start Normal work start time.
672  * @param p_bargaining_unit_code Code for the bargaining unit. Valid values are
673  * defined in the BARGAINING_UNIT_CODE lookup type.
674  * @param p_labour_union_member_flag Value 'Y' indicates employee is a union
678  * lookup type.
675  * member. Other values indicate that the employee is not a union member.
676  * @param p_hourly_salaried_code Identifies whether the assignment is paid
677  * hourly or is salaried. Valid values are defined in the HOURLY_SALARIED_CODE
679  * @param p_request_id When the API is executed from a concurrent program, the
680  * value is set to the concurrent request identifier.
681  * @param p_program_application_id When the API is executed from a concurrent
682  * program, the value is set to the program's Application identifier.
683  * @param p_program_id When the API is executed from a concurrent program, the
684  * value is set to the program's identifier.
685  * @param p_program_update_date When the API is executed from a concurrent
686  * program, the value is set to when the program was run.
687  * @param p_ass_attribute_category This context value determines which
688  * Flexfield Structure to use with the Descriptive flexfield segments.
689  * @param p_ass_attribute1 Descriptive flexfield segment.
690  * @param p_ass_attribute2 Descriptive flexfield segment.
691  * @param p_ass_attribute3 Descriptive flexfield segment.
692  * @param p_ass_attribute4 Descriptive flexfield segment.
693  * @param p_ass_attribute5 Descriptive flexfield segment.
694  * @param p_ass_attribute6 Descriptive flexfield segment.
695  * @param p_ass_attribute7 Descriptive flexfield segment.
696  * @param p_ass_attribute8 Descriptive flexfield segment.
697  * @param p_ass_attribute9 Descriptive flexfield segment.
698  * @param p_ass_attribute10 Descriptive flexfield segment.
699  * @param p_ass_attribute11 Descriptive flexfield segment.
700  * @param p_ass_attribute12 Descriptive flexfield segment.
701  * @param p_ass_attribute13 Descriptive flexfield segment.
702  * @param p_ass_attribute14 Descriptive flexfield segment.
703  * @param p_ass_attribute15 Descriptive flexfield segment.
704  * @param p_ass_attribute16 Descriptive flexfield segment.
705  * @param p_ass_attribute17 Descriptive flexfield segment.
706  * @param p_ass_attribute18 Descriptive flexfield segment.
707  * @param p_ass_attribute19 Descriptive flexfield segment.
708  * @param p_ass_attribute20 Descriptive flexfield segment.
709  * @param p_ass_attribute21 Descriptive flexfield segment.
710  * @param p_ass_attribute22 Descriptive flexfield segment.
711  * @param p_ass_attribute23 Descriptive flexfield segment.
712  * @param p_ass_attribute24 Descriptive flexfield segment.
713  * @param p_ass_attribute25 Descriptive flexfield segment.
714  * @param p_ass_attribute26 Descriptive flexfield segment.
715  * @param p_ass_attribute27 Descriptive flexfield segment.
716  * @param p_ass_attribute28 Descriptive flexfield segment.
717  * @param p_ass_attribute29 Descriptive flexfield segment.
718  * @param p_ass_attribute30 Descriptive flexfield segment.
719  * @param p_title Obsolete parameter, do not use.
720  * @param p_validate_df_flex Identifies whether to validate the descriptive
721  * flex fields values.
722  * @param p_object_version_number If p_validate is false, then set to the
723  * version number of the created assignment. If p_validate is true, then the
724  * value will be null.
725  * @param p_other_manager_warning If set to true, then a manager existed in the
726  * organization prior to calling this API and the manager flag has been set to
727  * 'Y' for yes.
728  * @param p_hourly_salaried_warning Set to true if values entered for Salary
729  * Basis and Hourly Salaried Code are invalid as of p_effective_date.
730  * @param p_effective_date 	Determines when the DateTrack operation comes
731  * into force.
732  * @param p_validate If true, then validation alone will be performed and the
733  * database will remain unchanged. If false and all validation checks pass,
734  * then the database will be modified.
735  * @param p_contract_id Contract associated with this assignment.
736  * @param p_establishment_id For French business groups, this identifies the
737  * Establishment Legal Entity for this assignment.
738  * @param p_collective_agreement_id Collective Agreement that applies to this
739  * assignment.
740  * @param p_cagr_grade_def_id If a value is passed in for this parameter, it
741  * identifies an existing CAGR Key Flexfield combination to associate with the
742  * assignment, and segment values are ignored. If a value is not passed in,
743  * then the individual CAGR Key Flexfield segments supplied will be used to
744  * choose an existing combination or create a new combination. When the API
745  * completes, if p_validate is false, then this uniquely identifies the
746  * associated combination of the CAGR Key flexfield for this assignment. If
747  * p_validate is true, then set to null.
748  * @param p_cagr_id_flex_num Identifier for the structure from CAGR Key
749  * flexfield to use for this assignment.
750  * @param p_notice_period Length of notice period.
751  * @param p_notice_period_uom Units for notice period. Valid values are defined
752  * in the QUALIFYING_UNITS lookup type.
753  * @param p_employee_category Employee Category. Valid values are defined in
754  * the EMPLOYEE_CATG lookup type.
755  * @param p_work_at_home Indicates whether this assignment is to work at home.
756  * Valid values are defined in the YES_NO lookup type.
757  * @param p_job_post_source_name The source of the job posting that was
758  * selected for this assignment.
759  * @param p_posting_content_id Identifies the posting to which the applicant
760  * has applied.
761  * @param p_placement_date_start Start date of the placement action.
762  * @param p_vendor_id Identifier of the supplier of the contingent worker from
763  * iProcurement.
764  * @param p_vendor_employee_number Identification number given by the supplier
765  * to the contingent worker.
769  * in the CWK_ASG_CATEGORY lookup type.
766  * @param p_vendor_assignment_number Identification number given by the
767  * supplier to the contingent worker's assignment.
768  * @param p_assignment_category Assignment Category. Valid values are defined
770  * @param p_project_title Project title.
771  * @param p_applicant_rank Applicant's rank.
772  * @param p_grade_ladder_pgm_id Grade ladder defined for this assignment.
773  * @param p_supervisor_assignment_id Supervisor's assignment that is
774  * responsible for supervising this assignment.
775  * @param p_vendor_site_id Identifier of the supplier site of the contingent
776  * worker from iProcurement.
777  * @param p_po_header_id Identifies the purchase order header in iProcurement
778  * that stores the contingent worker's assignment pay details.
779  * @param p_po_line_id Identifies the purchase order line in iProcurement that
780  * stores the contingent worker's assignment pay details.
781  * @param p_projected_assignment_end Projected end date of this assignment.
782  * @rep:displayname Create Offer Assignment
783  * @rep:category BUSINESS_ENTITY IRC_JOB_OFFER
784  * @rep:lifecycle active
785  * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
786  * @rep:scope public
787  * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
788 */
789 --
790 -- {End Of Comments}
791 --
792   Procedure create_offer_assignment
793   (
794     p_assignment_id                OUT NOCOPY NUMBER
795    ,p_effective_start_date         OUT NOCOPY DATE
796    ,p_effective_end_date           OUT NOCOPY DATE
797    ,p_business_group_id            IN NUMBER
798    ,p_recruiter_id                 IN NUMBER           default null
799    ,p_grade_id                     IN NUMBER           default null
800    ,p_position_id                  IN NUMBER           default null
801    ,p_job_id                       IN NUMBER           default null
802    ,p_assignment_status_type_id    IN NUMBER
803    ,p_payroll_id                   IN NUMBER           default null
804    ,p_location_id                  IN NUMBER           default null
805    ,p_person_referred_by_id        IN NUMBER           default null
806    ,p_supervisor_id                IN NUMBER           default null
807    ,p_special_ceiling_step_id      IN NUMBER           default null
808    ,p_person_id                    IN NUMBER
809    ,p_recruitment_activity_id      IN NUMBER           default null
810    ,p_source_organization_id       IN NUMBER           default null
811    ,p_organization_id              IN NUMBER
812    ,p_people_group_id              IN NUMBER           default null
813    ,p_soft_coding_keyflex_id       IN NUMBER           default null
814    ,p_vacancy_id                   IN NUMBER           default null
815    ,p_pay_basis_id                 IN NUMBER           default null
816    ,p_assignment_sequence          OUT NOCOPY NUMBER
817    ,p_assignment_type              IN VARCHAR2
818    ,p_primary_flag                 IN VARCHAR2
819    ,p_application_id               IN NUMBER           default null
820    ,p_assignment_number            IN OUT NOCOPY VARCHAr2
821    ,p_change_reason                IN VARCHAR2         default null
822    ,p_comment_id                   OUT NOCOPY NUMBER
823    ,p_comments                     IN VARCHAR2         default null
824    ,p_date_probation_end           IN DATE             default null
825    ,p_default_code_comb_id         IN NUMBER           default null
826    ,p_employment_category          IN VARCHAR2         default null
827    ,p_frequency                    IN VARCHAR2         default null
828    ,p_internal_address_line        IN VARCHAR2         default null
829    ,p_manager_flag                 IN VARCHAR2         default null
830    ,p_normal_hours                 IN NUMBER           default null
831    ,p_perf_review_period           IN NUMBER           default null
832    ,p_perf_review_period_frequency IN VARCHAR2         default null
833    ,p_period_of_service_id         IN NUMBER           default null
834    ,p_probation_period             IN NUMBER           default null
835    ,p_probation_unit               IN VARCHAR2         default null
836    ,p_sal_review_period            IN NUMBER           default null
837    ,p_sal_review_period_frequency  IN VARCHAR2         default null
838    ,p_set_of_books_id              IN NUMBER           default null
839    ,p_source_type                  IN VARCHAR2         default null
840    ,p_time_normal_finish           IN VARCHAR2         default null
841    ,p_time_normal_start            IN VARCHAR2         default null
842    ,p_bargaining_unit_code         IN VARCHAR2         default null
843    ,p_labour_union_member_flag     IN VARCHAR2         default 'N'
844    ,p_hourly_salaried_code         IN VARCHAR2         default null
845    ,p_request_id                   IN NUMBER           default null
846    ,p_program_application_id       IN NUMBER           default null
847    ,p_program_id                   IN NUMBER           default null
848    ,p_program_update_date          IN DATE             default null
849    ,p_ass_attribute_category       IN VARCHAR2         default null
850    ,p_ass_attribute1               IN VARCHAR2         default null
851    ,p_ass_attribute2               IN VARCHAR2         default null
852    ,p_ass_attribute3               IN VARCHAR2         default null
853    ,p_ass_attribute4               IN VARCHAR2         default null
854    ,p_ass_attribute5               IN VARCHAR2         default null
855    ,p_ass_attribute6               IN VARCHAR2         default null
856    ,p_ass_attribute7               IN VARCHAR2         default null
857    ,p_ass_attribute8               IN VARCHAR2         default null
858    ,p_ass_attribute9               IN VARCHAR2         default null
862    ,p_ass_attribute13              IN VARCHAR2         default null
859    ,p_ass_attribute10              IN VARCHAR2         default null
860    ,p_ass_attribute11              IN VARCHAR2         default null
861    ,p_ass_attribute12              IN VARCHAR2         default null
863    ,p_ass_attribute14              IN VARCHAR2         default null
864    ,p_ass_attribute15              IN VARCHAR2         default null
865    ,p_ass_attribute16              IN VARCHAR2         default null
866    ,p_ass_attribute17              IN VARCHAR2         default null
867    ,p_ass_attribute18              IN VARCHAR2         default null
868    ,p_ass_attribute19              IN VARCHAR2         default null
869    ,p_ass_attribute20              IN VARCHAR2         default null
870    ,p_ass_attribute21              IN VARCHAR2         default null
871    ,p_ass_attribute22              IN VARCHAR2         default null
872    ,p_ass_attribute23              IN VARCHAR2         default null
873    ,p_ass_attribute24              IN VARCHAR2         default null
874    ,p_ass_attribute25              IN VARCHAR2         default null
875    ,p_ass_attribute26              IN VARCHAR2         default null
876    ,p_ass_attribute27              IN VARCHAR2         default null
877    ,p_ass_attribute28              IN VARCHAR2         default null
878    ,p_ass_attribute29              IN VARCHAR2         default null
879    ,p_ass_attribute30              IN VARCHAR2         default null
880    ,p_title                        IN VARCHAR2         default null
881    ,p_validate_df_flex             IN BOOLEAN          default true
882    ,p_object_version_number        OUT NOCOPY NUMBER
883    ,p_other_manager_warning        OUT NOCOPY BOOLEAN
884    ,p_hourly_salaried_warning      OUT NOCOPY BOOLEAN
885    ,p_effective_date               IN DATE
886    ,p_validate                     IN BOOLEAN          default false
887    ,p_contract_id                  IN NUMBER           default null
888    ,p_establishment_id             IN NUMBER           default null
889    ,p_collective_agreement_id      IN NUMBER           default null
890    ,p_cagr_grade_def_id            IN NUMBER           default null
891    ,p_cagr_id_flex_num             IN NUMBER           default null
892    ,p_notice_period                IN NUMBER           default null
893    ,p_notice_period_uom            IN VARCHAR2         default null
894    ,p_employee_category            IN VARCHAR2         default null
895    ,p_work_at_home                 IN VARCHAR2         default null
896    ,p_job_post_source_name         IN VARCHAR2         default null
897    ,p_posting_content_id           IN NUMBER           default null
898    ,p_placement_date_start         IN DATE             default null
899    ,p_vendor_id                    IN NUMBER           default null
900    ,p_vendor_employee_number       IN VARCHAR2         default null
901    ,p_vendor_assignment_number     IN VARCHAR2         default null
902    ,p_assignment_category          IN VARCHAR2         default null
903    ,p_project_title                IN VARCHAR2         default null
904    ,p_applicant_rank               IN NUMBER           default null
905    ,p_grade_ladder_pgm_id          IN NUMBER           default null
906    ,p_supervisor_assignment_id     IN NUMBER           default null
907    ,p_vendor_site_id               IN NUMBER           default null
908    ,p_po_header_id                 IN NUMBER           default null
909    ,p_po_line_id                   IN NUMBER           default null
910    ,p_projected_assignment_end     IN DATE             default null
911   );
912 --
913 -- ----------------------------------------------------------------------------
914 -- |-------------------------< update_offer_assignment >----------------------|
915 -- ----------------------------------------------------------------------------
916 --
917 -- {Start Of Comments}
918 /*#
919  * This api updates an offer assignment.
920  *
921  *
922  * <p><b>Licensing</b><br>
923  * This API is licensed for use with iRecruitment.
924  *
925  * <p><b>Prerequisites</b><br>
926  * The offer assignment should exist.
927  *
928  * <p><b>Post Success</b><br>
929  * When the offer assignment is successfully updated, the following parameters are
930  *  set.
931  *
932  * <p><b>Post Failure</b><br>
933  * The record will not be updated and an error is raised.
934  *
935  * @param p_assignment_id If p_validate is false, then this uniquely identifies
936  * the created assignment. If p_validate is true, then set to null.
937  * @param p_effective_start_date If p_validate is false, then set to the
938  * effective start date on the updated offer assignment row which now exists
939  * as of the effective date. If p_validate is true, then set to null.
940  * @param p_effective_end_date If p_validate is false, then set to the
941  * effective end date on the updated offer assignment row which now exists
942  * as of the effective date. If p_validate is true, then set to null.
943  * @param p_business_group_id The business group associated with this
944  * assignment. This should be the same as the business group associated with
945  * the contingent worker.
946  * @param p_recruiter_id Recruiter for the assignment. The value refers to the
947  * recruiter's person record.
948  * @param p_grade_id Identifies the grade of the assignment.
949  * @param p_position_id Identifies the position of the assignment.
950  * @param p_job_id Identifies the job of the assignment.
951  * @param p_assignment_status_type_id Identifies the assignment status of the
952  * assignment.
953  * @param p_payroll_id Identifies the payroll for the assignment.
957  * @param p_supervisor_id Identifies the supervisor for the assignment. The
954  * @param p_location_id Identifies the location of the assignment.
955  * @param p_person_referred_by_id Identifies the person record of the person
956  * who referred the applicant.
958  * value refers to the supervisor's person record.
959  * @param p_special_ceiling_step_id Highest allowed step for the grade scale
960  * associated with the grade of the assignment.
961  * @param p_recruitment_activity_id Identifies the Recruitment Activity from
962  * which the applicant was found.
963  * @param p_source_organization_id Identifies the recruiting source
964  * organization.
965  * @param p_organization_id Identifies the organization of the assignment.
966  * @param p_people_group_id If a value is passed in for this parameter, it
967  * identifies an existing People Group Key Flexfield combination to associate
968  * with the assignment, and segment values are ignored. If a value is not
969  * passed in, then the individual People Group Key Flexfield segments supplied
970  * will be used to choose an existing combination or create a new combination.
971  * When the API completes, if p_validate is false, then this uniquely
972  * identifies the associated combination of the People Group Key flexfield for
973  * this assignment. If p_validate is true, then set to null.
974  * @param p_soft_coding_keyflex_id If a value is passed in for this parameter,
975  * it identifies an existing Soft Coded Key Flexfield combination to associate
976  * with the assignment, and segment values are ignored. If a value is not
977  * passed in, then the individual Soft Coded Key Flexfield segments supplied
978  * will be used to choose an existing combination or create a new combination.
979  * When the API completes, if p_validate is false, then this uniquely
980  * identifies the associated combination of the Soft Coded Key flexfield for
981  * this assignment. If p_validate is true, then set to null.
982  * @param p_vacancy_id Identifies the vacancy that the applicant applied for.
983  * @param p_pay_basis_id Salary basis for the assignment.
984  * @param p_assignment_type Represents the type of the person's assignment,
985  * 'A' if Applicant, 'O' for Offer.
986  * @param p_primary_flag Indicates whether the address is a primary address.
987  * Valid values are 'Y' or 'N'.
988  * @param p_application_id Identifies the application record to which this
989  * assignment belongs.
990  * @param p_assignment_number If a value is passed in, this is used as the
991  * assignment number. If no value is passed in an assignment number is
992  * generated.
993  * @param p_change_reason Reason for the assignment status change. If there is
994  * no change reason, then the parameter can be null. Valid values are defined in the
995  * EMP_ASSIGN_REASON lookup type.
996  * @param p_comment_id If p_validate is false and comment text was provided,
997  * then will be set to the identifier of the created assignment comment record.
998  * If p_validate is true or no comment text was provided, then will be null.
999  * @param p_comments Comment text.
1000  * @param p_date_probation_end End date of the probation period.
1001  * @param p_default_code_comb_id Identifier for the General Ledger Accounting
1002  * Flexfield combination that applies to this assignment.
1003  * @param p_employment_category Employment category. Valid values are defined
1004  * in the EMP_CAT lookup type.
1005  * @param p_frequency Frequency associated with the defined normal working
1006  * hours. Valid values are defined in the FREQUENCY lookup type.
1007  * @param p_internal_address_line Internal address identified with the
1008  * assignment.
1009  * @param p_manager_flag Indicates whether the employee is a manager.
1010  * @param p_normal_hours Normal working hours for this assignment.
1011  * @param p_perf_review_period Length of the performance review period.
1012  * @param p_perf_review_period_frequency Units of the performance review
1013  * period.
1014  * @param p_period_of_service_id Period of service that is being terminated.
1015  * @param p_probation_period Length of the probation period.
1016  * @param p_probation_unit Units of the probation period. Valid values are
1017  * defined in the QUALIFYING_UNITS lookup type.
1018  * @param p_sal_review_period Length of the salary review period.
1019  * @param p_sal_review_period_frequency Units of the salary review period.
1020  * Valid values are defined in the FREQUENCY lookup type.
1021  * @param p_set_of_books_id Identifies General Ledger set of books.
1022  * @param p_source_type Recruitment activity that this assignment is sourced
1023  * from. Valid values are defined in the REC_TYPE lookup type.
1024  * @param p_time_normal_finish Normal work finish time.
1025  * @param p_time_normal_start Normal work start time.
1026  * @param p_bargaining_unit_code Code for the bargaining unit. Valid values are
1027  * defined in the BARGAINING_UNIT_CODE lookup type.
1028  * @param p_labour_union_member_flag Value 'Y' indicates employee is a union
1029  * member. Other values indicate that the employee is not a union member.
1030  * @param p_hourly_salaried_code Identifies whether the assignment is paid
1031  * hourly or is salaried. Valid values are defined in the HOURLY_SALARIED_CODE
1032  * lookup type.
1033  * @param p_request_id When the API is executed from a concurrent program, the
1034  * value is set to the concurrent request identifier.
1035  * @param p_program_application_id When the API is executed from a concurrent
1036  * program, the value is set to the program's Application identifier.
1037  * @param p_program_id When the API is executed from a concurrent program, the
1038  * value is set to the program's identifier.
1042  * Flexfield Structure to use with the Descriptive flexfield segments.
1039  * @param p_program_update_date When the API is executed from a concurrent
1040  * program, the value is set to when the program was run.
1041  * @param p_ass_attribute_category This context value determines which
1043  * @param p_ass_attribute1 Descriptive flexfield segment.
1044  * @param p_ass_attribute2 Descriptive flexfield segment.
1045  * @param p_ass_attribute3 Descriptive flexfield segment.
1046  * @param p_ass_attribute4 Descriptive flexfield segment.
1047  * @param p_ass_attribute5 Descriptive flexfield segment.
1048  * @param p_ass_attribute6 Descriptive flexfield segment.
1049  * @param p_ass_attribute7 Descriptive flexfield segment.
1050  * @param p_ass_attribute8 Descriptive flexfield segment.
1051  * @param p_ass_attribute9 Descriptive flexfield segment.
1052  * @param p_ass_attribute10 Descriptive flexfield segment.
1053  * @param p_ass_attribute11 Descriptive flexfield segment.
1054  * @param p_ass_attribute12 Descriptive flexfield segment.
1055  * @param p_ass_attribute13 Descriptive flexfield segment.
1056  * @param p_ass_attribute14 Descriptive flexfield segment.
1057  * @param p_ass_attribute15 Descriptive flexfield segment.
1058  * @param p_ass_attribute16 Descriptive flexfield segment.
1059  * @param p_ass_attribute17 Descriptive flexfield segment.
1060  * @param p_ass_attribute18 Descriptive flexfield segment.
1061  * @param p_ass_attribute19 Descriptive flexfield segment.
1062  * @param p_ass_attribute20 Descriptive flexfield segment.
1063  * @param p_ass_attribute21 Descriptive flexfield segment.
1064  * @param p_ass_attribute22 Descriptive flexfield segment.
1065  * @param p_ass_attribute23 Descriptive flexfield segment.
1066  * @param p_ass_attribute24 Descriptive flexfield segment.
1067  * @param p_ass_attribute25 Descriptive flexfield segment.
1068  * @param p_ass_attribute26 Descriptive flexfield segment.
1069  * @param p_ass_attribute27 Descriptive flexfield segment.
1070  * @param p_ass_attribute28 Descriptive flexfield segment.
1071  * @param p_ass_attribute29 Descriptive flexfield segment.
1072  * @param p_ass_attribute30 Descriptive flexfield segment.
1073  * @param p_title Obsolete parameter, do not use.
1074 * @param p_contract_id Contract associated with this assignment.
1075  * @param p_establishment_id For French business groups, this identifies the
1076  * Establishment Legal Entity for this assignment.
1077  * @param p_collective_agreement_id Collective Agreement that applies to this
1078  * assignment.
1079  * @param p_cagr_grade_def_id If a value is passed in for this parameter, it
1080  * identifies an existing CAGR Key Flexfield combination to associate with the
1081  * assignment, and segment values are ignored. If a value is not passed in,
1082  * then the individual CAGR Key Flexfield segments supplied will be used to
1083  * choose an existing combination or create a new combination. When the API
1084  * completes, if p_validate is false, then this uniquely identifies the
1085  * associated combination of the CAGR Key flexfield for this assignment. If
1086  * p_validate is true, then set to null.
1087  * @param p_cagr_id_flex_num Identifier for the structure from CAGR Key
1088  * flexfield to use for this assignment.
1089  * @param p_asg_object_version_number If p_validate is false, then this
1090  * parameter is set to the version number of the assignment created. If
1091  * p_validate is true, then this parameter is null.
1092  * @param p_notice_period Length of notice period.
1093  * @param p_notice_period_uom Units for notice period. Valid values are defined
1094  * in the QUALIFYING_UNITS lookup type.
1095  * @param p_employee_category Employee Category. Valid values are defined in
1096  * the EMPLOYEE_CATG lookup type.
1097  * @param p_work_at_home Indicates whether this assignment is to work at home.
1098  * Valid values are defined in the YES_NO lookup type.
1099  * @param p_job_post_source_name The source of the job posting that was
1100  * selected for this assignment.
1101  * @param p_posting_content_id Identifies the posting to which the applicant
1102  * has applied.
1103  * @param p_placement_date_start Start date of the placement action.
1104  * @param p_vendor_id Identifier of the supplier of the contingent worker from
1105  * iProcurement.
1106  * @param p_vendor_employee_number Identification number given by the supplier
1107  * to the contingent worker.
1108  * @param p_vendor_assignment_number Identification number given by the
1109  * supplier to the contingent worker's assignment.
1110  * @param p_assignment_category Assignment Category. Valid values are defined
1111  * in the CWK_ASG_CATEGORY lookup type.
1112  * @param p_project_title Project title.
1113  * @param p_applicant_rank Applicant's rank.
1114  * @param p_grade_ladder_pgm_id Grade lLadder defined for this assignment.
1115  * @param p_supervisor_assignment_id Supervisor's assignment that is
1116  * responsible for supervising this assignment.
1117  * @param p_vendor_site_id Identifier of the supplier site of the contingent
1118  * worker from iProcurement.
1119  * @param p_po_header_id Identifies the purchase order header in iProcurement
1120  * that stores the contingent worker's assignment pay details.
1121  * @param p_po_line_id Identifies the purchase order line in iProcurement that
1122  * stores the contingent worker's assignment pay details.
1123  * @param p_projected_assignment_end Projected end date of this assignment.
1124  * @param p_payroll_id_updated ID of the payroll for the updated assignment.
1125  * @param p_other_manager_warning If set to true, then a manager existed in the
1126  * organization prior to calling this API and the manager flag has been set to
1127  * 'Y' for yes.
1128  * @param p_hourly_salaried_warning Set to true if values entered for Salary
1132  * @param p_org_now_no_manager_warning Set to true if this assignment had the
1129  * Basis and Hourly Salaried Code are invalid as of p_effective_date.
1130  * @param p_no_managers_warning Set to true if as a result of the update there
1131  * is no manager in the organization. Otherwise set to false.
1133  * manager flag set to 'Y' and there are no other managers in the assignment's
1134  * organization. Set to false if there is another manager in the assignment's
1135  * organization or if this assignment did not have the manager flag set to 'Y'.
1136  * The warning value only applies as of the final process date.
1137  * @param p_validation_start_date Derived Effective Start Date.
1138  * @param p_validation_end_date Derived Effective End Date.
1139  * @param p_effective_date Determines when the DateTrack operation comes
1140  * into force.
1141  * @param p_datetrack_mode Indicates which DateTrack mode to use when
1142  * deleting the record. You must set to either ZAP, DELETE_NEXT_CHANGE or
1143  * FUTURE_CHANGE. Modes available for use with a particular record depend on
1144  * the dates of previous record changes and the effective date of this change.
1145  * @param p_validate If true, then validation alone will be performed and the
1146  * database will remain unchanged. If false and all validation checks pass,
1147  * then the database will be modified.
1148  * @param p_offer_id If p_validate is false, then this uniquely identifies
1149  * the new version of offer that may be created or will be set to the same
1150  * value which was passed in. If p_validate is true will be set to the same
1151  * value which was passed in.
1152  * @param p_offer_status Status of the Offer version.
1153  * @rep:displayname Update Offer Assignment
1154  * @rep:category BUSINESS_ENTITY IRC_JOB_OFFER
1155  * @rep:lifecycle active
1156  * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
1157  * @rep:scope public
1158  * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
1159 */
1160 --
1161 -- {End Of Comments}
1162 --
1163   procedure update_offer_assignment
1164   ( P_ASSIGNMENT_ID                     IN OUT NOCOPY  NUMBER
1165    ,P_EFFECTIVE_START_DATE              OUT NOCOPY DATE
1166    ,P_EFFECTIVE_END_DATE                OUT NOCOPY DATE
1167    ,P_BUSINESS_GROUP_ID                 OUT NOCOPY NUMBER
1168 
1169    ,P_RECRUITER_ID                      IN NUMBER                default hr_api.g_number
1170    ,P_GRADE_ID                          IN NUMBER                default hr_api.g_number
1171    ,P_POSITION_ID                       IN NUMBER                default hr_api.g_number
1172    ,P_JOB_ID                            IN NUMBER                default hr_api.g_number
1173    ,P_ASSIGNMENT_STATUS_TYPE_ID         IN NUMBER                default hr_api.g_number
1174    ,P_PAYROLL_ID                        IN NUMBER                default hr_api.g_number
1175    ,P_LOCATION_ID                       IN NUMBER                default hr_api.g_number
1176    ,P_PERSON_REFERRED_BY_ID             IN NUMBER                default hr_api.g_number
1177    ,P_SUPERVISOR_ID                     IN NUMBER                default hr_api.g_number
1178    ,P_SPECIAL_CEILING_STEP_ID           IN NUMBER                default hr_api.g_number
1179    ,P_RECRUITMENT_ACTIVITY_ID           IN NUMBER                default hr_api.g_number
1180    ,P_SOURCE_ORGANIZATION_ID            IN NUMBER                default hr_api.g_number
1181 
1182    ,P_ORGANIZATION_ID                   IN NUMBER                default hr_api.g_number
1183    ,P_PEOPLE_GROUP_ID                   IN NUMBER                default hr_api.g_number
1184    ,P_SOFT_CODING_KEYFLEX_ID            IN NUMBER                default hr_api.g_number
1185    ,P_VACANCY_ID                        IN NUMBER                default hr_api.g_number
1186    ,P_PAY_BASIS_ID                      IN NUMBER                default hr_api.g_number
1187    ,P_ASSIGNMENT_TYPE                   IN VARCHAR2              default hr_api.g_varchar2
1188    ,P_PRIMARY_FLAG                      IN VARCHAR2              default hr_api.g_varchar2
1189    ,P_APPLICATION_ID                    IN NUMBER                default hr_api.g_number
1190    ,P_ASSIGNMENT_NUMBER                 IN VARCHAR2              default hr_api.g_varchar2
1191    ,P_CHANGE_REASON                     IN VARCHAR2              default hr_api.g_varchar2
1192    ,P_COMMENT_ID                        OUT NOCOPY NUMBER
1193    ,P_COMMENTS                          IN VARCHAR2              default hr_api.g_varchar2
1194    ,P_DATE_PROBATION_END                IN DATE                  default hr_api.g_date
1195 
1196    ,P_DEFAULT_CODE_COMB_ID              IN NUMBER                default hr_api.g_number
1197    ,P_EMPLOYMENT_CATEGORY               IN VARCHAR2              default hr_api.g_varchar2
1198    ,P_FREQUENCY                         IN VARCHAR2              default hr_api.g_varchar2
1199    ,P_INTERNAL_ADDRESS_LINE             IN VARCHAR2              default hr_api.g_varchar2
1200    ,P_MANAGER_FLAG                      IN VARCHAR2              default hr_api.g_varchar2
1201    ,P_NORMAL_HOURS                      IN NUMBER                default hr_api.g_number
1202    ,P_PERF_REVIEW_PERIOD                IN NUMBER                default hr_api.g_number
1203    ,P_PERF_REVIEW_PERIOD_FREQUENCY      IN VARCHAR2              default hr_api.g_varchar2
1204    ,P_PERIOD_OF_SERVICE_ID              IN NUMBER                default hr_api.g_number
1205    ,P_PROBATION_PERIOD                  IN NUMBER                default hr_api.g_number
1206    ,P_PROBATION_UNIT                    IN VARCHAR2              default hr_api.g_varchar2
1207    ,P_SAL_REVIEW_PERIOD                 IN NUMBER                default hr_api.g_number
1208    ,P_SAL_REVIEW_PERIOD_FREQUENCY       IN VARCHAR2              default hr_api.g_varchar2
1209    ,P_SET_OF_BOOKS_ID                   IN NUMBER                default hr_api.g_number
1210 
1214    ,P_BARGAINING_UNIT_CODE              IN VARCHAR2              default hr_api.g_varchar2
1211    ,P_SOURCE_TYPE                       IN VARCHAR2              default hr_api.g_varchar2
1212    ,P_TIME_NORMAL_FINISH                IN VARCHAR2              default hr_api.g_varchar2
1213    ,P_TIME_NORMAL_START                 IN VARCHAR2              default hr_api.g_varchar2
1215    ,P_LABOUR_UNION_MEMBER_FLAG          IN VARCHAR2              default hr_api.g_varchar2
1216    ,P_HOURLY_SALARIED_CODE              IN VARCHAR2              default hr_api.g_varchar2
1217    ,P_REQUEST_ID                        IN NUMBER                default hr_api.g_number
1218    ,P_PROGRAM_APPLICATION_ID            IN NUMBER                default hr_api.g_number
1219    ,P_PROGRAM_ID                        IN NUMBER                default hr_api.g_number
1220    ,P_PROGRAM_UPDATE_DATE               IN DATE                  default hr_api.g_date
1221    ,P_ASS_ATTRIBUTE_CATEGORY            IN VARCHAR2              default hr_api.g_varchar2
1222    ,P_ASS_ATTRIBUTE1                    IN VARCHAR2              default hr_api.g_varchar2
1223    ,P_ASS_ATTRIBUTE2                    IN VARCHAR2              default hr_api.g_varchar2
1224    ,P_ASS_ATTRIBUTE3                    IN VARCHAR2              default hr_api.g_varchar2
1225    ,P_ASS_ATTRIBUTE4                    IN VARCHAR2              default hr_api.g_varchar2
1226    ,P_ASS_ATTRIBUTE5                    IN VARCHAR2              default hr_api.g_varchar2
1227 
1228    ,P_ASS_ATTRIBUTE6                    IN VARCHAR2              default hr_api.g_varchar2
1229    ,P_ASS_ATTRIBUTE7                    IN VARCHAR2              default hr_api.g_varchar2
1230    ,P_ASS_ATTRIBUTE8                    IN VARCHAR2              default hr_api.g_varchar2
1231    ,P_ASS_ATTRIBUTE9                    IN VARCHAR2              default hr_api.g_varchar2
1232    ,P_ASS_ATTRIBUTE10                   IN VARCHAR2              default hr_api.g_varchar2
1233    ,P_ASS_ATTRIBUTE11                   IN VARCHAR2              default hr_api.g_varchar2
1234    ,P_ASS_ATTRIBUTE12                   IN VARCHAR2              default hr_api.g_varchar2
1235    ,P_ASS_ATTRIBUTE13                   IN VARCHAR2              default hr_api.g_varchar2
1236    ,P_ASS_ATTRIBUTE14                   IN VARCHAR2              default hr_api.g_varchar2
1237    ,P_ASS_ATTRIBUTE15                   IN VARCHAR2              default hr_api.g_varchar2
1238    ,P_ASS_ATTRIBUTE16                   IN VARCHAR2              default hr_api.g_varchar2
1239    ,P_ASS_ATTRIBUTE17                   IN VARCHAR2              default hr_api.g_varchar2
1240    ,P_ASS_ATTRIBUTE18                   IN VARCHAR2              default hr_api.g_varchar2
1241 
1242    ,P_ASS_ATTRIBUTE19                   IN VARCHAR2              default hr_api.g_varchar2
1243    ,P_ASS_ATTRIBUTE20                   IN VARCHAR2              default hr_api.g_varchar2
1244    ,P_ASS_ATTRIBUTE21                   IN VARCHAR2              default hr_api.g_varchar2
1245    ,P_ASS_ATTRIBUTE22                   IN VARCHAR2              default hr_api.g_varchar2
1246    ,P_ASS_ATTRIBUTE23                   IN VARCHAR2              default hr_api.g_varchar2
1247    ,P_ASS_ATTRIBUTE24                   IN VARCHAR2              default hr_api.g_varchar2
1248    ,P_ASS_ATTRIBUTE25                   IN VARCHAR2              default hr_api.g_varchar2
1249    ,P_ASS_ATTRIBUTE26                   IN VARCHAR2              default hr_api.g_varchar2
1250    ,P_ASS_ATTRIBUTE27                   IN VARCHAR2              default hr_api.g_varchar2
1251    ,P_ASS_ATTRIBUTE28                   IN VARCHAR2              default hr_api.g_varchar2
1252    ,P_ASS_ATTRIBUTE29                   IN VARCHAR2              default hr_api.g_varchar2
1253    ,P_ASS_ATTRIBUTE30                   IN VARCHAR2              default hr_api.g_varchar2
1254    ,P_TITLE                             IN VARCHAR2              default hr_api.g_varchar2
1255    ,P_CONTRACT_ID                       IN NUMBER                default hr_api.g_number
1256    ,P_ESTABLISHMENT_ID                  IN NUMBER                default hr_api.g_number
1257    ,P_COLLECTIVE_AGREEMENT_ID           IN NUMBER                default hr_api.g_number
1258    ,P_CAGR_GRADE_DEF_ID                 IN NUMBER                default hr_api.g_number
1259    ,P_CAGR_ID_FLEX_NUM                  IN NUMBER                default hr_api.g_number
1260    ,P_ASG_OBJECT_VERSION_NUMBER         IN OUT NOCOPY NUMBER
1261    ,P_NOTICE_PERIOD                     IN NUMBER                default hr_api.g_number
1262    ,P_NOTICE_PERIOD_UOM                 IN VARCHAR2              default hr_api.g_varchar2
1263    ,P_EMPLOYEE_CATEGORY                 IN VARCHAR2              default hr_api.g_varchar2
1264    ,P_WORK_AT_HOME                      IN VARCHAR2              default hr_api.g_varchar2
1265    ,P_JOB_POST_SOURCE_NAME              IN VARCHAR2              default hr_api.g_varchar2
1266    ,P_POSTING_CONTENT_ID                IN NUMBER                default hr_api.g_number
1267    ,P_PLACEMENT_DATE_START              IN DATE                  default hr_api.g_date
1268    ,P_VENDOR_ID                         IN NUMBER                default hr_api.g_number
1269    ,P_VENDOR_EMPLOYEE_NUMBER            IN VARCHAR2              default hr_api.g_varchar2
1270    ,P_VENDOR_ASSIGNMENT_NUMBER          IN VARCHAR2              default hr_api.g_varchar2
1271    ,P_ASSIGNMENT_CATEGORY               IN VARCHAR2              default hr_api.g_varchar2
1272    ,P_PROJECT_TITLE                     IN VARCHAR2              default hr_api.g_varchar2
1273    ,P_APPLICANT_RANK                    IN NUMBER                default hr_api.g_number
1274    ,P_GRADE_LADDER_PGM_ID               IN NUMBER                default hr_api.g_number
1275    ,P_SUPERVISOR_ASSIGNMENT_ID          IN NUMBER                default hr_api.g_number
1276    ,P_VENDOR_SITE_ID                    IN NUMBER                default hr_api.g_number
1277    ,P_PO_HEADER_ID                      IN NUMBER                default hr_api.g_number
1281    ,P_OTHER_MANAGER_WARNING             OUT NOCOPY BOOLEAN
1278    ,P_PO_LINE_ID                        IN NUMBER                default hr_api.g_number
1279    ,P_PROJECTED_ASSIGNMENT_END          IN DATE                  default hr_api.g_date
1280    ,P_PAYROLL_ID_UPDATED                OUT NOCOPY BOOLEAN
1282    ,P_HOURLY_SALARIED_WARNING           OUT NOCOPY BOOLEAN
1283    ,P_NO_MANAGERS_WARNING               OUT NOCOPY BOOLEAN
1284    ,P_ORG_NOW_NO_MANAGER_WARNING        OUT NOCOPY BOOLEAN
1285    ,P_VALIDATION_START_DATE             OUT NOCOPY DATE
1286    ,P_VALIDATION_END_DATE               OUT NOCOPY DATE
1287    ,P_EFFECTIVE_DATE                    IN DATE                 default null
1288    ,P_DATETRACK_MODE                    IN VARCHAR2             default hr_api.g_update
1289    ,P_VALIDATE                          IN BOOLEAN              default false
1290    ,P_OFFER_ID                          IN OUT NOCOPY  NUMBER
1291    ,P_OFFER_STATUS                      IN VARCHAR2             default null
1292   );
1293 --
1294 -- ----------------------------------------------------------------------------
1295 -- |-------------------------< delete_offer_assignment >----------------------|
1296 -- ----------------------------------------------------------------------------
1297 --
1298 -- {Start Of Comments}
1299 /*#
1300  * This API deletes an offer assignment and the offer associated with it.
1301  *
1302  *
1303  * <p><b>Licensing</b><br>
1304  * This API is licensed for use with iRecruitment.
1305  *
1306  * <p><b>Prerequisites</b><br>
1307  * An offer assignment should exist.
1308  *
1309  * <p><b>Post Success</b><br>
1310  * Both the offer assignment and the offer records will be deleted.
1311  *
1312  * <p><b>Post Failure</b><br>
1313  * If there is no offer associated with this assignment, then the API raises
1314  * an error.
1315  *
1316  * @param p_validate If true, then validation alone will be performed and the
1317  * database will remain unchanged. If false and all validation checks pass,
1318  * then the database will be modified.
1319  * @param p_effective_date Determines when the DateTrack operation comes into
1320  * force.
1321  * @param p_offer_assignment_id Offer assignment for the applicant where the
1322  * type is 'OFFER'.
1323  * @rep:displayname Delete Offer Assignment
1324  * @rep:category BUSINESS_ENTITY IRC_JOB_OFFER
1325  * @rep:lifecycle active
1326  * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
1327  * @rep:scope public
1328  * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
1329 */
1330 --
1331 -- {End Of Comments}
1332 --
1333 procedure delete_offer_assignment
1334 ( P_VALIDATE                     IN   boolean     default false
1335  ,P_EFFECTIVE_DATE               IN   date        default null
1336  ,P_OFFER_ASSIGNMENT_ID          IN   number
1337 );
1338 --
1339 -- ----------------------------------------------------------------------------
1340 -- |---------------------------< upload_offer_letter >------------------------|
1341 -- ----------------------------------------------------------------------------
1342 --
1343 -- {Start Of Comments}
1344 /*#
1345  * This API uploads the offer letter to the corresponding offer record.
1346  *
1347  *
1348  * <p><b>Licensing</b><br>
1349  * This API is licensed for use with iRecruitment.
1350  *
1351  * <p><b>Prerequisites</b><br>
1352  * The offer should exist.
1353  *
1354  * <p><b>Post Success</b><br>
1355  * The offer letter will be uploaded to the IRC_OFFERS table.
1356  *
1357  * <p><b>Post Failure</b><br>
1358  * Offer letter will not be uploaded and, an error is raised.
1359  *
1360  * @param p_validate If true, then validation alone will be performed and the
1361  * database will remain unchanged. If false and all validation checks pass,
1362  * then the database will be modified.
1363  * @param p_offer_letter Offer letter either generated when the offer is
1364  * extended or uploaded by the Super User.
1365  * @param p_offer_id Primary key of the offer in the IRC_OFFERS table.
1366  * @param p_object_version_number System generated version of row.
1367  * @rep:displayname Upload Offer Letter
1368  * @rep:category BUSINESS_ENTITY IRC_JOB_OFFER
1369  * @rep:lifecycle active
1370  * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
1371  * @rep:scope public
1372  * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
1373 */
1374 --
1375 -- {End Of Comments}
1376 --
1377 procedure upload_offer_letter
1378 ( P_VALIDATE                     IN   boolean     default false
1379  ,P_OFFER_LETTER                 IN   BLOB
1380  ,P_OFFER_ID                     IN   NUMBER
1381  ,P_OBJECT_VERSION_NUMBER        IN   NUMBER
1382 );
1383 --
1384 -- ----------------------------------------------------------------------------
1385 -- |-----------------------< other_extended_offers_count >--------------------|
1386 -- ----------------------------------------------------------------------------
1387 --
1388 -- {Start Of Comments}
1389 /*#
1390  * This function returns the number of offers that have already been extended
1391  * or accepted by the candidate.
1392  *
1393  *
1394  * <p><b>Licensing</b><br>
1395  * This API is licensed for use with iRecruitment.
1396  *
1397  * <p><b>Prerequisites</b><br>
1398  * The applicant should exist.
1399  *
1400  * <p><b>Post Success</b><br>
1401  * The API returns the sum of extended and accepted offers for this
1402  * candidate.
1403  *
1404  * <p><b>Post Failure</b><br>
1405  * An error is raised.
1406  *
1407  * @param p_applicant_assignment_id Applicant assignment for the applicant
1408  * where the type is 'APPLICANT'.
1409  * @param p_effective_date Effective date for the creation
1410  * of the offer.
1411  * @param p_person_id The person ID for this applicant.
1412  * @param p_other_extended_offer_count Contains the sum of the extended and
1413  * accepted offers for this candidate.
1414  * @rep:displayname Other Extended Offers Count.
1415  * @rep:category BUSINESS_ENTITY IRC_JOB_OFFER
1416  * @rep:lifecycle active
1417  * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
1418  * @rep:scope public
1419  * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
1420 */
1421 --
1422 -- {End Of Comments}
1423 --
1424 PROCEDURE other_extended_offers_count
1425 ( p_applicant_assignment_id             IN NUMBER   default null
1426  ,p_effective_date                      IN DATE
1427  ,p_person_id                           IN NUMBER   default null
1428  ,p_other_extended_offer_count          OUT nocopy NUMBER
1429 );
1430 --
1431 end IRC_OFFERS_API;