DBA Data[Home] [Help]

PACKAGE: APPS.HR_MAINTAIN_PROPOSAL_API

Source


1 Package hr_maintain_proposal_api AUTHID CURRENT_USER as
2 /* $Header: hrpypapi.pkh 120.13 2008/12/05 14:33:22 vkodedal ship $ */
3 /*#
4  * This package contains APIs for creating and maintaining Salary Proposal
5  * information.
6  * @rep:scope public
7  * @rep:product per
8  * @rep:displayname Maintain Proposal
9 */
10 --vkodedal 04-dec-2008 7386307
11 g_deleted_from_oa varchar2(1):='N';
12 --
13 -- ----------------------------------------------------------------------------
14 -- |--------------------------< insert_salary_proposal >----------------------|
15 -- ----------------------------------------------------------------------------
16 --
17 -- {Start Of Comments}
18 /*#
19  * This API inserts a salary proposal into the per_pay_proposals table.
20  *
21  * If the proposal is an approved one, this procedure will also insert into the
22  * pay_element_entries table to create a new salary proposal.
23  *
24  * <p><b>Licensing</b><br>
25  * This API is licensed for use with Human Resources.
26  *
27  * <p><b>Prerequisites</b><br>
28  * Assignment for which salary proposal is created must exist as of the
29  * effective date and have a salary basis defined.
30  *
31  * <p><b>Post Success</b><br>
32  * The specified data will be validated and inserted for the specified entity
33  * without being committed (or rollbacked depending on the p_validate status).
34  *
35  * <p><b>Post Failure</b><br>
36  * If an error has occurred, the process will raise an error message and roll
37  * back the work.
38  * @param p_pay_proposal_id A sequential, process-generated primary key value.
39  * @param p_assignment_id Identifies the assignment for which you create the
40  * salary proposal record.
41  * @param p_business_group_id Uniquely identifies the business group of the
42  * person associated with the salary proposal. References
43  * HR_ALL_ORGANIZATION_UNITS.
44  * @param p_change_date The date on which the proposal takes effect.
45  * @param p_comments Comment text.
46  * @param p_next_sal_review_date The date of the next salary review.
47  * @param p_proposal_reason The proposal reason. Valid values are defined by
48  * lookup type 'PROPOSAL_REASON'.
49  * @param p_proposed_salary_n The proposed salary for the employee.
50  * @param p_forced_ranking The ranking of the person associated with the salary
51  * proposal.
52  * @param p_date_to The end date of salary proposal.
53  * @param p_performance_review_id The performance_review_id of the performance
54  * review associated with this salary review.
55  * @param p_attribute_category This context value determines which flexfield
56  * structure to use with the descriptive flexfield segments.
57  * @param p_attribute1 Descriptive flexfield segment.
58  * @param p_attribute2 Descriptive flexfield segment.
59  * @param p_attribute3 Descriptive flexfield segment.
60  * @param p_attribute4 Descriptive flexfield segment.
61  * @param p_attribute5 Descriptive flexfield segment.
62  * @param p_attribute6 Descriptive flexfield segment.
63  * @param p_attribute7 Descriptive flexfield segment.
64  * @param p_attribute8 Descriptive flexfield segment.
65  * @param p_attribute9 Descriptive flexfield segment.
66  * @param p_attribute10 Descriptive flexfield segment.
67  * @param p_attribute11 Descriptive flexfield segment.
68  * @param p_attribute12 Descriptive flexfield segment.
69  * @param p_attribute13 Descriptive flexfield segment.
70  * @param p_attribute14 Descriptive flexfield segment.
71  * @param p_attribute15 Descriptive flexfield segment.
72  * @param p_attribute16 Descriptive flexfield segment.
73  * @param p_attribute17 Descriptive flexfield segment.
74  * @param p_attribute18 Descriptive flexfield segment.
75  * @param p_attribute19 Descriptive flexfield segment.
76  * @param p_attribute20 Descriptive flexfield segment.
77  * @param p_object_version_number If p_validate is false, then set to the
78  * version number of the created salary proposal. If p_validate is true, then
79  * the value will be null.
80  * @param p_multiple_components Flag specifying if multiple components are
81  * associated with this salary proposal. Valid values are 'Y' or 'N'.
82  * @param p_approved Flag specifying if the proposal is approved. Valid values
83  * are 'Y' or 'N'.
84  * @param p_validate If true, then validation alone will be performed and the
85  * database will remain unchanged. If false and all validation checks pass,
86  * then the database will be modified.
87  * @param p_element_entry_id Returns the id of the created element entry here.
88  * @param p_inv_next_sal_date_warning If set to true, the salary date specified
89  * is invalid.
90  * @param p_proposed_salary_warning If set to true, the proposed salary is not
91  * within the range specified by the assignment's grade rate.
92  * @param p_approved_warning If set to true, there were errors during the
93  * approval process.
94  * @param p_payroll_warning If set to true, the person's payroll is invalid.
95  * @rep:displayname Insert Salary Proposal
96  * @rep:category BUSINESS_ENTITY PER_SALARY_PROPOSAL
97  * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
98  * @rep:scope public
99  * @rep:lifecycle active
100  * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
101 */
102 --
103 -- {End Of Comments}
104 --
105 Procedure insert_salary_proposal(
106   p_pay_proposal_id              out nocopy number,
107   p_assignment_id                in number,
108   p_business_group_id            in number,
109   p_change_date                  in date             default null, -- Bug 918219
110   p_comments                     in varchar2         default null,
111   p_next_sal_review_date         in date             default null,
112   p_proposal_reason              in varchar2         default null,
113   p_proposed_salary_n            in number           default null,
114   p_forced_ranking               in number           default null,
115   p_date_to			 in date	     ,
116   p_performance_review_id        in number           default null,
117   p_attribute_category           in varchar2         default null,
118   p_attribute1                   in varchar2         default null,
119   p_attribute2                   in varchar2         default null,
120   p_attribute3                   in varchar2         default null,
121   p_attribute4                   in varchar2         default null,
122   p_attribute5                   in varchar2         default null,
123   p_attribute6                   in varchar2         default null,
124   p_attribute7                   in varchar2         default null,
125   p_attribute8                   in varchar2         default null,
126   p_attribute9                   in varchar2         default null,
127   p_attribute10                  in varchar2         default null,
128   p_attribute11                  in varchar2         default null,
129   p_attribute12                  in varchar2         default null,
130   p_attribute13                  in varchar2         default null,
131   p_attribute14                  in varchar2         default null,
132   p_attribute15                  in varchar2         default null,
133   p_attribute16                  in varchar2         default null,
134   p_attribute17                  in varchar2         default null,
135   p_attribute18                  in varchar2         default null,
136   p_attribute19                  in varchar2         default null,
137   p_attribute20                  in varchar2         default null,
138   p_object_version_number        out nocopy number,
139   p_multiple_components          in varchar2         default null, -- 918219
140   p_approved                     in varchar2         default null, -- 918219
141   p_validate                     in boolean          default false,
142   p_element_entry_id             in out nocopy number,
143   p_inv_next_sal_date_warning	 out nocopy boolean,
144   p_proposed_salary_warning      out nocopy boolean,
145   p_approved_warning             out nocopy boolean,
146   p_payroll_warning		 out nocopy boolean );
147 
148 Procedure insert_salary_proposal(
149   p_pay_proposal_id              out nocopy number,
150   p_assignment_id                in number,
151   p_business_group_id            in number,
152   p_change_date                  in date             default null, -- Bug 918219
156   p_proposed_salary_n            in number           default null,
153   p_comments                     in varchar2         default null,
154   p_next_sal_review_date         in date             default null,
155   p_proposal_reason              in varchar2         default null,
157   p_forced_ranking               in number           default null,
158   p_performance_review_id        in number           default null,
159   p_attribute_category           in varchar2         default null,
160   p_attribute1                   in varchar2         default null,
161   p_attribute2                   in varchar2         default null,
162   p_attribute3                   in varchar2         default null,
163   p_attribute4                   in varchar2         default null,
164   p_attribute5                   in varchar2         default null,
165   p_attribute6                   in varchar2         default null,
166   p_attribute7                   in varchar2         default null,
167   p_attribute8                   in varchar2         default null,
168   p_attribute9                   in varchar2         default null,
169   p_attribute10                  in varchar2         default null,
170   p_attribute11                  in varchar2         default null,
171   p_attribute12                  in varchar2         default null,
172   p_attribute13                  in varchar2         default null,
173   p_attribute14                  in varchar2         default null,
174   p_attribute15                  in varchar2         default null,
175   p_attribute16                  in varchar2         default null,
176   p_attribute17                  in varchar2         default null,
177   p_attribute18                  in varchar2         default null,
178   p_attribute19                  in varchar2         default null,
179   p_attribute20                  in varchar2         default null,
180   p_object_version_number        out nocopy number,
181   p_multiple_components          in varchar2         default null, -- 918219
182   p_approved                     in varchar2         default null, -- 918219
183   p_validate                     in boolean          default false,
184   p_element_entry_id             in out nocopy number,
185   p_inv_next_sal_date_warning	 out nocopy boolean,
186   p_proposed_salary_warning      out nocopy boolean,
187   p_approved_warning             out nocopy boolean,
188   p_payroll_warning		 out nocopy boolean );
189 --
190 -- ----------------------------------------------------------------------------
191 -- |--------------------------< update_salary_proposal >----------------------|
192 -- ----------------------------------------------------------------------------
193 --
194 -- {Start Of Comments}
195 /*#
196  * This API updates a salary proposal associated with an assignment.
197  *
198  * If the updated proposal is approved, it also inserts a new record in the
199  * pay_element_entries table.
200  *
201  * <p><b>Licensing</b><br>
202  * This API is licensed for use with Human Resources.
203  *
204  * <p><b>Prerequisites</b><br>
205  * Proposal to be updated must exist with the specified object version number.
206  *
207  * <p><b>Post Success</b><br>
208  * The specified data will be validated and updated for the specified entity
209  * without being committed (or rollbacked depending on the status of
210  * p_validate).
211  *
212  * <p><b>Post Failure</b><br>
213  * If an error has occurred, an error message will be supplied and the work
214  * rolled back.
215  * @param p_pay_proposal_id pay_proposal_id of the proposal to be updated
216  * @param p_change_date The date on which the proposal takes effect.
217  * @param p_comments Comment text.
218  * @param p_next_sal_review_date The date of the next salary review.
219  * @param p_proposal_reason The proposal reason. Valid values are defined by
220  * lookup type 'PROPOSAL_REASON'.
221  * @param p_proposed_salary_n The proposed salary for the employee.
222  * @param p_forced_ranking The ranking of the person associated with the salary
223  * proposal.
224  * @param p_date_to The end date of salary proposal.
225  * @param p_performance_review_id The performance_review_id of the performance
226  * review associated with this salary review.
227  * @param p_attribute_category This context value determines which flexfield
228  * structure to use with the descriptive flexfield segments.
229  * @param p_attribute1 Descriptive flexfield segment.
230  * @param p_attribute2 Descriptive flexfield segment.
231  * @param p_attribute3 Descriptive flexfield segment.
232  * @param p_attribute4 Descriptive flexfield segment.
233  * @param p_attribute5 Descriptive flexfield segment.
234  * @param p_attribute6 Descriptive flexfield segment.
235  * @param p_attribute7 Descriptive flexfield segment.
236  * @param p_attribute8 Descriptive flexfield segment.
237  * @param p_attribute9 Descriptive flexfield segment.
238  * @param p_attribute10 Descriptive flexfield segment.
239  * @param p_attribute11 Descriptive flexfield segment.
240  * @param p_attribute12 Descriptive flexfield segment.
241  * @param p_attribute13 Descriptive flexfield segment.
242  * @param p_attribute14 Descriptive flexfield segment.
243  * @param p_attribute15 Descriptive flexfield segment.
244  * @param p_attribute16 Descriptive flexfield segment.
245  * @param p_attribute17 Descriptive flexfield segment.
246  * @param p_attribute18 Descriptive flexfield segment.
247  * @param p_attribute19 Descriptive flexfield segment.
248  * @param p_attribute20 Descriptive flexfield segment.
249  * @param p_object_version_number Pass in the current version number of the
250  * salary proposal to be updated. When the API completes if p_validate is
251  * false, will be set to the new version number of the updated salary proposal.
252  * If p_validate is true will be set to the same value which was passed in.
253  * @param p_multiple_components Flag specifying if multiple components are
254  * associated with this salary proposal. Valid values are 'Y' or 'N'.
258  * database will remain unchanged. If false and all validation checks pass,
255  * @param p_approved Flag specifying if the proposal is approved. Valid values
256  * are 'Y' or 'N'.
257  * @param p_validate If true, then validation alone will be performed and the
259  * then the database will be modified.
260  * @param p_inv_next_sal_date_warning If set to true, the salary date specified
261  * is invalid.
262  * @param p_proposed_salary_warning If set to true, the proposed salary is not
263  * within the range specified by the assignment's grade rate.
264  * @param p_approved_warning If set to true, there were errors during the
265  * approval process.
266  * @param p_payroll_warning If set to true, the person's payroll is invalid.
267  * @rep:displayname Update Salary Proposal
268  * @rep:category BUSINESS_ENTITY PER_SALARY_PROPOSAL
269  * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
270  * @rep:scope public
271  * @rep:lifecycle active
272  * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
273 */
274 --
275 -- {End Of Comments}
276 --
277 Procedure update_salary_proposal(
278   p_pay_proposal_id              in number,
279   p_change_date                  in date             default hr_api.g_date,
280   p_comments                     in varchar2         default hr_api.g_varchar2,
281   p_next_sal_review_date         in date             default hr_api.g_date,
282   p_proposal_reason              in varchar2         default hr_api.g_varchar2,
283   p_proposed_salary_n            in number           default hr_api.g_number,
284   p_forced_ranking               in number           default hr_api.g_number,
285   p_date_to                      in date             ,
286   p_performance_review_id        in number           default hr_api.g_number,
287   p_attribute_category           in varchar2         default hr_api.g_varchar2,
288   p_attribute1                   in varchar2         default hr_api.g_varchar2,
289   p_attribute2                   in varchar2         default hr_api.g_varchar2,
290   p_attribute3                   in varchar2         default hr_api.g_varchar2,
291   p_attribute4                   in varchar2         default hr_api.g_varchar2,
292   p_attribute5                   in varchar2         default hr_api.g_varchar2,
293   p_attribute6                   in varchar2         default hr_api.g_varchar2,
294   p_attribute7                   in varchar2         default hr_api.g_varchar2,
295   p_attribute8                   in varchar2         default hr_api.g_varchar2,
296   p_attribute9                   in varchar2         default hr_api.g_varchar2,
297   p_attribute10                  in varchar2         default hr_api.g_varchar2,
298   p_attribute11                  in varchar2         default hr_api.g_varchar2,
299   p_attribute12                  in varchar2         default hr_api.g_varchar2,
300   p_attribute13                  in varchar2         default hr_api.g_varchar2,
301   p_attribute14                  in varchar2         default hr_api.g_varchar2,
302   p_attribute15                  in varchar2         default hr_api.g_varchar2,
303   p_attribute16                  in varchar2         default hr_api.g_varchar2,
304   p_attribute17                  in varchar2         default hr_api.g_varchar2,
305   p_attribute18                  in varchar2         default hr_api.g_varchar2,
306   p_attribute19                  in varchar2         default hr_api.g_varchar2,
307   p_attribute20                  in varchar2         default hr_api.g_varchar2,
308   p_object_version_number        in out nocopy number,
309   p_multiple_components          in varchar2         default hr_api.g_varchar2,
310   p_approved                     in varchar2         default hr_api.g_varchar2,
311   p_validate                     in boolean          default false,
312   p_inv_next_sal_date_warning    out nocopy boolean,
313   p_proposed_salary_warning	 out nocopy boolean,
314   p_approved_warning	         out nocopy boolean,
315   p_payroll_warning	         out nocopy boolean
316 );
317 Procedure update_salary_proposal(
318   p_pay_proposal_id              in number,
319   p_change_date                  in date             default hr_api.g_date,
320   p_comments                     in varchar2         default hr_api.g_varchar2,
321   p_next_sal_review_date         in date             default hr_api.g_date,
322   p_proposal_reason              in varchar2         default hr_api.g_varchar2,
323   p_proposed_salary_n            in number           default hr_api.g_number,
324   p_forced_ranking               in number           default hr_api.g_number,
325   p_performance_review_id        in number           default hr_api.g_number,
326   p_attribute_category           in varchar2         default hr_api.g_varchar2,
327   p_attribute1                   in varchar2         default hr_api.g_varchar2,
328   p_attribute2                   in varchar2         default hr_api.g_varchar2,
329   p_attribute3                   in varchar2         default hr_api.g_varchar2,
330   p_attribute4                   in varchar2         default hr_api.g_varchar2,
331   p_attribute5                   in varchar2         default hr_api.g_varchar2,
332   p_attribute6                   in varchar2         default hr_api.g_varchar2,
333   p_attribute7                   in varchar2         default hr_api.g_varchar2,
334   p_attribute8                   in varchar2         default hr_api.g_varchar2,
335   p_attribute9                   in varchar2         default hr_api.g_varchar2,
336   p_attribute10                  in varchar2         default hr_api.g_varchar2,
337   p_attribute11                  in varchar2         default hr_api.g_varchar2,
338   p_attribute12                  in varchar2         default hr_api.g_varchar2,
339   p_attribute13                  in varchar2         default hr_api.g_varchar2,
340   p_attribute14                  in varchar2         default hr_api.g_varchar2,
341   p_attribute15                  in varchar2         default hr_api.g_varchar2,
342   p_attribute16                  in varchar2         default hr_api.g_varchar2,
343   p_attribute17                  in varchar2         default hr_api.g_varchar2,
347   p_object_version_number        in out nocopy number,
344   p_attribute18                  in varchar2         default hr_api.g_varchar2,
345   p_attribute19                  in varchar2         default hr_api.g_varchar2,
346   p_attribute20                  in varchar2         default hr_api.g_varchar2,
348   p_multiple_components          in varchar2         default hr_api.g_varchar2,
349   p_approved                     in varchar2         default hr_api.g_varchar2,
350   p_validate                     in boolean          default false,
351   p_inv_next_sal_date_warning    out nocopy boolean,
352   p_proposed_salary_warning	 out nocopy boolean,
353   p_approved_warning	         out nocopy boolean,
354   p_payroll_warning	         out nocopy boolean
355 );
356 --
357 -- ----------------------------------------------------------------------------
358 -- |-------------------------< approve_salary_proposal >----------------------|
359 -- ----------------------------------------------------------------------------
360 --
361 -- {Start Of Comments}
362 /*#
363  * This API approves a person's salary.
364  *
365  * Use it to approve salary proposals you enter in the salary managment form.
366  * If the proposal has multiple components, all components must be approved.
367  * The process does not approve individual components.
368  *
369  * <p><b>Licensing</b><br>
370  * This API is licensed for use with Human Resources.
371  *
372  * <p><b>Prerequisites</b><br>
373  * Proposal to be approved must exist with the specified version number. If the
374  * proposal has multiple components, all the components must be approved.
375  *
376  * <p><b>Post Success</b><br>
377  * The specified data will be validated and updated for the specified entity
378  * without being committed (or rollbacked, depending on the status of
379  * p_validate).
380  *
381  * <p><b>Post Failure</b><br>
382  * If an error has occurred, an error message will be supplied with the work
383  * rolled back. The error will NOT be raised, but the error text will be passed
384  * out. Developer Implementation Note: you call this from forms (PERPIPYP).
385  * @param p_pay_proposal_id The pay_proposal_id of the proposal to be updated.
386  * @param p_change_date The date on which the proposal takes effect.
387  * @param p_proposed_salary_n The proposed salary.
388  * @param p_object_version_number Pass in the current version number of the
389  * salary proposal to be updated. When the API completes if p_validate is
390  * false, will be set to the new version number of the updated proposal. If
391  * p_validate is true will be set to the same value which was passed in. If
392  * p_pay_proposal_id is null and p_validate is false, then set to the version
393  * number of the newly created salary proposal and if p_validate is true, then
394  * the value will be null.
395  * @param p_validate If true, then validation alone will be performed and the
396  * database will remain unchanged. If false and all validation checks pass,
397  * then the database will be modified.
398  * @param p_inv_next_sal_date_warning If set to true, the salary date specified
399  * is invalid.
400  * @param p_proposed_salary_warning If set to true, the proposed salary is not
401  * within the range specified by the assignment's grade rate.
402  * @param p_approved_warning If set to true, there were errors during the
403  * approval process.
404  * @param p_payroll_warning If set to true, the person's payroll is invalid.
405  * @param p_error_text Error text explaining the error encountered while
406  * approving the proposal.
407  * @rep:displayname Approve Salary Proposal
408  * @rep:category BUSINESS_ENTITY PER_SALARY_PROPOSAL
409  * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
410  * @rep:scope public
411  * @rep:lifecycle active
412  * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
413 */
414 --
415 -- {End Of Comments}
416 --
417 Procedure approve_salary_proposal(
418   p_pay_proposal_id              in number,
419   p_change_date                  in date             default hr_api.g_date,
420   p_proposed_salary_n            in number           default hr_api.g_number,
421   p_object_version_number        in out nocopy number,
422   p_validate                     in boolean          default false,
423   p_inv_next_sal_date_warning    out nocopy boolean,
424   p_proposed_salary_warning	 out nocopy boolean,
425   p_approved_warning	         out nocopy boolean,
426   p_payroll_warning              out nocopy boolean,
427   p_error_text                   out nocopy varchar2);
428 --
429 -- ----------------------------------------------------------------------------
430 -- |--------------------------< delete_salary_proposal >----------------------|
431 -- ----------------------------------------------------------------------------
432 --
433 -- {Start Of Comments}
434 /*#
435  * This API deletes a salary proposal.
436  *
437  * This API deletes an entire salary proposal, including it's components. It is
438  * necessary to code this separately, because you cannot delete the components
439  * of an approved salary. After deleting all of the components the process
440  * deletes the associated element, using the appropriate date track mode. It
441  * then deletes the actual proposal.
442  *
443  * <p><b>Licensing</b><br>
444  * This API is licensed for use with Human Resources.
445  *
446  * <p><b>Prerequisites</b><br>
447  * The proposal to be deleted must exist with the specified object version
448  * number.
449  *
450  * <p><b>Post Success</b><br>
451  * The specified row will be validated and deleted for the specified entity
452  * without being committed (or rollbacked depending on the p_validate status).
453  *
454  * <p><b>Post Failure</b><br>
455  * If an error has occurred, an error message will be supplied with the work
456  * rolled back. Developer Implementation Notes: you call this from forms. You
457  * must remove the standard ON-CHECK-MASTER-DELETE code to allow this
461  * deleted.
458  * (non-standard) behaviour.
459  * @param p_pay_proposal_id The pay_proposal_id of the proposal to be deleted.
460  * @param p_business_group_id The business_group_id of the proposal to be
462  * @param p_object_version_number The current version number of the salary
463  * proposal to be deleted.
464  * @param p_validate If true, then validation alone will be performed and the
465  * database will remain unchanged. If false and all validation checks pass,
466  * then the database will be modified.
467  * @param p_salary_warning If set to true, an error occurred while deleting the
468  * proposal.
469  * @rep:displayname Delete Salary Proposal
470  * @rep:category BUSINESS_ENTITY PER_SALARY_PROPOSAL
471  * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
472  * @rep:scope public
473  * @rep:lifecycle active
474  * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
475 */
476 --
477 -- {End Of Comments}
478 --
479 Procedure delete_salary_proposal(p_pay_proposal_id       in number
480                                 ,p_business_group_id     in number
481                                 ,p_object_version_number in number
482                                 ,p_validate              in boolean default false
483                                 ,p_salary_warning        out nocopy boolean);
484 --
485 -- ----------------------------------------------------------------------------
486 -- |------------------------< insert_proposal_component >---------------------|
487 -- ----------------------------------------------------------------------------
488 --
489 -- {Start Of Comments}
490 /*#
491  * This API inserts a Salary Proposal component.
492  *
493  * The process inserts a component of a pay proposal in the
494  * per_pay_proposal_components table.
495  *
496  * <p><b>Licensing</b><br>
497  * This API is licensed for use with Human Resources.
498  *
499  * <p><b>Prerequisites</b><br>
500  * A valid proposal must exist with MULTIPLE_COMPONENTS set to Y and it must
501  * have a status of unapproved.
502  *
503  * <p><b>Post Success</b><br>
504  * The specified data will be validated and inserted for the specified entity
505  * without being committed (or rollbacked, depending on the status of
506  * p_validate).
507  *
508  * <p><b>Post Failure</b><br>
509  * If an error has occurred, an error message will be supplied with the work
510  * rolled back. Developer Implementation Notes: you call this from forms.
511  * @param p_component_id A sequential, process-generated primary key value.
512  * @param p_pay_proposal_id The pay proposal id associated with the component.
513  * References PER_PAY_PROPOSALS.
514  * @param p_business_group_id Uniquely identifies the business group of the
515  * person associated with the proposal component. References
516  * HR_ALL_ORGANIZATION_UNITS.
517  * @param p_approved Flag specifying if the proposal is approved. Valid values
518  * are 'Y' or 'N'.
519  * @param p_component_reason The reason for the proposal component. Valid
520  * values are defined by lookup type 'PROPOSAL_REASON'.
521  * @param p_change_amount_n The amount associated with the change.
522  * @param p_change_percentage change as a percentage of the previous salary
523  * @param p_comments Comment text.
524  * @param p_attribute_category This context value determines which flexfield
525  * structure to use with the descriptive flexfield segments.
526  * @param p_attribute1 Descriptive flexfield segment.
527  * @param p_attribute2 Descriptive flexfield segment.
528  * @param p_attribute3 Descriptive flexfield segment.
529  * @param p_attribute4 Descriptive flexfield segment.
530  * @param p_attribute5 Descriptive flexfield segment.
531  * @param p_attribute6 Descriptive flexfield segment.
532  * @param p_attribute7 Descriptive flexfield segment.
533  * @param p_attribute8 Descriptive flexfield segment.
534  * @param p_attribute9 Descriptive flexfield segment.
535  * @param p_attribute10 Descriptive flexfield segment.
536  * @param p_attribute11 Descriptive flexfield segment.
537  * @param p_attribute12 Descriptive flexfield segment.
538  * @param p_attribute13 Descriptive flexfield segment.
539  * @param p_attribute14 Descriptive flexfield segment.
540  * @param p_attribute15 Descriptive flexfield segment.
541  * @param p_attribute16 Descriptive flexfield segment.
542  * @param p_attribute17 Descriptive flexfield segment.
543  * @param p_attribute18 Descriptive flexfield segment.
544  * @param p_attribute19 Descriptive flexfield segment.
545  * @param p_attribute20 Descriptive flexfield segment.
546  * @param p_validation_strength Specifies how strong the validation should be.
547  * Should always be set to STRONG, unless called from the insert component API,
548  * which is trying to insert a component into a proposal which is about to be
549  * changed. In this case it should be set to WEAK, and the process ignores
550  * conditions specifying you cannot insert components for an approved proposal,
551  * or insert components for a proposal with multiple components set to 'N'.
552  * @param p_object_version_number If p_validate is false, then set to the
553  * version number of the created component. If p_validate is true, then the
554  * value will be null.
555  * @param p_validate If true, then validation alone will be performed and the
556  * database will remain unchanged. If false and all validation checks pass,
557  * then the database will be modified.
558  * @rep:displayname Insert Proposal Component
559  * @rep:category BUSINESS_ENTITY PER_SALARY_PROPOSAL
560  * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
561  * @rep:scope public
562  * @rep:lifecycle active
563  * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
564 */
565 --
566 -- {End Of Comments}
567 --
568 Procedure insert_proposal_component(
569   p_component_id                 out nocopy number,
570   p_pay_proposal_id              in number,
571   p_business_group_id            in number,
572   p_approved                     in varchar2,
576   p_comments                     in varchar2         default null,
573   p_component_reason             in varchar2,
574   p_change_amount_n              in number           default null,
575   p_change_percentage            in number           default null,
577   p_attribute_category           in varchar2         default null,
578   p_attribute1                   in varchar2         default null,
579   p_attribute2                   in varchar2         default null,
580   p_attribute3                   in varchar2         default null,
581   p_attribute4                   in varchar2         default null,
582   p_attribute5                   in varchar2         default null,
583   p_attribute6                   in varchar2         default null,
584   p_attribute7                   in varchar2         default null,
585   p_attribute8                   in varchar2         default null,
586   p_attribute9                   in varchar2         default null,
587   p_attribute10                  in varchar2         default null,
588   p_attribute11                  in varchar2         default null,
589   p_attribute12                  in varchar2         default null,
590   p_attribute13                  in varchar2         default null,
591   p_attribute14                  in varchar2         default null,
592   p_attribute15                  in varchar2         default null,
593   p_attribute16                  in varchar2         default null,
594   p_attribute17                  in varchar2         default null,
595   p_attribute18                  in varchar2         default null,
596   p_attribute19                  in varchar2         default null,
597   p_attribute20                  in varchar2         default null,
598   p_validation_strength          in varchar2         default 'STRONG',
599   p_object_version_number        out nocopy number,
600   p_validate                     in boolean   default false);
601 --
602 -- ----------------------------------------------------------------------------
603 -- |------------------------< update_proposal_component >---------------------|
604 -- ----------------------------------------------------------------------------
605 --
606 -- {Start Of Comments}
607 /*#
608  * This API updates a proposal component.
609  *
610  * The process updates a component of a pay proposal in the table
611  * per_pay_proposal_components.
612  *
613  * <p><b>Licensing</b><br>
614  * This API is licensed for use with Human Resources.
615  *
616  * <p><b>Prerequisites</b><br>
617  * A valid proposal must exist with MULTIPLE_COMPONENTS set to Y and it must
618  * have a status of unapproved
619  *
620  * <p><b>Post Success</b><br>
621  * The specified data will be validated and inserted for the specified entity
622  * without being committed (or rollbacked depending on the status of
623  * p_validate).
624  *
625  * <p><b>Post Failure</b><br>
626  * If an error has occurred, an error message will be supplied with the work
627  * rolled back. Developer Implementation Notes: you call this from forms.
628  * @param p_component_id The component_id of the created component.
629  * @param p_approved Flag specifying if the proposal is approved. Valid values
630  * are 'Y' or 'N'.
631  * @param p_component_reason The reason for the proposal component. Valid
632  * values are defined by lookup type 'PROPOSAL_REASON'.
633  * @param p_change_amount_n The amount associated with the change.
634  * @param p_change_percentage The change amount as a percentage of the previous
635  * salary.
636  * @param p_comments Comment text.
637  * @param p_attribute_category This context value determines which flexfield
638  * structure to use with the descriptive flexfield segments.
639  * @param p_attribute1 Descriptive flexfield segment.
640  * @param p_attribute2 Descriptive flexfield segment.
641  * @param p_attribute3 Descriptive flexfield segment.
642  * @param p_attribute4 Descriptive flexfield segment.
643  * @param p_attribute5 Descriptive flexfield segment.
644  * @param p_attribute6 Descriptive flexfield segment.
645  * @param p_attribute7 Descriptive flexfield segment.
646  * @param p_attribute8 Descriptive flexfield segment.
647  * @param p_attribute9 Descriptive flexfield segment.
648  * @param p_attribute10 Descriptive flexfield segment.
649  * @param p_attribute11 Descriptive flexfield segment.
650  * @param p_attribute12 Descriptive flexfield segment.
651  * @param p_attribute13 Descriptive flexfield segment.
652  * @param p_attribute14 Descriptive flexfield segment.
653  * @param p_attribute15 Descriptive flexfield segment.
654  * @param p_attribute16 Descriptive flexfield segment.
655  * @param p_attribute17 Descriptive flexfield segment.
656  * @param p_attribute18 Descriptive flexfield segment.
657  * @param p_attribute19 Descriptive flexfield segment.
658  * @param p_attribute20 Descriptive flexfield segment.
659  * @param p_validation_strength Specifies how strong the validation should be.
660  * Should always be set to STRONG, unless called from the update component API,
661  * which is trying to update a component into a proposal which is about to
662  * change. In this case it should be set to WEAK, and the process ignores
663  * conditions specifying you cannot update components for an approved proposal,
664  * or update components for a proposal with multiple components set to 'N'.
665  * @param p_object_version_number Pass in the current version number of the
666  * component to be updated. When the API completes if p_validate is false, will
667  * be set to the new version number of the updated component. If p_validate is
668  * true will be set to the same value which was passed in.
669  * @param p_validate If true, then validation alone will be performed and the
670  * database will remain unchanged. If false and all validation checks pass,
671  * then the database will be modified.
672  * @rep:displayname Update Proposal Component
676  * @rep:lifecycle active
673  * @rep:category BUSINESS_ENTITY PER_SALARY_PROPOSAL
674  * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
675  * @rep:scope public
677  * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
678 */
679 --
680 -- {End Of Comments}
681 --
682 procedure update_proposal_component(
683   p_component_id                 in number,
684   p_approved                     in varchar2         default hr_api.g_varchar2,
685   p_component_reason             in varchar2         default hr_api.g_varchar2,
686   p_change_amount_n              in number           default hr_api.g_number,
687   p_change_percentage            in number           default hr_api.g_number,
688   p_comments                     in varchar2         default hr_api.g_varchar2,
689   p_attribute_category           in varchar2         default hr_api.g_varchar2,
690   p_attribute1                   in varchar2         default hr_api.g_varchar2,
691   p_attribute2                   in varchar2         default hr_api.g_varchar2,
692   p_attribute3                   in varchar2         default hr_api.g_varchar2,
693   p_attribute4                   in varchar2         default hr_api.g_varchar2,
694   p_attribute5                   in varchar2         default hr_api.g_varchar2,
695   p_attribute6                   in varchar2         default hr_api.g_varchar2,
696   p_attribute7                   in varchar2         default hr_api.g_varchar2,
697   p_attribute8                   in varchar2         default hr_api.g_varchar2,
698   p_attribute9                   in varchar2         default hr_api.g_varchar2,
699   p_attribute10                  in varchar2         default hr_api.g_varchar2,
700   p_attribute11                  in varchar2         default hr_api.g_varchar2,
701   p_attribute12                  in varchar2         default hr_api.g_varchar2,
702   p_attribute13                  in varchar2         default hr_api.g_varchar2,
703   p_attribute14                  in varchar2         default hr_api.g_varchar2,
704   p_attribute15                  in varchar2         default hr_api.g_varchar2,
705   p_attribute16                  in varchar2         default hr_api.g_varchar2,
706   p_attribute17                  in varchar2         default hr_api.g_varchar2,
707   p_attribute18                  in varchar2         default hr_api.g_varchar2,
708   p_attribute19                  in varchar2         default hr_api.g_varchar2,
709   p_attribute20                  in varchar2         default hr_api.g_varchar2,
710   p_validation_strength          in varchar2         default 'STRONG',
711   p_object_version_number        in out nocopy number,
712   p_validate                     in boolean          default false
713   );
714 --
715 -- ----------------------------------------------------------------------------
716 -- |------------------------< delete_proposal_component >---------------------|
717 -- ----------------------------------------------------------------------------
718 --
719 -- {Start Of Comments}
720 /*#
721  * This API deletes a salary proposal component.
722  *
723  * This procedure deletes a salary proposal component without checking if the
724  * proposal is approved, so you can delete an entire proposal.
725  *
726  * <p><b>Licensing</b><br>
727  * This API is licensed for use with Human Resources.
728  *
729  * <p><b>Prerequisites</b><br>
733  * The specified row will be fully validated and deleted for the specified
730  * The specified Salary Component must exist with the specified version number.
731  *
732  * <p><b>Post Success</b><br>
734  * entity without being committed (or rollbacked depending on the status of
735  * p_validate).
736  *
737  * <p><b>Post Failure</b><br>
738  * If an error has occurred, an error message will be supplied with the work
739  * rolled back. Developer Implementation Notes: This is intended for forms use
740  * only.
741  * @param p_component_id Uniquely identifies the component to delete.
742  * @param p_validation_strength Set this value to specify that the process can
743  * delete the components of an approved proposal. This enables you to delete an
744  * entire approved proposal.
745  * @param p_object_version_number Current version number of the salary
746  * component to be deleted.
747  * @param p_validate If true, then validation alone will be performed and the
748  * database will remain unchanged. If false and all validation checks pass,
749  * then the database will be modified.
750  * @rep:displayname Delete Proposal Component
751  * @rep:category BUSINESS_ENTITY PER_SALARY_PROPOSAL
752  * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
753  * @rep:scope public
754  * @rep:lifecycle active
755  * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
756 */
757 --
758 -- {End Of Comments}
759 --
760 Procedure delete_proposal_component(
761   p_component_id                       in number,
762   p_validation_strength                in varchar2 default 'STRONG',
763   p_object_version_number              in number,
764   p_validate                           in boolean default false);
765 --
766 -- ----------------------------------------------------------------------------
767 -- |------------------------< cre_or_upd_salary_proposal >--------------------|
768 -- ----------------------------------------------------------------------------
769 --
770 -- {Start Of Comments}
771 /*#
772  * This API creates or updates a Salary Proposal.
773  *
774  * The API creates a new proposal if you pass no proposal id. Otherwise, it
775  * updates the associated salary proposal with the details you specify.
776  *
777  * <p><b>Licensing</b><br>
778  * This API is licensed for use with Human Resources.
779  *
780  * <p><b>Prerequisites</b><br>
781  * The assignment for which the salary proposal is created must exist as of the
782  * effective date, and have a salary basis defined.
783  *
784  * <p><b>Post Success</b><br>
785  * The specified data will be validated and updated for the specified entity
786  * without being committed (or rollbacked depending on the p_validate status).
787  *
788  * <p><b>Post Failure</b><br>
789  * If an error has occurred, an error message will be supplied with the work
790  * rolled back. Developer Implementation Notes: you call this from forms.
791  * @param p_validate If true, then validation alone will be performed and the
792  * database will remain unchanged. If false and all validation checks pass,
793  * then the database will be modified.
794  * @param p_pay_proposal_id Uniquely identifies the pay proposal to update.
795  * @param p_object_version_number Pass in the current version number of the
796  * Proposal to be updated, otherwise pass null. When the API completes if
797  * p_validate is false, will be set to the new version number of the updated
798  * proposal. If p_validate is true will be set to the same value which was
799  * passed in.
800  * @param p_business_group_id Uniquely identifies the business_group associated
801  * with the salary proposal. References HR_ALL_ORGANIZATION_UNITS.
802  * @param p_assignment_id Uniquely identifies the assignment for which you
803  * create the salary proposal record.
804  * @param p_change_date The date on which the proposal takes effect.
805  * @param p_comments Comment text.
806  * @param p_next_sal_review_date The date of the next salary review.
807  * @param p_proposal_reason The reason for the proposal. Valid values are
808  * identified by the lookup "PROPOSAL_REASON".
809  * @param p_proposed_salary_n The proposed salary.
810  * @param p_forced_ranking The employee's ranking.
811  * @param p_date_to The end date of salary proposal.
812  * @param p_performance_review_id The performance_review_id of the performance
813  * review associated with this salary proposal.
814  * @param p_attribute_category This context value determines which flexfield
815  * structure to use with the descriptive flexfield segments.
816  * @param p_attribute1 Descriptive flexfield segment.
817  * @param p_attribute2 Descriptive flexfield segment.
818  * @param p_attribute3 Descriptive flexfield segment.
819  * @param p_attribute4 Descriptive flexfield segment.
820  * @param p_attribute5 Descriptive flexfield segment.
821  * @param p_attribute6 Descriptive flexfield segment.
822  * @param p_attribute7 Descriptive flexfield segment.
823  * @param p_attribute8 Descriptive flexfield segment.
824  * @param p_attribute9 Descriptive flexfield segment.
825  * @param p_attribute10 Descriptive flexfield segment.
826  * @param p_attribute11 Descriptive flexfield segment.
827  * @param p_attribute12 Descriptive flexfield segment.
828  * @param p_attribute13 Descriptive flexfield segment.
829  * @param p_attribute14 Descriptive flexfield segment.
830  * @param p_attribute15 Descriptive flexfield segment.
831  * @param p_attribute16 Descriptive flexfield segment.
832  * @param p_attribute17 Descriptive flexfield segment.
833  * @param p_attribute18 Descriptive flexfield segment.
834  * @param p_attribute19 Descriptive flexfield segment.
835  * @param p_attribute20 Descriptive flexfield segment.
836  * @param p_multiple_components Flag specifying if multiple components are
837  * associated with this salary proposal. Valid values are 'Y' or 'N'.
838  * @param p_approved Flag specifying if the proposal is approved. Valid values
839  * are 'Y' or 'N'.
840  * @param p_inv_next_sal_date_warning If set to true, the salary date specified
841  * is invalid.
842  * @param p_proposed_salary_warning If set to true, the proposed salary is not
843  * within the range specified by the assignment's grade rate.
844  * @param p_approved_warning If set to true, there were errors during the
845  * approval process.
846  * @param p_payroll_warning If set to true, the person's payroll is invalid.
847  * @rep:displayname Create or Update a Salary Proposal
848  * @rep:category BUSINESS_ENTITY PER_SALARY_PROPOSAL
849  * @rep:scope public
850  * @rep:lifecycle active
851  * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
852 */
853 --
854 -- {End Of Comments}
855 --
856 procedure cre_or_upd_salary_proposal(
857   p_validate                     in boolean          default false,
858   p_pay_proposal_id              in out nocopy number,
859   p_object_version_number        in out nocopy number,
863   p_comments                     in varchar2         default hr_api.g_varchar2,
860   p_business_group_id            in number           default hr_api.g_number,
861   p_assignment_id                in number           default hr_api.g_number,
862   p_change_date                  in date             default hr_api.g_date,
864   p_next_sal_review_date         in date             default hr_api.g_date,
865   p_proposal_reason              in varchar2         default hr_api.g_varchar2,
866   p_proposed_salary_n            in number           default hr_api.g_number,
867   p_forced_ranking               in number           default hr_api.g_number,
868   p_date_to			 in date	     ,
869   p_performance_review_id        in number           default hr_api.g_number,
870   p_attribute_category           in varchar2         default hr_api.g_varchar2,
871   p_attribute1                   in varchar2         default hr_api.g_varchar2,
872   p_attribute2                   in varchar2         default hr_api.g_varchar2,
873   p_attribute3                   in varchar2         default hr_api.g_varchar2,
874   p_attribute4                   in varchar2         default hr_api.g_varchar2,
875   p_attribute5                   in varchar2         default hr_api.g_varchar2,
876   p_attribute6                   in varchar2         default hr_api.g_varchar2,
877   p_attribute7                   in varchar2         default hr_api.g_varchar2,
878   p_attribute8                   in varchar2         default hr_api.g_varchar2,
879   p_attribute9                   in varchar2         default hr_api.g_varchar2,
880   p_attribute10                  in varchar2         default hr_api.g_varchar2,
881   p_attribute11                  in varchar2         default hr_api.g_varchar2,
882   p_attribute12                  in varchar2         default hr_api.g_varchar2,
883   p_attribute13                  in varchar2         default hr_api.g_varchar2,
884   p_attribute14                  in varchar2         default hr_api.g_varchar2,
885   p_attribute15                  in varchar2         default hr_api.g_varchar2,
886   p_attribute16                  in varchar2         default hr_api.g_varchar2,
887   p_attribute17                  in varchar2         default hr_api.g_varchar2,
888   p_attribute18                  in varchar2         default hr_api.g_varchar2,
889   p_attribute19                  in varchar2         default hr_api.g_varchar2,
890   p_attribute20                  in varchar2         default hr_api.g_varchar2,
891   p_multiple_components          in varchar2         default hr_api.g_varchar2,
892   p_approved                     in varchar2         default hr_api.g_varchar2,
893   p_inv_next_sal_date_warning    out nocopy boolean,
894   p_proposed_salary_warning	 out nocopy boolean,
895   p_approved_warning	         out nocopy boolean,
896   p_payroll_warning	         out nocopy boolean
897 );
898 procedure cre_or_upd_salary_proposal(
899   p_validate                     in boolean          default false,
900   p_pay_proposal_id              in out nocopy number,
901   p_object_version_number        in out nocopy number,
902   p_business_group_id            in number           default hr_api.g_number,
903   p_assignment_id                in number           default hr_api.g_number,
904   p_change_date                  in date             default hr_api.g_date,
905   p_comments                     in varchar2         default hr_api.g_varchar2,
906   p_next_sal_review_date         in date             default hr_api.g_date,
907   p_proposal_reason              in varchar2         default hr_api.g_varchar2,
908   p_proposed_salary_n            in number           default hr_api.g_number,
909   p_forced_ranking               in number           default hr_api.g_number,
910   p_performance_review_id        in number           default hr_api.g_number,
911   p_attribute_category           in varchar2         default hr_api.g_varchar2,
912   p_attribute1                   in varchar2         default hr_api.g_varchar2,
913   p_attribute2                   in varchar2         default hr_api.g_varchar2,
914   p_attribute3                   in varchar2         default hr_api.g_varchar2,
915   p_attribute4                   in varchar2         default hr_api.g_varchar2,
916   p_attribute5                   in varchar2         default hr_api.g_varchar2,
917   p_attribute6                   in varchar2         default hr_api.g_varchar2,
918   p_attribute7                   in varchar2         default hr_api.g_varchar2,
919   p_attribute8                   in varchar2         default hr_api.g_varchar2,
920   p_attribute9                   in varchar2         default hr_api.g_varchar2,
921   p_attribute10                  in varchar2         default hr_api.g_varchar2,
922   p_attribute11                  in varchar2         default hr_api.g_varchar2,
923   p_attribute12                  in varchar2         default hr_api.g_varchar2,
924   p_attribute13                  in varchar2         default hr_api.g_varchar2,
925   p_attribute14                  in varchar2         default hr_api.g_varchar2,
926   p_attribute15                  in varchar2         default hr_api.g_varchar2,
927   p_attribute16                  in varchar2         default hr_api.g_varchar2,
928   p_attribute17                  in varchar2         default hr_api.g_varchar2,
929   p_attribute18                  in varchar2         default hr_api.g_varchar2,
930   p_attribute19                  in varchar2         default hr_api.g_varchar2,
931   p_attribute20                  in varchar2         default hr_api.g_varchar2,
932   p_multiple_components          in varchar2         default hr_api.g_varchar2,
933   p_approved                     in varchar2         default hr_api.g_varchar2,
934   p_inv_next_sal_date_warning    out nocopy boolean,
935   p_proposed_salary_warning	 out nocopy boolean,
936   p_approved_warning	         out nocopy boolean,
937   p_payroll_warning	         out nocopy boolean
938 );
939 --
940 --
941 -------------------------------------------------------------------------------
942 -- |----------------------< delete_salary_history >---------------------------|
943 -------------------------------------------------------------------------------
944 -- {Start Of Comments}
945 --
946 -- Description:
947 --  Procedure to delete salary proposals and components
948 --  of an assignment before a given date.
949 --
950 -- Prerequisites:
951 --  None
952 --
953 -- In Parameters:
954 --   Name                           Reqd Type     Description
955 --   p_assignment_id                Yes  Number   business_group_id or null
956 --   p_date                         Yes  Date     organization_id or null
957 --
958 -- Post Success:
959 --   Deletes salary proposals and components but not element entries
960 --   of the assignment before a given date
961 --
962 -- Post Failure:
963 --
964 -- Access Status:
965 --   Internal Development Use Only.
966 --
967 -- {End Of Comments}
968 --
969 Procedure delete_salary_history( p_assignment_id      in number
970                                 ,p_date               in date);
971 
972 --
973 end hr_maintain_proposal_api;