DBA Data[Home] [Help]

PACKAGE: APPS.OZF_VOLUME_OFFER_DISC_PVT

Source


1 PACKAGE OZF_Volume_Offer_disc_PVT AS
2 /* $Header: ozfvvods.pls 120.5 2006/05/05 11:06:00 julou noship $ */
3 -- ===============================================================
4 -- Start of Comments
5 -- Package name
6 --
7 -- Purpose
8 --
9 -- History
10 --
11 -- NOTE
12 --            Mon Jun 20 2005:2/19 PM RSSHARMA Added new procedure copy_vo_discounts
13 -- Wed Aug 24 2005:1/34 AM RSSHARMA Made all out and in-out params nocopy
14 -- Sat Oct 01 2005:6/23 PM Added function get_discount_line_exists to check if a pbh line exists
15 -- Tue Oct 11 2005:5/55 PM RSSHARMA Added debug_message api
16 -- End of Comments
17 -- ===============================================================
18 
19 -- Default number of records fetch per call
20 -- G_DEFAULT_NUM_REC_FETCH  NUMBER := 30;
21 --===================================================================
22 --    Start of Comments
23 --   -------------------------------------------------------
24 --    Record name
25 --             ozf_offer_line_rec_type
26 --   -------------------------------------------------------
27 --   Parameters:
28 --       offer_discount_line_id
29 --       parent_discount_line_id
30 --       volume_from
31 --       volume_to
32 --       volume_operator
33 --       volume_type
34 --       volume_break_type
35 --       discount
36 --       discount_type
37 --       tier_type
38 --       tier_level
39 --       incompatibility_group
40 --       precedence
41 --       bucket
42 --       scan_value
43 --       scan_data_quantity
44 --       scan_unit_forecast
45 --       channel_id
46 --       adjustment_flag
47 --       start_date_active
48 --       end_date_active
49 --       uom_code
50 --       creation_date
51 --       created_by
52 --       last_update_date
53 --       last_updated_by
54 --       last_update_login
55 --       object_version_number
56 --       offer_id
57 --
58 --    Required
59 --
60 --    Defaults
61 --
62 --    Note: This is automatic generated record definition, it includes all columns
63 --          defined in the table, developer must manually add or delete some of the attributes.
64 --
65 --   End of Comments
66 
67 --===================================================================
68 TYPE vo_disc_rec_type IS RECORD
69 (
70        offer_discount_line_id          NUMBER,
71        parent_discount_line_id         NUMBER,
72        volume_from                     NUMBER,
73        volume_to                       NUMBER,
74        volume_operator                 VARCHAR2(30),
75        volume_type                     VARCHAR2(30),
76        volume_break_type               VARCHAR2(30),
77        discount                        NUMBER,
78        discount_type                   VARCHAR2(30),
79        tier_type                       VARCHAR2(30),
80        tier_level                      VARCHAR2(30),
81        incompatibility_group           VARCHAR2(30),
82        precedence                      NUMBER,
83        bucket                          VARCHAR2(30),
84        scan_value                      NUMBER,
85        scan_data_quantity              NUMBER,
86        scan_unit_forecast              NUMBER,
87        channel_id                      NUMBER,
88        adjustment_flag                 VARCHAR2(1),
89        start_date_active               DATE,
90        end_date_active                 DATE,
91        uom_code                        VARCHAR2(30),
92        creation_date                   DATE,
93        created_by                      NUMBER,
94        last_update_date                DATE,
95        last_updated_by                 NUMBER,
96        last_update_login               NUMBER,
97        object_version_number           NUMBER,
98        offer_id                        NUMBER,
99        discount_by_code                VARCHAR2(30),
100        formula_id                      NUMBER,
101        offr_disc_struct_name_id        NUMBER,
102        name                            VARCHAR2(240),
103        description                     VARCHAR2(2000),
104        context                         VARCHAR2(30),
105        attribute1                      VARCHAR2(240),
106        attribute2                      VARCHAR2(240),
107        attribute3                      VARCHAR2(240),
108        attribute4                      VARCHAR2(240),
109        attribute5                      VARCHAR2(240),
110        attribute6                      VARCHAR2(240),
111        attribute7                      VARCHAR2(240),
112        attribute8                      VARCHAR2(240),
113        attribute9                      VARCHAR2(240),
114        attribute10                     VARCHAR2(240),
115        attribute11                     VARCHAR2(240),
116        attribute12                     VARCHAR2(240),
117        attribute13                     VARCHAR2(240),
118        attribute14                     VARCHAR2(240),
119        attribute15                     VARCHAR2(240)
120 );
121 
122 g_miss_vo_disc_rec_type          vo_disc_rec_type := NULL;
123 TYPE  ozf_vo_disc_tbl_type      IS TABLE OF vo_disc_rec_type INDEX BY BINARY_INTEGER;
124 g_miss_ozf_vo_disc_tbl          ozf_vo_disc_tbl_type;
125 
126 
127 TYPE vo_prod_rec_type IS RECORD
128 (
129          off_discount_product_id NUMBER,
130          product_level           VARCHAR2(30),
131          product_id              NUMBER,
132          excluder_flag           VARCHAR2(1),
133          uom_code                VARCHAR2(30),
134          start_date_active       DATE,
135          end_date_active         DATE,
136          offer_discount_line_id  NUMBER,
137          offer_id                NUMBER,
138          creation_date           DATE,
139          created_by              NUMBER,
140          last_update_date        DATE,
141          last_updated_by         NUMBER,
142          last_update_login       NUMBER,
143          object_version_number   NUMBER,
144          parent_off_disc_prod_id NUMBER,
145          product_context         VARCHAR2(30),
146          product_attribute       VARCHAR2(30),
147          product_attr_value      VARCHAR2(240),
148          apply_discount_flag     VARCHAR2(1),
149          include_volume_flag     VARCHAR2(1)
150  );
151 g_miss_ozf_vo_prod_rec          vo_prod_rec_type := NULL;
152 TYPE  vo_prod_rec_tbl_type      IS TABLE OF vo_prod_rec_type INDEX BY BINARY_INTEGER;
153 
154 
155 
156 --   ==============================================================================
157 --    Start of Comments
158 --   ==============================================================================
159 --   API Name
160 --           Delete_vo_discount
161 --   Type
162 --           Private
163 --   Pre-Req
164 --             OZF_Create_Ozf_Prod_Line_PKG.Delete_Product,OZF_DISC_LINE_PKG.Delete_Row
165 --   Parameters
166 --
167 --   IN
168 --       p_api_version_number      IN   NUMBER     Required
169 --       p_init_msg_list           IN   VARCHAR2   Optional  Default = FND_API_G_FALSE
170 --       p_commit                  IN   VARCHAR2   Optional  Default = FND_API.G_FALSE
171 --       p_validation_level        IN   NUMBER     Optional  Default = FND_API.G_VALID_LEVEL_FULL
172 --       p_offer_discount_line_id  IN   NUMBER     Required  Discount Line id to be deleted
173 --       p_object_version_number   IN   NUMBER     Required  Object Version No. Of Discount Line to be deleted
174 --
175 --   OUT
176 --       x_return_status           OUT  VARCHAR2
177 --       x_msg_count               OUT  NUMBER
178 --       x_msg_data                OUT  VARCHAR2
179 --   Version : Current version 1.0
180 --
181 --   History
182 --            Wed Oct 01 2003:5/21 PM RSSHARMA Created
183 --
184 --   Description
185 --              : Helper method to Hard Delete a Discount Line and all the Related Product Lines for a volume offer
186 --   End of Comments
187 --   ==============================================================================
188 
189 PROCEDURE Delete_vo_discount(
190     p_api_version_number         IN   NUMBER,
191     p_init_msg_list              IN   VARCHAR2     := FND_API.G_FALSE,
192     p_commit                     IN   VARCHAR2     := FND_API.G_FALSE,
193     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
194 
195     x_return_status              OUT NOCOPY  VARCHAR2,
196     x_msg_count                  OUT NOCOPY  NUMBER,
197     x_msg_data                   OUT NOCOPY  VARCHAR2,
198 
199     p_offer_discount_line_id     IN NUMBER,
200     p_object_version_number      IN NUMBER
201 );
202 
203 
204 --   ==============================================================================
205 --    Start of Comments
206 --   ==============================================================================
207 --   API Name
208 --           Create_discount_line
209 --   Type
210 --           Private
211 --   Pre-Req
212 --             Create_Ozf_Disc_Line,Create Product
213 --   Parameters
214 --
215 --   IN
216 --       p_api_version_number      IN   NUMBER     Required
217 --       p_init_msg_list           IN   VARCHAR2   Optional  Default = FND_API_G_FALSE
218 --       p_commit                  IN   VARCHAR2   Optional  Default = FND_API.G_FALSE
219 --       p_validation_level        IN   NUMBER     Optional  Default = FND_API.G_VALID_LEVEL_FULL
220 --       p_ozf_offer_line_rec      IN   ozf_offer_line_rec_type   Required Record containing Discount Line Data
221 --       p_ozf_prod_rec            IN   ozf_prod_rec_type   Required Record containing Product Data
222 --   OUT
223 --       x_return_status           OUT  VARCHAR2
224 --       x_msg_count               OUT  NUMBER
225 --       x_msg_data                OUT  VARCHAR2
226 --       x_offer_discount_line_id  OUT  NUMBER. Discount Line Id of Discount Line Created
227 --   Version : Current version 1.0
228 --
229 --   History
230 --            Wed Oct 01 2003:5/21 PM RSSHARMA Created
231 --
232 --   Description
233 --              : Method to Create New Discount Lines.
234 --   End of Comments
235 --   ==============================================================================
236 
237 PROCEDURE Create_vo_discount(
238     p_api_version_number         IN   NUMBER,
239     p_init_msg_list              IN   VARCHAR2     := FND_API.G_FALSE,
240     p_commit                     IN   VARCHAR2     := FND_API.G_FALSE,
241     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
242 
243     x_return_status              OUT NOCOPY  VARCHAR2,
244     x_msg_count                  OUT NOCOPY  NUMBER,
245     x_msg_data                   OUT NOCOPY  VARCHAR2,
246 
247     p_vo_disc_rec           IN   vo_disc_rec_type  ,
248     x_vo_discount_line_id        OUT NOCOPY  NUMBER
249 );
250 
251 --   ==============================================================================
252 --    Start of Comments
253 --   ==============================================================================
254 --   API Name
255 --           Update_discount_line
256 --   Type
257 --           Private
258 --   Pre-Req
259 --             Create_Ozf_Disc_Line,Create Product
260 --   Parameters
261 --
262 --   IN
263 --       p_api_version_number      IN   NUMBER     Required
264 --       p_init_msg_list           IN   VARCHAR2   Optional  Default = FND_API_G_FALSE
265 --       p_commit                  IN   VARCHAR2   Optional  Default = FND_API.G_FALSE
266 --       p_validation_level        IN   NUMBER     Optional  Default = FND_API.G_VALID_LEVEL_FULL
267 --       p_ozf_discount_line_rec   IN   ozf_discount_line_rec_type Required Record Containing Discount Line Data
268 --       x_return_status           OUT  VARCHAR2
269 --       x_msg_count               OUT  NUMBER
270 --       x_msg_data                OUT  VARCHAR2
271 --   Version : Current version 1.0
272 --
273 --   History
274 --            Wed Oct 01 2003:5/21 PM RSSHARMA Created
275 --
276 --   Description
277 --              : Method to Update Discount Lines.
278 --   End of Comments
279 --   ==============================================================================
280 PROCEDURE Update_vo_discount(
281     p_api_version_number         IN   NUMBER,
282     p_init_msg_list              IN   VARCHAR2     := FND_API.G_FALSE,
283     p_commit                     IN   VARCHAR2     := FND_API.G_FALSE,
284     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
285 
286     x_return_status              OUT NOCOPY  VARCHAR2,
287     x_msg_count                  OUT NOCOPY  NUMBER,
288     x_msg_data                   OUT NOCOPY  VARCHAR2,
289 
290     p_vo_disc_rec           IN   vo_disc_rec_type
291 );
292 
293 --   ==============================================================================
294 --    Start of Comments
295 --   ==============================================================================
296 --   API Name
297 --           Create_vo_Product
298 --   Type
299 --           Private
300 --   Pre-Req
301 --   Parameters
302 --
303 --   IN
304 --    p_api_version_number         IN   NUMBER
308 --    p_validation_mode          IN VARCHAR2
305 --    p_init_msg_list            IN   VARCHAR2
306 --    p_validation_level           IN   NUMBER
307 --    p_vo_prod_rec              IN  vo_prod_rec_type
309 --
310 --   OUT
311 --    x_return_status              OUT  VARCHAR2
312 --    x_msg_count                  OUT  NUMBER
313 --    x_msg_data                   OUT  VARCHAR2
314 
315 --   Version : Current version 1.0
316 --
317 --   History
318 --            Mon May 16 2005:5/41 PM RSSHARMA Created
319 --
320 --   Description
321 --   End of Comments
322 --   ==============================================================================
323 
324 PROCEDURE Create_vo_Product(
325     p_api_version_number         IN   NUMBER,
326     p_init_msg_list              IN   VARCHAR2     := FND_API.G_FALSE,
327     p_commit                     IN   VARCHAR2     := FND_API.G_FALSE,
328     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
329 
330     x_return_status              OUT NOCOPY  VARCHAR2,
331     x_msg_count                  OUT NOCOPY  NUMBER,
332     x_msg_data                   OUT NOCOPY  VARCHAR2,
333 
334     p_vo_prod_rec                   IN   vo_prod_rec_type  ,
335     x_off_discount_product_id    OUT NOCOPY  NUMBER
336      );
337 
338 --   ==============================================================================
339 --    Start of Comments
340 --   ==============================================================================
341 --   API Name
342 --           Update_vo_Product
343 --   Type
344 --           Private
345 --   Pre-Req
346 --   Parameters
347 --
348 --   IN
349 --    p_api_version_number         IN   NUMBER
350 --    p_init_msg_list            IN   VARCHAR2
351 --    p_validation_level           IN   NUMBER
352 --    p_vo_prod_rec              IN  vo_prod_rec_type
353 --    p_validation_mode          IN VARCHAR2
354 --
355 --   OUT
356 --    x_return_status              OUT  VARCHAR2
357 --    x_msg_count                  OUT  NUMBER
358 --    x_msg_data                   OUT  VARCHAR2
359 
360 --   Version : Current version 1.0
361 --
362 --   History
363 --            Mon May 16 2005:5/41 PM RSSHARMA Created
364 --
365 --   Description
366 --   End of Comments
367 --   ==============================================================================
368 
369 PROCEDURE Update_vo_Product(
370     p_api_version_number         IN   NUMBER,
371     p_init_msg_list              IN   VARCHAR2     := FND_API.G_FALSE,
372     p_commit                     IN   VARCHAR2     := FND_API.G_FALSE,
373     p_validation_level           IN  NUMBER       := FND_API.G_VALID_LEVEL_FULL,
374 
375     x_return_status              OUT NOCOPY  VARCHAR2,
376     x_msg_count                  OUT NOCOPY  NUMBER,
377     x_msg_data                   OUT NOCOPY  VARCHAR2,
378 
379     p_vo_prod_rec                   IN   vo_prod_rec_type
380     );
381 
382 --   ==============================================================================
383 --    Start of Comments
384 --   ==============================================================================
385 --   API Name
386 --           Delete_vo_Product
387 --   Type
388 --           Private
389 --   Pre-Req
390 --   Parameters
391 --
392 --   IN
393 --    p_api_version_number         IN   NUMBER
394 --    p_init_msg_list              IN   VARCHAR2
395 --    p_commit                     IN   VARCHAR2
396 --    p_validation_level           IN   NUMBER
397 --    p_off_discount_product_id    IN  NUMBER
398 --    p_object_version_number      IN   NUMBER
399 
400 --
401 --   OUT
402 --    x_return_status              OUT  VARCHAR2
403 --    x_msg_count                  OUT  NUMBER
404 --    x_msg_data                   OUT  VARCHAR2
405 
406 --   Version : Current version 1.0
407 --
408 --   History
409 --            Mon May 16 2005:5/41 PM RSSHARMA Created
410 --
411 --   Description
412 --   End of Comments
413 --   ==============================================================================
414 
415 PROCEDURE Delete_vo_Product(
416     p_api_version_number         IN   NUMBER,
417     p_init_msg_list              IN   VARCHAR2     := FND_API.G_FALSE,
418     p_commit                     IN   VARCHAR2     := FND_API.G_FALSE,
419     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
420     x_return_status              OUT NOCOPY  VARCHAR2,
421     x_msg_count                  OUT NOCOPY  NUMBER,
422     x_msg_data                   OUT NOCOPY  VARCHAR2,
423     p_off_discount_product_id    IN  NUMBER,
424     p_object_version_number      IN   NUMBER
425     );
426 
427 PROCEDURE copy_vo_discounts
428 (
429     p_api_version_number         IN   NUMBER,
430     p_init_msg_list              IN   VARCHAR2     := FND_API.G_FALSE,
431     p_commit                     IN   VARCHAR2     := FND_API.G_FALSE,
432     p_validation_level           IN   NUMBER       := FND_API.G_VALID_LEVEL_FULL,
433     x_return_status              OUT NOCOPY  VARCHAR2,
434     x_msg_count                  OUT NOCOPY  NUMBER,
435     x_msg_data                   OUT NOCOPY  VARCHAR2,
436     p_discount_line_id        IN   NUMBER ,
437     p_vo_disc_rec                IN vo_disc_rec_type,
438     x_vo_discount_line_id        OUT NOCOPY  NUMBER
439 );
440 
441 PROCEDURE check_vo_product_attr(
442      p_vo_prod_rec              IN  vo_prod_rec_type
443     , x_return_status              OUT NOCOPY  VARCHAR2
444       );
445 
446 FUNCTION get_discount_line_exists
447 ( p_offerDiscountLineId IN NUMBER)
448 RETURN VARCHAR2;
449 
450 PROCEDURE debug_message(p_message IN VARCHAR2);
451 
452 
453 END OZF_Volume_Offer_disc_PVT;
454