1 Package hr_accrual_plan_api as
2 /* $Header: hrpapapi.pkh 120.1.12010000.1 2008/07/28 03:37:27 appldev ship $ */
3 /*#
4 * This package contains accrual plan APIs.
5 * @rep:scope public
6 * @rep:product per
7 * @rep:displayname Accrual Plan
8 */
9 --
10 -- ----------------------------------------------------------------------------
11 -- |---------------------------< create_accrual_plan >------------------------|
12 -- ----------------------------------------------------------------------------
13 --
14 -- {Start Of Comments}
15 /*#
16 * This API creates an accrual plan and tracks employee paid time-off
17 * entitlements.
18 *
19 * Use this API to create an accrual plan and accrual plan elements. Accrual
20 * plans define the paid time-off entitlement criteria used to calculate
21 * accruals for each employee enrolled in the plan. You enroll employees in the
22 * plan by giving them the accrual plan element.
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 * An absence type, linked to an absence element, must have already been
29 * created. It is recommended that the absence element is linked otherwise
30 * element links will not automatically be created for the system-generated
31 * accrual plan elements.
32 *
33 * <p><b>Post Success</b><br>
34 * The accrual plan, default net calculation rules, accrual plan elements and,
35 * where applicable, element links, payroll balances and formula result rules
36 * will have been created.
37 *
38 * <p><b>Post Failure</b><br>
39 * The accrual plan will not be created and an error will be raised.
40 * @param p_validate If true, then validation alone will be performed and the
41 * database will remain unchanged. If false and all validation checks pass,
42 * then the database will be modified.
43 * @param p_effective_date Reference date for validating lookup values are
44 * applicable during the start to end active date range. This date does not
45 * determine when the changes take effect.
46 * @param p_business_group_id The business group of the accrual plan.
47 * @param p_accrual_formula_id The Fast Formula used to calculate accrual
48 * entitlements.
49 * @param p_co_formula_id The Fast Formula used to calculate how much paid time
50 * off should be carried over to the following accrual year.
51 * @param p_pto_input_value_id The input value of the absence element used to
52 * record the number of days or hours absent, and to calculate the accrual plan
53 * net entitlement.
54 * @param p_accrual_plan_name The name of the accrual plan. The name must be
55 * unique within the business group.
56 * @param p_accrual_units_of_measure The unit of measure used to express
57 * accruals. Valid values are defined by the 'HOURS_OR_DAYS' lookup type.
58 * @param p_accrual_category The category to which this accrual plan belongs.
59 * Valid values are defined by the 'US_PTO_ACCRUAL' lookup type.
60 * @param p_accrual_start Defines when an employee actually starts to accrue.
61 * Valid values are defined by the 'US_ACCRUAL_START_TYPE' lookup type.
62 * @param p_ineligible_period_length The length of the ineligibility period.
63 * The unit of measure is defined by the ineligibility period type.
64 * @param p_ineligible_period_type The unit of measure used to express the
65 * ineligibility period. Valid values are defined by the 'PROC_PERIOD_TYPE'
66 * lookup type.
67 * @param p_description The accrual plan's description.
68 * @param p_ineligibility_formula_id The unique identifier of the fast formula
69 * used to calculate paid time-off eligibility when absence records are entered
70 * through Batch Element Entry.
71 * @param p_balance_dimension_id The payroll balance dimension that determines
72 * the date the balance resets when the application stores paid time-off
73 * entitlements in payroll balances.
74 * @param p_information_category This context value determines which flexfield
75 * structure to use with the developer descriptive flexfield segments.
76 * @param p_information1 Developer descriptive flexfield segment.
77 * @param p_information2 Developer descriptive flexfield segment.
78 * @param p_information3 Developer descriptive flexfield segment.
79 * @param p_information4 Developer descriptive flexfield segment.
80 * @param p_information5 Developer descriptive flexfield segment.
81 * @param p_information6 Developer descriptive flexfield segment.
82 * @param p_information7 Developer descriptive flexfield segment.
83 * @param p_information8 Developer descriptive flexfield segment.
84 * @param p_information9 Developer descriptive flexfield segment.
85 * @param p_information10 Developer descriptive flexfield segment.
86 * @param p_information11 Developer descriptive flexfield segment.
87 * @param p_information12 Developer descriptive flexfield segment.
88 * @param p_information13 Developer descriptive flexfield segment.
89 * @param p_information14 Developer descriptive flexfield segment.
90 * @param p_information15 Developer descriptive flexfield segment.
91 * @param p_information16 Developer descriptive flexfield segment.
92 * @param p_information17 Developer descriptive flexfield segment.
93 * @param p_information18 Developer descriptive flexfield segment.
94 * @param p_information19 Developer descriptive flexfield segment.
95 * @param p_information20 Developer descriptive flexfield segment.
96 * @param p_information21 Developer descriptive flexfield segment.
97 * @param p_information22 Developer descriptive flexfield segment.
98 * @param p_information23 Developer descriptive flexfield segment.
99 * @param p_information24 Developer descriptive flexfield segment.
100 * @param p_information25 Developer descriptive flexfield segment.
101 * @param p_information26 Developer descriptive flexfield segment.
102 * @param p_information27 Developer descriptive flexfield segment.
103 * @param p_information28 Developer descriptive flexfield segment.
104 * @param p_information29 Developer descriptive flexfield segment.
105 * @param p_information30 Developer descriptive flexfield segment.
106 * @param p_accrual_plan_id If p_validate is false, then this uniquely
107 * identifies the accrual plan created. If p_validate is true, then the process
108 * returns null.
109 * @param p_accrual_plan_element_type_id If p_validate is false, then this
110 * uniquely identifies the element created to enroll employees on the accrual
111 * plan. If p_validate is true, then the process returns null.
112 * @param p_co_element_type_id If p_validate is false, this uniquely identifies
113 * the element created to store paid time-off entitlements carried over from
114 * one accrual year to the next. If p_validate is true, then the process
115 * returns null.
116 * @param p_co_input_value_id If p_validate is false, this uniquely identifies
117 * the input value used to store carried-over amounts. If p_validate is true,
118 * the process returns null.
119 * @param p_co_date_input_value_id If p_validate is false, this uniquely
120 * identifies the input value used to store the effective date of the amount
121 * carried over. If p_validate is true, then the process returns null.
122 * @param p_co_exp_date_input_value_id If p_validate is false, this uniquely
123 * identifies the input value used to store the expiration date of the amount
124 * carried over. If p_validate is true, the procss returns null.
125 * @param p_residual_element_type_id If p_validate is false, this uniquely
126 * identifies the element created to store the residual amounts (the amount
127 * that exceeds the carry over maximum). If p_validate is true, the process
128 * returns null.
129 * @param p_residual_input_value_id If p_validate is false, this uniquely
130 * identifies the input value used to store the residual amount. If p_validate
131 * is true, the process returns null.
132 * @param p_residual_date_input_value_id If p_validate is false, this uniquely
133 * identifies the input value used to store the effective date of the residual
134 * amount. If p_validate is true, the process returns null.
135 * @param p_payroll_formula_id If p_validate is false, this uniquely identifies
136 * the system-generated Fast Formula used by formula result rules during the
137 * payroll process to calculate the stored balance. If p_validate is true, the
138 * process returns null.
139 * @param p_defined_balance_id If p_validate is false, this uniquely identifies
140 * the system-generated defined balance used to store the payroll balance. If
141 * p_validate is true, the process returns null.
142 * @param p_balance_element_type_id If p_validate is false, this uniquely
143 * identifies the element created to feed the stored balance. If p_validate is
144 * true, then the process returns null.
145 * @param p_tagging_element_type_id If p_validate is false, returns the unique
146 * identifier of a newly-created tagging element. If p_validate is true, the
147 * process returns null. Note: Tagging elements, in this context, tag net
148 * calculation rules entered retrospectively, such as retrospective absence
149 * records. Net calculation rules force the recalculation of the stored
150 * balance.
151 * @param p_object_version_number If p_validate is false, returns the version
152 * number of the created accrual plan. If p_validate is true, the process
153 * returns null.
154 * @param p_no_link_message If set to true, then the process could not create
155 * element links for the system-generated elements.
156 * @param p_check_accrual_ff If the process returns true, this value is a
157 * warning that the customer-defined Fast Formula used as the accrual Fast
158 * Formula must support stored balances.
159 * @rep:displayname Create Accrual Plan
160 * @rep:category BUSINESS_ENTITY PER_EMPLOYEE_ABSENCE
161 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
162 * @rep:scope public
163 * @rep:lifecycle active
164 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
165 */
166 --
167 -- {End Of Comments}
168 --
169 procedure create_accrual_plan
170 (p_validate in boolean default false
171 ,p_effective_date in date
172 ,p_business_group_id in number
173 ,p_accrual_formula_id in number
174 ,p_co_formula_id in number
175 ,p_pto_input_value_id in number
176 ,p_accrual_plan_name in varchar2
177 ,p_accrual_units_of_measure in varchar2
178 ,p_accrual_category in varchar2 default null
179 ,p_accrual_start in varchar2 default null
180 ,p_ineligible_period_length in number default null
181 ,p_ineligible_period_type in varchar2 default null
182 ,p_description in varchar2 default null
183 ,p_ineligibility_formula_id in number default null
184 ,p_balance_dimension_id in number default null
185 ,p_information_category in varchar2 default null
186 ,p_information1 in varchar2 default null
187 ,p_information2 in varchar2 default null
188 ,p_information3 in varchar2 default null
189 ,p_information4 in varchar2 default null
190 ,p_information5 in varchar2 default null
194 ,p_information9 in varchar2 default null
191 ,p_information6 in varchar2 default null
192 ,p_information7 in varchar2 default null
193 ,p_information8 in varchar2 default null
195 ,p_information10 in varchar2 default null
196 ,p_information11 in varchar2 default null
197 ,p_information12 in varchar2 default null
198 ,p_information13 in varchar2 default null
199 ,p_information14 in varchar2 default null
200 ,p_information15 in varchar2 default null
201 ,p_information16 in varchar2 default null
202 ,p_information17 in varchar2 default null
203 ,p_information18 in varchar2 default null
204 ,p_information19 in varchar2 default null
205 ,p_information20 in varchar2 default null
206 ,p_information21 in varchar2 default null
207 ,p_information22 in varchar2 default null
208 ,p_information23 in varchar2 default null
209 ,p_information24 in varchar2 default null
210 ,p_information25 in varchar2 default null
211 ,p_information26 in varchar2 default null
212 ,p_information27 in varchar2 default null
213 ,p_information28 in varchar2 default null
214 ,p_information29 in varchar2 default null
215 ,p_information30 in varchar2 default null
216 ,p_accrual_plan_id out nocopy number
217 ,p_accrual_plan_element_type_id out nocopy number
218 ,p_co_element_type_id out nocopy number
219 ,p_co_input_value_id out nocopy number
220 ,p_co_date_input_value_id out nocopy number
221 ,p_co_exp_date_input_value_id out nocopy number
222 ,p_residual_element_type_id out nocopy number
223 ,p_residual_input_value_id out nocopy number
224 ,p_residual_date_input_value_id out nocopy number
225 ,p_payroll_formula_id out nocopy number
226 ,p_defined_balance_id out nocopy number
227 ,p_balance_element_type_id out nocopy number
228 ,p_tagging_element_type_id out nocopy number
229 ,p_object_version_number out nocopy number
230 ,p_no_link_message out nocopy boolean
231 ,p_check_accrual_ff out nocopy boolean
232 );
233 --
234 -- ----------------------------------------------------------------------------
235 -- |---------------------------< update_accrual_plan >------------------------|
236 -- ----------------------------------------------------------------------------
237 --
238 -- {Start Of Comments}
239 /*#
240 * This API updates an accrual plan and tracks employee paid time-off
241 * entitlements.
242 *
243 * Use this API to update an accrual plan. Accrual plans define the paid
244 * time-off entitlement criteria used to calculate accruals for each employee
245 * enrolled in the plan. You enroll employees in the plan by giving them the
246 * accrual plan element. You cannot update some attributes of an accrual plan
247 * because they would invalidate existing accruals, such as the balance reset
248 * date.
249 *
250 * <p><b>Licensing</b><br>
251 * This API is licensed for use with Human Resources.
252 *
253 * <p><b>Prerequisites</b><br>
254 * The accrual plan that is being updated must already exist.
255 *
256 * <p><b>Post Success</b><br>
257 * The accrual plan details will have been updated.
258 *
259 * <p><b>Post Failure</b><br>
260 * The accrual plan will not be updated and an error will be raised.
261 * @param p_validate If true, then validation alone will be performed and the
262 * database will remain unchanged. If false and all validation checks pass,
263 * then the database will be modified.
264 * @param p_effective_date Reference date for validating lookup values are
265 * applicable during the start to end active date range. This date does not
266 * determine when the changes take effect.
267 * @param p_accrual_plan_id The unique identifier of the accrual plan to be
268 * updated.
269 * @param p_pto_input_value_id The input value of the absence element used to
270 * record the number of days or hours absent and to calculate the accrual plan
271 * net entitlement.
272 * @param p_accrual_category The category to which this accrual plan belongs.
273 * Valid values are defined by the 'US_PTO_ACCRUAL' lookup type.
274 * @param p_accrual_start Defines when an employee actually starts to accrue.
275 * Valid values are defined by the 'US_ACCRUAL_START_TYPE' lookup type.
276 * @param p_ineligible_period_length The length of the ineligibility period.
277 * The unit of measure is defined by the ineligibility period type.
278 * @param p_ineligible_period_type The unit of measure used to express the
279 * ineligibility period. Valid values are defined by the 'PROC_PERIOD_TYPE'
280 * lookup type.
281 * @param p_accrual_formula_id The Fast Formula used to calculate accrual
282 * entitlements.
283 * @param p_co_formula_id The Fast Formula used to calculate how much paid time
284 * off should be carried over to the following accrual year.
288 * Entry.
285 * @param p_description The accrual plan's description.
286 * @param p_ineligibility_formula_id The Fast Formula used to determine paid
287 * time-off eligibility when absence records are entered through Batch Element
289 * @param p_balance_dimension_id The payroll balance dimension that determines
290 * the date the balance should reset when paid time-off entitlements are stored
291 * in payroll balances.
292 * @param p_information_category This context value determines which flexfield
293 * structure to use with the developer descriptive flexfield segments.
294 * @param p_information1 Developer descriptive flexfield segment.
295 * @param p_information2 Developer descriptive flexfield segment.
296 * @param p_information3 Developer descriptive flexfield segment.
297 * @param p_information4 Developer descriptive flexfield segment.
298 * @param p_information5 Developer descriptive flexfield segment.
299 * @param p_information6 Developer descriptive flexfield segment.
300 * @param p_information7 Developer descriptive flexfield segment.
301 * @param p_information8 Developer descriptive flexfield segment.
302 * @param p_information9 Developer descriptive flexfield segment.
303 * @param p_information10 Developer descriptive flexfield segment.
304 * @param p_information11 Developer descriptive flexfield segment.
305 * @param p_information12 Developer descriptive flexfield segment.
306 * @param p_information13 Developer descriptive flexfield segment.
307 * @param p_information14 Developer descriptive flexfield segment.
308 * @param p_information15 Developer descriptive flexfield segment.
309 * @param p_information16 Developer descriptive flexfield segment.
310 * @param p_information17 Developer descriptive flexfield segment.
311 * @param p_information18 Developer descriptive flexfield segment.
312 * @param p_information19 Developer descriptive flexfield segment.
313 * @param p_information20 Developer descriptive flexfield segment.
314 * @param p_information21 Developer descriptive flexfield segment.
315 * @param p_information22 Developer descriptive flexfield segment.
316 * @param p_information23 Developer descriptive flexfield segment.
317 * @param p_information24 Developer descriptive flexfield segment.
318 * @param p_information25 Developer descriptive flexfield segment.
319 * @param p_information26 Developer descriptive flexfield segment.
320 * @param p_information27 Developer descriptive flexfield segment.
321 * @param p_information28 Developer descriptive flexfield segment.
322 * @param p_information29 Developer descriptive flexfield segment.
323 * @param p_information30 Developer descriptive flexfield segment.
324 * @param p_object_version_number Passes the current version number of the
325 * accrual plan to update. If p_validate is false on completion, the process
326 * returns the new version number of the updated accrual plan. If p_validate is
327 * true, the process sets the input value.
328 * @param p_payroll_formula_id If p_validate is false, and the payroll formula
329 * is not already defined, this uniquely identifies the system-generated Fast
330 * Formula used by formula result rules during the payroll process to calculate
331 * the stored balance. If p_validate is true, the process returns null.
332 * @param p_defined_balance_id If p_validate is false, and the balance reset
333 * date is not already defined, this uniquely identifies the defined balance
334 * the process creates to store the payroll balance. If p_validate is true, the
335 * process returns to null.
336 * @param p_balance_element_type_id If p_validate is false, and the balance
337 * element is not already created, this uniquely identifies the element the
338 * process creates to feed the stored balance. If p_validate is true, the
339 * process returns null.
340 * @param p_tagging_element_type_id If p_validate is false, and the tagging
341 * element has not already been created, returns the unique identifier of the
342 * tagging element the process creates. If p_validate is true, the process
343 * returns null. Note: Tagging elements, in this context, tag net calculation
344 * rules entered retrospectively, such as retrospective absence records. Net
345 * calculation rules force the recalculation of the stored balance.
346 * @param p_check_accrual_ff If the process returns true, this value is a
347 * warning that the customer-defined Fast Formula used as the accrual Fast
348 * Formula must support stored balances.
349 * @rep:displayname Update Accrual Plan
350 * @rep:category BUSINESS_ENTITY PER_EMPLOYEE_ABSENCE
351 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
352 * @rep:scope public
353 * @rep:lifecycle active
354 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
355 */
356 --
357 -- {End Of Comments}
358 --
359 procedure update_accrual_plan
360 (p_validate in boolean default false
361 ,p_effective_date in date
362 ,p_accrual_plan_id in number
363 ,p_pto_input_value_id in number default hr_api.g_number
364 ,p_accrual_category in varchar2 default hr_api.g_varchar2
365 ,p_accrual_start in varchar2 default hr_api.g_varchar2
366 ,p_ineligible_period_length in number default hr_api.g_number
367 ,p_ineligible_period_type in varchar2 default hr_api.g_varchar2
368 ,p_accrual_formula_id in number default hr_api.g_number
369 ,p_co_formula_id in number default hr_api.g_number
370 ,p_description in varchar2 default hr_api.g_varchar2
371 ,p_ineligibility_formula_id in number default hr_api.g_number
372 ,p_balance_dimension_id in number default hr_api.g_number
373 ,p_information_category in varchar2 default hr_api.g_varchar2
377 ,p_information4 in varchar2 default hr_api.g_varchar2
374 ,p_information1 in varchar2 default hr_api.g_varchar2
375 ,p_information2 in varchar2 default hr_api.g_varchar2
376 ,p_information3 in varchar2 default hr_api.g_varchar2
378 ,p_information5 in varchar2 default hr_api.g_varchar2
379 ,p_information6 in varchar2 default hr_api.g_varchar2
380 ,p_information7 in varchar2 default hr_api.g_varchar2
381 ,p_information8 in varchar2 default hr_api.g_varchar2
382 ,p_information9 in varchar2 default hr_api.g_varchar2
383 ,p_information10 in varchar2 default hr_api.g_varchar2
384 ,p_information11 in varchar2 default hr_api.g_varchar2
385 ,p_information12 in varchar2 default hr_api.g_varchar2
386 ,p_information13 in varchar2 default hr_api.g_varchar2
387 ,p_information14 in varchar2 default hr_api.g_varchar2
388 ,p_information15 in varchar2 default hr_api.g_varchar2
389 ,p_information16 in varchar2 default hr_api.g_varchar2
390 ,p_information17 in varchar2 default hr_api.g_varchar2
391 ,p_information18 in varchar2 default hr_api.g_varchar2
392 ,p_information19 in varchar2 default hr_api.g_varchar2
393 ,p_information20 in varchar2 default hr_api.g_varchar2
394 ,p_information21 in varchar2 default hr_api.g_varchar2
395 ,p_information22 in varchar2 default hr_api.g_varchar2
396 ,p_information23 in varchar2 default hr_api.g_varchar2
397 ,p_information24 in varchar2 default hr_api.g_varchar2
398 ,p_information25 in varchar2 default hr_api.g_varchar2
399 ,p_information26 in varchar2 default hr_api.g_varchar2
400 ,p_information27 in varchar2 default hr_api.g_varchar2
401 ,p_information28 in varchar2 default hr_api.g_varchar2
402 ,p_information29 in varchar2 default hr_api.g_varchar2
403 ,p_information30 in varchar2 default hr_api.g_varchar2
404 ,p_object_version_number in out nocopy number
405 ,p_payroll_formula_id out nocopy number
406 ,p_defined_balance_id out nocopy number
407 ,p_balance_element_type_id out nocopy number
408 ,p_tagging_element_type_id out nocopy number
409 ,p_check_accrual_ff out nocopy boolean
410 );
411 --
412 -- ----------------------------------------------------------------------------
413 -- |---------------------------< delete_accrual_plan >------------------------|
414 -- ----------------------------------------------------------------------------
415 --
416 -- {Start Of Comments}
417 /*#
418 * This API deletes an accrual plan and all of its accrual band, net
419 * calculation rule, and element type records.
420 *
421 * Use this API to delete an accrual plan. You cannot delete accrual plans when
422 * element entries or links exist for any of the accrual plan's element types,
423 * or if you have set up formula result rules.
424 *
425 * <p><b>Licensing</b><br>
426 * This API is licensed for use with Human Resources.
427 *
428 * <p><b>Prerequisites</b><br>
429 * The accrual plan that is being deleted must already exist.
430 *
431 * <p><b>Post Success</b><br>
432 * The accrual plan and its accrual bands, net calculation rules and element
433 * types will have been deleted.
434 *
435 * <p><b>Post Failure</b><br>
436 * The accrual plan and associated records will not be deleted and an error
437 * will be raised.
438 * @param p_validate If true, then validation alone will be performed and the
439 * database will remain unchanged. If false and all validation checks pass,
440 * then the database will be modified.
441 * @param p_effective_date Reference date for validating lookup values are
442 * applicable during the start to end active date range. This date does not
443 * determine when the changes take effect.
444 * @param p_accrual_plan_id The unique identifier of the accrual plan that will
445 * be deleted.
446 * @param p_accrual_plan_element_type_id The unique identifier of the accrual
447 * plan element type.
448 * @param p_co_element_type_id The unique identifier of the carry over element
449 * type.
450 * @param p_residual_element_type_id The unique identifier of the residual
451 * element type.
452 * @param p_balance_element_type_id The unique identifier of the balance
453 * element type.
454 * @param p_tagging_element_type_id The unique identifier of the tagging
455 * element type.
456 * @param p_object_version_number Current version number of the accrual plan to
457 * be deleted.
458 * @rep:displayname Delete Accrual Plan
459 * @rep:category BUSINESS_ENTITY PER_EMPLOYEE_ABSENCE
460 * @rep:category MISC_EXTENSIONS HR_USER_HOOKS
461 * @rep:scope public
462 * @rep:lifecycle active
463 * @rep:ihelp PER/@scalapi APIs in Oracle HRMS
464 */
465 --
466 -- {End Of Comments}
467 --
468 procedure delete_accrual_plan
469 (p_validate in boolean default false
470 ,p_effective_date in date
471 ,p_accrual_plan_id in number
472 ,p_accrual_plan_element_type_id in number
473 ,p_co_element_type_id in number
474 ,p_residual_element_type_id in number
475 ,p_balance_element_type_id in number
479 --
476 ,p_tagging_element_type_id in number
477 ,p_object_version_number in number
478 );
480 -- ----------------------------------------------------------------------------
481 -- |--------------------------< create_input_value >--------------------------|
482 -- ----------------------------------------------------------------------------
483 --
484 function create_input_value(p_element_name IN varchar2,
485 p_input_value_name IN varchar2,
486 p_uom_code IN varchar2,
487 p_bg_name IN varchar2,
488 p_element_type_id IN number,
489 p_primary_classification_id IN number,
490 p_business_group_id IN number,
491 p_recurring_flag IN varchar2,
492 p_legislation_code IN varchar2,
493 p_classification_type IN varchar2,
494 p_mandatory_flag IN varchar2
495 ) RETURN number;
496 --
497 -- ----------------------------------------------------------------------------
498 -- |---------------------------< create_element >------------------------------|
499 -- ----------------------------------------------------------------------------
500 --
501 -- NAME create_element
502 --
503 -- DESCRIPTION calls the function PAY_DB_PAY_SETUP.CREATE_ELEMENT,The sole
504 -- reason for this is to cut down on space and reduce the margin
505 -- for errors in the call, passing only the things that change.
506 --
507 -- NOTES anticipate the only use for this is to be called from the
508 -- pre_insert routine.
509 --
510 FUNCTION create_element(p_element_name IN varchar2,
511 p_element_description IN varchar2,
512 p_processing_type IN varchar2,
513 p_bg_name IN varchar2,
514 p_classification_name IN varchar2,
515 p_legislation_code IN varchar2,
516 p_currency_code IN varchar2,
517 p_post_termination_rule IN varchar2,
518 p_mult_entries_allowed IN varchar2,
519 p_indirect_only_flag IN varchar2,
520 p_formula_id IN number,
521 p_processing_priority IN number) return number;
522 --
523 -- ----------------------------------------------------------------------------
524 -- |--------------------------< create_element_link >------------------------|
525 -- ----------------------------------------------------------------------------
526 --
527 -- NAME
528 -- create_element_link
529 --
530 -- DESCRIPTION
531 -- Creates a default link for a given element, based on the link for a
532 -- plan's absence element.
533 --
534 -- NOTES
535 -- none
536 --
537 PROCEDURE create_element_link(p_element_type_id IN number,
538 p_absence_link_rec IN pay_element_links_f%rowtype,
539 p_legislation_code IN varchar2);
540 --
541 -- ----------------------------------------------------------------------------
542 -- |---------------------< create_payroll_formula >----------------------------|
543 -- ----------------------------------------------------------------------------
544 --
545 procedure create_payroll_formula(
546 p_formula_id out nocopy number,
547 p_effective_start_date in date,
548 p_effective_end_date in date,
549 p_accrual_plan_name in varchar2,
550 p_defined_balance_id in number,
551 p_business_group_id in number,
552 p_legislation_code in varchar2
553 );
554 --
555 end hr_accrual_plan_api;