DBA Data[Home] [Help]

PACKAGE: APPS.HR_UPLOAD_PROPOSAL_API

Source


1 Package hr_upload_proposal_api AUTHID CURRENT_USER as
5  * @rep:scope public
2 /* $Header: hrpypapi.pkh 120.13 2008/12/05 14:33:22 vkodedal ship $ */
3 /*#
4  * This package contains APIs to create and maintain salary proposals.
6  * @rep:product per
7  * @rep:displayname Upload Proposal API
8 */
9 --
10 -- ----------------------------------------------------------------------------
11 -- |--------------------------< upload_salary_proposal >----------------------|
12 -- ----------------------------------------------------------------------------
13 --
14 -- {Start Of Comments}
15 /*#
16  * This API creates or updates a salary proposal record in the table
17  * PER_PAY_PROPOSALS.
18  *
19  * This API inserts, updates, or deletes salary proposal records in the table
20  * PER_PAY_PROPOSAL_ COMPONENTS, depending on the values of the input
21  * parameters. The API allows the user to insert up to ten components for a
22  * salary proposal. If a salary proposal has more than ten components, then the
23  * process calculates PROPOSED_SALARY by summing the first ten components plus
24  * any_others, and places the result in the table per_pay_proposals. With the
25  * first salary proposal the API creates, the process sets the approved flag in
26  * the table PER_PAY_PROPOSALS to 'Y'. With the first salary proposal the
27  * process creates, or when you have set none of the components attributes, the
28  * process sets the MULTIPLE_COMPONENTS flag of the called API
29  * insert_salary_proposal to 'N'. Otherwise it sets the MULTIPLE_COMPONENTS
30  * flag to 'Y'. Note: The CHANGE_AMOUNT and CHANGE_PERCENTAGE fields in the
31  * table PER_PAY_PROPOSAL_COMPONENTS are interrelated. If you provide the value
32  * of one of these attributes, then the the process calculates the value of the
33  * other. If If you provide the value of both attributes, then the process
34  * recalculates the value of CHANGE_PERCENTAGE based on the value of
35  * CHANGE_AMOUNT. If existing values for CHANGE_PERCENTAGE and CHANGE_AMOUNT
36  * become null, then the api deletes the existing record.
37  *
38  * <p><b>Licensing</b><br>
39  * This API is licensed for use with Human Resources.
40  *
41  * <p><b>Prerequisites</b><br>
42  * The Assignment must exist on the change date of the proposal.
43  *
44  * <p><b>Post Success</b><br>
45  * The process updates the existing salary proposal record when the
46  * p_pay_proposal_id and p_object_version_number parameters passed in are not
47  * null, and one of the attributes has changed; otherwise the process creates a
48  * new salary proposal (if p_change_date is not null). The process creates a
49  * new component record when the p_component_id and p_ppc_object_version_number
50  * parameters passed in are null, and the p_change_amount or
51  * p_change_percentage parameters for that component is not null. The process
52  * updates a component record if the p_component_id and p_ppc_object_
53  * version_numbers are not null, and the p_component_reason or p_change _amount
54  * or p_change_percentage has changed.
55  *
56  * <p><b>Post Failure</b><br>
57  * The API does not create the proposal,or components and raises an error.
58  * @param p_validate If true, then validation alone will be performed and the
59  * database will remain unchanged. If false and all validation checks pass,
60  * then the database will be modified.
61  * @param p_change_date Effective start date of the salary proposal.
62  * @param p_business_group_id Employee's business_group_id
63  * @param p_assignment_id Uniquely identifies the assignment for which the
64  * salary proposal is created.
65  * @param p_proposed_salary The proposed salary.
66  * @param p_proposal_reason The proposal reason. Valid values are defined by
67  * lookup type 'PROPOSAL_REASON'.
68  * @param p_next_sal_review_date Next salary review date.
69  * @param p_forced_ranking The person's ranking
70  * @param p_date_to The end date of salary proposal.
71  * @param p_pay_proposal_id Identifies the salary proposal to be updated (not
72  * required for creating a new salary proposal). If this API is called to
73  * create a new salary proposal, this uniquely identifies the newly created
74  * salary proposal.
75  * @param p_object_version_number Pass in the current version number of the
76  * salary proposal to be updated. When the API completes if p_validate is
77  * false, will be set to the new version number of the updated proposal. If
78  * p_validate is true will be set to the same value which was passed in. If
79  * p_pay_proposal_id is null and p_validate is false, then set to the version
80  * number of the newly created salary proposal and if p_validate is true, then
81  * the value will be null.
82  * @param p_component_reason_1 The component reason for the first component.
83  * Valid values are defined by lookup type 'PROPOSAL_REASON'.
84  * @param p_change_amount_1 The salary change amount for the first component.
85  * @param p_change_percentage_1 The salary change percentage for the first
86  * component.
87  * @param p_approved_1 The approved flag for the component. It is set to 'Y' if
88  * the component is approved and 'N' otherwise.
89  * @param p_component_id_1 Identifies the first component. This is required
90  * when updating and not required on insert.
91  * @param p_ppc_object_version_number_1 Pass in the current version number of
92  * the first component to be updated. When the API completes if p_validate is
93  * false, will be set to the new version number of the updated component. If
94  * p_validate is true will be set to the same value which was passed in.
95  * @param p_component_reason_2 The component reason for the second component.
96  * Valid values are defined by lookup type 'PROPOSAL_REASON'.
97  * @param p_change_amount_2 The salary change amount for the second component.
98  * @param p_change_percentage_2 The salary change percentage for the second
99  * component.
100  * @param p_approved_2 The approved flag for the component. It is set to 'Y' if
101  * the component is approved and 'N' otherwise.
102  * @param p_component_id_2 Identifies the second component. This is required
106  * false, will be set to the new version number of the updated second
103  * when updating and not required on insert.
104  * @param p_ppc_object_version_number_2 Pass in the current version number of
105  * the second component to be updated. When the API completes if p_validate is
107  * component. If p_validate is true will be set to the same value which was
108  * passed in.
109  * @param p_component_reason_3 The component reason for the third component.
110  * Valid values are defined by lookup type 'PROPOSAL_REASON'.
111  * @param p_change_amount_3 The salary change amount for the third component.
112  * @param p_change_percentage_3 The salary change percentage for the third
113  * component.
114  * @param p_approved_3 The approved flag for the component. It is set to 'Y' if
115  * the component is approved and 'N' otherwise.
116  * @param p_component_id_3 Identifies the third component. This is required
117  * when updating and not required on insert.
118  * @param p_ppc_object_version_number_3 Pass in the current version number of
119  * the third component to be updated. When the API completes if p_validate is
120  * false, will be set to the new version number of the updated third component.
121  * If p_validate is true will be set to the same value which was passed in.
122  * @param p_component_reason_4 The component reason for the 4th component.
123  * Valid values are defined by lookup type 'PROPOSAL_REASON'.
124  * @param p_change_amount_4 The salary change amount for the 4th component.
125  * @param p_change_percentage_4 The salary change percentage for the 4th
126  * component.
127  * @param p_approved_4 The approved flag for the component. It is set to 'Y' if
128  * the component is approved and 'N' otherwise.
129  * @param p_component_id_4 Identifies the 4th component. This is required when
130  * updating and not required on insert.
131  * @param p_ppc_object_version_number_4 Pass in the current version number of
132  * the 4th component to be updated. When the API completes if p_validate is
133  * false, will be set to the new version number of the updated 4th component.
134  * If p_validate is true will be set to the same value which was passed in.
135  * @param p_component_reason_5 The component reason for the 5th component.
136  * Valid values are defined by lookup type 'PROPOSAL_REASON'.
137  * @param p_change_amount_5 The salary change amount for the 5th component.
138  * @param p_change_percentage_5 The salary change percentage for the 5th
139  * component.
140  * @param p_approved_5 The approved flag for the component. It is set to 'Y' if
141  * the component is approved and 'N' otherwise.
142  * @param p_component_id_5 Identifies the 5th component. This is required when
143  * updating and not required on insert.
144  * @param p_ppc_object_version_number_5 Pass in the current version number of
145  * the 5th component to be updated. When the API completes if p_validate is
146  * false, will be set to the new version number of the updated 5th component.
147  * If p_validate is true will be set to the same value which was passed in.
148  * @param p_component_reason_6 The component reason for the 6th component.
149  * Valid values are defined by lookup type 'PROPOSAL_REASON'.
150  * @param p_change_amount_6 The salary change amount for the 6th component.
151  * @param p_change_percentage_6 The salary change percentage for the 6th
152  * component.
153  * @param p_approved_6 The approved flag for the 6th component. It is set to
154  * 'Y' if the component is approved and 'N' otherwise.
155  * @param p_component_id_6 Identifies the 6th component. This is required when
156  * updating and not required on insert.
157  * @param p_ppc_object_version_number_6 Pass in the current version number of
158  * the 6th component to be updated. When the API completes if p_validate is
159  * false, will be set to the new version number of the updated 6th component.
160  * If p_validate is true will be set to the same value which was passed in.
161  * @param p_component_reason_7 The component reason for the 7th component.
162  * Valid values are defined by lookup type 'PROPOSAL_REASON'.
163  * @param p_change_amount_7 The salary change amount for the 7th component.
164  * @param p_change_percentage_7 The salary change percentage for the 7th
165  * component.
166  * @param p_approved_7 The approved flag for the component. It is set to 'Y' if
167  * the component is approved and 'N' otherwise.
168  * @param p_component_id_7 Identifies the 7th component. This is required when
169  * updating and not required on insert.
170  * @param p_ppc_object_version_number_7 Pass in the current version number of
171  * the 7th component to be updated. When the API completes if p_validate is
172  * false, will be set to the new version number of the updated 7th component.
173  * If p_validate is true will be set to the same value which was passed in.
174  * @param p_component_reason_8 The component reason for the 8th component.
175  * Valid values are defined by lookup type 'PROPOSAL_REASON'.
176  * @param p_change_amount_8 The salary change amount for the 8th component.
177  * @param p_change_percentage_8 The salary change percentage for the 8th
178  * component.
179  * @param p_approved_8 The approved flag for the component. It is set to 'Y' if
180  * the component is approved and 'N' otherwise.
181  * @param p_component_id_8 Identifies the 8th component. This is required when
182  * updating and not required on insert.
183  * @param p_ppc_object_version_number_8 Pass in the current version number of
184  * the 8th component to be updated. When the API completes if p_validate is
185  * false, will be set to the new version number of the updated 8th component.
186  * If p_validate is true will be set to the same value which was passed in.
187  * @param p_component_reason_9 The component reason for the 9th component.
188  * Valid values are defined by lookup type 'PROPOSAL_REASON'.
189  * @param p_change_amount_9 The salary change amount for the 9th component.
190  * @param p_change_percentage_9 The salary change percentage for the 9th
191  * component.
192  * @param p_approved_9 The approved flag for the component. It is set to 'Y' if
196  * @param p_ppc_object_version_number_9 Pass in the current version number of
193  * the component is approved and 'N' otherwise.
194  * @param p_component_id_9 Identifies the 9th component. This is required when
195  * updating and not required on insert.
197  * the 9th component to be updated. When the API completes if p_validate is
198  * false, will be set to the new version number of the updated 9th component.
199  * If p_validate is true will be set to the same value which was passed in.
200  * @param p_component_reason_10 The component reason for the 10th component.
201  * Valid values are defined by lookup type 'PROPOSAL_REASON'.
202  * @param p_change_amount_10 The salary change amount for the 10th component.
203  * @param p_change_percentage_10 The salary change percentage for the 10th
204  * component.
205  * @param p_approved_10 The approved flag for the component. It is set to 'Y'
206  * if the component is approved and 'N' otherwise.
207  * @param p_component_id_10 Identifies the 10th component. This is required
208  * when updating and not required on insert.
209  * @param p_ppc_object_version_number_10 Pass in the current version number of
210  * the 10th component to be updated. When the API completes if p_validate is
211  * false, will be set to the new version number of the updated 10th component.
212  * If p_validate is true will be set to the same value which was passed in.
213  * @param p_pyp_proposed_sal_warning If set to true, the proposed salary is not
214  * within the range determined by the assignment's grade rate.
215  * @param p_additional_comp_warning If set to true, the proposed salary has
216  * more than ten components.
217  * @param p_attribute_category This context value determines which flexfield
218  * structure to use with the descriptive flexfield segments.
219  * @param p_attribute1 Descriptive flexfield segment.
220  * @param p_attribute2 Descriptive flexfield segment.
221  * @param p_attribute3 Descriptive flexfield segment.
222  * @param p_attribute4 Descriptive flexfield segment.
223  * @param p_attribute5 Descriptive flexfield segment.
224  * @param p_attribute6 Descriptive flexfield segment.
225  * @param p_attribute7 Descriptive flexfield segment.
226  * @param p_attribute8 Descriptive flexfield segment.
227  * @param p_attribute9 Descriptive flexfield segment.
228  * @param p_attribute10 Descriptive flexfield segment.
229  * @param p_attribute11 Descriptive flexfield segment.
230  * @param p_attribute12 Descriptive flexfield segment.
231  * @param p_attribute13 Descriptive flexfield segment.
232  * @param p_attribute14 Descriptive flexfield segment.
233  * @param p_attribute15 Descriptive flexfield segment.
234  * @param p_attribute16 Descriptive flexfield segment.
235  * @param p_attribute17 Descriptive flexfield segment.
236  * @param p_attribute18 Descriptive flexfield segment.
237  * @param p_attribute19 Descriptive flexfield segment.
238  * @param p_attribute20 Descriptive flexfield segment.
239  * @rep:displayname Upload Salary Proposal
240  * @rep:category BUSINESS_ENTITY PER_SALARY_PROPOSAL
241  * @rep:category MISC_EXTENSIONS HR_DATAPUMP
242  * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
243  * @rep:scope public
244  * @rep:lifecycle active
245  * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
246 */
247 --
248 -- {End Of Comments}
249 --
250 procedure upload_salary_proposal
251   (p_validate                      in     boolean  default false
252   ,p_change_date                   in     date
253   ,p_business_group_id             in     number
254   ,p_assignment_id		   in     number
255   ,p_proposed_salary               in     number   default null
256   ,p_proposal_reason		   in     varchar2 default null
257   ,p_next_sal_review_date          in     date     default hr_api.g_date
258 						-- Bug 1620922
259   ,p_forced_ranking                in     number   default null
260   ,p_date_to			   in     date     default null
261   ,p_pay_proposal_id               in out nocopy number
262   ,p_object_version_number         in out nocopy number
263   --
264   ,p_component_reason_1		   in     varchar2
265   ,p_change_amount_1		   in     number   default null
266   ,p_change_percentage_1	   in     number   default null
267   ,p_approved_1			   in 	  varchar2
268   ,p_component_id_1		   in out nocopy number
269   ,p_ppc_object_version_number_1   in out nocopy number
270   --
271   ,p_component_reason_2		   in     varchar2
272   ,p_change_amount_2		   in     number   default null
273   ,p_change_percentage_2	   in     number   default null
274   ,p_approved_2			   in 	  varchar2
275   ,p_component_id_2		   in out nocopy number
276   ,p_ppc_object_version_number_2   in out nocopy number
277   --
278   ,p_component_reason_3		   in     varchar2
279   ,p_change_amount_3		   in     number   default null
280   ,p_change_percentage_3	   in     number   default null
281   ,p_approved_3			   in 	  varchar2
282   ,p_component_id_3		   in out nocopy number
283   ,p_ppc_object_version_number_3   in out nocopy number
284   --
285   ,p_component_reason_4		   in     varchar2
286   ,p_change_amount_4		   in     number   default null
287   ,p_change_percentage_4	   in     number   default null
288   ,p_approved_4			   in 	  varchar2
289   ,p_component_id_4		   in out nocopy number
290   ,p_ppc_object_version_number_4   in out nocopy number
291   --
292   ,p_component_reason_5		   in     varchar2
293   ,p_change_amount_5		   in     number   default null
294   ,p_change_percentage_5	   in     number   default null
295   ,p_approved_5			   in 	  varchar2
296   ,p_component_id_5		   in out nocopy number
297   ,p_ppc_object_version_number_5   in out nocopy number
298   --
299   ,p_component_reason_6		   in     varchar2
300   ,p_change_amount_6		   in     number   default null
301   ,p_change_percentage_6	   in     number   default null
302   ,p_approved_6			   in 	  varchar2
303   ,p_component_id_6		   in out nocopy number
304   ,p_ppc_object_version_number_6   in out nocopy number
305   --
306   ,p_component_reason_7		   in     varchar2
307   ,p_change_amount_7		   in     number   default null
308   ,p_change_percentage_7	   in     number   default null
309   ,p_approved_7			   in 	  varchar2
310   ,p_component_id_7		   in out nocopy number
311   ,p_ppc_object_version_number_7   in out nocopy number
312   --
313   ,p_component_reason_8		   in     varchar2
314   ,p_change_amount_8		   in     number   default null
315   ,p_change_percentage_8	   in     number   default null
316   ,p_approved_8			   in 	  varchar2
317   ,p_component_id_8		   in out nocopy number
318   ,p_ppc_object_version_number_8   in out nocopy number
319   --
320   ,p_component_reason_9		   in     varchar2
321   ,p_change_amount_9		   in     number   default null
322   ,p_change_percentage_9	   in     number   default null
323   ,p_approved_9			   in 	  varchar2
324   ,p_component_id_9		   in out nocopy number
325   ,p_ppc_object_version_number_9   in out nocopy number
326   --
327   ,p_component_reason_10	   in     varchar2
328   ,p_change_amount_10		   in     number   default null
329   ,p_change_percentage_10	   in     number   default null
330   ,p_approved_10		   in 	  varchar2
331   ,p_component_id_10		   in out nocopy number
332   ,p_ppc_object_version_number_10  in out nocopy number
333   --
334   ,p_pyp_proposed_sal_warning      out nocopy boolean
335   ,p_additional_comp_warning	   out nocopy boolean
336 /* Added for desc flex Web ADI Support */
337   ,p_attribute_category            in varchar2   default null
338   ,p_attribute1                    in varchar2   default null
339   ,p_attribute2                    in varchar2   default null
340   ,p_attribute3                    in varchar2   default null
341   ,p_attribute4                    in varchar2   default null
342   ,p_attribute5                    in varchar2   default null
343   ,p_attribute6                    in varchar2   default null
344   ,p_attribute7                    in varchar2   default null
345   ,p_attribute8                    in varchar2   default null
346   ,p_attribute9                    in varchar2   default null
347   ,p_attribute10                   in varchar2   default null
348   ,p_attribute11                   in varchar2   default null
349   ,p_attribute12                   in varchar2   default null
350   ,p_attribute13                   in varchar2   default null
351   ,p_attribute14                   in varchar2   default null
352   ,p_attribute15                   in varchar2   default null
353   ,p_attribute16                   in varchar2   default null
354   ,p_attribute17                   in varchar2   default null
355   ,p_attribute18                   in varchar2   default null
356   ,p_attribute19                   in varchar2   default null
357   ,p_attribute20                   in varchar2   default null
358   );
359 --
360 end hr_upload_proposal_api;