DBA Data[Home] [Help]

PACKAGE: APPS.OZF_OFFER_PUB

Source


1 PACKAGE OZF_Offer_PUB AUTHID CURRENT_USER AS
2 /* $Header: ozfpofrs.pls 120.8 2011/10/28 15:09:45 bkunjan ship $ */
3 /*#
4 * Use the Offers Public API to create non-offer modules such as Referral.
5 * This API provides a single location for managing offers.
6 * You can modify budget requests and discount rules with just one call to the method public.
7 * @rep:scope public
8 * @rep:product OZF
9 * @rep:lifecycle active
10 * @rep:displayname Offer Public API
11 * @rep:category BUSINESS_ENTITY OZF_OFFERS
12 */
13 G_PKG_NAME CONSTANT VARCHAR2(30) := 'OZF_OFFER_PUB';
14 
15 TYPE act_product_line_rec_type IS RECORD
16 (
17    activity_product_id       NUMBER
18   ,object_version_number     NUMBER(9)
19   ,act_product_used_by_id    NUMBER
20   ,arc_act_product_used_by   VARCHAR2(30)
21   ,product_sale_type         VARCHAR2(30)
22   ,primary_product_flag      VARCHAR2(1)
23   ,enabled_flag              VARCHAR2(1)
24   ,inventory_item_id         NUMBER(38)
25   ,organization_id           NUMBER(32)
26   ,category_id               NUMBER
27   ,category_set_id           NUMBER
28   ,attribute_category        VARCHAR2(30)
29   ,level_type_code           VARCHAR2(30)
30   ,excluded_flag             VARCHAR2(1)
31   ,line_lumpsum_amount       NUMBER
32   ,line_lumpsum_qty          NUMBER
33   ,scan_value                NUMBER
34   ,uom_code                  VARCHAR2(3)
35   ,adjustment_flag           VARCHAR2(1)
36   ,scan_unit_forecast        NUMBER
37   ,channel_id                NUMBER
38   ,quantity                  NUMBER
39   ,operation                 VARCHAR2(30)
40 );
41 TYPE act_product_tbl_type IS TABLE OF act_product_line_rec_type INDEX BY BINARY_INTEGER;
42 
43 TYPE discount_line_rec_type IS RECORD
44 (
45        offer_discount_line_id          NUMBER,
46        parent_discount_line_id         NUMBER,
47        volume_from                     NUMBER,
48        volume_to                       NUMBER,
49        volume_operator                 VARCHAR2(30),
50        volume_type                     VARCHAR2(30),
51        volume_break_type               VARCHAR2(30),
52        discount                        NUMBER,
53        discount_type                   VARCHAR2(30),
54        tier_type                       VARCHAR2(30),
55        tier_level                      VARCHAR2(30),
56        incompatibility_group           VARCHAR2(30),
57        precedence                      NUMBER,
58        bucket                          VARCHAR2(30),
59        scan_value                      NUMBER,
60        scan_data_quantity              NUMBER,
61        scan_unit_forecast              NUMBER,
62        channel_id                      NUMBER,
63        adjustment_flag                 VARCHAR2(1),
64        start_date_active               DATE,
65        end_date_active                 DATE,
66        uom_code                        VARCHAR2(30),
67        creation_date                   DATE,
68        created_by                      NUMBER,
69        last_update_date                DATE,
70        last_updated_by                 NUMBER,
71        last_update_login               NUMBER,
72        object_version_number           NUMBER,
73        offer_id                        NUMBER,
74        off_discount_product_id         NUMBER,
75        parent_off_disc_prod_id         NUMBER,
76        product_level                   VARCHAR2(30),
77        product_id                      NUMBER,
78        excluder_flag                   VARCHAR2(1),
79        operation                       VARCHAR2(30)
80 );
81 TYPE discount_line_tbl_type IS TABLE OF discount_line_rec_type INDEX BY BINARY_INTEGER;
82 
83 TYPE prod_rec_type IS RECORD
84 (
85        off_discount_product_id         NUMBER,
86        parent_off_disc_prod_id         NUMBER,
87        product_level                   VARCHAR2(30),
88        product_id                      NUMBER,
89        excluder_flag                   VARCHAR2(1),
90        uom_code                        VARCHAR2(30),
91        start_date_active               DATE,
92        end_date_active                 DATE,
93        offer_discount_line_id          NUMBER,
94        offer_id                        NUMBER,
95        creation_date                   DATE,
96        created_by                      NUMBER,
97        last_update_date                DATE,
98        last_updated_by                 NUMBER,
99        last_update_login               NUMBER,
100        object_version_number           NUMBER,
101        operation                       VARCHAR2(30)
102 );
103 TYPE prod_rec_tbl_type IS TABLE OF prod_rec_type INDEX BY BINARY_INTEGER;
104 
105 TYPE excl_rec_type IS RECORD
106 (
107        off_discount_product_id         NUMBER,
108        parent_off_disc_prod_id         NUMBER,
109        product_level                   VARCHAR2(30),
110        product_id                      NUMBER,
111        object_version_number           NUMBER,
112        start_date_active               DATE,
113        end_date_active                 DATE,
114        operation                       VARCHAR2(30)
115 );
116 TYPE excl_rec_tbl_type IS TABLE OF excl_rec_type INDEX BY BINARY_INTEGER;
117 
118 TYPE offer_tier_rec_type IS RECORD
119 (
120        offer_discount_line_id          NUMBER,
121        parent_discount_line_id         NUMBER,
122        offer_id                        NUMBER,
123        volume_from                     NUMBER,
124        volume_to                       NUMBER,
125        volume_operator                 VARCHAR2(30),
126        volume_type                     VARCHAR2(30),
127        volume_break_type               VARCHAR2(30),
128        discount                        NUMBER,
129        discount_type                   VARCHAR2(30),
130        start_date_active               DATE,
131        end_date_active                 DATE,
132        uom_code                        VARCHAR2(30),
133        object_version_number           NUMBER,
134        operation                       VARCHAR2(30)
135 );
136 TYPE offer_tier_tbl_type IS TABLE OF offer_tier_rec_type INDEX BY BINARY_INTEGER;
137 
138 TYPE na_qualifier_rec_type IS RECORD
139 (
140         qualifier_id                    NUMBER,
141         creation_date                   DATE,
142         created_by                      NUMBER,
143         last_update_date                DATE,
144         last_updated_by                 NUMBER,
145         last_update_login               NUMBER,
146         qualifier_grouping_no           NUMBER,
147         qualifier_context               VARCHAR2(30),
148         qualifier_attribute             VARCHAR2(30),
149         qualifier_attr_value            VARCHAR2(240),
150         start_date_active               DATE,
151         end_date_active                 DATE,
152         offer_id                        NUMBER,
153         offer_discount_line_id          NUMBER,
154         context                         VARCHAR2(30),
155         attribute1                      VARCHAR2(240),
156         attribute2                      VARCHAR2(240),
157         attribute3                      VARCHAR2(240),
158         attribute4                      VARCHAR2(240),
159         attribute5                      VARCHAR2(240),
160         attribute6                      VARCHAR2(240),
161         attribute7                      VARCHAR2(240),
162         attribute8                      VARCHAR2(240),
163         attribute9                      VARCHAR2(240),
164         attribute10                     VARCHAR2(240),
165         attribute11                     VARCHAR2(240),
166         attribute12                     VARCHAR2(240),
167         attribute13                     VARCHAR2(240),
168         attribute14                     VARCHAR2(240),
169         attribute15                     VARCHAR2(240),
170         active_flag                     VARCHAR2(1),
171         object_version_number           NUMBER,
172         operation                       VARCHAR2(30)
173 );
174 TYPE na_qualifier_tbl_type IS TABLE OF na_qualifier_rec_type INDEX BY BINARY_INTEGER;
175 
176 TYPE budget_rec_type IS RECORD
177 (
178    act_budget_id NUMBER
179   ,budget_id     NUMBER
180   ,budget_amount NUMBER
181   ,operation     VARCHAR2(30)
182 );
183 TYPE budget_tbl_type IS TABLE OF budget_rec_type INDEX BY BINARY_INTEGER;
184 
185 TYPE Modifier_LIST_Rec_Type IS RECORD
186 (
187    offer_id                     NUMBER         := Fnd_Api.g_miss_num
188   ,qp_list_header_id            NUMBER         := Fnd_Api.g_miss_num
189   ,offer_type                   VARCHAR2(30)   := Fnd_Api.g_miss_char
190   ,offer_code                   VARCHAR2(100)  := Fnd_Api.g_miss_char
191   ,activity_media_id            NUMBER         := Fnd_Api.g_miss_num
192   ,reusable                     VARCHAR2(1)    := Fnd_Api.g_miss_char
193   ,user_status_id               NUMBER         := Fnd_Api.g_miss_num
194   ,owner_id                     NUMBER         := Fnd_Api.g_miss_num
195   ,wf_item_key                  VARCHAR2(120)  := Fnd_Api.g_miss_char
196   ,customer_reference           VARCHAR2(240)  := Fnd_Api.g_miss_char
197   ,buying_group_contact_id      NUMBER         := Fnd_Api.g_miss_num
198   ,object_version_number        NUMBER         := Fnd_Api.g_miss_num
199   ,perf_date_from               DATE           := Fnd_Api.g_miss_date
200   ,perf_date_to                 DATE           := Fnd_Api.g_miss_date
201   ,status_code                  VARCHAR2(30)   := Fnd_Api.g_miss_char
202   ,status_date                  DATE           := Fnd_Api.g_miss_date
203   ,modifier_level_code          VARCHAR2(30)   := Fnd_Api.g_miss_char
204   ,order_value_discount_type    VARCHAR2(30)   := Fnd_Api.g_miss_char
205   ,lumpsum_amount               NUMBER         := Fnd_Api.g_miss_num
206   ,lumpsum_payment_type         VARCHAR2(30)   := Fnd_Api.g_miss_char
207   ,custom_setup_id              NUMBER         := Fnd_Api.g_miss_num
208   ,offer_amount                 NUMBER         := FND_API.g_miss_num
209   ,budget_amount_tc             NUMBER         := Fnd_Api.g_miss_num
210   ,budget_amount_fc             NUMBER         := Fnd_Api.g_miss_num
211   ,transaction_currency_code    VARCHAR2(15)   := Fnd_Api.g_miss_char
212   ,functional_currency_code     VARCHAR2(15)   := Fnd_Api.g_miss_char
213   ,context                      VARCHAR2(30)   := Fnd_Api.g_miss_char
214   ,attribute1                   VARCHAR2(240)  := Fnd_Api.g_miss_char
215   ,attribute2                   VARCHAR2(240)  := Fnd_Api.g_miss_char
216   ,attribute3                   VARCHAR2(240)  := Fnd_Api.g_miss_char
217   ,attribute4                   VARCHAR2(240)  := Fnd_Api.g_miss_char
218   ,attribute5                   VARCHAR2(240)  := Fnd_Api.g_miss_char
219   ,attribute6                   VARCHAR2(240)  := Fnd_Api.g_miss_char
220   ,attribute7                   VARCHAR2(240)  := Fnd_Api.g_miss_char
221   ,attribute8                   VARCHAR2(240)  := Fnd_Api.g_miss_char
222   ,attribute9                   VARCHAR2(240)  := Fnd_Api.g_miss_char
223   ,attribute10                  VARCHAR2(240)  := Fnd_Api.g_miss_char
224   ,attribute11                  VARCHAR2(240)  := Fnd_Api.g_miss_char
225   ,attribute12                  VARCHAR2(240)  := Fnd_Api.g_miss_char
226   ,attribute13                  VARCHAR2(240)  := Fnd_Api.g_miss_char
227   ,attribute14                  VARCHAR2(240)  := Fnd_Api.g_miss_char
228   ,attribute15                  VARCHAR2(240)  := Fnd_Api.g_miss_char
229   ,currency_code                VARCHAR2(30)   := Fnd_Api.g_miss_char
230   ,start_date_active            DATE           := Fnd_Api.g_miss_date
231   ,end_date_active              DATE           := Fnd_Api.g_miss_date
232   ,list_type_code               VARCHAR2(30)   := Fnd_Api.g_miss_char
233   ,discount_lines_flag          VARCHAR2(1)    := Fnd_Api.g_miss_char
234   ,name                         VARCHAR2(240)  := Fnd_Api.g_miss_char
235   ,description                  VARCHAR2(2000) := Fnd_Api.g_miss_char
236   ,comments                     VARCHAR2(2000) := Fnd_Api.g_miss_char
237   ,ask_for_flag                 VARCHAR2(1)    := Fnd_Api.g_miss_char
238   ,start_date_active_first      DATE           := Fnd_Api.g_miss_date
239   ,end_date_active_first        DATE           := Fnd_Api.g_miss_date
240   ,active_date_first_type       VARCHAR2(30)   := Fnd_Api.g_miss_char
241   ,start_date_active_second     DATE           := Fnd_Api.g_miss_date
242   ,end_date_active_second       DATE           := Fnd_Api.g_miss_date
243   ,active_date_second_type      VARCHAR2(30)    := Fnd_Api.g_miss_char
244   ,active_flag                  VARCHAR2(1)     := Fnd_Api.g_miss_char
245   ,max_no_of_uses               NUMBER          := Fnd_Api.g_miss_num
246   ,budget_source_id             NUMBER          := Fnd_Api.g_miss_num
247   ,budget_source_type           VARCHAR2(30)    := Fnd_Api.g_miss_char
248   ,offer_used_by_id             NUMBER          := Fnd_Api.g_miss_num
249   ,offer_used_by                VARCHAR2(30)    := Fnd_Api.g_miss_char
250   ,ql_qualifier_type            VARCHAR2(30)    := Fnd_Api.g_miss_char
251   ,ql_qualifier_id              NUMBER          := Fnd_Api.g_miss_num
252   ,distribution_type            VARCHAR2(30)    := FND_API.g_miss_char
253   ,amount_limit_id              NUMBER          := FND_API.g_miss_num
254   ,uses_limit_id                NUMBER          := FND_API.g_miss_num
255   ,offer_operation              VARCHAR2(30)    := FND_API.g_miss_char
256   ,modifier_operation           VARCHAR2(30)    := FND_API.g_miss_char
257   ,budget_offer_yn              VARCHAR2(1)     := FND_API.g_miss_char
258   ,break_type                   VARCHAR2(30)    := FND_API.g_miss_char
259   ,retroactive                  VARCHAR2(1)     := FND_API.g_miss_char
260   ,volume_offer_type            VARCHAR2(30)    := FND_API.g_miss_char
264   ,buyer_name                   VARCHAR2(240)   := FND_API.g_miss_char
261   ,confidential_flag            VARCHAR2(1)     := FND_API.g_miss_char
262   ,committed_amount_eq_max      VARCHAR2(1)     := FND_API.g_miss_char
263   ,source_from_parent           VARCHAR2(1)     := FND_API.g_miss_char
265   ,tier_level                   VARCHAR2(30)    := FND_API.g_miss_char
266   ,na_rule_header_id            NUMBER          := FND_API.g_miss_num
267   ,sales_method_flag            VARCHAR2(1)     := FND_API.g_miss_char
268   ,global_flag                  VARCHAR2(1)     := FND_API.g_miss_char
269   ,orig_org_id                  NUMBER          := FND_API.g_miss_num
270 );
271 
272 TYPE Modifier_Line_Rec_Type IS RECORD
273 (
274    offer_line_type             VARCHAR2(30)   := Fnd_Api.g_miss_char
275   ,operation                   VARCHAR2(30)   := FND_API.g_miss_char
276   ,list_line_id                NUMBER         := Fnd_Api.g_miss_num
277   ,list_header_id              NUMBER         := Fnd_Api.g_miss_num
278   ,list_line_type_code         VARCHAR2(30)   := Fnd_Api.g_miss_char
279   ,operand                     NUMBER         := Fnd_Api.g_miss_num
280   ,start_date_active           DATE           := FND_API.g_miss_date
281   ,end_date_active             DATE           := FND_API.g_miss_date
282   ,arithmetic_operator         VARCHAR2(30)   := Fnd_Api.g_miss_char
283   ,active_flag                 VARCHAR2(1)    := Fnd_Api.g_miss_char
284   ,qd_operand                  NUMBER         := Fnd_Api.g_miss_num
285   ,qd_arithmetic_operator      VARCHAR2(30)   := Fnd_Api.g_miss_char
286   ,qd_related_deal_lines_id    NUMBER         := Fnd_Api.g_miss_num
287   ,qd_object_version_number    NUMBER         := Fnd_Api.g_miss_num
288   ,qd_estimated_qty_is_max     VARCHAR2(1)    := Fnd_Api.g_miss_char
289   ,qd_list_line_id             NUMBER         := Fnd_Api.g_miss_num
290   ,qd_estimated_amount_is_max  VARCHAR2(1)    := Fnd_Api.g_miss_char
291   ,estim_gl_value              NUMBER         := Fnd_Api.g_miss_num
292   ,benefit_price_list_line_id  NUMBER         := Fnd_Api.g_miss_num
296   ,substitution_context        VARCHAR2(30)   := Fnd_Api.g_miss_char
293   ,benefit_limit               NUMBER         := Fnd_Api.g_miss_num
294   ,benefit_qty                 NUMBER         := Fnd_Api.g_miss_num
295   ,benefit_uom_code            VARCHAR2(3)    := Fnd_Api.g_miss_char
297   ,substitution_attr           VARCHAR2(30)   := Fnd_Api.g_miss_char
298   ,substitution_val            VARCHAR2(240)  := Fnd_Api.g_miss_char
299   ,price_break_type_code       VARCHAR2(30)   := Fnd_Api.g_miss_char
300   ,pricing_attribute_id        NUMBER         := Fnd_Api.g_miss_num
301   ,product_attribute_context   VARCHAR2(30)   := Fnd_Api.g_miss_char
302   ,product_attr                VARCHAR2(30)   := Fnd_Api.g_miss_char
303   ,product_attr_val            VARCHAR2(240)  := Fnd_Api.g_miss_char
304   ,product_uom_code            VARCHAR2(3)    := Fnd_Api.g_miss_char
305   ,pricing_attribute_context   VARCHAR2(30)   := Fnd_Api.g_miss_char
306   ,pricing_attr                VARCHAR2(30)   := Fnd_Api.g_miss_char
307   ,pricing_attr_value_from     VARCHAR2(240)  := Fnd_Api.g_miss_char
308   ,pricing_attr_value_to       VARCHAR2(240)  := Fnd_Api.g_miss_char
309   ,excluder_flag               VARCHAR2(1)    := Fnd_Api.g_miss_char
310   ,order_value_from            VARCHAR2(240)  := Fnd_Api.g_miss_char
311   ,order_value_to              VARCHAR2(240)  := Fnd_Api.g_miss_char
312   ,qualifier_id                NUMBER         := FND_API.g_miss_num
313   ,comments                    VARCHAR2(2000) := Fnd_Api.g_miss_char
314   ,context                     VARCHAR2(30)   := Fnd_Api.g_miss_char
315   ,attribute1                  VARCHAR2(240)  := Fnd_Api.g_miss_char
316   ,attribute2                  VARCHAR2(240)  := Fnd_Api.g_miss_char
317   ,attribute3                  VARCHAR2(240)  := Fnd_Api.g_miss_char
318   ,attribute4                  VARCHAR2(240)  := Fnd_Api.g_miss_char
319   ,attribute5                  VARCHAR2(240)  := Fnd_Api.g_miss_char
320   ,attribute6                  VARCHAR2(240)  := Fnd_Api.g_miss_char
321   ,attribute7                  VARCHAR2(240)  := Fnd_Api.g_miss_char
322   ,attribute8                  VARCHAR2(240)  := Fnd_Api.g_miss_char
323   ,attribute9                  VARCHAR2(240)  := Fnd_Api.g_miss_char
324   ,attribute10                 VARCHAR2(240)  := Fnd_Api.g_miss_char
325   ,attribute11                 VARCHAR2(240)  := Fnd_Api.g_miss_char
326   ,attribute12                 VARCHAR2(240)  := Fnd_Api.g_miss_char
327   ,attribute13                 VARCHAR2(240)  := Fnd_Api.g_miss_char
328   ,attribute14                 VARCHAR2(240)  := Fnd_Api.g_miss_char
329   ,attribute15                 VARCHAR2(240)  := Fnd_Api.g_miss_char
330   ,max_qty_per_order           NUMBER         := Fnd_Api.g_miss_num
331   ,max_qty_per_order_id        NUMBER         := Fnd_Api.g_miss_num
332   ,max_qty_per_customer        NUMBER         := Fnd_Api.g_miss_num
333   ,max_qty_per_customer_id     NUMBER         := Fnd_Api.g_miss_num
334   ,max_qty_per_rule            NUMBER         := Fnd_Api.g_miss_num
335   ,max_qty_per_rule_id         NUMBER         := Fnd_Api.g_miss_num
336   ,max_orders_per_customer     NUMBER         := Fnd_Api.g_miss_num
337   ,max_orders_per_customer_id  NUMBER         := Fnd_Api.g_miss_num
338   ,max_amount_per_rule         NUMBER         := Fnd_Api.g_miss_num
339   ,max_amount_per_rule_id      NUMBER         := Fnd_Api.g_miss_num
340   ,estimate_qty_uom            VARCHAR2(3)    := Fnd_Api.g_miss_char
341   ,generate_using_formula_id   NUMBER         := FND_API.G_MISS_NUM
342   ,price_by_formula_id         NUMBER         := FND_API.G_MISS_NUM
343   ,generate_using_formula      VARCHAR2(240)  := FND_API.G_MISS_CHAR
344   ,price_by_formula            VARCHAR2(240)  := FND_API.G_MISS_CHAR
345   ,list_line_no                VARCHAR2(30)   := Fnd_Api.g_miss_char
346 );
347 TYPE modifier_line_tbl_type IS TABLE OF MODIFIER_LINE_REC_TYPE INDEX BY BINARY_INTEGER;
348 
349 TYPE qualifiers_Rec_Type IS RECORD
350 (
351    qualifier_context           VARCHAR2(30)   := Fnd_Api.g_miss_char
352   ,qualifier_attribute         VARCHAR2(30)   := Fnd_Api.g_miss_char
353   ,qualifier_attr_value        VARCHAR2(240)  := Fnd_Api.g_miss_char
354   ,qualifier_attr_value_to     VARCHAR2(240)  := Fnd_Api.g_miss_char
355   ,comparison_operator_code    VARCHAR2(30)   := Fnd_Api.g_miss_char
356   ,qualifier_grouping_no       NUMBER         := Fnd_Api.g_miss_num
357   ,list_line_id                NUMBER         := Fnd_Api.g_miss_num
358   ,list_header_id              NUMBER         := Fnd_Api.g_miss_num
359   ,qualifier_id                NUMBER         := Fnd_Api.g_miss_num
360   ,start_date_active           DATE           := Fnd_Api.g_miss_date
361   ,end_date_active             DATE           := Fnd_Api.g_miss_date
362   ,activity_market_segment_id  NUMBER         := Fnd_Api.g_miss_num
363   ,operation                   VARCHAR2(30)   := Fnd_Api.g_miss_char
364   ,context                     VARCHAR2(30)   := Fnd_Api.g_miss_char
365   ,attribute1                  VARCHAR2(240)  := Fnd_Api.g_miss_char
369   ,attribute5                  VARCHAR2(240) := Fnd_Api.g_miss_char
366   ,attribute2                  VARCHAR2(240) := Fnd_Api.g_miss_char
367   ,attribute3                  VARCHAR2(240) := Fnd_Api.g_miss_char
368   ,attribute4                  VARCHAR2(240) := Fnd_Api.g_miss_char
370   ,attribute6                  VARCHAR2(240) := Fnd_Api.g_miss_char
371   ,attribute7                  VARCHAR2(240) := Fnd_Api.g_miss_char
372   ,attribute8                  VARCHAR2(240) := Fnd_Api.g_miss_char
373   ,attribute9                  VARCHAR2(240) := Fnd_Api.g_miss_char
374   ,attribute10                 VARCHAR2(240) := Fnd_Api.g_miss_char
375   ,attribute11                 VARCHAR2(240) := Fnd_Api.g_miss_char
376   ,attribute12                 VARCHAR2(240) := Fnd_Api.g_miss_char
377   ,attribute13                 VARCHAR2(240) := Fnd_Api.g_miss_char
378   ,attribute14                 VARCHAR2(240) := Fnd_Api.g_miss_char
379   ,attribute15                 VARCHAR2(240) := Fnd_Api.g_miss_char
380 );
381 TYPE qualifiers_tbl_type IS TABLE OF qualifiers_rec_type INDEX BY BINARY_INTEGER;
382 
383 TYPE vo_disc_rec_type IS RECORD
384 (
385    offer_discount_line_id          NUMBER
389   ,volume_operator                 VARCHAR2(30)
386   ,parent_discount_line_id         NUMBER
387   ,volume_from                     NUMBER
388   ,volume_to                       NUMBER
390   ,volume_type                     VARCHAR2(30)
391   ,volume_break_type               VARCHAR2(30)
392   ,discount                        NUMBER
393   ,discount_type                   VARCHAR2(30)
394   ,tier_type                       VARCHAR2(30)
395   ,tier_level                      VARCHAR2(30)
396   ,uom_code                        VARCHAR2(30)
397   ,object_version_number           NUMBER
398   ,offer_id                        NUMBER
399   ,discount_by_code                VARCHAR2(30)
400   ,formula_id                      NUMBER
401   ,offr_disc_struct_name_id        NUMBER
402   ,name                            VARCHAR2(240)
403   ,description                     VARCHAR2(2000)
404   ,operation                       VARCHAR2(30)
405   ,pbh_index                       NUMBER
406 );
407 TYPE vo_disc_tbl_type IS TABLE OF vo_disc_rec_type INDEX BY BINARY_INTEGER;
408 
409 TYPE vo_prod_rec_type IS RECORD
410 (
411    off_discount_product_id NUMBER
412   ,excluder_flag           VARCHAR2(1)
413   ,offer_discount_line_id  NUMBER
414   ,offer_id                NUMBER
415   ,object_version_number   NUMBER
416   ,product_context         VARCHAR2(30)
417   ,product_attribute       VARCHAR2(30)
418   ,product_attr_value      VARCHAR2(240)
419   ,apply_discount_flag     VARCHAR2(1)
420   ,include_volume_flag     VARCHAR2(1)
421   ,operation               VARCHAR2(30)
422   ,pbh_index               NUMBER
423 );
424 TYPE vo_prod_tbl_type IS TABLE OF vo_prod_rec_type INDEX BY BINARY_INTEGER;
425 
426 TYPE vo_mo_rec_type IS RECORD
427 (
428    offer_market_option_id     NUMBER
429   ,offer_id                   NUMBER
430   ,qp_list_header_id          NUMBER
431   ,group_number               NUMBER
432   ,retroactive_flag           VARCHAR2(1)
433   ,beneficiary_party_id       NUMBER
434   ,combine_schedule_flag      VARCHAR2(1)
435   ,volume_tracking_level_code VARCHAR2(30)
436   ,accrue_to_code             VARCHAR2(30)
437   ,precedence                 NUMBER
438   ,object_version_number      NUMBER
439   ,security_group_id          NUMBER
440   ,operation                  VARCHAR2(30)
441 );
442 TYPE vo_mo_tbl_type IS TABLE OF vo_mo_rec_type INDEX BY BINARY_INTEGER;
443 
444 
445 --//12764004 - TPM Integration ER
446 TYPE list_line_type is RECORD  --used for both fund and promotion to return list line Id to create Xref.
447 (
448    list_line_id                NUMBER
449   ,list_line_number            VARCHAR2(30)
450  );
451 
452 TYPE list_line_tbl_type IS TABLE OF list_line_type
453       INDEX BY BINARY_INTEGER;
454 
455 /*#
456 * This procedure accepts detailed offer infomation, discrete data, and processes the data by calling private APIs.
457 * @param p_init_msg_list	Indicates whether to initialize the message stack.
458 * @param p_api_version		Indicates the API version number.
459 * @param p_commit		Indicates whether to commit within the program.
460 * @param x_return_status	This is the program status.
461 * @param x_msg_count		Indicates the number of messages the program returns.
462 * @param x_msg_data		Message returned by the program.
463 * @param p_offer_type		Determines the offer type.
464 * @param p_modifier_list_rec	offer header detail.
465 * @param p_modifier_line_tbl	Stores discount rules for Advanced Pricing (QP) offer types. Net Accrual, Scan Data, and Lumpsum offers are not QP offers.
466 * @param p_qualifier_tbl	Stores the market eligibility values for QP offer types.
467 * @param p_budget_tbl		Stores budget request details related to offers for all offer types.
468 * @param p_act_product_tbl	Stores discount rules for Scan Data and Lumpsum offer types.
469 * @param p_discount_tbl		Stores discount and product related information for Net Accrual offers(for tier_level='LINE').
470 * @param p_excl_tbl		Stores product exclusion detauls for Net Accrual offers(for tier_level='LINE').
471 * @param p_offer_tier_tbl	Stores discount tier information for Net Accrual offers(for tier_level='HEADER').
472 * @param p_prod_tbl		Stores discount and products related information for Net Accrual offers(for tier_level='HEADER').
473 * @param p_na_qualifier_tbl	Stores market eligibility information for Net Accrual offers.
474 * @param x_qp_list_header_id	Advanced Pricing list header id of the new offer.
475 * @param x_error_location	This parameter is reserved for future use.
476 * @rep:displayname Process Modifiers
477 * @rep:scope public
478 * @rep:lifecycle active
479 * @rep:compatibility S
480 */
481 PROCEDURE process_modifiers(
482    p_init_msg_list         IN  VARCHAR2
483   ,p_api_version           IN  NUMBER
484   ,p_commit                IN  VARCHAR2
485   ,x_return_status         OUT NOCOPY VARCHAR2
486   ,x_msg_count             OUT NOCOPY NUMBER
487   ,x_msg_data              OUT NOCOPY VARCHAR2
488   ,p_offer_type            IN  VARCHAR2
489   ,p_modifier_list_rec     IN  modifier_list_rec_type
490   ,p_modifier_line_tbl     IN  modifier_line_tbl_type
491   ,p_qualifier_tbl         IN  qualifiers_tbl_type
492   ,p_budget_tbl            IN  budget_tbl_type
493   ,p_act_product_tbl       IN  act_product_tbl_type
494   ,p_discount_tbl          IN  discount_line_tbl_type
495   ,p_excl_tbl              IN  excl_rec_tbl_type
496   ,p_offer_tier_tbl        IN  offer_tier_tbl_type
497   ,p_prod_tbl              IN  prod_rec_tbl_type
498   ,p_na_qualifier_tbl      IN  na_qualifier_tbl_type
499   ,x_qp_list_header_id     OUT NOCOPY NUMBER
500   ,x_error_location        OUT NOCOPY NUMBER);
501 
502 /*#
503 * This procedure accepts detailed offer infomation, discrete data, and processes the data by calling private APIs.
504 * @param p_init_msg_list	Indicates whether to initialize the message stack.
505 * @param p_api_version		API version number.
509 * @param x_msg_data		Return message by the program
506 * @param p_commit		Indicator whether to commit within the program.
507 * @param x_return_status	Program status.
508 * @param x_msg_count		This number indicates the number of messages the program returned.
510 * @param p_modifier_list_rec	offer header detail.
511 * @param p_vo_pbh_tbl Stores	discount structure information for volume offer types.
512 * @param p_vo_dis_tbl Stores	discount tier information for volume offer types.
513 * @param p_vo_prod_tbl Stores	discount product information for volume offer types.
514 * @param p_qualifier_tbl	Stores the market eligibility values for volume offer types.
515 * @param p_vo_mo_tbl		Stores market option information for volume offer types.
516 * @param p_budget_tbl		Stores budget request details related to offers for all offer types.
517 * @param x_qp_list_header_id	Advanced Pricing list header id of the new offer.
518 * @param x_error_location	Reserved for future use.
519 * @rep:displayname Process VO
520 * @rep:scope public
521 * @rep:lifecycle active
522 * @rep:compatibility S
523 */
524 PROCEDURE process_vo(
525    p_init_msg_list         IN  VARCHAR2
526   ,p_api_version           IN  NUMBER
527   ,p_commit                IN  VARCHAR2
528   ,x_return_status         OUT NOCOPY VARCHAR2
529   ,x_msg_count             OUT NOCOPY NUMBER
530   ,x_msg_data              OUT NOCOPY VARCHAR2
531   ,p_modifier_list_rec     IN  modifier_list_rec_type
532   ,p_vo_pbh_tbl            IN  vo_disc_tbl_type
533   ,p_vo_dis_tbl            IN  vo_disc_tbl_type
534   ,p_vo_prod_tbl           IN  vo_prod_tbl_type
535   ,p_qualifier_tbl         IN  qualifiers_tbl_type
536   ,p_vo_mo_tbl             IN  vo_mo_tbl_type
537   ,p_budget_tbl            IN  budget_tbl_type
538   ,x_qp_list_header_id     OUT NOCOPY NUMBER
539   ,x_error_location        OUT NOCOPY NUMBER
540 );
541 
542 
543 --//12764004 - TPM Integration ER
544 /*#
545 * This procedure processes an offer from adapter.
546 * @param p_api_version        Indicates API version number.
547 * @param p_init_msg_list      Indicates whether to initialize the message stack.
548 * @param p_commit             Indicates whether to commit within the program.
549 * @param p_validation_level   Indicates validation level.
550 * @param x_return_status      Indicates program status.
551 * @param x_msg_count          Provides the number of the messages returned by the program.
552 * @param x_msg_data           Messages data.
553 * @param p_source             Identifies the adapter.
554 * @param p_modifier_rec       modifier record. The following are the parameters in p_modifier_rec,
555 * <br>qp_list_header_id - QP List Header Identifier p_modifier_rec
556 * <br>offer_type - Offer type
557 * <br>offer_code - Offer Code
558 * <br>activity_media_id - Activity Media Identifier
559 * <br>reusable - Reusable
560 * <br>user_status_id - User status Identifier
561 * <br>owner_id - Owner Identifier
562 * <br>status_code - Status Code
563 * <br>modifier_level_code - Modifier Level code
564 * <br>order_value_discount_type - Order Value discount type
565 * <br>lumpsum_amount - Lumpsum Amount
566 * <br>lumpsum_payment_type - Lumpsum Payment type
567 * <br>custom_setup_id - Custom setup Identifier
568 * <br>offer_amount - Offer Amount
569 * <br>budget_amount_tc - Budget Amount in Transaction Currency
570 * <br>budget_amount_fc - Budget Amount in Functional Currency
571 * <br>transaction_currency_code - Transaction Currency code
572 * <br>functional_currency_code - Functional Cureency code
573 * <br>context - Attrbute context
574 * <br>attribute1 to attribute15 - DFF Attribute values from 1 to 15
575 * <br>currency_code - Currency code
576 * <br>start_date_active - Start date active
577 * <br>end_date_active - End date Active
578 * <br>name - Offer name
579 * <br>description - Description
580 * <br>comments - Comments
581 * <br>ask_for_flag - Ask for Flah
582 * <br>budget_source_id - Budget Sourece Identifier
583 * <br>budget_source_type - Budget Source Type
584 * <br>offer_used_by_id - Offer Used by Identifier
585 * <br>offer_used_by - Offer Used bug
586 * <br>ql_qualifier_type - Qualifier type
587 * <br>ql_qualifier_id - Qualifier Identifier
588 * <br>distribution_type - Distribution type
589 * <br>offer_operation - Offer Operation
590 * <br>modifier_operation - Modifier Operation
591 * <br>global_flag - Global flag of offer
592 * <br>orig_org_id - Original Organization Identifier.
593 * @param p_modifier_line_tbl  p_modifier_line_tbl Stores discount rules. The following are the parameters in p_modifier_line_tbl;
594 * <br>offer_line_type - Offer line type
595 * <br>operation -  Opereation, CREATE/UPDATE
596 * <br>list_line_id - List Line Identifier
597 * <br>list_header_id - List Header Identifier
598 * <br>list_line_type_code - List Line type code
599 * <br>operand - Operand
600 * <br>start_date_active - Start date
601 * <br>end_date_active - End date Active
602 * <br>arithmetic_operator - Arithmatic Operator
603 * <br>active_flag - Active flag
604 * <br>pricing_attribute_id - Pricing Attribute Identifier
605 * <br>product_attribute_context - Product Attribute Context
606 * <br>product_attr - Product Attribute
607 * <br>product_attr_val - Product Attribute Value
608 * <br>product_uom_code - Product UOM Code
609 * <br>pricing_attribute_context - Pricing Attribute Context
610 * <br>qualifier_id - Qualifier Identifier
611 * <br>comments - Comments
612 * <br>attribute1-15 - DFF Attribute values
613 * <br>list_line_no - List line No
614 * @param x_qp_list_header_id  Returns the ID of the list header.
615 * @param x_error_location     error location
616 * @param x_msg_tbl            Messages returned by the program.
617 * @param x_line_tbl           Returns the list line of source product.
618 * @rep:scope public
619 * @rep:lifecycle active
620 * @rep:displayname Process offer from adapter
621 * @rep:compatibility S
622 * @rep:businessevent None
623 */
624 
625 
626 PROCEDURE process_offer_from_adapter(
627    p_api_version        IN         NUMBER
628   ,p_init_msg_list      IN         VARCHAR2 := fnd_api.g_false
629   ,p_commit             IN         VARCHAR2 := fnd_api.g_false
630   ,p_validation_level   IN         NUMBER := fnd_api.G_VALID_LEVEL_FULL
631   ,x_return_status      OUT NOCOPY VARCHAR2
632   ,x_msg_count          OUT NOCOPY NUMBER
633   ,x_msg_data           OUT NOCOPY VARCHAR2
634   ,p_source             IN         VARCHAR2 := 'SIEBEL'
635   ,p_modifier_rec       IN         modifier_list_rec_type
636   ,p_modifier_line_tbl  IN         modifier_line_tbl_type
637   ,x_qp_list_header_id  OUT NOCOPY NUMBER
638   ,x_error_location     OUT NOCOPY NUMBER
639   ,x_msg_tbl            OUT NOCOPY OZF_Utility_PVT.ozf_msg_tbl_type
640   ,x_line_tbl           OUT NOCOPY list_line_tbl_type
641 );
642 
643 END OZF_Offer_PUB;