DBA Data[Home] [Help]

PACKAGE: APPS.OZF_FUNDS_PUB

Source


1 PACKAGE OZF_FUNDS_PUB AUTHID CURRENT_USER AS
2 /* $Header: OZFPFUNS.pls 120.9 2011/10/28 15:12:59 bkunjan ship $ */
3 /*#
4 * Use this package to create, update and delete funds and
5 * create, update and delete market segments and
6 * product eligibilities for funds and quotas in Oracle Trade Management.
7 * Funds are also known as budgets
8 * @rep:scope public
9 * @rep:product OZF
10 * @rep:lifecycle active
11 * @rep:displayname Budget Public API
12 * @rep:compatibility S
13 * @rep:businessevent None
14 * @rep:category BUSINESS_ENTITY OZF_BUDGET
15 */
16 
17 TYPE fund_rec_type IS RECORD
18 (fund_id                NUMBER
19 ,fund_number            VARCHAR2(30)
20 ,short_name             VARCHAR2(80)
21 ,fund_type              VARCHAR2(30)
22 ,custom_setup_id        NUMBER
23 ,object_version_number  NUMBER
24 ,description            VARCHAR2(4000)
25 ,parent_fund_id         NUMBER
26 ,parent_fund_name       VARCHAR2(80)
27 ,category_id            NUMBER
28 ,category_name          VARCHAR2(50)
29 ,business_unit_id       NUMBER
30 ,business_unit          VARCHAR2(50)
31 ,status_code            VARCHAR2(30)
32 ,user_status_id         NUMBER
33 ,start_date_active      DATE
34 ,end_date_active        DATE
35 ,start_period_name      VARCHAR2(15)
36 ,end_period_name        VARCHAR2(15)
37 ,original_budget        NUMBER
38 ,holdback_amt           NUMBER
39 ,currency_code_tc       VARCHAR2(15)
40 ,owner                  NUMBER
41 ,accrual_basis          VARCHAR2(30)
42 ,accrual_phase          VARCHAR2(30)
43 ,accrual_discount_level VARCHAR2(30)
44 ,threshold_id           NUMBER
45 ,threshold_name         VARCHAR2(50)
46 ,task_id                NUMBER
47 ,task_name              VARCHAR2(50)
48 ,org_id                 NUMBER
49 ,liability_flag         VARCHAR2(1)
50 ,ledger_id              NUMBER
51 ,ledger_name            VARCHAR2(100)
52 ,accrued_liable_account NUMBER
53 ,ded_adjustment_account NUMBER
54 ,product_spread_time_id NUMBER
55  --Hbandi added below colums for the bug #10017563 (+)
56  ,accrual_quantity              NUMBER
57  ,apply_accrual_on          VARCHAR2(30)
58 ,retroactive_flag          VARCHAR2(1)
59 ,qualifier_id              NUMBER
60 ,accrue_to_level_id        NUMBER
61 ,attribute_category        VARCHAR2(30)
62 ,attribute1                VARCHAR2(150)
63 ,attribute2                VARCHAR2(150)
64 ,attribute3                VARCHAR2(150)
65 ,attribute4                VARCHAR2(150)
66 ,attribute5                VARCHAR2(150)
67 ,attribute6                VARCHAR2(150)
68 ,attribute7                VARCHAR2(150)
69 ,attribute8                VARCHAR2(150)
70 ,attribute9                VARCHAR2(150)
71 ,attribute10               VARCHAR2(150)
72 ,attribute11               VARCHAR2(150)
73 ,attribute12               VARCHAR2(150)
74 ,attribute13               VARCHAR2(150)
75 ,attribute14               VARCHAR2(150)
76 ,attribute15               VARCHAR2(150)
77 --End of Hbandi added Columns.
78 );
79 
80 TYPE mks_rec_type IS RECORD
81 (activity_market_segment_id     NUMBER
82 ,market_segment_id              NUMBER
83 ,act_market_segment_used_by_id  NUMBER
84 ,arc_act_market_segment_used_by VARCHAR2(30)
85 ,segment_type                   VARCHAR2(30)
86 ,object_version_number          NUMBER
87 ,exclude_flag                   VARCHAR2(1)
88 );
89 
90 TYPE act_product_rec_type IS RECORD
91 (activity_product_id     NUMBER
92 ,act_product_used_by_id  NUMBER
93 ,arc_act_product_used_by VARCHAR2(30)
94 ,inventory_item_name     VARCHAR2(100)
95 ,inventory_item_id       NUMBER
96 ,level_type_code         VARCHAR2(7)
97 ,category_name           VARCHAR2(100)
98 ,category_id             NUMBER
99 ,category_set_id         NUMBER
100 ,primary_product_flag    VARCHAR2(1)
101 ,excluded_flag           VARCHAR2(1)
102 ,object_version_number   NUMBER
103 ,organization_id         NUMBER
104 );
105 
106 ---------------------------------------------------------------------
107 -- PROCEDURE
108 --    Create_Fund
109 --
110 -- PURPOSE
111 --    Create a new fund (fixed budget).
112 --
113 -- PARAMETERS
114 --    p_fund_rec: the new record to be inserted
115 --    x_fund_id: return the fund_id of the new fund
116 ---------------------------------------------------------------------
117 /*#
118 * This procedure creates a new fixed budget.
119 * @param p_api_version        Indicates API version number.
120 * @param p_init_msg_list      Indicates whether to initialize the message stack.
121 * @param p_commit             Indicates whether to commit within the program.
122 * @param p_validation_level   Indicates validation level.
123 * @param x_return_status      Indicates program status.
124 * @param x_msg_data           Messages returned by the program.
125 * @param x_msg_count          Provides the number of the messages returned by the program.
126 * @param p_fund_rec           Identifies the new record to be inserted.
127 * @param x_fund_id            Returns the ID of the new fund.
128 * @rep:scope public
129 * @rep:lifecycle active
130 * @rep:displayname Create Fixed Budget
131 * @rep:compatibility S
132 * @rep:businessevent None
133 */
134 PROCEDURE Create_fund(
135    p_api_version        IN         NUMBER
136   ,p_init_msg_list      IN         VARCHAR2 := fnd_api.g_false
137   ,p_commit             IN         VARCHAR2 := fnd_api.g_false
138   ,p_validation_level   IN         NUMBER := fnd_api.g_valid_level_full
139   ,x_return_status      OUT NOCOPY VARCHAR2
140   ,x_msg_count          OUT NOCOPY NUMBER
141   ,x_msg_data           OUT NOCOPY VARCHAR2
142   ,p_fund_rec           IN         fund_rec_type
143   ,x_fund_id            OUT NOCOPY NUMBER
144   );
145 
146 ---------------------------------------------------------------------
147 -- PROCEDURE
148 --    Create_Fund
149 --
150 -- PURPOSE
151 --    Create a new fund (fully accrued budget).
152 --
153 -- PARAMETERS
154 --    p_fund_rec: the new record to be inserted
155 --    x_fund_id: return the fund_id of the new fund
156 ---------------------------------------------------------------------
157 /*#
158 * This procedure creates a new fully accrued budget.
159 * @param p_api_version        Indicates API version number.
160 * @param p_init_msg_list      Indicates whether to initialize the message stack.
161 * @param p_commit             Indicates whether to commit within the program.
162 * @param p_validation_level   Indicates validation level.
163 * @param x_return_status      Indicates program status.
164 * @param x_msg_data           Messages returned by the program.
165 * @param x_msg_count          Provides the number of the messages returned by the program.
169 * @param p_vo_pbh_tbl         Stores discount structure information for volume offer.
166 * @param p_fund_rec           Identifies the new record to be inserted.
167 * @param p_modifier_list_rec  Offer header detail.
168 * @param p_modifier_line_tbl  Stores discount rules for accrual offer.
170 * @param p_vo_dis_tbl         Stores discount tier information for volume offer.
171 * @param p_vo_prod_tbl        Stores discount product information for volume offer.
172 * @param p_qualifier_tbl      Stores the market eligibility values for volume offer.
173 * @param p_vo_mo_tbl          Stores market option information for volume offer.
174 * @param x_fund_id            Returns the ID of the new fund.
175 * @rep:scope public
176 * @rep:lifecycle active
177 * @rep:displayname Create Fully Accrued Budget
178 * @rep:compatibility S
179 * @rep:businessevent None
180 */
181 PROCEDURE Create_fund(
182    p_api_version        IN         NUMBER
183   ,p_init_msg_list      IN         VARCHAR2 := fnd_api.g_false
184   ,p_commit             IN         VARCHAR2 := fnd_api.g_false
185   ,p_validation_level   IN         NUMBER := fnd_api.g_valid_level_full
186   ,x_return_status      OUT NOCOPY VARCHAR2
187   ,x_msg_count          OUT NOCOPY NUMBER
188   ,x_msg_data           OUT NOCOPY VARCHAR2
189   ,p_fund_rec           IN         fund_rec_type
190   ,p_modifier_list_rec  IN         ozf_offer_pub.modifier_list_rec_type
191   ,p_modifier_line_tbl  IN         ozf_offer_pub.modifier_line_tbl_type
192   ,p_vo_pbh_tbl         IN         ozf_offer_pub.vo_disc_tbl_type
193   ,p_vo_dis_tbl         IN         ozf_offer_pub.vo_disc_tbl_type
194   ,p_vo_prod_tbl        IN         ozf_offer_pub.vo_prod_tbl_type
195   ,p_qualifier_tbl      IN         ozf_offer_pub.qualifiers_tbl_type
196   ,p_vo_mo_tbl          IN         ozf_offer_pub.vo_mo_tbl_type
197   ,x_fund_id            OUT NOCOPY NUMBER
198   );
199 
200 
201 --------------------------------------------------------------------
202 -- PROCEDURE
203 --    Delete_Fund
204 --
205 -- PURPOSE
206 --    Delete a fund.
207 --
208 -- PARAMETERS
209 --    p_fund_id: the fund_id
210 --    p_object_version: the object_version_number
211 --
212 -- NOTES
213 --    1. Raise exception if the object_version_number doesn't match.
214 --------------------------------------------------------------------
215 /*#
216 * This procedure deletes an existing budget.
217 * @param p_api_version    Indicates API version number.
218 * @param p_init_msg_list  Indicates whether to initialize the message stack.
219 * @param p_commit         Indicates whether to commit within the program.
220 * @param x_return_status  Indicates program status.
221 * @param x_msg_count      Number of messages the program returns.
222 * @param x_msg_data       Messages returned by the program .
223 * @param p_fund_id        Fund identifier of the fund to be deleted.
224 * @param p_object_version Indicates the object version number.
225 * @rep:scope public
226 * @rep:lifecycle active
227 * @rep:displayname Delete Budget
228 * @rep:compatibility S
229 * @rep:businessevent None
230 */
231 PROCEDURE Delete_Fund(
232    p_api_version       IN  NUMBER
233   ,p_init_msg_list     IN  VARCHAR2 := FND_API.g_false
234   ,p_commit            IN  VARCHAR2 := FND_API.g_false
235   ,x_return_status     OUT NOCOPY VARCHAR2
236   ,x_msg_count         OUT NOCOPY NUMBER
237   ,x_msg_data          OUT NOCOPY VARCHAR2
238   ,p_fund_id           IN  NUMBER
239   ,p_object_version    IN  NUMBER
240   );
241 
242 ---------------------------------------------------------------------
243 -- PROCEDURE
244 --    Update_Fund
245 --
246 -- PURPOSE
247 --    Update a fund.
248 --
249 -- PARAMETERS
250 --    p_fund_rec: the record with new items.
251 --    p_mode    : determines what sort of validation is to be performed during update.
252 --              : The mode should always be 'UPDATE' except when updating the earned or committed amount
253 --
254 -- NOTES
255 --    1. Raise exception if the object_version_number doesn't match.
256 --    2. If an attribute is passed in as FND_API.g_miss_char/num/date,
257 --       that column won't be updated.
258 ----------------------------------------------------------------------
259 /**
260  * This procedure updates an existing budget.
261  * @param p_api_version       Indicates API version number.
262  * @param p_init_msg_list     Indicates whether to initialize the message stack.
266  * @param x_msg_count         Indicates number of messages the program returns.
263  * @param p_commit            Indicates whether to commit within the program.
264  * @param p_validation_level  Indicates validation level.
265  * @param x_return_status     Indicates program status.
267  * @param x_msg_data          Return message by the program.
268  * @param p_fund_rec          Fund record to be updated.
269  * @param p_modifier_list_rec Offer header detail.
270  * @param p_modifier_line_tbl Stores discount rules for accrual offer.
271  * @param p_vo_pbh_tbl        Stores discount structure information for volume offer.
272  * @param p_vo_dis_tbl        Stores discount tier information for volume offer.
273  * @param p_vo_prod_tbl       Stores discount product information for volume offer.
274  * @param p_qualifier_tbl     Stores the market eligibility values for volume offer.
275  * @param p_vo_mo_tbl         Stores market option information for volume offer.
276  * @rep:scope public
277  * @rep:lifecycle active
278  * @rep:displayname Update Budget
279  * @rep:compatibility S
280  * @rep:businessevent None
281  */
282 PROCEDURE Update_fund(
283    p_api_version        IN         NUMBER
284   ,p_init_msg_list      IN         VARCHAR2 := fnd_api.g_false
285   ,p_commit             IN         VARCHAR2 := fnd_api.g_false
286   ,p_validation_level   IN         NUMBER := fnd_api.g_valid_level_full
287   ,x_return_status      OUT NOCOPY VARCHAR2
288   ,x_msg_count          OUT NOCOPY NUMBER
289   ,x_msg_data           OUT NOCOPY VARCHAR2
290   ,p_fund_rec           IN         fund_rec_type
291   ,p_modifier_list_rec  IN         ozf_offer_pub.modifier_list_rec_type
292   ,p_modifier_line_tbl  IN         ozf_offer_pub.modifier_line_tbl_type
293   ,p_vo_pbh_tbl         IN         ozf_offer_pub.vo_disc_tbl_type
294   ,p_vo_dis_tbl         IN         ozf_offer_pub.vo_disc_tbl_type
295   ,p_vo_prod_tbl        IN         ozf_offer_pub.vo_prod_tbl_type
296   ,p_qualifier_tbl      IN         ozf_offer_pub.qualifiers_tbl_type
297   ,p_vo_mo_tbl          IN         ozf_offer_pub.vo_mo_tbl_type
298   );
299 
300 ---------------------------------------------------------------------
301 -- PROCEDURE
302 --    create_market_segment
303 --
304 -- PURPOSE
305 --    Creates a market segment for fund or quota.
306 --
307 -- PARAMETERS
308 --    p_mks_rec    : the record with new items
309 --    x_act_mks_id : return the market segment id for the fund
310 --
311 -- HISTORY
312 --    07/07/2005  kdass Created
313 ----------------------------------------------------------------------
314 /*#
315  * This procedure creates a market segment for an existing budget or quota.
316  * @param p_api_version      Indicates API version number.
317  * @param p_init_msg_list    Indicates whether to initialize the message stack.
318  * @param p_commit           Indicates whether to commit within the program.
319  * @param p_validation_level Indicates validation level.
320  * @param p_mks_rec          Market segment record to be inserted.
321  * @param x_return_status    Indicates program status.
322  * @param x_msg_count        Indicates number of messages the program returns.
323  * @param x_msg_data         Messages returned by the program.
324  * @param x_act_mks_id       Indicates market segment id for the fund.
325  * @rep:scope public
326  * @rep:lifecycle active
327  * @rep:displayname Create Market Segment
328  * @rep:compatibility S
329  * @rep:businessevent None
330  */
331 PROCEDURE create_market_segment(
332    p_api_version        IN         NUMBER
333   ,p_init_msg_list      IN         VARCHAR2 := fnd_api.g_false
334   ,p_commit             IN         VARCHAR2 := fnd_api.g_false
335   ,p_validation_level   IN         NUMBER := fnd_api.g_valid_level_full
336   ,p_mks_rec            IN         mks_rec_type
337   ,x_return_status      OUT NOCOPY VARCHAR2
338   ,x_msg_count          OUT NOCOPY NUMBER
339   ,x_msg_data           OUT NOCOPY VARCHAR2
340   ,x_act_mks_id         OUT NOCOPY NUMBER
341   );
342 
343 ---------------------------------------------------------------------
344 -- PROCEDURE
345 --    update_market_segment
346 --
347 -- PURPOSE
348 --    Updates a market segment for fund or quota.
349 --
350 -- PARAMETERS
351 --    p_mks_rec : the record with items to be updated
352 --
353 -- HISTORY
354 --    07/07/2005  kdass Created
355 ----------------------------------------------------------------------
356 /*#
357  * This procedure updates a market segment for an existing budget or quota.
358  * @param p_api_version      Indicates API version number.
359  * @param p_init_msg_list    Indicates whether to initialize the message stack.
360  * @param p_commit           Indicates whether to commit within the program.
361  * @param p_validation_level Indicates validation level.
362  * @param p_mks_rec          Market segment record to be updated.
363  * @param x_return_status    Indicates program status.
364  * @param x_msg_count        Number of messages the program returns.
365  * @param x_msg_data         Messages returned by the program.
366  * @rep:scope public
367  * @rep:lifecycle active
368  * @rep:displayname Update Market Segment
369  * @rep:compatibility S
370  * @rep:businessevent None
371  */
372 PROCEDURE update_market_segment(
373    p_api_version        IN         NUMBER
374   ,p_init_msg_list      IN         VARCHAR2 := fnd_api.g_false
375   ,p_commit             IN         VARCHAR2 := fnd_api.g_false
376   ,p_validation_level   IN         NUMBER := fnd_api.g_valid_level_full
377   ,p_mks_rec            IN         mks_rec_type
378   ,x_return_status      OUT NOCOPY VARCHAR2
379   ,x_msg_count          OUT NOCOPY NUMBER
380   ,x_msg_data           OUT NOCOPY VARCHAR2
381   );
382 
383 ---------------------------------------------------------------------
384 -- PROCEDURE
385 --    delete_market_segment
386 --
390 -- PARAMETERS
387 -- PURPOSE
388 --    Deletes a market segment for fund or quota.
389 --
391 --    p_act_mks_id : the market segment to be deleted
392 --
393 -- HISTORY
394 --    07/07/2005  kdass Created
395 ----------------------------------------------------------------------
396 /*#
397  * This procedure deletes a market segment for an existing budget or quota.
398  * @param p_api_version      Indicates API version number.
399  * @param p_init_msg_list    Indicates whether to initialize the message stack.
400  * @param p_commit           Indicates whether to commit within the program.
401  * @param p_act_mks_id       Market segment identifier of the market segment to be deleted.
402  * @param x_return_status    Program Status.
403  * @param x_msg_count        Number of messages the program returns.
404  * @param x_msg_data         Messages returned by the program.
405  * @rep:scope public
406  * @rep:lifecycle active
407  * @rep:displayname Delete Market Segment
408  * @rep:compatibility S
409  * @rep:businessevent None
410  */
411 PROCEDURE delete_market_segment(
412    p_api_version        IN         NUMBER
413   ,p_init_msg_list      IN         VARCHAR2 := fnd_api.g_false
414   ,p_commit             IN         VARCHAR2 := fnd_api.g_false
415   ,p_act_mks_id         IN         NUMBER
416   ,x_return_status      OUT NOCOPY VARCHAR2
417   ,x_msg_count          OUT NOCOPY NUMBER
418   ,x_msg_data           OUT NOCOPY VARCHAR2
419   );
420 
421 ----------------------------------------------------------------------
422 -- PROCEDURE
423 --    create_product_eligibility
424 --
425 -- PURPOSE
426 --    Creates the product eligibility record for fund or quota.
427 --
428 -- PARAMETERS
429 --    p_act_product_rec : the record with new items
430 --    x_act_product_id  : return the activity product id for the fund or quota
431 --
432 -- HISTORY
433 --    07/11/2005  kdass Created
434 ----------------------------------------------------------------------
435 /*#
436  * This procedure creates a product eligibility record for an existing budget or quota.
437  * @param p_api_version      Indicates API version number.
438  * @param p_init_msg_list    Indicates whether to initialize the message stack.
439  * @param p_commit           Indicates whether to commit within the program.
440  * @param p_validation_level Indicates validation level.
441  * @param p_act_product_rec  Product Eligibility record to be inserted.
442  * @param x_return_status    Indicates program status.
443  * @param x_msg_count        Number of messages the program returns.
444  * @param x_msg_data         Messages returned by the program.
445  * @param x_act_product_id   Indicates product's activity product id.
446  * @rep:scope public
447  * @rep:lifecycle active
448  * @rep:displayname Create Product Eligibility
449  * @rep:compatibility S
450  * @rep:businessevent None
451  */
452 PROCEDURE create_product_eligibility(
453    p_api_version        IN         NUMBER
454   ,p_init_msg_list      IN         VARCHAR2 := fnd_api.g_false
455   ,p_commit             IN         VARCHAR2 := fnd_api.g_false
456   ,p_validation_level   IN         NUMBER := fnd_api.g_valid_level_full
457   ,p_act_product_rec    IN         act_product_rec_type
458   ,x_return_status      OUT NOCOPY VARCHAR2
459   ,x_msg_count          OUT NOCOPY NUMBER
460   ,x_msg_data           OUT NOCOPY VARCHAR2
461   ,x_act_product_id     OUT NOCOPY NUMBER
462   );
463 
464 ---------------------------------------------------------------------
465 -- PROCEDURE
466 --    update_product_eligibility
467 --
468 -- PURPOSE
469 --    Updates the product eligibility record for fund or quota.
470 --
471 -- PARAMETERS
472 --    p_act_product_rec : the record with items to be updated
473 --
474 -- HISTORY
475 --    07/11/2005  kdass Created
476 ----------------------------------------------------------------------
477 /*#
478  * This procedure updates a product eligibility record for an existing budget or quota.
479  * @param p_api_version      Indicates API version number.
480  * @param p_init_msg_list    Indicates whether to initialize the message stack.
481  * @param p_commit           Indicates whether to commit within the program.
482  * @param p_validation_level Indicates validation level.
483  * @param p_act_product_rec  Product eligibility record to be updated.
484  * @param x_return_status    Indicates program status.
485  * @param x_msg_count        Indicates number of messages the program returns.
486  * @param x_msg_data         Messages returned by the program.
487  * @rep:scope public
488  * @rep:lifecycle active
489  * @rep:displayname Update Product Eligibility
490  * @rep:compatibility S
491  * @rep:businessevent None
492  */
493 PROCEDURE update_product_eligibility(
494    p_api_version        IN         NUMBER
495   ,p_init_msg_list      IN         VARCHAR2 := fnd_api.g_false
496   ,p_commit             IN         VARCHAR2 := fnd_api.g_false
497   ,p_validation_level   IN         NUMBER := fnd_api.g_valid_level_full
498   ,p_act_product_rec    IN         act_product_rec_type
499   ,x_return_status      OUT NOCOPY VARCHAR2
500   ,x_msg_count          OUT NOCOPY NUMBER
501   ,x_msg_data           OUT NOCOPY VARCHAR2
502   );
503 
504 ---------------------------------------------------------------------
505 -- PROCEDURE
506 --    delete_product_eligibility
507 --
508 -- PURPOSE
509 --    Deletes the product eligibility record for fund or quota.
510 --
511 -- PARAMETERS
512 --    p_act_product_id : the product eligibility to be deleted
513 --
514 -- HISTORY
515 --    07/11/2005  kdass Created
516 ----------------------------------------------------------------------
517 /*#
518  * This procedure deletes a product eligibility record for an existing budget or quota.
522  * @param p_act_product_id   Activity product identifier of the product eligibility record to be deleted.
519  * @param p_api_version      Indicates API version number.
520  * @param p_init_msg_list    Indicates whether to initialize the message stack.
521  * @param p_commit           Indicates whether to commit within the program .
523  * @param x_return_status    Indicates program status.
524  * @param x_msg_count        Indicates number of messages the program returns.
525  * @param x_msg_data         Messages returned by the program.
526  * @rep:scope public
527  * @rep:lifecycle active
528  * @rep:displayname Delete Product Eligibility
529  * @rep:compatibility S
530  * @rep:businessevent None
531  */
532 PROCEDURE delete_product_eligibility(
533    p_api_version        IN         NUMBER
534   ,p_init_msg_list      IN         VARCHAR2 := fnd_api.g_false
535   ,p_commit             IN         VARCHAR2 := fnd_api.g_false
536   ,p_act_product_id     IN         NUMBER
537   ,x_return_status      OUT NOCOPY VARCHAR2
538   ,x_msg_count          OUT NOCOPY NUMBER
539   ,x_msg_data           OUT NOCOPY VARCHAR2
540   );
541 
542 /*kdass - funds accrual process by business event descoped due to performance issues.
543   added back by feliu since calling API don't descope.*/
544 PROCEDURE increase_order_message_counter;
545 
546 --//ER 12764004
547 ---------------------------------------------------------------------
548 -- PROCEDURE
549 --    process_fund_from_adapter
550 --
551 -- PURPOSE
552 --    Process a fund , called from adapter.
553 --
554 -- PARAMETERS
555 --    p_source: the adapter.
556 --    p_fund_rec: the record to be inserted or updated.
557 --    p_modifier_line_tbl: Offer list line record.
558 --    p_qualifier_tbl: market eligibility record.
559 --    x_fund_id: return the fund_id of the fund
560 --    x_line_tbl: return the source products of the fund
561 ---------------------------------------------------------------------
562 /*#
563 * This procedure processes (creates or updates) a fund (budget).
564 * @param p_api_version        Indicates API version number.
565 * @param p_init_msg_list      Indicates whether to initialize the message stack.
566 * @param p_commit             Indicates whether to commit within the program.
567 * @param p_validation_level   Indicates validation level.
568 * @param x_return_status      Indicates program status.
569 * @param x_msg_count          Provides the number of the messages returned by the program.
570 * @param x_msg_data           Messages data.
571 * @param p_source             Identifies the adapter, Defaulted to SIEBEL.
572 * @param p_fund_rec           fund record. The following are the parameters in p_fund_rec;
573 * <br>fund_id - Fund Identifier, Pass this in Fund update flow
574 * <br>fund_number - Fund Number
575 * <br>short_name - Short Name of the fund
576 * <br>fund_type - Fund type, Either Fixed or Fully Accrued
577 * <br>custom_setup_id - Custom setup identifier
578 * <br>description - Description
579 * <br>category_id -Fund category Identifier
580 * <br>business_unit_id - Business Unit Identifier
581 * <br>status_code - Status Code
582 * <br>user_status_id - User status Identifier
583 * <br>start_date_active - Start date of the fund
584 * <br>end_date_active - End date of the fund
585 * <br>start_period_name - Start period name
586 * <br>end_period_name - End Period name
587 * <br>original_budget - Budget Amount
588 * <br>holdback_amt - Holdback amount
589 * <br>owner - Owner Identifier of the fund
590 * <br>accrual_basis - Accrual basis, Pass only for Accrual fund
591 * <br>accrual_phase - Accrual phase, Pass only for Accrual fund
592 * <br>accrual_discount_level - Accrual discount level, Pass only for Accrual fund
593 * <br>threshold_id - Budget threshold Identifier
594 * <br>task_id - Task Identifier
595 * <br>org_id - Organization Identifier
596 * <br>liability_flag - Liability Flag
597 * <br>ledger_id - Ledger Identifier
598 * <br>accrued_liable_account - Accrual liablility Account
599 * <br>ded_adjustment_account - Sales/Expense/Charge Account
600 * <br>accrual_quantity - Accrual Quantity, Pass only for Accrual fund
601 * <br>accrue_to_level_id - Accrue to level identifier, Pass only for Accrual fund
602 * <br>attribute_category - Attribute category
603 * <br>attribute1 to attribute1 - Discriptive flex field attributes
604 * @param p_modifier_line_tbl  p_modifier_line_tbl Stores discount rules. The following are the parameters in p_modifier_line_tbl;
605 * <br>offer_line_type - Offer line type
606 * <br>operation -  Opereation, CREATE/UPDATE
607 * <br>list_line_id - List Line Identifier
608 * <br>list_header_id - List Header Identifier
609 * <br>list_line_type_code - List Line type code
610 * <br>operand - Operand
611 * <br>start_date_active - Start date
612 * <br>end_date_active - End date Active
613 * <br>arithmetic_operator - Arithmatic Operator
614 * <br>active_flag - Active flag
615 * <br>pricing_attribute_id - Pricing Attribute Identifier
616 * <br>product_attribute_context - Product Attribute Context
617 * <br>product_attr - Product Attribute
618 * <br>product_attr_val - Product Attribute Value
619 * <br>product_uom_code - Product UOM Code
620 * <br>pricing_attribute_context - Pricing Attribute Context
621 * <br>qualifier_id - Qualifier Identifier
622 * <br>comments - Comments
623 * <br>attribute1-15 - DFF Attribute values
624 * <br>list_line_no - List line No
625 * @param p_qualifier_tbl p_qualifier_tbl Stores the market eligibility values.The following are the parameters in p_qualifier_tbl;
626 * <br>qualifier_context - Qualifier context
627 * <br>qualifier_attribute - Qualifier Attribute
628 * <br>qualifier_attr_value - Qualifier Attribute value
629 * <br>qualifier_attr_value_to - Qualifier Attribute value to
630 * <br>comparison_operator_code - Comparison Operation code
631 * <br>qualifier_grouping_no - Qualifier Qgouping Number
632 * <br>list_line_id - List line Identifier
633 * <br>list_header_id - List Header Identifier
637 * <br>activity_market_segment_id - Activity Market segment Identifier
634 * <br>qualifier_id - Qualifier Identifier
635 * <br>start_date_active - Start Date Active
636 * <br>end_date_active - End Date Active
638 * <br>operation - Operation
639 * <br>context - Context
640 * <br>attribute1-15 - DFF Attribute values
641 * @param x_fund_id            Returns the ID of the fund.
642 * @param x_msg_tbl            Messages returned by the program.
643 * @param x_line_tbl           Returns the list line of source product.
644 * @rep:scope public
645 * @rep:lifecycle active
646 * @rep:displayname Process fund from adapter
647 * @rep:compatibility S
648 * @rep:businessevent None
649 */
650 
651 PROCEDURE process_fund_from_adapter(
652    p_api_version        IN         NUMBER
653   ,p_init_msg_list      IN         VARCHAR2 := fnd_api.g_false
654   ,p_commit             IN         VARCHAR2 := fnd_api.g_false
655   ,p_validation_level   IN         NUMBER := fnd_api.G_VALID_LEVEL_FULL
656   ,x_return_status      OUT NOCOPY VARCHAR2
657   ,x_msg_count          OUT NOCOPY NUMBER
658   ,x_msg_data           OUT NOCOPY VARCHAR2
659   ,p_source             IN         VARCHAR2 := 'SIEBEL'
660   ,p_fund_rec           IN         fund_rec_type
661   ,p_modifier_line_tbl  IN         ozf_offer_pub.modifier_line_tbl_type
662   ,p_qualifier_tbl      IN         ozf_offer_pub.qualifiers_tbl_type
663   ,x_fund_id            OUT NOCOPY NUMBER
664   ,x_msg_tbl            OUT NOCOPY OZF_Utility_PVT.ozf_msg_tbl_type
665   ,x_line_tbl           OUT NOCOPY ozf_offer_pub.list_line_tbl_type
666   );
667 
668 END OZF_FUNDS_PUB;
669