DBA Data[Home] [Help]

PACKAGE: APPS.OZF_FUNDS_PVT

Source


1 PACKAGE OZF_Funds_PVT AUTHID CURRENT_USER AS
2 /* $Header: ozfvfuns.pls 120.4 2011/12/29 15:00:56 apyadav ship $ */
3 
4 TYPE fund_rec_type IS RECORD
5 (
6  fund_id                   NUMBER
7 ,last_update_date          DATE
8 ,last_updated_by           NUMBER
9 ,last_update_login         NUMBER
10 ,creation_date             DATE
11 ,created_by                NUMBER
12 ,created_from              VARCHAR2(30)
13 ,request_id                NUMBER
14 ,program_application_id    NUMBER
15 ,program_id                NUMBER
16 ,program_update_date       DATE
17 ,fund_number               VARCHAR2(30)
18 ,parent_fund_id            NUMBER
19 ,category_id               NUMBER
20 ,fund_type                 VARCHAR2(30)
21 ,status_code               VARCHAR2(30)
22 ,user_status_id            NUMBER
23 ,status_date               DATE
24 ,accrued_liable_account    NUMBER
25 ,ded_adjustment_account    NUMBER
26 ,start_date_active         DATE
27 ,end_date_active           DATE
28 ,currency_code_tc          VARCHAR2(15)
29 ,owner                     NUMBER
30 ,hierarchy                 VARCHAR2(30)
31 ,hierarchy_level           VARCHAR2(30)
32 ,hierarchy_id              NUMBER
33 ,parent_node_id            NUMBER
34 ,node_id                   NUMBER
35 ,object_version_number     NUMBER
36 ,org_id                    NUMBER
37 ,earned_flag               VARCHAR2(1)
38 ,original_budget           NUMBER
39 ,transfered_in_amt         NUMBER
40 ,transfered_out_amt        NUMBER
41 ,holdback_amt              NUMBER
42 ,planned_amt               NUMBER
43 ,committed_amt             NUMBER
44 ,earned_amt                NUMBER
45 ,paid_amt                  NUMBER
46 ,liable_accnt_segments     VARCHAR2(155)
47 ,adjustment_accnt_segments VARCHAR2(155)
48 ,short_name                VARCHAR2(80)
49 ,description               VARCHAR2(4000)
50 ,language                  VARCHAR2(4)
51 ,source_lang               VARCHAR2(4)
52 ,start_period_name         VARCHAR2(15)
53 ,end_period_name           VARCHAR2(15)
54 ,fund_calendar             VARCHAR2(15)
55 ,accrue_to_level_id        NUMBER
56 ,accrual_quantity          NUMBER
57 ,accrual_phase             VARCHAR2(30)
58 ,accrual_cap               NUMBER
59 ,accrual_uom               VARCHAR2(30)
60 ,accrual_method            VARCHAR2(30)
61 ,accrual_operand           VARCHAR2(30)
62 ,accrual_rate              NUMBER
63 ,accrual_basis             VARCHAR2(30)
64 ,accrual_discount_level    VARCHAR2(30)
65 ,custom_setup_id           NUMBER
66 -- added 06/21/2001 mpande
67 ,threshold_id              NUMBER
68 ,business_unit_id          NUMBER
69 ,country_id                NUMBER
70 ,task_id                   NUMBER
71 ,recal_committed           NUMBER
72 ,attribute_category        VARCHAR2(30)
73 ,attribute1                VARCHAR2(150)
74 ,attribute2                VARCHAR2(150)
75 ,attribute3                VARCHAR2(150)
76 ,attribute4                VARCHAR2(150)
77 ,attribute5                VARCHAR2(150)
78 ,attribute6                VARCHAR2(150)
79 ,attribute7                VARCHAR2(150)
80 ,attribute8                VARCHAR2(150)
81 ,attribute9                VARCHAR2(150)
82 ,attribute10               VARCHAR2(150)
83 ,attribute11               VARCHAR2(150)
84 ,attribute12               VARCHAR2(150)
85 ,attribute13               VARCHAR2(150)
86 ,attribute14               VARCHAR2(150)
87 ,attribute15               VARCHAR2(150)
88 -- the follwoign columns are obsolete and not used anymore
89 ,fund_usage                VARCHAR2(30)
90 ,plan_type                 VARCHAR2(30)
91 ,plan_id                   NUMBER
92 ,apply_accrual_on          VARCHAR2(30)
93 ,level_value               VARCHAR2(240)
94 ,budget_flag               VARCHAR2(1)
95 ,liability_flag            VARCHAR2(1)
96 ,set_of_books_id           NUMBER
97 ,start_period_id            NUMBER
98 ,end_period_id              NUMBER
99 ,budget_amount_tc          NUMBER
100 ,budget_amount_fc          NUMBER
101 ,available_amount          NUMBER
102 ,distributed_amount        NUMBER
103 ,currency_code_fc          VARCHAR2(15)
104 ,exchange_rate_type        VARCHAR2(30)
105 ,exchange_rate_date        DATE
106 ,exchange_rate             NUMBER
107 ,department_id             NUMBER
108 ,costcentre_id             NUMBER
109 -- added by feliu on 02/08/02
110 ,rollup_original_budget    NUMBER
111 ,rollup_transfered_in_amt  NUMBER
112 ,rollup_transfered_out_amt NUMBER
113 ,rollup_holdback_amt       NUMBER
114 ,rollup_planned_amt        NUMBER
115 ,rollup_committed_amt      NUMBER
116 ,rollup_earned_amt         NUMBER
117 ,rollup_paid_amt           NUMBER
118 ,rollup_recal_committed    NUMBER
119 -- added mpande 10/25/2002 11.5.9
120 ,retroactive_flag          VARCHAR2(1)
121 ,qualifier_id              NUMBER
122 -- niprakas added
123 ,prev_fund_id              NUMBER
124 ,transfered_flag           VARCHAR2(1)
125 ,utilized_amt              NUMBER
126 ,rollup_utilized_amt       NUMBER
127 -- kdass added
128 ,product_spread_time_id    NUMBER
129 -- sangara added 06/25/05
130 ,activation_date           DATE
131 -- kdass - R12 MOAC changes
132 ,ledger_id                 NUMBER
133 );
134 
135 TYPE fund_rec_int_type IS RECORD
136 (
137  BATCH_ID NUMBER,
138  FUND_ID NUMBER,
139  BUDGET_AMOUNT_TC NUMBER,
140  BUDGET_AMOUNT_FC NUMBER,
141  AVAILABLE_AMOUNT NUMBER,
142  TRANSFERED_IN_AMT NUMBER,
143  TRANSFERED_OUT_AMT NUMBER,
144  PLANNED_AMT NUMBER,
145  COMMITTED_AMT NUMBER,
146  EARNED_AMT NUMBER,
147  PAID_AMT NUMBER,
148  RECAL_COMMITTED NUMBER,
149  ROLLUP_ORIGINAL_BUDGET NUMBER,
150  ROLLUP_TRANSFERED_IN_AMT NUMBER,
151  ROLLUP_TRANSFERED_OUT_AMT NUMBER,
152  ROLLUP_HOLDBACK_AMT NUMBER,
153  ROLLUP_PLANNED_AMT NUMBER,
154  ROLLUP_COMMITTED_AMT NUMBER,
155  ROLLUP_RECAL_COMMITTED NUMBER,
156  ROLLUP_EARNED_AMT NUMBER,
157  ROLLUP_PAID_AMT NUMBER,
158  UTILIZED_AMT NUMBER,
159  ROLLUP_UTILIZED_AMT NUMBER
160 );
161 
162 ---------------------------------------------------------------------
163 -- PROCEDURE
164 --    Create_Fund
165 --
166 -- PURPOSE
167 --    Create a new fund.
168 --
169 -- PARAMETERS
170 --    p_fund_rec: the new record to be inserted
171 --    x_fund_id: return the fund_id of the new fund
172 --
173 -- NOTES
174 --    1. object_version_number will be set to 1.
175 --    2. If fund_id is passed in, the uniqueness will be checked.
176 --       Raise exception in case of duplicates.
177 --    3. If fund_id is not passed in, generate a unique one from
178 --       the sequence.
179 --    4. If a flag column is passed in, check if it is 'Y' or 'N'.
180 --       Raise exception for invalid flag.
181 --    5. If a flag column is not passed in, default it to 'Y' or 'N'.
182 --    6. Please don't pass in any FND_API.g_mess_char/num/date.
183 ---------------------------------------------------------------------
184 PROCEDURE Create_Fund(
185    p_api_version       IN  NUMBER
186   ,p_init_msg_list     IN  VARCHAR2  := FND_API.g_false
187   ,p_commit            IN  VARCHAR2  := FND_API.g_false
188   ,p_validation_level  IN  NUMBER    := FND_API.g_valid_level_full
189 
190   ,x_return_status     OUT NOCOPY VARCHAR2
191   ,x_msg_count         OUT NOCOPY NUMBER
192   ,x_msg_data          OUT NOCOPY VARCHAR2
193 
194   ,p_fund_rec          IN  fund_rec_type
195   ,x_fund_id           OUT NOCOPY NUMBER
196 );
197 
198 
199 --------------------------------------------------------------------
200 -- PROCEDURE
201 --    Delete_Fund
202 --
203 -- PURPOSE
204 --    Delete a fund.
205 --
206 -- PARAMETERS
207 --    p_fund_id: the fund_id
208 --    p_object_version: the object_version_number
209 --
210 -- NOTES
211 --    1. Raise exception if the object_version_number doesn't match.
212 --------------------------------------------------------------------
213 PROCEDURE Delete_Fund(
214    p_api_version       IN  NUMBER
215   ,p_init_msg_list     IN  VARCHAR2 := FND_API.g_false
216   ,p_commit            IN  VARCHAR2 := FND_API.g_false
217 
218   ,x_return_status     OUT NOCOPY VARCHAR2
219   ,x_msg_count         OUT NOCOPY NUMBER
220   ,x_msg_data          OUT NOCOPY VARCHAR2
221 
222   ,p_fund_id           IN  NUMBER
223   ,p_object_version    IN  NUMBER
224 );
225 
226 
227 -------------------------------------------------------------------
228 -- PROCEDURE
229 --    Lock_Fund
230 --
231 -- PURPOSE
232 --    Lock a fund.
233 --
234 -- PARAMETERS
235 --    p_fund_id: the fund_id
236 --    p_object_version: the object_version_number
237 --
238 -- NOTES
239 --    1. Raise exception if the object_version_number doesn't match.
240 --------------------------------------------------------------------
241 PROCEDURE Lock_Fund(
242    p_api_version       IN  NUMBER
243   ,p_init_msg_list     IN  VARCHAR2 := FND_API.g_false
244 
245   ,x_return_status     OUT NOCOPY VARCHAR2
246   ,x_msg_count         OUT NOCOPY NUMBER
247   ,x_msg_data          OUT NOCOPY VARCHAR2
248 
249   ,p_fund_id           IN  NUMBER
250   ,p_object_version    IN  NUMBER
251 );
252 
253 
254 ---------------------------------------------------------------------
255 -- PROCEDURE
256 --    Update_Fund
257 --
258 -- PURPOSE
259 --    Update a fund.
260 --
261 -- PARAMETERS
262 --    p_fund_rec: the record with new items.
263 --    p_mode    : determines what sort of validation is to be performed during update.
264 --              : The mode should always be 'UPDATE' except when updating the earned or committed amount
265 --
266 -- NOTES
267 --    1. Raise exception if the object_version_number doesn't match.
268 --    2. If an attribute is passed in as FND_API.g_miss_char/num/date,
269 --       that column won't be updated.
270 ----------------------------------------------------------------------
271 PROCEDURE Update_Fund(
272    p_api_version       IN  NUMBER
273   ,p_init_msg_list     IN  VARCHAR2  := FND_API.g_false
274   ,p_commit            IN  VARCHAR2  := FND_API.g_false
275   ,p_validation_level  IN  NUMBER    := FND_API.g_valid_level_full
276 
277   ,x_return_status     OUT NOCOPY VARCHAR2
278   ,x_msg_count         OUT NOCOPY NUMBER
279   ,x_msg_data          OUT NOCOPY VARCHAR2
280 
281   ,p_fund_rec          IN  fund_rec_type
282   ,p_mode              IN  VARCHAR2 := JTF_PLSQL_API.g_update
283 );
284 
285 
286 ---------------------------------------------------------------------
287 -- PROCEDURE
288 --    Update_Fund
289 --
290 -- PURPOSE
291 --    Update a fund.
292 --
293 -- PARAMETERS
294 --    p_fund_rec: the record with new items.
295 --    p_mode    : determines what sort of validation is to be performed during update.
296 --              : The mode should always be 'UPDATE' except when updating the earned or committed amount
297 --
298 -- NOTES
299 --    1. Raise exception if the object_version_number doesn't match.
300 --    2. If an attribute is passed in as FND_API.g_miss_char/num/date,
301 --       that column won't be updated.
302 
303 -- 27/10/2009  muthsubr Added p_resale_batch_id, p_use_fund_staging_tables
304 --			px_ozf_funds_old_rectype, px_ozf_funds_new_rectype
305 --			for bug#8867381.
306 -- 29/11/2010  muthsubr Altered px_ozf_funds_new_rectype to px_ozf_funds_new_tbl
307 --			for TPA Parallel Execution ER Bug#9614703.
308 ----------------------------------------------------------------------
309 PROCEDURE Update_Fund(
310    p_api_version       IN  NUMBER
311   ,p_init_msg_list     IN  VARCHAR2  := FND_API.g_false
312   ,p_commit            IN  VARCHAR2  := FND_API.g_false
313   ,p_validation_level  IN  NUMBER    := FND_API.g_valid_level_full
314 
315   ,x_return_status     OUT NOCOPY VARCHAR2
316   ,x_msg_count         OUT NOCOPY NUMBER
317   ,x_msg_data          OUT NOCOPY VARCHAR2
318 
319   ,p_fund_rec          IN  fund_rec_type
320   ,p_mode              IN  VARCHAR2 := JTF_PLSQL_API.g_update
321   ,p_resale_batch_id   IN NUMBER DEFAULT NULL
322   ,p_batch_type	     IN  VARCHAR2
323   ,p_use_fund_staging_tables IN  VARCHAR2 DEFAULT 'F'
324   ,px_ozf_funds_old_rectype	IN	OZF_UTILITY_PVT.ozf_funds_all_b_rectype
325   ,px_ozf_funds_new_tbl	IN OUT  NOCOPY	OZF_UTILITY_PVT.ozf_funds_table
326 );
327 
328 ---------------------------------------------------------------------
329 -- PROCEDURE
330 --    Validate_Fund
331 --
332 -- PURPOSE
333 --    Validate a fund record.
334 --
335 -- PARAMETERS
336 --    p_fund_rec: the fund record to be validated
337 --
338 -- NOTES
339 --    1. p_fund_rec should be the complete fund record. There
340 --       should not be any FND_API.g_miss_char/num/date in it.
341 ----------------------------------------------------------------------
342 PROCEDURE Validate_Fund(
343    p_api_version       IN  NUMBER
344   ,p_init_msg_list     IN  VARCHAR2  := FND_API.g_false
345   ,p_validation_level  IN  NUMBER    := FND_API.g_valid_level_full
346 
347   ,x_return_status     OUT NOCOPY VARCHAR2
348   ,x_msg_count         OUT NOCOPY NUMBER
349   ,x_msg_data          OUT NOCOPY VARCHAR2
350 
351   ,p_fund_rec          IN  fund_rec_type
352 );
353 
354 
355 ---------------------------------------------------------------------
356 -- PROCEDURE
357 --    Check_Fund_Items
358 --
359 -- PURPOSE
360 --    Perform the item level checking including unique keys,
361 --    required columns, foreign keys, domain constraints.
362 --
363 -- PARAMETERS
364 --    p_fund_rec: the record to be validated
365 --    p_validation_mode: JTF_PLSQL_API.g_create/g_update
366 --    p_mode: default NULL, Added parameter Bug 13529250
367 ---------------------------------------------------------------------
368 PROCEDURE Check_Fund_Items(
369    p_validation_mode IN  VARCHAR2 := JTF_PLSQL_API.g_create
370   ,x_return_status   OUT NOCOPY VARCHAR2
371   ,p_fund_rec        IN  fund_rec_type
372   ,p_mode		IN	VARCHAR2 DEFAULT NULL
373 );
374 
375 
376 
377 ---------------------------------------------------------------------
378 -- PROCEDURE
379 --    Check_Fund_Record
380 --
381 -- PURPOSE
382 --    Check the record level business rules.
383 --
384 -- PARAMETERS
385 --    p_fund_rec: the record to be validated; may contain attributes
386 --       as FND_API.g_miss_char/num/date
387 --    p_complete_rec: the complete record after all "g_miss" items
388 --       have been replaced by current database values
389 ---------------------------------------------------------------------
390 PROCEDURE Check_Fund_Record(
391    p_fund_rec         IN  fund_rec_type
392   ,p_complete_rec     IN  fund_rec_type := NULL
393   ,p_mode             IN  VARCHAR2 := 'INSERT'
394   ,x_return_status    OUT NOCOPY VARCHAR2
395 );
396 
397 
398 ---------------------------------------------------------------------
399 -- PROCEDURE
400 --    Init_Fund_Rec
401 --
402 -- PURPOSE
403 --    Initialize all attributes to be FND_API.g_miss_char/num/date.
404 ---------------------------------------------------------------------
405 PROCEDURE Init_Fund_Rec(
409 
406    x_fund_rec         OUT NOCOPY  fund_rec_type
407 );
408 
410 ---------------------------------------------------------------------
411 -- PROCEDURE
412 --    Complete_Fund_Rec
413 --
414 -- PURPOSE
415 --    For update_fund, some attributes may be passed in as
416 --    FND_API.g_miss_char/num/date if the user doesn't want to
417 --    update those attributes. This procedure will replace the
418 --    "g_miss" attributes with current database values.
419 --
420 -- PARAMETERS
421 --    p_fund_rec: the record which may contain attributes as
422 --       FND_API.g_miss_char/num/date
423 --    x_complete_rec: the complete record after all "g_miss" items
424 --       have been replaced by current database values
425 ---------------------------------------------------------------------
426 PROCEDURE Complete_Fund_Rec(
427    p_fund_rec       IN  fund_rec_type
428   ,x_complete_rec   OUT NOCOPY fund_rec_type
429 );
430 
431 -- ADDED FOR R2 Requirements to get default GL info--- by mpande //6th JULY-2000
432 ---------------------------------------------------------------------
433 -- PROCEDURE
434 --    COMPLETE_DEFAULT_GL_INFO
435 --
436 -- PURPOSE : A fund should always have a category . When creating a category the user can
437 --           give the GL info 1) ACCRUED_LIABILITY_ACCOUNT 2) DED_ADJUSTMENT_ACCOUNT
438 --          When the user is creating a fund the funds API should pickup
439 --         the default GL INFO if the user has not passed anything.
440 --        This API gets the defauls GL INFO.
441 -- PARAMETERS
442 
443 ---------------------------------------------------------------------
444 PROCEDURE COMPLETE_DEFAULT_GL_INFO(
445    p_category_id                IN  NUMBER,
446    p_accrued_liability_account  IN OUT NOCOPY  NUMBER,
447    p_ded_adjustment_account     IN OUT NOCOPY  NUMBER,
448    x_return_status              OUT NOCOPY  VARCHAR2
449 );
450 
451 ---------------------------------------------------------------------
452 -- PROCEDURE
453 --    check_fund_inter_entity
454 --
455 -- PURPOSE
456 --    Check the inter-entity level business rules.
457 --
458 -- PARAMETERS
459 --    p_fund_rec: the record to be validated; may contain attributes
460 --       as FND_API.g_miss_char/num/date
461 --    p_complete_rec: the complete record after all "g_miss" items
462 --       have been replaced by current database values
463 --    p_validation_mode: JTF_PLSQL_API.g_create/g_update
464 ---------------------------------------------------------------------
465 PROCEDURE check_fund_inter_entity(
466    p_fund_rec        IN  fund_rec_type,
467    p_complete_rec    IN  fund_rec_type,
468    p_validation_mode IN  VARCHAR2,
469    x_return_status   OUT NOCOPY VARCHAR2
470 );
471 
472 
473 ---------------------------------------------------------------------
474 -- PROCEDURE
475 --    copy_fund
476 --
477 -- PURPOSE
478 --    copy fund. added by feliu.
479 --
480 -- PARAMETERS
481 --   p_source_object_id: Original object id,
482 --   p_attributes_table: AMS_CpyUtility_PVT.copy_attributes_table_type,
483 --   p_copy_columns_table: AMS_CpyUtility_PVT.copy_columns_table_type,
484 --   x_new_object_id: New object Id.
485 --   x_custom_setup_id: custom_setup_id.
486 ---------------------------------------------------------------------
487 
488 PROCEDURE copy_fund (
489    p_api_version        IN NUMBER,
490    p_init_msg_list      IN VARCHAR2 := FND_API.G_FALSE,
491    p_commit             IN VARCHAR2 := FND_API.G_FALSE,
492    p_validation_level   IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
493    x_return_status      OUT NOCOPY VARCHAR2,
494    x_msg_count          OUT NOCOPY NUMBER,
495    x_msg_data           OUT NOCOPY VARCHAR2,
496    p_source_object_id   IN NUMBER,
497    p_attributes_table   IN AMS_CpyUtility_PVT.copy_attributes_table_type,
498    p_copy_columns_table IN AMS_CpyUtility_PVT.copy_columns_table_type,
499    x_new_object_id      OUT NOCOPY NUMBER,
500    x_custom_setup_id    OUT NOCOPY NUMBER
501 );
502 
503 
504 
505 ---------------------------------------------------------------------
506 -- PROCEDURE
507 ---   update_rollup_amount
508 --
509 -- PURPOSE
510 --    Update rollup columns. added by feliu
511 --
512 -- PARAMETERS
513 -- p_fund_rec: the fund record.
514 ---------------------------------------------------------------------
515 
516 PROCEDURE  update_rollup_amount(
517    p_api_version        IN       NUMBER
518   ,p_init_msg_list      IN       VARCHAR2 := fnd_api.g_false
519   ,p_commit             IN       VARCHAR2 := fnd_api.g_false
520   ,p_validation_level   IN       NUMBER := fnd_api.g_valid_level_full
521   ,x_return_status      OUT NOCOPY      VARCHAR2
522   ,x_msg_count          OUT NOCOPY      NUMBER
523   ,x_msg_data           OUT NOCOPY      VARCHAR2
524   ,p_fund_rec           IN       fund_rec_type
525 );
526 
527 ---------------------------------------------------------------------
528 -- PROCEDURE
529 ---   update_funds_access
530 --
531 -- PURPOSE
532 --    Update parent funds access. added by feliu
533 --
534 -- PARAMETERS
535 -- p_fund_rec: the fund record.
536 -- p_mod: the mode for update access.
537 ---------------------------------------------------------------------
538 
539 PROCEDURE  update_funds_access(
540    p_api_version        IN       NUMBER
541   ,p_init_msg_list      IN       VARCHAR2 := fnd_api.g_false
542   ,p_commit             IN       VARCHAR2 := fnd_api.g_false
543   ,p_validation_level   IN       NUMBER := fnd_api.g_valid_level_full
544   ,x_return_status      OUT NOCOPY      VARCHAR2
545   ,x_msg_count          OUT NOCOPY      NUMBER
546   ,x_msg_data           OUT NOCOPY      VARCHAR2
547   ,p_fund_rec           IN       fund_rec_type
551 END OZF_Funds_PVT;
548   ,p_mode               IN       VARCHAR2 := JTF_PLSQL_API.G_CREATE
549 );
550 
552