DBA Data[Home] [Help]

PACKAGE: APPS.WMS_REPLENISHMENT_PVT

Source


1 PACKAGE WMS_REPLENISHMENT_PVT AS
2 /* $Header: WMSREPVS.pls 120.6 2008/04/01 01:43:33 satkumar noship $  */
3 
4 TYPE psrTyp IS RECORD (
5        attribute_name   VARCHAR2(30),
6        priority      NUMBER,
7        sort_order     VARCHAR2(4));
8 
9      TYPE psrTabTyp IS TABLE OF psrTyp INDEX BY BINARY_INTEGER;
10 
11 
12 
13      TYPE CONSOL_ITEM_REPL_REC IS RECORD
14           (
15           Organization_id NUMBER,
16           Item_id NUMBER,
17           Repl_To_Subinventory_code VARCHAR2(10),
18           Repl_UOM_code VARCHAR2(3),
19           total_demand_qty NUMBER,
20           available_onhand_qty NUMBER,
21           open_mo_qty NUMBER,
22           final_replenishment_qty NUMBER,
23           date_required DATE
24            );
25       --ajith changed the IS TABLE OF CONSOL_ITEM_REPL_CUR to CONSOL_ITEM_REPL_REC
26      TYPE CONSOL_ITEM_REPL_TBL IS TABLE OF CONSOL_ITEM_REPL_REC INDEX BY BINARY_INTEGER;
27 
28       -- to be used for bulk processing in the code
29       TYPE num_tab IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
30       TYPE uom_tab IS TABLE OF VARCHAR2(3) INDEX BY BINARY_INTEGER;
31       TYPE date_tab IS TABLE OF DATE INDEX BY BINARY_INTEGER;
32       TYPE char_tab IS TABLE OF VARCHAR2(30) INDEX BY BINARY_INTEGER;
33       TYPE char1_tab IS TABLE OF VARCHAR2(1) INDEX BY BINARY_INTEGER;
34 
35     -- The following types are used to cache the UOM conversions.  The three keys to this
36     -- are the inventory item, from UOM code, and to UOM code.  This will yield the conversion
37     -- rate by using a nested PLSQL table structure.
38     TYPE to_uom_code_tb IS TABLE OF NUMBER INDEX BY VARCHAR2(3);
39     TYPE from_uom_code_tb IS TABLE OF to_uom_code_tb INDEX BY VARCHAR2(3);
40     TYPE item_uom_conversion_tb IS TABLE OF from_uom_code_tb INDEX BY BINARY_INTEGER;
41 
42     g_item_uom_conversion_tb      item_uom_conversion_tb;
43 
44     G_TRACE_ON NUMBER  := NVL(fnd_profile.value('INV_DEBUG_TRACE'),2);
45 
46 
47     FUNCTION get_conversion_rate(p_item_id       IN NUMBER,
48                                  p_from_uom_code IN VARCHAR2,
49                                  p_to_uom_code   IN VARCHAR2) RETURN NUMBER;
50 
51 
52     PROCEDURE DYNAMIC_REPLENISHMENT(p_org_id IN NUMBER,
53 				    P_Batch_id                 IN NUMBER,
54 				    p_Plan_Tasks               IN VARCHAR2,
55 				    p_Release_Sequence_Rule_Id IN NUMBER,
56 				    P_repl_level               IN NUMBER DEFAULT 1,
57 				    x_msg_count                OUT NOCOPY NUMBER,
58 				    x_return_status            OUT NOCOPY VARCHAR2,
59 				    x_msg_data                 OUT NOCOPY VARCHAR2);
60 
61   PROCEDURE PUSH_REPLENISHMENT(P_repl_level                IN NUMBER DEFAULT 1,
62                                p_Item_id                   IN NUMBER,
63                                p_organization_id           IN NUMBER,
64                                p_ABC_assignment_group_id   IN NUMBER, -- For ABC Compile Group
65                                p_abc_class_id              IN NUMBER, -- For Item Classification
66                                p_Order_Type_id             IN NUMBER,
67                                p_Carrier_id                IN NUMBER,
68 			       p_customer_class            IN VARCHAR2,
69 			       p_customer_id               IN NUMBER,
70 			       p_Ship_Method_code          IN VARCHAR2,
71                                p_Scheduled_Ship_Date_To    IN NUMBER,
72                                p_Scheduled_Ship_Date_From  IN NUMBER,
73                                p_Forward_Pick_Sub          IN VARCHAR2,
74                                p_repl_UOM                  IN VARCHAR2,
75                                p_Repl_Lot_Size             IN NUMBER,
76                                p_Min_Order_lines_threshold IN NUMBER,
77                                p_Min_repl_qty_threshold    IN NUMBER,
78                                p_max_NUM_items_for_repl    IN NUMBER,
79                                p_Sort_Criteria             IN NUMBER,
80                                p_Auto_Allocate             IN VARCHAR2,
81                                p_Plan_Tasks                IN VARCHAR2,
82                                p_Release_Sequence_Rule_Id  IN NUMBER,
83                                p_Create_Reservation        IN VARCHAR2,
84                                x_return_status             OUT NOCOPY VARCHAR2,
85                                x_msg_count                 OUT NOCOPY NUMBER,
86                                x_msg_data                  OUT NOCOPY VARCHAR2);
87 
88 
89  PROCEDURE PROCESS_REPLENISHMENT(
90 				 p_Repl_level           IN NUMBER,
91 				 p_repl_type            IN NUMBER,
92 				 p_Repl_Lot_Size        IN NUMBER,
93 				 P_consol_item_repl_tbl IN OUT NOCOPY CONSOL_ITEM_REPL_TBL, --ajith changed
94 				 p_Create_Reservation   IN VARCHAR2,
95 				 p_Auto_Allocate        IN VARCHAR2,
96 				 p_Plan_Tasks           IN VARCHAR2,
97 				 x_return_status        OUT NOCOPY VARCHAR2,
98 				 x_msg_count            OUT NOCOPY NUMBER,
99 				 x_msg_data             OUT NOCOPY VARCHAR2);
100 
101 
102 
103 
104  PROCEDURE CREATE_REPL_MOVE_ORDER(p_Repl_level           IN NUMBER,
105 				  p_repl_type            IN NUMBER,
106 				  p_consol_item_repl_tbl IN OUT NOCOPY CONSOL_ITEM_REPL_TBL,
107 				  p_Create_Reservation   IN VARCHAR2,
108 				  p_Repl_Lot_Size        IN NUMBER,
109 				  p_Auto_Allocate        IN VARCHAR2,
110 				  p_Plan_Tasks           IN VARCHAR2,
111 				  x_return_status        OUT NOCOPY VARCHAR2,
112 				  x_msg_count            OUT NOCOPY NUMBER,
113 				  x_msg_data             OUT NOCOPY VARCHAR2);
114 
115  PROCEDURE Get_Source_Sub_Dest_Loc_Info(p_Org_id             IN NUMBER,
116                                        p_Item_id             IN NUMBER,
117                                        p_Picking_Sub         IN VARCHAR2,
118                                        x_source_sub          OUT NOCOPY  VARCHAR2,
119 				       x_src_pick_uom        OUT NOCOPY  VARCHAR2,
120                                        x_MAX_MINMAX_QUANTITY OUT nocopy  NUMBER,
121 				       x_fixed_lot_multiple  OUT nocopy  NUMBER,
122 					x_return_status      OUT nocopy VARCHAR2) ;
123 
124 
125  PROCEDURE GET_OPEN_MO_QTY(p_Repl_level           IN NUMBER,
126 			   p_repl_type            IN NUMBER,
127 			   p_Create_Reservation   IN  VARCHAR2,
128 			   x_consol_item_repl_tbl IN OUT NOCOPY CONSOL_ITEM_REPL_TBL,
129 			   x_return_status        OUT NOCOPY VARCHAR2,
130 			   x_msg_count            OUT NOCOPY NUMBER,
131 			   x_msg_data             OUT NOCOPY VARCHAR2);
132 
133 
134  PROCEDURE GET_AVAILABLE_ONHAND_QTY(p_Repl_level           IN NUMBER,
135 				    p_repl_type            IN NUMBER,
136 				    p_Create_Reservation   IN VARCHAR2,
137 				    x_consol_item_repl_tbl IN OUT NOCOPY CONSOL_ITEM_REPL_TBL,
138 				    x_return_status        OUT NOCOPY VARCHAR2,
139 				    x_msg_count            OUT NOCOPY NUMBER,
140 				    x_msg_data             OUT NOCOPY VARCHAR2);
141 
142  FUNCTION get_available_capacity(p_quantity_function    IN NUMBER,
143                                  p_organization_id      IN NUMBER,
144                                  p_subinventory_code    IN VARCHAR2,
145                                  p_locator_id           IN NUMBER,
146                                  p_inventory_item_id    IN NUMBER,
147                                  p_unit_volume          IN NUMBER,
148                                  p_unit_volume_uom_code IN VARCHAR2,
149                                  p_unit_weight          IN NUMBER,
150                                  p_unit_weight_uom_code IN VARCHAR2,
151                                  p_primary_uom          IN VARCHAR2,
152                                  p_transaction_uom      IN VARCHAR2,
153                                  p_base_uom             IN VARCHAR2,
154                                  p_transaction_quantity IN NUMBER)
155    RETURN NUMBER;
156 
157 
158  PROCEDURE allocate_repl_move_order(
159 				    p_Quantity_function_id IN NUMBER,
160 				    x_return_status             OUT NOCOPY VARCHAR2,
161 				    x_msg_count                 OUT NOCOPY NUMBER,
162 				    x_msg_data                  OUT nocopy VARCHAR2
163 				    );
164 
165 
166  PROCEDURE CREATE_RSV(p_replenishment_type     IN NUMBER, --  1- Stock Up/Push; 2- Dynamic
167                        l_debug                 IN NUMBER,
168                        l_organization_id       IN NUMBER,
169                        l_inventory_item_id     IN NUMBER,
170                        l_demand_type_id        IN NUMBER,
171                        l_demand_so_header_id   IN NUMBER,
172                        l_demand_line_id        IN NUMBER,
173                        l_split_wdd_id          IN NUMBER,
174                        l_primary_uom_code      IN VARCHAR2,
175                        l_supply_uom_code       IN VARCHAR2,
176                        l_atd_qty               IN NUMBER,
177                        l_atd_prim_qty          IN NUMBER,
178                        l_supply_type_id        IN NUMBER,
179                        l_supply_header_id      IN NUMBER,
180                        l_supply_line_id        IN NUMBER,
181                        l_supply_line_detail_id IN NUMBER,
182                        l_supply_expected_time  IN DATE,
183                        l_demand_expected_time  IN DATE,
184                        l_subinventory_code     IN VARCHAR2  DEFAULT NULL,
185                        l_rsv_rec               IN OUT NOCOPY inv_reservation_global.mtl_reservation_rec_type,
186                        l_serial_number         IN OUT NOCOPY inv_reservation_global.serial_number_tbl_type,
187                        l_to_serial_number      IN OUT NOCOPY inv_reservation_global.serial_number_tbl_type,
188                        l_quantity_reserved     IN OUT NOCOPY NUMBER,
189                        l_quantity_reserved2    IN OUT NOCOPY NUMBER,
190                        l_rsv_id                IN OUT NOCOPY NUMBER,
191                        x_return_status         IN OUT NOCOPY VARCHAR2,
192                        x_msg_count             IN OUT NOCOPY NUMBER,
193                        x_msg_data              IN OUT NOCOPY VARCHAR2);
194 
195  PROCEDURE Get_to_Sub_For_Dynamic_Repl(P_Org_id               IN NUMBER,
196                                       P_Item_id              IN NUMBER,
197                                       P_PRIMARY_DEMAND_QTY   IN NUMBER,
198                                       X_TO_SUBINVENTORY_CODE IN OUT NOCOPY VARCHAR2,
199                                       X_REPL_UOM_CODE        OUT NOCOPY VARCHAR2);
200 
201 
202  PROCEDURE POPULATE_DYNAMIC_REPL_DEMAND(p_repl_level               IN NUMBER,
203 					p_org_id                   IN NUMBER,
204 					P_Batch_id                 IN NUMBER,
205                                         p_Release_Sequence_Rule_Id IN NUMBER,
206                                         x_consol_item_repl_tbl     OUT NOCOPY CONSOL_ITEM_REPL_TBL,
207                                         x_return_status            OUT NOCOPY VARCHAR2,
208                                         x_msg_count                OUT NOCOPY NUMBER,
209                                         x_msg_data                 OUT NOCOPY VARCHAR2);
210 
211  PROCEDURE POPULATE_PUSH_REPL_DEMAND(p_repl_level                IN NUMBER,
212 				     p_Item_id                   IN NUMBER,
213                                      p_organization_id           IN NUMBER,
214                                      p_ABC_assignment_group_id   IN NUMBER, -- For ABC Compile Group
215                                      p_abc_class_id              IN NUMBER, -- For Item Classification
216                                      p_Order_Type_id             IN NUMBER,
217                                      p_Carrier_id                IN NUMBER,
218 				     p_customer_class            IN VARCHAR2,
219 				     p_customer_id               IN NUMBER,
220 				     p_Ship_Method_code          IN VARCHAR2,
221                                      p_Scheduled_Ship_Date_To    IN NUMBER,
222                                      p_Scheduled_Ship_Date_From  IN NUMBER,
223                                      p_Forward_Pick_Sub          IN VARCHAR2,
224                                      p_repl_UOM                  IN VARCHAR2,
225                                      p_Release_Sequence_Rule_Id  IN NUMBER,
226                                      p_Min_Order_lines_threshold IN NUMBER,
227                                      p_Min_repl_qty_threshold    IN NUMBER,
228                                      p_max_NUM_items_for_repl    IN NUMBER,
229                                      p_Sort_Criteria             IN NUMBER,
230                                      x_consol_item_repl_tbl      OUT NOCOPY CONSOL_ITEM_REPL_TBL,
231                                      x_return_status             OUT NOCOPY VARCHAR2,
232                                      x_msg_count                 OUT NOCOPY NUMBER,
233                                      x_msg_data                  OUT NOCOPY VARCHAR2);
234 
235   --ajith changed the procedure name from POPULATE_REPL_DEMAND_NEXT_LEVEL to POPULATE_REPL_DEMAND_NEXT_LEV because only 30 chars allowed.
236  /*
237  PROCEDURE POPULATE_REPL_DEMAND_NEXT_LEV(P_replenishment_level  IN NUMBER,
238                                            x_consol_item_repl_tbl OUT NOCOPY CONSOL_ITEM_REPL_TBL,
239                                            x_return_status        OUT NOCOPY VARCHAR2,
240                                            x_msg_count            OUT NOCOPY NUMBER,
241                                            x_msg_data             OUT NOCOPY VARCHAR2);
242  */
243 
244    FUNCTION GET_SORT_TRIP_STOP_DATE(P_delivery_detail_id  IN NUMBER,
245 				    P_TRIP_STOP_DATE_SORT IN VARCHAR2)
246    RETURN NUMBER;
247 
248 
249  FUNCTION GET_SORT_INVOICE_VALUE(P_SOURCE_HEADER_ID IN NUMBER, P_INVOICE_VALUE_SORT VARCHAR2)
250    RETURN NUMBER;
251 
252 
253  FUNCTION  Get_Expected_Time(p_demand_type_id in number,
254 			     p_source_header_id in number,
255                              p_source_line_id          in number,
256                              p_delivery_line_id in number) RETURN DATE;
257 
258 
259  PROCEDURE UPDATE_DELIVERY_DETAIL (
260 				   p_delivery_detail_id       IN NUMBER,
261 				   P_PRIMARY_QUANTITY         IN NUMBER,
262 				   P_SPLIT_DELIVERY_DETAIL_ID IN NUMBER  DEFAULT NULL,
263 				   p_split_source_line_id          IN NUMBER DEFAULT NULL,
264 				   x_return_status            OUT    NOCOPY VARCHAR2
265 				   );
266 
267 
268  PROCEDURE ADJUST_ATR_FOR_ITEM  (p_repl_level  IN NUMBER
269 				 , p_repl_type IN NUMBER
270 				 , x_consol_item_repl_tbl IN OUT NOCOPY CONSOL_ITEM_REPL_TBL
271 				 , x_return_status            OUT    NOCOPY VARCHAR2
272 				 );
273 
274 --Updates the replenishment_status of single passed delivery_detail_id
275 -- If p_repl_status = 'R' marks it RR
276 -- If p_repl_status = 'C' marks it RC
277 -- If p_repl_status = NULL - Reverts WDD to original status (Ready to release / backorder)
278 --
279 PROCEDURE update_wdd_repl_status (p_deliv_detail_id   IN NUMBER
280 				  , p_repl_status     IN VARCHAR2
281 				  , p_deliv_qty       IN NUMBER DEFAULT NULL
282 				  , x_return_status            OUT    NOCOPY VARCHAR2
283 				  );
284 
285 
286 PROCEDURE Init_Rules(p_pick_seq_rule_id     IN NUMBER
290 		     , x_trip_stop_date_sort OUT NOCOPY VARCHAR2
287 		     , x_order_id_sort       OUT NOCOPY VARCHAR2
288 		     , x_INVOICE_VALUE_SORT  OUT NOCOPY VARCHAR2
289 		     , x_SCHEDULE_DATE_SORT  OUT NOCOPY VARCHAR2
291 		     , x_SHIPMENT_PRI_SORT   OUT NOCOPY VARCHAR2
292 		     , x_ordered_psr         OUT nocopy  psrTabTyp
293 		     , x_api_status          OUT NOCOPY VARCHAR2);
294 
295 END WMS_REPLENISHMENT_PVT;