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;