DBA Data[Home] [Help]

PACKAGE: APPS.WMS_CONTAINER_PUB

Source


1 PACKAGE WMS_Container_PUB AS
2 /* $Header: WMSCONTS.pls 120.6.12010000.2 2008/08/25 06:50:28 anviswan ship $ */
3 /*#
4 * This object handles the creation and updating license plate numbers
5 * @rep:scope public
6 * @rep:product WMS
7 * @rep:lifecycle active
8 * @rep:displayname License Plate Number APIs for WMS
9 * @rep:category BUSINESS_ENTITY WMS_CONTAINER
10 */
11 
12 /* Defined ROW Type variable for WMS_LICENSE_PLATE_NUMBERS entity */
13 
14 
15 /*----------------------------------------------------------------*
16  *  Global constants representing all possible LPN context values
17  *----------------------------------------------------------------*/
18 -- Resides in Inventory
19 LPN_CONTEXT_INV CONSTANT NUMBER := 1;
20 -- Resides in WIP
21 LPN_CONTEXT_WIP CONSTANT NUMBER := 2;
22 -- Resides in Receiving
23 LPN_CONTEXT_RCV CONSTANT NUMBER := 3;
24 -- Issued out of Stores
25 LPN_CONTEXT_STORES CONSTANT NUMBER := 4;
26 -- Pre-generated
27 LPN_CONTEXT_PREGENERATED CONSTANT NUMBER := 5;
28 -- Resides in intransit
29 LPN_CONTEXT_INTRANSIT CONSTANT NUMBER := 6;
30 -- Resides at vendor site
31 LPN_CONTEXT_VENDOR  CONSTANT NUMBER := 7;
32 -- Packing context, used as a temporary context value
33 -- when the user wants to reassociate the LPN with a
34 -- different license plate number and/or container item ID
35 LPN_CONTEXT_PACKING CONSTANT NUMBER := 8;
36 -- Loaded for shipment
37 LPN_LOADED_FOR_SHIPMENT CONSTANT NUMBER := 9;
38 -- Prepack of WIP
39 LPN_PREPACK_FOR_WIP CONSTANT NUMBER := 10;
40 -- LPN Picked
41 LPN_CONTEXT_PICKED CONSTANT NUMBER := 11;
42 -- Temporary context for staged (picked) LPNs
43 LPN_LOADED_IN_STAGE CONSTANT NUMBER := 12;
44 
45 /*----------------------------------------------------------------*
46  *  Global data structures
47  *----------------------------------------------------------------*/
48 
49 SUBTYPE LPN IS WMS_LICENSE_PLATE_NUMBERS%ROWTYPE;
50 
51 TYPE ChangeWeightVolumeRecType is RECORD
52         (       lpn_id                                          NUMBER,
53                 gross_weight_change             NUMBER,
54                 content_volume_change   NUMBER  );
55 
56 TYPE ChangedWtVolTabType IS TABLE OF ChangeWeightVolumeRecType
57         INDEX BY BINARY_INTEGER;
58 
59 G_LPN_WT_VOL_CHANGES ChangedWtVolTabType;
60 
61 
62 /*#
63 * This api is used to generate LPN numbers, either individually or in a sequence.
64 *
65 * @ param p_api_version API version number (current version is 1.0)
66 * @ paraminfo {@rep:required}
67 * @ param p_init_msg_list  default FND_API.G_FALSE) Valid values: FND_API.G_FALSE or FND_API.G_TRUE. if set to FND_API.G_TRUE initialize error message list if set to FND_API.G_FALSE - not initialize error message list
68 * @ paraminfo {@rep:required}
69 * @ param p_commit         default FND_API.G_FALSE whether or not to commit the changes to database
70 * @ paraminfo {@rep:required}
71 * @ param p_validation_level determines if full validation or no validation will be performed defaults to FND_API.G_VALID_LEVEL_FULL; FND_API.G_VALID_LEVEL_NONE is the other value
72 * @ paraminfo {@rep:required}
73 * @ param p_organization_id Organization Id
74 * @ paraminfo {@rep:required}
75 * @ param p_container_item_id Container Item Id - Defaults to NULL
76 * @ paraminfo {@rep:optional}
77 * @ param p_revision              Revision - Defaults to NULL
78 * @ paraminfo {@rep:optional}
79 * @ param p_lot_number            Lot Number - Defaults to NULL
80 * @ paraminfo {@rep:optional}
81 * @ param p_from_serial_number    Starting Serial Number   - Defaults to NULL
82 * @ paraminfo {@rep:optional}
83 * @ param p_to_serial_number      Ending Serial Number     - Defaults to NULL
84 * @ paraminfo {@rep:optional}
85 * @ param p_subinventory          Subinventory - Defaults to NULL
86 * @ paraminfo {@rep:optional}
87 * @ param p_locator_id            Locator Id - Defaults to NULL
88 * @ paraminfo {@rep:optional}
89 * @ param p_lpn_prefix            Prefix Value of an LPN - Defaults to NULL
90 * @ paraminfo {@rep:optional}
91 * @ param p_lpn_suffix            Suffix Value of an LPN - Defaults to NULL
92 * @ paraminfo {@rep:optional}
93 * @ param p_starting_num          Starting Number of an LPN - Defaults to NULL
94 * @ paraminfo {@rep:optional}
95 * @ param p_quantity              No of LPNs to be generated - Default Value is 1
96 * @ paraminfo {@rep:required}
97 * @ param p_source                LPN Context 1=INV, 2=WIP, 3=REC, etc.. Defaults to 5. Indicates the source where the LPN is generated
98 * @ paraminfo {@rep:required}
99 * @ param p_cost_group_id         Cost Group Id - Defaults to NULL
100 * @ paraminfo {@rep:optional}
101 * @ param p_source_type_id        Source type ID for the source transaction
102 * @ paraminfo {@rep:optional}
103 * @ param p_source_header_id      Source header ID for the source transaction
104 * @ paraminfo {@rep:optional}
105 * @ param p_source_name           Source name for the source transaction
106 * @ paraminfo {@rep:optional}
107 * @ param p_source_line_id        Source line ID for the source transaction
108 * @ paraminfo {@rep:optional}
109 * @ param p_source_line_detail_id Source line detail ID for the source transaction
110 * @ paraminfo {@rep:optional}
111 * @ param p_total_length          Specify the total length of LPN, pad with 0 numeric portion of LPN
112 * @ paraminfo {@rep:optional}
113 * @ param p_ucc_128_suffix_flag   Use a UCC128 suffix on LPNs or not 'Y'/'N'
114 * @ paraminfo {@rep:optional}
115 * @ param x_return_status if the Generate_LPN API succeeds, the value is fnd_api.g_ret_sts_success; if there is an expected error, the value is fnd_api.g_ret_sts_error; if there is an unexpected error, the value is fnd_api.g_ret_sts_unexp_error;
116 * @ paraminfo {@rep:required}
117 * @ param x_msg_count  if there is one or more errors, the number of error messages in the buffer
118 * @ paraminfo {@rep:required}
119 * @ param x_msg_data   if there is one and only one error, the error message
120 * @ paraminfo {@rep:required}
121 * @ param p_lpn_id_out Outputs the generated LPN ID if only one LPN is requested to be generated
122 * @ paraminfo {@rep:required}
123 * @ param p_lpn_out    Outputs the generated license plate number if only one LPN is requested to be generated
124 * @ paraminfo {@rep:required}
125 * @ param p_process_id Process ID to identify the LPN's generated in the table WMS_LPN_PROCESS_TEMP
126 * @rep:scope public
127 * @rep:lifecycle active
128 * @rep:displayname Generate License Plate Numbers
129 * @rep:businessevent Generate_LPN
130 */
131 PROCEDURE Generate_LPN (
132   p_api_version            IN         NUMBER
133 , p_init_msg_list          IN         VARCHAR2 := fnd_api.g_false
134 , p_commit                 IN         VARCHAR2 := fnd_api.g_false
135 , p_validation_level       IN         NUMBER   := fnd_api.g_valid_level_full
136 , x_return_status          OUT NOCOPY VARCHAR2
137 , x_msg_count              OUT NOCOPY NUMBER
138 , x_msg_data               OUT NOCOPY VARCHAR2
139 , p_organization_id        IN         NUMBER
140 , p_container_item_id      IN         NUMBER   := NULL
141 , p_revision               IN         VARCHAR2 := NULL
142 , p_lot_number             IN         VARCHAR2 := NULL
143 , p_from_serial_number     IN         VARCHAR2 := NULL
144 , p_to_serial_number       IN         VARCHAR2 := NULL
145 , p_subinventory           IN         VARCHAR2 := NULL
146 , p_locator_id             IN         NUMBER   := NULL
147 , p_lpn_prefix             IN         VARCHAR2 := NULL
148 , p_lpn_suffix             IN         VARCHAR2 := NULL
149 , p_starting_num           IN         NUMBER   := NULL
150 , p_quantity               IN         NUMBER   := 1
151 , p_source                 IN         NUMBER   := LPN_CONTEXT_PREGENERATED
152 , p_cost_group_id          IN         NUMBER   := NULL
153 , p_source_type_id         IN         NUMBER   := NULL
154 , p_source_header_id       IN         NUMBER   := NULL
155 , p_source_name            IN         VARCHAR2 := NULL
156 , p_source_line_id         IN         NUMBER   := NULL
157 , p_source_line_detail_id  IN         NUMBER   := NULL
158 , p_total_length           IN         NUMBER   := NULL
159 , p_ucc_128_suffix_flag    IN         VARCHAR2 := NULL
160 , p_lpn_id_out             OUT NOCOPY NUMBER
161 , p_lpn_out                OUT NOCOPY VARCHAR2
162 , p_process_id             OUT NOCOPY NUMBER
163 );
164 
165 /*---------------------------------------------------------------------*/
166 -- Name
167 --   PROCEDURE Associate_LPN
168 /*---------------------------------------------------------------------*/
169 -- Purpose
170 --    Associate an LPN to a specific instance of a container
171 --
172 -- Input Parameters
173 --   p_api_version
174 --      API version number (current version is 1.0)
175 --   p_init_msg_list (optional, default FND_API.G_FALSE)
176 --      Valid values: FND_API.G_FALSE or FND_API.G_TRUE.
177 --                           if set to FND_API.G_TRUE
178 --                                   initialize error message list
179 --                           if set to FND_API.G_FALSE - not initialize error
180 --                                   message list
181 --   p_commit (optional, default FND_API.G_FALSE)
182 --              whether or not to commit the changes to database
183 --   p_validation_level         (optional), determines if full validation or
184 --                              no validation will be performed
185 --                              defaults to FND_API.G_VALID_LEVEL_FULL
186 --                              FND_API.G_VALID_LEVEL_NONE is the other value
187 --   p_lpn_id                   License Plate Number Identifier - Required Value
188 --   p_container_item_id        Container Item Id - Required Value
189 --   p_lot_number               Lot Number - Defaults to NULL
190 --   p_revision                 Revision - Defaults to NULL
191 --   p_serial_number            Serial Number - Defaults to NULL
192 --   p_organization_id          Organization Id - Required Value
193 --   p_subinventory             Subinventory - Defaults to NULL
194 --   p_locator_id               Locator Id - Defaults to NULL
195 --   p_cost_group_id            Cost Group Id - Defaults to NULL
196 --   p_source_type_id           Source type ID for the source transaction
197 --   p_source_header_id         Source header ID for the source transaction
198 --   p_source_name              Source name for the source transaction
199 --   p_source_line_id           Source line ID for the source transaction
200 --   p_source_line_detail_id    Source line detail ID for the source transaction
201 --
202 --
203 -- Output Parameters
204 --   x_return_status
205 --       if the Associate_LPN API succeeds, the value is
206 --              fnd_api.g_ret_sts_success;
207 --       if there is an expected error, the value is
208 --              fnd_api.g_ret_sts_error;
209 --       if there is an unexpected error, the value is
210 --              fnd_api.g_ret_sts_unexp_error;
211 --   x_msg_count
212 --       if there is one or more errors, the number of error messages
213 --           in the buffer
214 --   x_msg_data
215 --       if there is one and only one error, the error message
216 /***********************************************************************/
217 /* WARNING Starting with patch set 11i.X This API will become obsolete */
218 /* Patch set J is the last patch set in which this API will exist in   */
219 /* this package all references will need to be removed by X            */
220 /***********************************************************************/
221 
222 PROCEDURE Associate_LPN
223 (  p_api_version            IN      NUMBER                          ,
224    p_init_msg_list          IN      VARCHAR2 := fnd_api.g_false     ,
225    p_commit                 IN      VARCHAR2 := fnd_api.g_false     ,
226    p_validation_level       IN      NUMBER   := fnd_api.g_valid_level_full  ,
227    x_return_status          OUT     NOCOPY VARCHAR2                        ,
228    x_msg_count              OUT     NOCOPY NUMBER                          ,
229    x_msg_data               OUT     NOCOPY VARCHAR2                        ,
230    p_lpn_id                 IN      NUMBER                          ,
231    p_container_item_id      IN      NUMBER                          ,
232    p_lot_number             IN      VARCHAR2 := NULL                ,
233    p_revision               IN      VARCHAR2 := NULL                ,
234    p_serial_number          IN      VARCHAR2 := NULL                ,
235    p_organization_id        IN      NUMBER                          ,
236    p_subinventory           IN      VARCHAR2 := NULL                ,
237    p_locator_id             IN      NUMBER   := NULL                ,
238    p_cost_group_id          IN      NUMBER   := NULL                ,
239    p_source_type_id         IN      NUMBER   := NULL                ,
240    p_source_header_id       IN      NUMBER   := NULL                ,
241    p_source_name            IN      VARCHAR2 := NULL                ,
242    p_source_line_id         IN      NUMBER   := NULL                ,
243    p_source_line_detail_id  IN      NUMBER   := NULL
244 );
245 
246 /*#
247 * This api takes in a brand new container name (License Plate Number) and will create an entry for it in
248 * the WMS_LICENSE_PLATE_NUMBERS table returning to the caller a uniquely generated LPN_ID.
249 *
250 * @ param p_api_version API version number (current version is 1.0)
251 * @ paraminfo {@rep:required}
252 * @ param p_init_msg_list   default FND_API.G_FALSE Valid values: FND_API.G_FALSE or FND_API.G_TRUE. if set to FND_API.G_TRUE initialize error message list if set to FND_API.G_FALSE - not initialize error message list
253 * @ paraminfo {@rep:required}
254 * @ param p_commit          default FND_API.G_FALSE whether or not to commit the changes to database
255 * @ paraminfo {@rep:required}
256 * @ param p_validation_level determines if full validation or no validation will be performed defaults to FND_API.G_VALID_LEVEL_FULL FND_API.G_VALID_LEVEL_NONE is the other value
257 * @ paraminfo {@rep:required}
258 * @ param p_lpn License Plate Number Identifier - Required Value
259 * @ paraminfo {@rep:required}
260 * @ param p_organization_id Organization Id - Required Value
261 * @ paraminfo {@rep:required}
262 * @ param p_container_item_id   Container Item Id - Defaults to NULL
263 * @ paraminfo {@rep:optional}
264 * @ param p_revision Revision - Defaults to NULL
265 * @ paraminfo {@rep:optional}
266 * @ param p_lot_number Lot Number - Defaults to NULL
267 * @ paraminfo {@rep:optional}
268 * @ param p_serial_number Serial Number - Defaults to NULL
269 * @ paraminfo {@rep:optional}
270 * @ param p_subinventory Subinventory - Defaults to NULL
271 * @ paraminfo {@rep:optional}
272 * @ param p_locator_id Locator Id - Defaults to NULL
273 * @ paraminfo {@rep:optional}
274 * @ param p_source LPN Context. 1=INV, 2=WIP, or =REC, etc..Defaults to 5.
275 * @ paraminfo {@rep:required}
276 * @ param p_cost_group_id Cost Group Id - Defaults to NULL
277 * @ paraminfo {@rep:optional}
278 * @ param p_parent_lpn_id Parent LPN Id - Defaults to NULL
279 * @ paraminfo {@rep:optional}
280 * @ param p_source_type_id Source type ID for the source transaction
281 * @ paraminfo {@rep:optional}
282 * @ param p_source_header_id Source header ID for the source transaction
283 * @ paraminfo {@rep:optional}
284 * @ param p_source_name Source name for the source transaction
285 * @ paraminfo {@rep:optional}
286 * @ param p_source_line_id Source line ID for the source transaction
287 * @ paraminfo {@rep:optional}
288 * @ param p_source_line_detail_id Source line detail ID for the source transaction
289 * @ paraminfo {@rep:optional}
290 * @ param x_return_status if the Create_LPN API succeeds, the value is fnd_api.g_ret_sts_success; if there is an expected error, the value is fnd_api.g_ret_sts_error; if there is an unexpected error, the value is fnd_api.g_ret_sts_unexp_error;
291 * @ paraminfo {@rep:required}
292 * @ param x_msg_count if there is one or more errors, the number of error messages in the buffer
293 * @ paraminfo {@rep:required}
294 * @ param x_msg_data if there is one and only one error, the error message
295 * @ paraminfo {@rep:required}
296 * @ param x_lpn_id The LPN ID for the new LPN record entry
297 * @ paraminfo {@rep:required}
298 * @rep:scope public
299 * @rep:lifecycle active
300 * @rep:displayname Create License Plate Numbers
301 * @rep:businessevent Create_LPN
302 */
303 PROCEDURE Create_LPN (
304   p_api_version            IN         NUMBER
305 , p_init_msg_list          IN         VARCHAR2 := fnd_api.g_false
306 , p_commit                 IN         VARCHAR2 := fnd_api.g_false
307 , p_validation_level       IN         NUMBER   := fnd_api.g_valid_level_full
308 , x_return_status          OUT NOCOPY VARCHAR2
309 , x_msg_count              OUT NOCOPY NUMBER
310 , x_msg_data               OUT NOCOPY VARCHAR2
314 , p_lot_number             IN         VARCHAR2 := NULL
311 , p_lpn                    IN         VARCHAR2
312 , p_organization_id        IN         NUMBER
313 , p_container_item_id      IN         NUMBER   := NULL
315 , p_revision               IN         VARCHAR2 := NULL
316 , p_serial_number          IN         VARCHAR2 := NULL
317 , p_subinventory           IN         VARCHAR2 := NULL
318 , p_locator_id             IN         NUMBER   := NULL
319 , p_source                 IN         NUMBER   := LPN_CONTEXT_PREGENERATED
320 , p_cost_group_id          IN         NUMBER   := NULL
321 , p_parent_lpn_id          IN         NUMBER   := NULL
322 , p_source_type_id         IN         NUMBER   := NULL
323 , p_source_header_id       IN         NUMBER   := NULL
324 , p_source_name            IN         VARCHAR2 := NULL
325 , p_source_line_id         IN         NUMBER   := NULL
326 , p_source_line_detail_id  IN         NUMBER   := NULL
327 , x_lpn_id                 OUT NOCOPY NUMBER
328 );
329 
330 /*---------------------------------------------------------------------*/
331 -- Name
332 --   PROCEDURE Modify_LPN and Modify_LPN_Wrapper
333 /*---------------------------------------------------------------------*/
334 -- Purpose
335 --     Used to update the attributes of a specific container instance (LPN).
336 --     Modify_LPN_Wrapper just calls Modify_LPN but it doesn't take in a
337 --     record type as an input.  This is used for the java calls to this
338 --     procedure in the mobile transactions.
339 --        Fields that can be modified include:
340 --            *  all the gross weight and content volume related fields
341 --            *  status_id, lpn_context, sealed_status
342 --            *  org, sub, and loc information
343 --            *  All of the extra Attribute related columns for future usages
344 --
345 -- Input Parameters
346 --   p_api_version
347 --      API version number (current version is 1.0)
348 --   p_init_msg_list (optional, default FND_API.G_FALSE)
349 --      Valid values: FND_API.G_FALSE or FND_API.G_TRUE.
350 --                           if set to FND_API.G_TRUE
351 --                                   initialize error message list
352 --                           if set to FND_API.G_FALSE - not initialize error
353 --                                   message list
354 --   p_commit (optional, default FND_API.G_FALSE)
355 --      whether or not to commit the changes to database
356 --   p_validation_level         (optional), determines if full validation or
357 --                              no validation will be performed
358 --                              defaults to FND_API.G_VALID_LEVEL_FULL
359 --                              FND_API.G_VALID_LEVEL_NONE is the other value
360 --   p_lpn              WMS_LICENSE_PLATE_NUMBERS%ROWTYPE - Required Value
361 --                       Stores the information for the fields of the LPN record that
362 --                       the user desires to modify
363 --   p_source_type_id           Source type ID for the source transaction
364 --   p_source_header_id         Source header ID for the source transaction
365 --   p_source_name              Source name for the source transaction
366 --   p_source_line_id           Source line ID for the source transaction
367 --   p_source_line_detail_id    Source line detail ID for the source transaction
368 --
369 --
370 -- Output Parameters
371 --   x_return_status
372 --       if the Modify_LPN API succeeds, the value is
373 --              fnd_api.g_ret_sts_success;
374 --       if there is an expected error, the value is
375 --              fnd_api.g_ret_sts_error;
376 --       if there is an unexpected error, the value is
377 --              fnd_api.g_ret_sts_unexp_error;
378 --   x_msg_count
379 --       if there is one or more errors, the number of error messages
380 --           in the buffer
381 --   x_msg_data
382 --       if there is one and only one error, the error message
383 
384 PROCEDURE Modify_LPN
385 (  p_api_version            IN      NUMBER                          ,
386    p_init_msg_list          IN      VARCHAR2 := fnd_api.g_false     ,
387    p_commit                 IN      VARCHAR2 := fnd_api.g_false     ,
388    p_validation_level       IN      NUMBER   := fnd_api.g_valid_level_full  ,
389    x_return_status          OUT     NOCOPY VARCHAR2                        ,
390    x_msg_count              OUT     NOCOPY NUMBER                          ,
391    x_msg_data               OUT     NOCOPY VARCHAR2                        ,
392    p_lpn                    IN      LPN                             ,
393    p_source_type_id         IN      NUMBER   := NULL                ,
394    p_source_header_id       IN      NUMBER   := NULL                ,
395    p_source_name            IN      VARCHAR2 := NULL                ,
396    p_source_line_id         IN      NUMBER   := NULL                ,
397    p_source_line_detail_id  IN      NUMBER   := NULL
398 );
399 
400 /***********************************************************************/
401 /* WARNING Starting with patch set 11i.X This API will become obsolete */
402 /* Patch set J is the last patch set in which this API will exist in   */
403 /* this package all references will need to be removed by X            */
404 /***********************************************************************/
405 
406 PROCEDURE Modify_LPN_Wrapper
407 (  p_api_version            IN      NUMBER                             ,
408    p_init_msg_list          IN      VARCHAR2 := fnd_api.g_false        ,
409    p_commit                 IN      VARCHAR2 := fnd_api.g_false        ,
410    p_validation_level       IN      NUMBER   := fnd_api.g_valid_level_full  ,
414    p_lpn_id                 IN      NUMBER                             ,
411    x_return_status          OUT     NOCOPY VARCHAR2                           ,
412    x_msg_count              OUT     NOCOPY NUMBER                             ,
413    x_msg_data               OUT     NOCOPY VARCHAR2                           ,
415    p_license_plate_number   IN      VARCHAR2 := NULL                   ,
416    p_inventory_item_id      IN      NUMBER   := NULL                   ,
417    p_weight_uom_code        IN      VARCHAR2 := NULL                   ,
418    p_gross_weight           IN      NUMBER   := NULL                   ,
419    p_volume_uom_code        IN      VARCHAR2 := NULL                   ,
420    p_content_volume         IN      NUMBER   := NULL                   ,
421    p_status_id              IN      NUMBER   := NULL                   ,
422    p_lpn_context            IN      NUMBER   := NULL                   ,
423    p_sealed_status          IN      NUMBER   := NULL                   ,
424    p_organization_id        IN      NUMBER   := NULL                   ,
425    p_subinventory           IN      VARCHAR  := NULL                   ,
426    p_locator_id             IN      NUMBER   := NULL                   ,
427    p_source_type_id         IN      NUMBER   := NULL                   ,
428    p_source_header_id       IN      NUMBER   := NULL                   ,
429    p_source_name            IN      VARCHAR2 := NULL                   ,
430    p_source_line_id         IN      NUMBER   := NULL                   ,
431    p_source_line_detail_id  IN      NUMBER   := NULL
432   );
433 
434 /*---------------------------------------------------------------------*/
435 -- Name
436 --   PROCEDURE PackUnpack_Container
437 /*---------------------------------------------------------------------*/
438 -- Purpose
439 --     Allows the caller to pack or unpack contents from a container instance or LPN.
440 --               This API does not update onhand, so should not be used directly for packing
441 --               items in inventory.  For inventory packs the transaction manager should be used.
442 --
443 -- Input Parameters
444 --   p_api_version
445 --      API version number (current version is 1.0)
446 --   p_init_msg_list (optional, default FND_API.G_FALSE)
447 --      Valid values: FND_API.G_FALSE or FND_API.G_TRUE.
448 --                           if set to FND_API.G_TRUE
449 --                                   initialize error message list
450 --                           if set to FND_API.G_FALSE - not initialize error
451 --                                   message list
452 --   p_commit (optional, default FND_API.G_FALSE)
453 --                whether or not to commit the changes to database
454 --   p_validation_level         (optional), determines if full validation or
455 --                              no validation will be performed
456 --                              defaults to FND_API.G_VALID_LEVEL_FULL
457 --                              FND_API.G_VALID_LEVEL_NONE is the other value
458 --   p_lpn_id                   Parent License Plate Number Identifier - Required Value
459 --   p_content_lpn_id           Content LPN ID
460 --   p_content_item_id          Content Item ID          - Defaults to NULL
461 --   p_content_item_desc        Content Item Description - Defaults to NULL
462 --   p_revision                 Revision                 - Defaults to NULL
463 --   p_lot_number               Lot Number               - Defaults to NULL
464 --   p_from_serial_number       Starting Serial Number   - Defaults to NULL
465 --   p_to_serial_number         Ending Serial Number     - Defaults to NULL
466 --   p_quantity                 Content Quantity         - Defaults to NULL
467 --                                This value is not required if you are
468 --                                packing or unpacking an LPN or if you are
469 --                                packing or unpacking serialized items
470 --   p_uom                      Content Qty UOM          - Defaults to NULL
471 --   p_organization_id          Organization ID          - Required Value
472 --   p_subinventory             Subinventory             - Defaults to NULL
473 --                              Value is the source subinventory if pack,
474 --                              destination subinventory if unpack operation
475 --   p_locator_id               Locator Id               - Defaults to NULL
476 --                              Value is the source locator if pack,
477 --                              destination locator if unpack operation
478 --   p_enforce_wv_constraints   Weight and Volume Enforcement Flag
479 --                                  Defaults to 2 (= No), 1 = Yes
480 --
481 --   p_operation                Type of opertaion, Pack/Unpack      - Required Value
482 --                                  1 = Pack, 2 = Unpack
483 --   p_cost_group_id            Cost Group Id - Defaults to NULL
484 --   p_source_type_id           Source type ID for the source transaction
485 --   p_source_header_id         Source header ID for the source transaction
486 --   p_source_name              Source name for the source transaction
487 --   p_source_line_id           Source line ID for the source transaction
488 --   p_source_line_detail_id    Source line detail ID for the source transaction
489 --   p_homogeneous_container    Parameter signifying if different mixed
490 --                              items can be packed in the same container
491 --                                  1 = Yes, 2 = No   Defaults to 2 = No
492 --   p_match_locations          Parameter signifying if all of the items
493 --                              should be in the same location when packing
494 --                                  1 = Yes, 2 = No   Defaults to 2 = No
495 --   p_match_lpn_context        Parameter signifying if all of the LPNs
499 --                              should have the same lot number when packing
496 --                              should have the same LPN context when packing
497 --                                  1 = Yes, 2 = No   Defaults to 2 = No
498 --   p_match_lot                Parameter signifying if all of the items
500 --                                  1 = Yes, 2 = No   Defaults to 2 = No
501 --   p_match_cost_groups        Parameter signifying if all of the items
502 --                              should have the same cost group when packing
503 --                                  1 = Yes, 2 = No   Defaults to 2 = No
504 --   p_match_mtl_status         Parameter signifying if all of the items
505 --                              should have the same material status when packing
506 --                                  1 = Yes, 2 = No   Defaults to 2 = No
507 --   p_unpack_all               Parameter signifying if all of the contents
508 --                              in the LPN should be unpacked
509 --                                  1 = Yes, 2 = No   Defaults to 2 = No
510 --   p_trx_action_id            transaction header ID for the transaction
511 --        p_concurrent_pack     flag to indicate if a autonomous commit should be done
512 --                                                              for updating weight and volume of lpn.  This allows for
513 --                                                              multiple users to pack/unpack the same lpn at the same time
514 --                                                                              0 = non autonomous (default) 1 = autonomous
515 --
516 -- Output Parameters
517 --   x_return_status
518 --       if the PackUnpack_Container API succeeds, the value is
519 --              fnd_api.g_ret_sts_success;
520 --       if there is an expected error, the value is
521 --              fnd_api.g_ret_sts_error;
522 --       if there is an unexpected error, the value is
523 --              fnd_api.g_ret_sts_unexp_error;
524 --   x_msg_count
525 --       if there is one or more errors, the number of error messages
526 --           in the buffer
527 --   x_msg_data
528 --       if there is one and only one error, the error message
529 /***********************************************************************/
530 /* WARNING Starting with patch set 11i.X This API will become obsolete */
531 /* Patch set J is the last patch set in which this API will exist in   */
532 /* this package all references will need to be removed by X            */
533 /***********************************************************************/
534 
535   PROCEDURE PackUnpack_Container (
536     p_api_version              IN         NUMBER
537   , p_init_msg_list            IN         VARCHAR2 := fnd_api.g_false
538   , p_commit                   IN         VARCHAR2 := fnd_api.g_false
539   , p_validation_level         IN         NUMBER   := fnd_api.g_valid_level_full
540   , x_return_status            OUT NOCOPY VARCHAR2
541   , x_msg_count                OUT NOCOPY NUMBER
542   , x_msg_data                 OUT NOCOPY VARCHAR2
543   , p_lpn_id                   IN         NUMBER
544   , p_content_lpn_id           IN         NUMBER   := NULL
545   , p_content_item_id          IN         NUMBER   := NULL
546   , p_content_item_desc        IN         VARCHAR2 := NULL
547   , p_revision                 IN         VARCHAR2 := NULL
548   , p_lot_number               IN         VARCHAR2 := NULL
549   , p_from_serial_number       IN         VARCHAR2 := NULL
550   , p_to_serial_number         IN         VARCHAR2 := NULL
551   , p_quantity                 IN         NUMBER   := 1
552   , p_uom                      IN         VARCHAR2 := NULL
553   , p_sec_quantity             IN         NUMBER   := NULL --INVCONV kkillams
554   , p_sec_uom                  IN         VARCHAR2 := NULL --INVCONV kkillams
555   , p_organization_id          IN         NUMBER
556   , p_subinventory             IN         VARCHAR2 := NULL
557   , p_locator_id               IN         NUMBER   := NULL
558   , p_enforce_wv_constraints   IN         NUMBER   := 2
559   , p_operation                IN         NUMBER
560   , p_cost_group_id            IN         NUMBER   := NULL
561   , p_source_type_id           IN         NUMBER   := NULL
562   , p_source_header_id         IN         NUMBER   := NULL
563   , p_source_name              IN         VARCHAR2 := NULL
564   , p_source_line_id           IN         NUMBER   := NULL
565   , p_source_line_detail_id    IN         NUMBER   := NULL
566   , p_homogeneous_container    IN         NUMBER   := 2
567   , p_match_locations          IN         NUMBER   := 2
568   , p_match_lpn_context        IN         NUMBER   := 2
569   , p_match_lot                IN         NUMBER   := 2
570   , p_match_cost_groups        IN         NUMBER   := 2
571   , p_match_mtl_status         IN         NUMBER   := 2
572   , p_unpack_all               IN         NUMBER   := 2
573   , p_trx_action_id            IN         NUMBER   := NULL
574   , p_concurrent_pack          IN         NUMBER   := 0
575   , p_ignore_item_controls     IN         NUMBER   := 2
576 );
577 
578 /***********************************************************************/
579 /* WARNING Starting with patch set 11i.X This API will become obsolete */
580 /* Patch set J is the last patch set in which this API will exist in   */
581 /* this package all references will need to be removed by X            */
582 /***********************************************************************/
583 
584 PROCEDURE pack_prepack_container
585   (  p_api_version            IN      NUMBER                        ,
586      p_init_msg_list          IN      VARCHAR2 := fnd_api.g_false   ,
587      p_commit                 IN      VARCHAR2 := fnd_api.g_false   ,
591      x_msg_data               OUT     NOCOPY VARCHAR2                      ,
588      p_validation_level       IN      NUMBER   := fnd_api.g_valid_level_full  ,
589      x_return_status          OUT     NOCOPY VARCHAR2                      ,
590      x_msg_count              OUT     NOCOPY NUMBER                        ,
592      p_lpn_id                 IN      NUMBER                        ,
593      p_content_item_id        IN      NUMBER   := NULL              ,
594      p_revision               IN      VARCHAR2 := NULL              ,
595      p_lot_number             IN      VARCHAR2 := NULL              ,
596      p_from_serial_number     IN      VARCHAR2 := NULL              ,
597      p_to_serial_number       IN      VARCHAR2 := NULL              ,
598      p_quantity               IN      NUMBER   := 1                 ,
599      p_uom                    IN      VARCHAR2 := NULL              ,
600      p_organization_id        IN      NUMBER                        ,
601      p_operation              IN      NUMBER                        ,
602      p_source_type_id         IN      NUMBER   := NULL
603   );
604 
605 
606 /*---------------------------------------------------------------------*/
607 -- Name
608 --   PROCEDURE Explode_LPN
609 /*---------------------------------------------------------------------*/
610 -- Purpose
611 --    API returns a PL/SQL table of a containers contents.
612 --    User will pass in the LPN of
613 --    the container to be exploded and the level to explode to.
614 --
615 -- Input Parameters
616 --   p_api_version
617 --      API version number (current version is 1.0)
618 --   p_init_msg_list (optional, default FND_API.G_FALSE)
619 --      Valid values: FND_API.G_FALSE or FND_API.G_TRUE.
620 --                           if set to FND_API.G_TRUE
621 --                                   initialize error message list
622 --                           if set to FND_API.G_FALSE - not initialize error
623 --                                   message list
624 --   p_commit (optional, default FND_API.G_FALSE)
625 --      whether or not to commit the changes to database
626 --   p_lpn_id                 License Plate Number Identifier - Required Value
627 --   p_explosion_level        Explosion Level - Defaults to 0 (Explode to all levels)
628 --
629 --
630 -- Output Parameters
631 --   x_return_status
632 --       if the Explode_LPN API succeeds, the value is
633 --              fnd_api.g_ret_sts_success;
634 --       if there is an expected error, the value is
635 --              fnd_api.g_ret_sts_error;
636 --       if there is an unexpected error, the value is
637 --              fnd_api.g_ret_sts_unexp_error;
638 --   x_msg_count
639 --       if there is one or more errors, the number of error messages
640 --           in the buffer
641 --   x_msg_data
642 --       if there is one and only one error, the error message
643 
644 -- This is the contents of exploded table type
645 /***********************************************************************/
646 /* WARNING Starting with patch set 11i.X This API will become obsolete */
647 /* Patch set J is the last patch set in which this API will exist in   */
648 /* this package all references will need to be removed by X            */
649 /***********************************************************************/
650 
651 TYPE WMS_Container_Content_Rec_Type is RECORD
652 (  parent_lpn_id        NUMBER          ,
653    content_lpn_id       NUMBER          ,
654    content_item_id      NUMBER          ,
655    content_description  VARCHAR2(240)   ,
656    content_type         VARCHAR2(1)     ,
657    organization_id      NUMBER          ,
658    revision             VARCHAR2(3)     ,
659    lot_number           VARCHAR2(80)    , -- nsinghi bug#5764384. Changed size from 30 to 80
660    serial_number        VARCHAR2(30)    ,
661    quantity             NUMBER          ,
662    sec_quantity         NUMBER          , --INVCONV kkillams
663    uom                  VARCHAR2(3)     ,
664    sec_uom              VARCHAR2(3)     , --INVCONV kkillams
665    cost_group_id        NUMBER
666 );
667 
668 TYPE WMS_Container_Tbl_Type is TABLE OF WMS_Container_Content_Rec_Type
669 INDEX BY BINARY_INTEGER;
670 
671 PROCEDURE Explode_LPN
672 (  p_api_version        IN      NUMBER                         ,
673    p_init_msg_list      IN      VARCHAR2 := fnd_api.g_false    ,
674    p_commit             IN      VARCHAR2 := fnd_api.g_false    ,
675    x_return_status      OUT     NOCOPY VARCHAR2                       ,
676    x_msg_count          OUT     NOCOPY NUMBER                         ,
677    x_msg_data           OUT     NOCOPY VARCHAR2                       ,
678    p_lpn_id             IN      NUMBER                         ,
679    p_explosion_level    IN      NUMBER   := 0                  ,
680    x_content_tbl        OUT     NOCOPY WMS_Container_Tbl_Type
681 );
682 
683 
684 /*---------------------------------------------------------------------*/
685 -- Name
686 --   FUNCTION Validate_LPN
687 /*---------------------------------------------------------------------*/
688 -- Purpose
689 --    This Function returns a row of WMS_Licese_Plate_Numbers entity
690 --
691 -- Input Parameters
692 --    p_lpn   License_Plate_Number entity Row type variable
693 -- Output Value - 1. Success  0. Failure
694 
695 /*-- Constant Return Values for Validation APIs */
696 T CONSTANT NUMBER := 1;
697 F CONSTANT NUMBER := 0;
698 
699 FUNCTION Validate_LPN(
700   p_lpn IN OUT nocopy LPN
701 , p_lock IN NUMBER := 2 )
702 RETURN NUMBER;
703 
704 
708 /*---------------------------------------------------------------------*/
705 /*---------------------------------------------------------------------*/
706 -- Name
707 --   PROCEDURE Container_Required_Qty
709 -- Purpose
710 --    Calculates the quantity of containers required to store
711 --    (source) the inventory item  or container specified.
712 --    If the destination container given, it will be calculated for
713 --    the given container item or it will be calculated as per the
714 --    item/container relationship definitions.
715 --
716 -- Input Parameters
717 --   p_api_version
718 --      API version number (current version is 1.0)
719 --   p_init_msg_list (optional, default FND_API.G_FALSE)
720 --      Valid values: FND_API.G_FALSE or FND_API.G_TRUE.
721 --                           if set to FND_API.G_TRUE
722 --                                   initialize error message list
723 --                           if set to FND_API.G_FALSE - not initialize error
724 --                                   message list
725 --   p_commit (optional, default FND_API.G_FALSE)
726 --      whether or not to commit the changes to database
727 --   p_source_item_id           Source Item id (can also be a container Item) - Required Value
728 --   p_source_qty               Source Item Qty        - Required Value
729 --   p_source_qty_uom           UOM of Source Item Qty - Required Value
730 --   p_qty_per_container        Qty per each container - Defaults to NULL
731 --   p_qty_per_container_uom    UOM of Qty per each container - Defaults to NULL
732 --   p_organization_id          Organization Id - Defaults to NULL
733 --   p_dest_cont_item_id        Destination container item id - IN OUT parameter
734 --
735 --
736 -- Output Parameters
737 --   x_return_status
738 --       if the Container_Required_Qty API succeeds, the value is
739 --              fnd_api.g_ret_sts_success;
740 --       if there is an expected error, the value is
741 --              fnd_api.g_ret_sts_error;
742 --       if there is an unexpected error, the value is
743 --              fnd_api.g_ret_sts_unexp_error;
744 --   x_msg_count
745 --       if there is one or more errors, the number of error messages
746 --           in the buffer
747 --   x_msg_data
748 --       if there is one and only one error, the error message
749 --   p_dest_cont_item_id        Destination container item id - IN OUT parameter
750 --   p_qty_required             Required Container Quantity
751 /***********************************************************************/
752 /* WARNING Starting with patch set 11i.X This API will become obsolete */
753 /* Patch set J is the last patch set in which this API will exist in   */
754 /* this package all references will need to be removed by X            */
755 /***********************************************************************/
756 
757 PROCEDURE Container_Required_Qty
758 (  p_api_version           IN     NUMBER                          ,
759    p_init_msg_list         IN     VARCHAR2 := fnd_api.g_false     ,
760    p_commit                IN     VARCHAR2 := fnd_api.g_false     ,
761    x_return_status         OUT    NOCOPY VARCHAR2                        ,
762    x_msg_count             OUT    NOCOPY NUMBER                          ,
763    x_msg_data              OUT    NOCOPY VARCHAR2                        ,
764    p_source_item_id        IN     NUMBER                          ,
765    p_source_qty            IN     NUMBER                          ,
766    p_source_qty_uom        IN     VARCHAR2                        ,
767    p_qty_per_cont          IN     NUMBER   := NULL                ,
768    p_qty_per_cont_uom      IN     VARCHAR2 := NULL                ,
769    p_organization_id       IN     NUMBER                          ,
770    p_dest_cont_item_id     IN OUT NOCOPY NUMBER                          ,
771    p_qty_required          OUT    NOCOPY NUMBER
772 );
773 
774 TYPE LPN_Table_Type IS TABLE OF WMS_LICENSE_PLATE_NUMBERS%ROWTYPE
775   INDEX BY BINARY_INTEGER;
776 
777 
778 /*---------------------------------------------------------------------*/
779 -- Name
780 --   PROCEDURE Prepack_LPN_CP
781 /*---------------------------------------------------------------------*/
782 -- Purpose
783 --   Allows the packing of items that are not yet in inventory.  LPN's are
784 --   pre-generated and associated with contents at the release of a WIP job.
785 --   The LPN's generated will have a state of "Resides in WIP" so that their
786 --   contents are not included in on hand inventory
787 --
788 --
789 -- Input Parameters
790 --   p_api_version
791 --      API version number (current version is 1.0)
792 --   p_init_msg_list (optional, default FND_API.G_FALSE)
793 --      Valid values: FND_API.G_FALSE or FND_API.G_TRUE.
794 --                           if set to FND_API.G_TRUE
795 --                                   initialize error message list
796 --                           if set to FND_API.G_FALSE - do not initialize error
797 --                                   message list
798 --   p_commit (optional, default FND_API.G_FALSE)
799 --      whether or not to commit the changes to database
800 --   p_organization_id          Organization of the LPN          - Required
801 --   p_subinventory             Subinventory - Defaults to NULL
802 --   p_locator_id               Locator Id - Defaults to NULL
803 --   p_inventory_item_id        Inventory ID number              - Required
804 --   p_revision                 Revision of the inventory item
805 --   p_lot_number               Lot number of the inventory item
806 --   p_quantity                 Quantity of item to be prepacked - Required
810 --   p_serial_number_to         Ending serial number for inventory item
807 --   p_uom                      UOM of the quantity prepacked    - Required
808 --   p_source                   Source of information (WIP/REC)
809 --   p_serial_number_from       Starting serial number for inventory item
811 --   p_container_item_id        Inventory item ID for a container item
812 --   p_cont_revision            Revision of the container item
813 --   p_cont_lot_number          Lot Number of the container item
814 --   p_cont_serial_number_from  From serial number of the container item
815 --   p_cont_serial_number_to    To serial number of the container item
816 --   p_lpn_sealed_flag          Flag to tell if LPN should be sealed or not
817 --   p_print_label              Should labels be printed afterwards
818 --   p_print_content_report     Should content reports be generated afterwards
819 --
820 --
821 -- Output Parameters
822 --   ERRBUF                     Concurrent program error buffer
823 --   RETCODE                    Concurrent program return code
824 --   x_return_status
825 --       if the Prepack_LPN API succeeds, the value is
826 --              fnd_api.g_ret_sts_success;
827 --       if there is an expected error, the value is
828 --              fnd_api.g_ret_sts_error;
829 --       if there is an unexpected error, the value is
830 --              fnd_api.g_ret_sts_unexp_error;
831 --   x_msg_count
832 --       if there is one or more errors, the number of error messages
833 --           in the buffer
834 --   x_msg_data
835 --       if there is one and only one error, the error message
836 --
837 /***********************************************************************/
838 /* WARNING Starting with patch set 11i.X This API will become obsolete */
839 /* Patch set J is the last patch set in which this API will exist in   */
840 /* this package all references will need to be removed by X            */
841 /***********************************************************************/
842 
843 PROCEDURE Prepack_LPN_CP
844 (  ERRBUF                     OUT     NOCOPY VARCHAR2                           ,
845    RETCODE                    OUT     NOCOPY NUMBER                             ,
846    p_api_version              IN      NUMBER                            ,
847    p_organization_id          IN      NUMBER                           ,
848    p_subinventory             IN      VARCHAR2 := NULL                 ,
849    p_locator_id               IN      NUMBER   := NULL                 ,
850    p_inventory_item_id        IN      NUMBER                           ,
851    p_revision                 IN      VARCHAR2 := NULL                 ,
852    p_lot_number               IN      VARCHAR2 := NULL                 ,
853    p_quantity                 IN      NUMBER                           ,
854    p_uom                      IN      VARCHAR2                         ,
855    p_source                   IN      NUMBER                           ,
856    p_serial_number_from       IN      VARCHAR2 := NULL                 ,
857    p_serial_number_to         IN      VARCHAR2 := NULL                 ,
858    p_container_item_id        IN      NUMBER   := NULL                 ,
859    p_cont_revision            IN      VARCHAR2 := NULL                 ,
860    p_cont_lot_number          IN      VARCHAR2 := NULL                 ,
861    p_cont_serial_number_from  IN      VARCHAR2 := NULL                 ,
862    p_cont_serial_number_to    IN      VARCHAR2 := NULL                 ,
863    p_lpn_sealed_flag          IN      NUMBER   := fnd_api.g_miss_num   ,
864    p_print_label              IN      NUMBER   := fnd_api.g_miss_num   ,
865    p_print_content_report     IN      NUMBER   := fnd_api.g_miss_num
866 );
867 
868 TYPE Transaction_History IS TABLE OF WMS_LPN_HISTORIES.lpn_history_id%TYPE
869   INDEX BY BINARY_INTEGER;
870 
871 /*---------------------------------------------------------------------*/
872 -- Name
873 --   PROCEDURE lpn_pack_complete
874 /*---------------------------------------------------------------------*/
875 -- Purpose
876 --   commit or revert changes made by autonomous pack/unpack
877 --
878 -- Input Parameters
879 --   p_revert        The process ID for the prepack transaction
880 --                                                      0 = complete 1 = revert changes
881 --
882 -- Output Parameters
883 --   None
884 --
885 /***********************************************************************/
886 /* WARNING Starting with patch set 11i.X This API will become obsolete */
887 /* Patch set J is the last patch set in which this API will exist in   */
888 /* this package all references will need to be removed by X            */
889 /***********************************************************************/
890 
891 FUNCTION lpn_pack_complete( p_revert NUMBER := 0 )RETURN BOOLEAN;
892 
893 -- Start of comments
894 --  API name: Merge_Up_LPN
895 --  Type    : Public
896 --  Pre-reqs: None.
897 --  Function: Creates and executes transactions in MTL_MATERIAL_TRANSACTIONS_TEMP
898 --            to consolidate contents of a nested LPN structure into the outermost
899 --            LPN
900 --  Example: Before Merge Up
901 --
902 --             Item A Qty 3                 Item A Qty 2
903 --             Item B Qty 4                 Item C Qty 5
904 --            -------------- Item C Qty 2  --------------
905 --                LPN3       Item D Qty 3       LPN2
906 --           ----------------------------------------------
907 --                                LPN 1
908 --           After Merge Up
909 --
910 --            Item A Qty 5
911 --            Item B Qty 4
912 --            Item C Qty 7
916 --  Parameters:
913 --            Item D Qty 3      Empty          Empty
914 --           -------------- -------------- --------------
915 --               LPN 1          LPN 2          LPN 3
917 --  IN: p_organization_id   IN NUMBER   Required
918 --        LPN organization id. Part of the unique key
919 --        that uniquely identifies an LPN record.
920 --      p_outermost_lpn_id  IN NUMBER   Required
921 --        Corresponds to the column lpn_id of the LPN to validate
922 --        This LPN must be the outermost LPN, i.e. cannot have any
923 --        parent LPN (nested)
924 --  Version : Current version 1.0
925 -- End of comments
926 
927 PROCEDURE Merge_Up_LPN (
928   p_api_version             IN         NUMBER
929 , p_init_msg_list           IN         VARCHAR2 := fnd_api.g_false
930 , p_commit                  IN         VARCHAR2 := fnd_api.g_false
931 , x_return_status           OUT NOCOPY VARCHAR2
932 , x_msg_count               OUT NOCOPY NUMBER
933 , x_msg_data                OUT NOCOPY VARCHAR2
934 , p_organization_id         IN         NUMBER
935 , p_outermost_lpn_id        IN         NUMBER
936 );
937 
938 -- Start of comments
939 --  API name: Break_Down_LPN
940 --  Type    : Public
941 --  Pre-reqs: None.
942 --  Function: Creates and executes transactions in MTL_MATERIAL_TRANSACTIONS_TEMP
943 --            to unnest LPN structure but leaving all contents in their original
944 --            LPNs
945 --  Example: Before Break Down
946 --
947 --             Item A Qty 3                 Item A Qty 2
948 --             Item B Qty 4                 Item C Qty 5
949 --            -------------- Item C Qty 2  --------------
950 --                LPN3       Item D Qty 3       LPN2
951 --           ----------------------------------------------
952 --                                LPN 1
953 --           After Break Down
954 --
955 --            Item C Qty 2   Item A Qty 2   Item A Qty 3
956 --            Item D Qty 3   Item C Qty 5   Item B Qty 4
957 --           -------------- -------------- --------------
958 --               LPN 1          LPN 2          LPN 3
959 --  Parameters:
960 --  IN: p_organization_id   IN NUMBER   Required
961 --        LPN organization id. Part of the unique key
962 --        that uniquely identifies an LPN record.
963 --      p_outermost_lpn_id  IN NUMBER   Required
964 --        Corresponds to the column lpn_id of the LPN to validate
965 --        This LPN must be the outermost LPN, i.e. cannot have any
966 --        parent LPN (nested)
967 --  Version : Current version 1.0
968 -- End of comments
969 
970 PROCEDURE Break_Down_LPN (
971   p_api_version             IN         NUMBER
972 , p_init_msg_list           IN         VARCHAR2 := fnd_api.g_false
973 , p_commit                  IN         VARCHAR2 := fnd_api.g_false
974 , x_return_status           OUT NOCOPY VARCHAR2
975 , x_msg_count               OUT NOCOPY NUMBER
976 , x_msg_data                OUT NOCOPY VARCHAR2
977 , p_organization_id         IN         NUMBER
978 , p_outermost_lpn_id        IN         NUMBER
979 );
980 
981 -- Start of comments
982 --  API name: Initialize_LPN
983 --  Type    : Public
984 --  Pre-reqs: None.
985 --  Function: Clears LPN of all contents and resets LPN to defined but not used
986 --            (pregenerated) status, clearing subinventory and location information.
987 --            If LPN is nested, all nested lpns will also be initialized
988 --            API will only remove information from
989 --  Parameters:
990 --  IN: p_organization_id  IN NUMBER   Required
991 --        LPN organization id. Part of the unique key
992 --        that uniquely identifies an LPN record.
993 --      p_outermost_lpn_id IN NUMBER   Required
994 --        Corresponds to the column lpn_id of the LPN to Initialize
995 --        This LPN must be the outermost LPN, i.e. cannot have any
996 --        parent LPN (nested)
997 --  Version : Current version 1.0
998 -- End of comments
999 
1000 PROCEDURE Initialize_LPN (
1001   p_api_version             IN         NUMBER
1002 , p_init_msg_list           IN         VARCHAR2 := fnd_api.g_false
1003 , p_commit                  IN         VARCHAR2 := fnd_api.g_false
1004 , x_return_status           OUT NOCOPY VARCHAR2
1005 , x_msg_count               OUT NOCOPY NUMBER
1006 , x_msg_data                OUT NOCOPY VARCHAR2
1007 , p_organization_id         IN         NUMBER
1008 , p_outermost_lpn_id        IN         NUMBER
1009 );
1010 
1011  -- For LPN reuse ER : 6845650
1012 PROCEDURE REUSE_LPNS (
1013                  p_api_version              IN         NUMBER
1014                , p_init_msg_list            IN         VARCHAR2 := fnd_api.g_false
1015                , p_commit                   IN         VARCHAR2 := fnd_api.g_false
1019                , x_msg_data                 OUT NOCOPY VARCHAR2
1016                , p_validation_level         IN         NUMBER   := fnd_api.g_valid_level_full
1017                , x_return_status            OUT NOCOPY VARCHAR2
1018                , x_msg_count                OUT NOCOPY NUMBER
1020                , p_lpn_id                   IN         NUMBER
1021                , p_clear_attributes         IN         VARCHAR2
1022                , p_new_org_id               IN         NUMBER
1023                , p_unpack_inner_lpns        IN         VARCHAR2
1024                , p_clear_containter_item_id IN         VARCHAR2
1025                );
1026 
1027 END WMS_CONTAINER_PUB;