DBA Data[Home] [Help]

PACKAGE: APPS.WMS_TASK_LOAD

Source


1 PACKAGE wms_task_load AUTHID CURRENT_USER AS
2 /* $Header: WMSLOADS.pls 120.8.12020000.5 2013/04/13 08:08:36 raminoch ship $ */
3 
4 TYPE lpn_lot_qty_rec IS RECORD(
5     lpn_id         NUMBER
6 -- Increased lot size to 80 Char - Mercy Thomas - B4625329
7   , lot_number     VARCHAR2(80)
8   , pri_qty        NUMBER
9   , trx_qty        NUMBER
10   , sec_qty    NUMBER      -- Bug #4141928
11   , non_alloc_qty  NUMBER   --jxlu 10/22/04 check serial ATT for allocated serial
12   );
13 
14 
15 TYPE lpn_lot_qty_tb IS TABLE OF lpn_lot_qty_rec
16     INDEX BY BINARY_INTEGER;
17 
18 --  PL/SQL TABLE used to store lot_number and qty for passed in lpn_id
19 
20 --/* Bug 9448490 Lot Substitution Project */ start
21 PROCEDURE populate_lot_lov(
22     p_fromlpn_id            IN            NUMBER
23   , p_org_id                IN            NUMBER
24   , p_item_id               IN            NUMBER
25   , p_rev                   IN            VARCHAR2
26   , p_lot                   IN            VARCHAR2
27   , p_trx_qty               IN            NUMBER
28   , p_trx_uom               IN            VARCHAR2
29   , x_match                 OUT NOCOPY    NUMBER
30   , x_return_status         OUT NOCOPY    VARCHAR2
31   , p_temp_id               IN            NUMBER
32   , p_transaction_type_id   IN            NUMBER
33   , p_cost_group_id         IN            NUMBER
34   , p_is_sn_alloc           IN            VARCHAR2
35   , p_user_id               IN            NUMBER
36   , x_lpn_lot_vector        OUT NOCOPY    VARCHAR2
37   , x_lpn_lot_vector2        OUT NOCOPY    VARCHAR2 --BUG14003388
38   , x_lpn_lot_vector3        OUT NOCOPY    VARCHAR2 --BUG14003388
39   , x_lpn_lot_vector4        OUT NOCOPY    VARCHAR2 --BUG14003388
40   , p_transaction_action_id IN            NUMBER --BV TODO Add project and task inputs and put in SKU?
41   , p_confirmed_sub         IN            VARCHAR2
42   , p_confirmed_loc_id      IN            NUMBER
43   , p_from_lpn_id           IN            NUMBER
44   );
45 
46 --/* Bug 9448490 Lot Substitution Project */ end
47 
48 t_lpn_lot_qty_table lpn_lot_qty_tb;
49 
50 
51 PROCEDURE task_load(
52                p_action                          IN            VARCHAR2
53               -- LOAD_SINGLE/LOAD_MULTIPLE/SPLIT/UPDATE_LOADED
54              , p_organization_id                 IN            NUMBER
55              , p_user_id                         IN            NUMBER
56              , p_person_id                       IN            NUMBER
57              , p_transaction_header_id           IN            NUMBER
58              , p_temp_id                         IN            NUMBER
59              , p_parent_line_id                  IN            NUMBER    -- For bulk parent
60              , p_lpn_id                          IN            NUMBER
61              , p_content_lpn_id                  IN            NUMBER
62              , p_transfer_lpn_id                 IN            NUMBER
63              , p_confirmed_sub                   IN            VARCHAR2
64              , p_confirmed_loc_id                IN            NUMBER
65              , p_confirmed_uom                   IN            VARCHAR2
66              , p_suggested_uom                   IN            VARCHAR2
67              , p_primary_uom                     IN            VARCHAR2  -- 03/02/04
68              , p_item_id                         IN            NUMBER
69              , p_revision                        IN            VARCHAR2
70              , p_confirmed_qty                   IN            NUMBER
71              , p_confirmed_lots                  IN            VARCHAR2
72              , p_confirmed_lot_trx_qty           IN            VARCHAR2
73              , p_confirmed_sec_uom               IN            VARCHAR2
74              , p_confirmed_sec_qty               IN            VARCHAR2
75              , p_confirmed_serials               IN            VARCHAR2
76              , p_container_item_id               IN            NUMBER
77              , p_transaction_type_id             IN            NUMBER
78              , p_transaction_source_type_id      IN            NUMBER
79              , p_lpn_match                       IN            NUMBER
80              , p_lpn_match_lpn_id                IN            NUMBER
81              , p_serial_allocated_flag           IN            VARCHAR2  -- Y/V or NULL
82              , p_lot_controlled                  IN            VARCHAR2  -- Y/N
83              , p_serial_controlled               IN            VARCHAR2  -- Y/N
84              , p_effective_start_date            IN            DATE
85              , p_effective_end_date              IN            DATE
86              , p_exception                       IN            VARCHAR2  -- SHORT, OVER
87              , p_discrepancies                   IN            VARCHAR2
88              , p_qty_rsn_id                      IN            NUMBER
89              , p_parent_lpn_id                   IN            NUMBER
90              , p_lpnpickedasis                   IN            VARCHAR2  -- Y/N
91              , x_new_transaction_temp_id         OUT NOCOPY    NUMBER
92              , x_cms_check                       OUT NOCOPY    VARCHAR2
93              , x_return_status                   OUT NOCOPY    VARCHAR2
94              , x_msg_count                       OUT NOCOPY    NUMBER
95              , x_msg_data                        OUT NOCOPY    VARCHAR2
96 	         , p_substitute_lots		         IN            VARCHAR2--/* Bug 9448490 Lot Substitution Project */
97 			 , p_full_lot_allocation             IN            VARCHAR2 DEFAULT 'Y' -- Added for 14699845 (Flexible Lot Allocation)
98              , p_fulfillment_base                IN            VARCHAR2 DEFAULT 'P');-- 16070349 raminoch
99 
100 --BUG12622871LSC Procedure to convert qty to suggested UoM
101 PROCEDURE proc_convert_qty_to_sugg_uom
102                 (p_inventory_item_id            IN          NUMBER
103                 ,p_organization_id              IN          NUMBER
104                 ,p_lpn_match_lpn_id             IN          NUMBER
105                 ,p_confirmed_trx_qty            IN          NUMBER
106                 ,p_lot_controlled               IN          VARCHAR2
107                 ,p_confirmed_lots               IN          VARCHAR2
108                 ,p_confirmed_lot_trx_qty        IN          VARCHAR2
109                 ,p_suggested_uom                IN          VARCHAR2
110                 ,p_confirmed_uom                IN          VARCHAR2
111                 ,p_primary_uom                  IN          VARCHAR2
112                 ,p_confirmed_sec_uom            IN          VARCHAR2
113                 ,p_confirmed_sec_qty            IN          VARCHAR2
114                 ,p_fulfillment_base             IN          VARCHAR2  DEFAULT 'P' --muom:sk
115                 ,p_confirmed_sub                IN          VARCHAR2
116                 ,p_confirmed_locator_id         IN          NUMBER
117                 ,p_revision                     IN          VARCHAR2
118                 ,x_confirmed_prim_qty           OUT NOCOPY  NUMBER
119                 ,x_confirmed_sec_qty            OUT NOCOPY  NUMBER                --muom:sk
120                 ,x_confirmed_sugg_qty           OUT NOCOPY  NUMBER
121                 ,x_confirmed_pri_qty_string     OUT NOCOPY  VARCHAR2
122                 ,x_qoh                          OUT NOCOPY  NUMBER
123                 ,x_sqoh                         OUT NOCOPY  NUMBER
124 				,x_att                          OUT NOCOPY  NUMBER
125                 ,x_satt                         OUT NOCOPY  NUMBER
126                 ,x_return_status                OUT NOCOPY  VARCHAR2
127                 ,x_msg_count                    OUT NOCOPY  NUMBER
128                 ,x_msg_data                     OUT NOCOPY  VARCHAR2
129                 );
130 
131 PROCEDURE task_merge_split(
132                p_action                    IN            VARCHAR2  -- LOAD_MULTIPLE/LOAD_SINGLE/SPLIT
133               ,p_exception                 IN            VARCHAR2  -- SHORT/OVER
134               ,p_organization_id           IN            NUMBER
135               ,p_user_id                   IN            NUMBER
136               ,p_transaction_header_id     IN            NUMBER
137               ,p_transaction_temp_id       IN            NUMBER
138               ,p_parent_line_id            IN            NUMBER
139               ,p_remaining_temp_id         IN            NUMBER
140               ,p_lpn_id                    IN            NUMBER
141               ,p_content_lpn_id            IN            NUMBER
142               ,p_transfer_lpn_id           IN            NUMBER
143               ,p_confirmed_sub             IN            VARCHAR2
144               ,p_confirmed_locator_id      IN            NUMBER
145               ,p_confirmed_uom             IN            VARCHAR2
146               ,p_suggested_uom             IN            VARCHAR2
147               ,p_primary_uom               IN            VARCHAR2  -- 03/02/04
148               ,p_inventory_item_id         IN            NUMBER
149               ,p_revision                  IN            VARCHAR2
150               ,p_confirmed_trx_qty         IN            NUMBER
151               ,p_confirmed_lots            IN            VARCHAR2
152               ,p_confirmed_lot_trx_qty     IN            VARCHAR2
153               ,p_confirmed_sec_uom         IN            VARCHAR2
154               ,p_confirmed_sec_qty         IN            VARCHAR2
155               ,p_confirmed_serials         IN            VARCHAR2
156               ,p_container_item_id         IN            NUMBER
157               ,p_lpn_match                 IN            NUMBER
158               ,p_lpn_match_lpn_id          IN            NUMBER
159               ,p_serial_allocated_flag     IN            VARCHAR2
160               ,p_lot_controlled            IN            VARCHAR2  -- Y/N
161               ,p_serial_controlled         IN            VARCHAR2  -- Y/N
162               ,p_parent_lpn_id             IN            NUMBER
163               ,x_new_transaction_temp_id   OUT NOCOPY    NUMBER
164               ,x_cms_check                 OUT NOCOPY    VARCHAR2
165               ,x_return_status             OUT NOCOPY    VARCHAR2
166               ,x_msg_count                 OUT NOCOPY    NUMBER
167               ,x_msg_data                  OUT NOCOPY    VARCHAR2
168 	          ,p_substitute_lots           IN            VARCHAR2--/* Bug 9448490 Lot Substitution Project */
169 			  ,p_full_lot_allocation       IN            VARCHAR2 DEFAULT 'Y' -- Added for 14699845 (Flexible Lot Allocation)
170               ,p_fulfillment_base          IN            VARCHAR2 DEFAULT 'P'); -- 16070349 raminoch
171 
172 PROCEDURE process_F2(
173                p_action                 IN            VARCHAR2  -- NULL/CMS
174               ,p_organization_id        IN            NUMBER
175               ,p_user_id                IN            NUMBER
176               ,p_employee_id            IN            NUMBER
177               ,p_transaction_header_id  IN            NUMBER
178               ,p_transaction_temp_id    IN            NUMBER
179               ,p_original_sub           IN            VARCHAR2
180               ,p_original_locator_id    IN            NUMBER
181               ,p_lot_controlled         IN            VARCHAR2  -- Y/N
182               ,p_serial_controlled      IN            VARCHAR2  -- Y/N
183               ,p_serial_allocated_flag  IN            VARCHAR2  -- Y/N
184               ,p_suggested_uom          IN            VARCHAR2  -- original allocation UOM  -- 03/02/04
185               ,p_start_over             IN            VARCHAR2  -- Y/Nstart_over button
186               ,p_retain_task            IN            VARCHAR2 -- Y/N for bug 4310093
187               ,x_start_over_taskno      OUT NOCOPY    NUMBER    -- start_over
188               ,x_return_status          OUT NOCOPY    VARCHAR2
189               ,x_msg_count              OUT NOCOPY    NUMBER
190               ,x_msg_data               OUT NOCOPY    VARCHAR2) ;
191 
192 -- This lpn will be used during the picking process. If the user specifies
193   -- a from lpn, this procedure will figure out if the lpn in question will
194   -- satisfy the pick in question
195   -- It will return 1 if this is the case, 0 if not and 2 if the item does
196   -- not exist in the lpn, 3 if the qty is not adequate and 4 if it already
197   -- has been loaded
198 
199 PROCEDURE lpn_match(
200         p_fromlpn_id            IN            NUMBER
201       , p_org_id                IN            NUMBER
202       , p_item_id               IN            NUMBER
203       , p_rev                   IN            VARCHAR2
204       , p_lot                   IN            VARCHAR2
205       , p_trx_qty               IN            NUMBER
206       , p_trx_uom               IN            VARCHAR2
207 	  , p_sec_qty             IN            NUMBER     -- Bug #4141928
208 	  , p_sec_uom             IN            VARCHAR2   -- Bug #4141928
209       , x_match                 OUT NOCOPY    NUMBER
210       , x_sub                   OUT NOCOPY    VARCHAR2
211       , x_loc                   OUT NOCOPY    VARCHAR2
212       , x_trx_qty               OUT NOCOPY    NUMBER
213 	  , x_trx_sec_qty         OUT NOCOPY    NUMBER     -- Bug #4141928
214       , x_return_status         OUT NOCOPY    VARCHAR2
215       , x_msg_count             OUT NOCOPY    NUMBER
216       , x_msg_data              OUT NOCOPY    VARCHAR2
217       , p_temp_id               IN            NUMBER
218       , p_parent_line_id        IN            NUMBER
219       , p_wms_installed         IN            VARCHAR2
220       , p_transaction_type_id   IN            NUMBER
221       , p_cost_group_id         IN            NUMBER
222       , p_is_sn_alloc           IN            VARCHAR2
223       , p_action                IN            NUMBER
224       , p_split                 IN            VARCHAR2
225       , p_user_id               IN            NUMBER
226       , x_temp_id               OUT NOCOPY    NUMBER
227       , x_loc_id                OUT NOCOPY    NUMBER
228       , x_lpn_lot_vector        OUT NOCOPY    VARCHAR2
229 	  , x_lpn_lot_vector2       OUT NOCOPY    VARCHAR2-- bug 14003388
230 	  , x_lpn_lot_vector3       OUT NOCOPY    VARCHAR2-- bug 14003388
231       , x_lpn_lot_vector4       OUT NOCOPY    VARCHAR2-- bug 14003388
232       , x_cms_check             OUT NOCOPY    VARCHAR2
233       , x_parent_lpn_id         OUT NOCOPY    VARCHAR2
234       , x_trx_qty_alloc         OUT NOCOPY    NUMBER      --jxlu 10/12/04
235       , p_transaction_action_id IN            NUMBER      --jxlu
236       , p_pickOverNoException   IN            VARCHAR2
237       , p_toLPN_Default         IN            VARCHAR2   -- Bug 3855835
238       , p_project_id            IN            NUMBER
239       , p_task_id               IN            NUMBER
240       , p_confirmed_sub         IN            VARCHAR2
241       , p_confirmed_loc_id      IN            NUMBER
242       , p_from_lpn_id           IN            NUMBER
243       , x_toLPN_status          OUT NOCOPY    VARCHAR2 --Bug 3855835
244       , x_lpnpickedasis         OUT NOCOPY    VARCHAR2
245       , x_lpn_qoh               OUT NOCOPY    NUMBER
246       , p_changelotNoException  IN            VARCHAR2 --/* Bug 9448490 Lot Substitution Project */
247 	  , p_full_lot_allocation   IN            VARCHAR2 DEFAULT 'Y' -- Added for 14699845 (Flexible Lot Allocation)
248       , p_fulfillment_base      IN            VARCHAR2 DEFAULT 'P');-- 16070349 raminoch
249 
250   --  during the picking process. If the user does not specifies
251     -- a from lpn, this procedure will figure out if the loose quantity  will
252     -- satisfy the pick in question, the temp table mtl_allocations_gtmp
253    -- will store the available lot and serial numbers for this pick
254 
255     PROCEDURE loose_match(
256           p_org_id              IN            NUMBER
257         , p_item_id             IN            NUMBER
258         , p_rev                 IN            VARCHAR2
259         , p_trx_qty             IN            NUMBER
260         , p_trx_uom             IN            VARCHAR2
261         , p_pri_uom             IN            VARCHAR2
262         , p_sec_uom             IN            VARCHAR2          -- Bug #4141928
263         , p_sec_qty             IN            NUMBER				  -- Bug #4141928
264         , p_temp_id             IN            NUMBER
265         , p_suggested_locator   IN            NUMBER
266         , p_confirmed_locator   IN            NUMBER
267         , p_confirmed_sub       IN            VARCHAR2
268         , p_is_sn_alloc         IN            VARCHAR2
269         , p_is_revision_control IN            VARCHAR2
270         , p_is_lot_control      IN            VARCHAR2
271         , p_is_serial_control   IN            VARCHAR2
275         , p_task_id             IN            NUMBER
272         , p_is_negbal_allowed   IN            VARCHAR2   --vikas 09/07/04 v1
273         , p_toLPN_Default       IN            VARCHAR2   -- Bug 3855835
274         , p_project_id          IN            NUMBER
276         , x_trx_qty             OUT NOCOPY    NUMBER
277 		, x_trx_sec_qty         OUT NOCOPY    NUMBER				  -- Bug #4141928
278         , x_return_status       OUT NOCOPY    VARCHAR2
279         , x_msg_count           OUT NOCOPY    NUMBER
280         , x_msg_data            OUT NOCOPY    VARCHAR2
281         , x_toLPN_status        OUT NOCOPY    VARCHAR2 --Bug 3855835
282         , x_lot_att_vector      OUT NOCOPY    VARCHAR2
283 		, x_lot_att_vector2      OUT NOCOPY    VARCHAR2-- bug 14003388
284 	    , x_lot_att_vector3      OUT NOCOPY    VARCHAR2-- bug 14003388
285 	    , x_lot_att_vector4      OUT NOCOPY    VARCHAR2-- bug 14003388
286         , x_trx_qty_alloc       OUT NOCOPY    NUMBER    -- jxlu 10/6/04
287         , p_transaction_type_id IN            NUMBER -- Bug 4632519
288         , p_transaction_action_id IN          NUMBER -- Bug 4632519
289 	    , p_changelotNoException  IN            VARCHAR2  --/* Bug 9448490 Lot Substitution Project */
290 	    , p_full_lot_allocation   IN            VARCHAR2 DEFAULT 'Y' -- Added for 14699845 (Flexible Lot Allocation)
291         , p_fulfillment_base      IN            VARCHAR2 DEFAULT 'P');-- 16070349 raminoch
292 
293 
294   FUNCTION can_pickdrop(p_transaction_temp_id IN NUMBER)
295     RETURN VARCHAR2;
296 
297 
298   /* This API will return the number of tasks that still need to be performed
299     for a given carton. If it returns more than 1, the user should not be
300       allowed to drop off the carton*/
301   PROCEDURE check_pack_lpn(
302       p_lpn                IN            VARCHAR2
303     , p_org_id             IN            NUMBER
304     , p_container_item_id  IN             NUMBER
305     , p_temp_id            IN             NUMBER --Bug7120019
306     , x_lpn_id        OUT NOCOPY          NUMBER
307     , x_lpn_context   OUT NOCOPY          NUMBER
308     , x_outermost_lpn_id   OUT NOCOPY     NUMBER
309     , x_pick_to_lpn_exists OUT NOCOPY     BOOLEAN
310     , x_return_status OUT NOCOPY    VARCHAR2
311     , x_msg_count     OUT NOCOPY    NUMBER
312     , x_msg_data      OUT NOCOPY    VARCHAR2
313   );
314 
315   PROCEDURE validate_pick_to_lpn(
316       p_api_version_number          IN            NUMBER
317     , p_init_msg_lst                IN            VARCHAR2 := fnd_api.g_false
318     , x_return_status               OUT NOCOPY    VARCHAR2
319     , x_msg_count                   OUT NOCOPY    NUMBER
320     , x_msg_data                    OUT NOCOPY    VARCHAR2
321     , p_organization_id             IN            NUMBER
322     , p_pick_to_lpn                 IN            VARCHAR2
323     , p_temp_id                     IN            NUMBER
324     , p_project_id                  IN            NUMBER := NULL
325     , p_task_id                     IN            NUMBER := NULL
326     , p_container_item              IN            VARCHAR2
327     , p_container_item_id           IN            NUMBER
328     , p_suggested_container_item    IN            VARCHAR2
329     , p_suggested_container_item_id IN            NUMBER
330     , p_suggested_carton_name       IN            VARCHAR2
331     , p_suggested_tolpn_id          IN            NUMBER
332     , x_pick_to_lpn_id              OUT   NOCOPY  NUMBER
333     , p_inventory_item_id           IN            NUMBER
334     , p_confirmed_sub               IN            VARCHAR2
335     , p_confirmed_loc_id            IN            NUMBER
336     , p_revision                    IN            VARCHAR2
337     , p_confirmed_lots              IN            VARCHAR2
338     , p_from_lpn_id                 IN            NUMBER
339     , p_lot_control                 IN            VARCHAR2
340     , p_revision_control            IN            VARCHAR2
341     , p_serial_control              IN            VARCHAR2
342     , p_trx_type_id                 IN            VARCHAR2 -- Bug 4632519
343     , p_trx_action_id               IN            VARCHAR2 -- Bug 4632519
344   );
345 
346   PROCEDURE validate_sub_loc_status(
347       p_wms_installed    IN            VARCHAR2
348     , p_temp_id          IN            NUMBER
349     , p_confirmed_sub    IN            VARCHAR2
350     , p_confirmed_loc_id IN            NUMBER
351     , x_return_status    OUT NOCOPY    VARCHAR2
352     , x_msg_count        OUT NOCOPY    NUMBER
353     , x_msg_data         OUT NOCOPY    VARCHAR2
354     , x_result           OUT NOCOPY    NUMBER
355   );
356 
357 
358   PROCEDURE insert_serial(
359     p_serial_transaction_temp_id IN OUT NOCOPY NUMBER,
360     p_organization_id            IN     NUMBER,
361     p_item_id                    IN     NUMBER,
362     p_revision                   IN     VARCHAR2,
363     p_lot                        IN     VARCHAR2,
364     p_transaction_temp_id        IN     NUMBER,
365     p_created_by                 IN     NUMBER,
366     p_from_serial                IN     VARCHAR2,
367     p_to_serial                  IN     VARCHAR2,
368     p_status_id                  IN     NUMBER := NULL,
369     x_return_status              OUT    NOCOPY VARCHAR2,
370     x_msg_data                   OUT    NOCOPY VARCHAR2
371   ) ;
372 
373 FUNCTION check_if_lot_is_substituted ( p_substitute_lots VARCHAR2
374                                      , p_current_lot VARCHAR2
375                                      , p_full_lot_allocation VARCHAR2)-- Added for 14699845 (Flexible Lot Allocation)
376 RETURN BOOLEAN;  --BUG12670785
377 
378 PROCEDURE item_lot_divisible_flag (
379      p_org_id IN NUMBER
380     ,p_inventory_item_id IN NUMBER
381 	,x_lot_divisible_flag OUT NOCOPY VARCHAR2);
382 
383 --16267113
384 PROCEDURE Update_Tree_Flex_Lot (p_fromlpn_id            IN NUMBER,
385                                 p_org_id                IN NUMBER,
386                                 p_item_id               IN NUMBER,
387                                 p_rev                   IN VARCHAR2,
388                                 p_trx_qty               IN NUMBER,
389                                 p_trx_uom               IN VARCHAR2,
390                                 p_sec_qty               IN NUMBER,
391                                 p_sec_uom               IN VARCHAR2,
392                                 p_lot                   IN VARCHAR2,
393                                 p_temp_id               IN NUMBER,
394                                 p_transaction_type_id   IN NUMBER,
395                                 p_user_id               IN NUMBER,
396                                 p_transaction_action_id IN NUMBER ,
397                                 p_confirmed_sub         IN VARCHAR2,
398                                 p_confirmed_loc_id      IN NUMBER,
399                                 p_full_lot_allocation   IN VARCHAR2,
400                                 p_fulfillment_base      IN VARCHAR2,
401                                 x_lpn_lot_vector        OUT NOCOPY VARCHAR2,
402                                 x_lpn_lot_vector2       OUT NOCOPY VARCHAR2,
403                                 x_lpn_lot_vector3       OUT NOCOPY VARCHAR2,
404                                 x_lpn_lot_vector4       OUT NOCOPY VARCHAR2,
405                                 x_return_status         OUT NOCOPY VARCHAR2);
406 
407 END wms_task_load;