DBA Data[Home] [Help]

PACKAGE: APPS.WSH_SHIPMENT_REQUEST_PKG

Source


1 PACKAGE WSH_SHIPMENT_REQUEST_PKG AUTHID CURRENT_USER AS
2 /* $Header: WSHSRPKS.pls 120.0.12010000.5 2009/12/03 12:08:35 mvudugul noship $ */
3 
4    TYPE Del_Interface_Rec_Type IS RECORD (
5         delivery_interface_id          WSH_NEW_DEL_INTERFACE.delivery_interface_id%TYPE,
6         organization_code              WSH_NEW_DEL_INTERFACE.organization_code%TYPE,
7         organization_id                WSH_NEW_DEL_INTERFACE.organization_id%TYPE,
8         customer_id                    WSH_NEW_DEL_INTERFACE.customer_id%TYPE,
9         customer_name                  WSH_NEW_DEL_INTERFACE.customer_name%TYPE,
10         ship_to_customer_id            WSH_NEW_DEL_INTERFACE.ship_to_customer_id%TYPE,
11         ship_to_customer_name          WSH_NEW_DEL_INTERFACE.ship_to_customer_name%TYPE,
12         ship_to_address_id             WSH_NEW_DEL_INTERFACE.ship_to_address_id%TYPE,
13         ship_to_address1               WSH_NEW_DEL_INTERFACE.ship_to_address1%TYPE,
14         ship_to_address2               WSH_NEW_DEL_INTERFACE.ship_to_address2%TYPE,
15         ship_to_address3               WSH_NEW_DEL_INTERFACE.ship_to_address3%TYPE,
16         ship_to_address4               WSH_NEW_DEL_INTERFACE.ship_to_address4%TYPE,
17         ship_to_city                   WSH_NEW_DEL_INTERFACE.ship_to_city%TYPE,
18         ship_to_state                  WSH_NEW_DEL_INTERFACE.ship_to_state%TYPE,
19         ship_to_country                WSH_NEW_DEL_INTERFACE.ship_to_country%TYPE,
20         ship_to_postal_code            WSH_NEW_DEL_INTERFACE.ship_to_postal_code%TYPE,
21         ship_to_contact_id             WSH_NEW_DEL_INTERFACE.ship_to_contact_id%TYPE,
22         ship_to_contact_name           WSH_NEW_DEL_INTERFACE.ship_to_contact_name%TYPE,
23         ship_to_contact_phone          WSH_NEW_DEL_INTERFACE.ship_to_contact_phone%TYPE,
24         invoice_to_customer_id         WSH_NEW_DEL_INTERFACE.invoice_to_customer_id%TYPE,
25         invoice_to_customer_name       WSH_NEW_DEL_INTERFACE.invoice_to_customer_name%TYPE,
26         invoice_to_address_id          WSH_NEW_DEL_INTERFACE.invoice_to_address_id%TYPE,
27         invoice_to_address1            WSH_NEW_DEL_INTERFACE.invoice_to_address1%TYPE,
28         invoice_to_address2            WSH_NEW_DEL_INTERFACE.invoice_to_address2%TYPE,
29         invoice_to_address3            WSH_NEW_DEL_INTERFACE.invoice_to_address3%TYPE,
30         invoice_to_address4            WSH_NEW_DEL_INTERFACE.invoice_to_address4%TYPE,
31         invoice_to_city                WSH_NEW_DEL_INTERFACE.invoice_to_city%TYPE,
32         invoice_to_state               WSH_NEW_DEL_INTERFACE.invoice_to_state%TYPE,
33         invoice_to_country             WSH_NEW_DEL_INTERFACE.invoice_to_country%TYPE,
34         invoice_to_postal_code         WSH_NEW_DEL_INTERFACE.invoice_to_postal_code%TYPE,
35         invoice_to_contact_id          WSH_NEW_DEL_INTERFACE.invoice_to_contact_id%TYPE,
36         invoice_to_contact_name        WSH_NEW_DEL_INTERFACE.invoice_to_contact_name%TYPE,
37         invoice_to_contact_phone       WSH_NEW_DEL_INTERFACE.invoice_to_contact_phone%TYPE,
38         deliver_to_customer_id         WSH_NEW_DEL_INTERFACE.deliver_to_customer_id%TYPE,
39         deliver_to_customer_name       WSH_NEW_DEL_INTERFACE.deliver_to_customer_name%TYPE,
40         deliver_to_address_id          WSH_NEW_DEL_INTERFACE.deliver_to_address_id%TYPE,
41         deliver_to_address1            WSH_NEW_DEL_INTERFACE.deliver_to_address1%TYPE,
42         deliver_to_address2            WSH_NEW_DEL_INTERFACE.deliver_to_address2%TYPE,
43         deliver_to_address3            WSH_NEW_DEL_INTERFACE.deliver_to_address3%TYPE,
44         deliver_to_address4            WSH_NEW_DEL_INTERFACE.deliver_to_address4%TYPE,
45         deliver_to_city                WSH_NEW_DEL_INTERFACE.deliver_to_city%TYPE,
46         deliver_to_state               WSH_NEW_DEL_INTERFACE.deliver_to_state%TYPE,
47         deliver_to_country             WSH_NEW_DEL_INTERFACE.deliver_to_country%TYPE,
48         deliver_to_postal_code         WSH_NEW_DEL_INTERFACE.deliver_to_postal_code%TYPE,
49         deliver_to_contact_id          WSH_NEW_DEL_INTERFACE.deliver_to_contact_id%TYPE,
50         deliver_to_contact_name        WSH_NEW_DEL_INTERFACE.deliver_to_contact_name%TYPE,
51         deliver_to_contact_phone       WSH_NEW_DEL_INTERFACE.deliver_to_contact_phone%TYPE,
52         transaction_type_id            WSH_NEW_DEL_INTERFACE.transaction_type_id%TYPE,
53         price_list_id                  WSH_NEW_DEL_INTERFACE.price_list_id%TYPE,
54         payment_term_id                NUMBER,
55         currency_code                  WSH_NEW_DEL_INTERFACE.currency_code%TYPE,
56         carrier_code                   WSH_NEW_DEL_INTERFACE.carrier_code%TYPE,
57         carrier_id                     WSH_NEW_DEL_INTERFACE.carrier_id%TYPE,
58         service_level                  WSH_NEW_DEL_INTERFACE.service_level%TYPE,
59         mode_of_transport              WSH_NEW_DEL_INTERFACE.mode_of_transport%TYPE,
60         freight_terms_code             WSH_NEW_DEL_INTERFACE.freight_terms_code%TYPE,
61         fob_code                       WSH_NEW_DEL_INTERFACE.fob_code%TYPE,
62         ship_method_code               VARCHAR2(30),
63         org_id                         NUMBER,
64         document_revision              NUMBER,
65         order_number                   NUMBER,
66         client_code                    VARCHAR2(10) --LSP PROJECT
67         );
68 
69    TYPE Del_Details_Interface_Rec_Type IS RECORD (
70         delivery_detail_interface_id   WSH_DEL_DETAILS_INTERFACE.delivery_detail_interface_id%TYPE,
71         lot_number                     WSH_DEL_DETAILS_INTERFACE.lot_number%TYPE,
72         subinventory                   WSH_DEL_DETAILS_INTERFACE.subinventory%TYPE,
73         revision                       WSH_DEL_DETAILS_INTERFACE.revision%TYPE,
74         locator_id                     WSH_DEL_DETAILS_INTERFACE.locator_id%TYPE,
75         locator_code                   WSH_DEL_DETAILS_INTERFACE.locator_code%TYPE,
76         line_number                    WSH_DEL_DETAILS_INTERFACE.line_number%TYPE,
77         customer_item_number           WSH_DEL_DETAILS_INTERFACE.customer_item_number%TYPE,
78         customer_item_id               WSH_DEL_DETAILS_INTERFACE.customer_item_id%TYPE,
79         item_number                    WSH_DEL_DETAILS_INTERFACE.item_number%TYPE,
80         inventory_item_id              WSH_DEL_DETAILS_INTERFACE.inventory_item_id%TYPE,
81         organization_id                WSH_DEL_DETAILS_INTERFACE.organization_id%TYPE,
82         item_description               WSH_DEL_DETAILS_INTERFACE.item_description%TYPE,
83         requested_quantity             WSH_DEL_DETAILS_INTERFACE.requested_quantity%TYPE,
84         requested_quantity_uom         WSH_DEL_DETAILS_INTERFACE.requested_quantity_uom%TYPE,
85         src_requested_quantity         WSH_DEL_DETAILS_INTERFACE.src_requested_quantity%TYPE,
86         src_requested_quantity_uom     WSH_DEL_DETAILS_INTERFACE.src_requested_quantity_uom%TYPE,
87         currency_code                  WSH_DEL_DETAILS_INTERFACE.currency_code%TYPE,
88         unit_selling_price             WSH_DEL_DETAILS_INTERFACE.unit_selling_price%TYPE,
89         ship_tolerance_above           WSH_DEL_DETAILS_INTERFACE.ship_tolerance_above%TYPE,
90         ship_tolerance_below           WSH_DEL_DETAILS_INTERFACE.ship_tolerance_below%TYPE,
91         date_requested                 WSH_DEL_DETAILS_INTERFACE.date_requested%TYPE,
92         date_scheduled                 WSH_DEL_DETAILS_INTERFACE.date_scheduled%TYPE,
93         earliest_pickup_date           WSH_DEL_DETAILS_INTERFACE.earliest_pickup_date%TYPE,
94         latest_pickup_date             WSH_DEL_DETAILS_INTERFACE.latest_pickup_date%TYPE,
95         earliest_dropoff_date          WSH_DEL_DETAILS_INTERFACE.earliest_dropoff_date%TYPE,
96         latest_dropoff_date            WSH_DEL_DETAILS_INTERFACE.latest_dropoff_date%TYPE,
97         ship_set_name                  WSH_DEL_DETAILS_INTERFACE.ship_set_name%TYPE,
98         packing_instructions           WSH_DEL_DETAILS_INTERFACE.packing_instructions%TYPE,
99         shipping_instructions          WSH_DEL_DETAILS_INTERFACE.shipping_instructions%TYPE,
100         shipment_priority_code         WSH_DEL_DETAILS_INTERFACE.shipment_priority_code%TYPE,
101         source_header_number           WSH_DEL_DETAILS_INTERFACE.source_header_number%TYPE,
102         source_line_number             WSH_DEL_DETAILS_INTERFACE.source_line_number%TYPE,
103         cust_po_number                 WSH_DEL_DETAILS_INTERFACE.cust_po_number%TYPE,
104         line_id                        NUMBER,
105         schedule_date_changed          VARCHAR2(1) := 'N',
106         changed_flag                   VARCHAR2(1) := 'N'
107         );
108    TYPE Del_Details_Interface_Rec_Tab IS TABLE OF Del_Details_Interface_Rec_Type index by binary_integer;
109 
110    TYPE OM_Header_Rec_Type IS RECORD (
111         header_id                       NUMBER,
112         open_flag                       VARCHAR2(1),
113         order_type_id                   NUMBER,
114         org_id                          NUMBER,
115         version_number                  NUMBER,
116         sold_to_org_id                  NUMBER,
117         ship_to_org_id                  NUMBER,
118         invoice_to_org_id               NUMBER,
119         deliver_to_org_id               NUMBER,
120         ship_from_org_id                NUMBER,
121         invoice_to_contact_id           NUMBER,
122         deliver_to_contact_id           NUMBER,
123         ship_to_contact_id              NUMBER,
124         sold_to_contact_id              NUMBER,
125         price_list_id                   NUMBER,
126         payment_term_id                 NUMBER,
127         shipping_method_code            VARCHAR2(30),
128         freight_terms_code              VARCHAR2(30),
129         fob_point_code                  VARCHAR2(30),
130         currency_code                   VARCHAR2(3),
131         ship_to_changed                 BOOLEAN := FALSE,
132         invoice_to_changed              BOOLEAN := FALSE,
133         deliver_to_changed              BOOLEAN := FALSE,
134         invoice_to_contact_changed      BOOLEAN := FALSE,
135         deliver_to_contact_changed      BOOLEAN := FALSE,
136         ship_to_contact_changed         BOOLEAN := FALSE,
137         shipping_method_changed         BOOLEAN := FALSE,
138         freight_terms_changed           BOOLEAN := FALSE,
139         fob_point_changed               BOOLEAN := FALSE,
140         header_attributes_changed       BOOLEAN := FALSE );
141 
142    TYPE OM_Line_Rec_Type IS RECORD (
143         line_id                NUMBER,
144         open_flag              VARCHAR2(1),
145         ordered_quantity       NUMBER,
146         inventory_item_id      NUMBER,
147         ordered_item_id        NUMBER,
148         order_quantity_uom     VARCHAR2(3),
149         ship_tolerance_above   NUMBER,
150         ship_tolerance_below   NUMBER,
151         request_date           DATE,
152         schedule_ship_date     DATE,
153         ship_set_name          VARCHAR2(30),
154         shipping_instructions  VARCHAR2(2000),
155         packing_instructions   VARCHAR2(2000),
156         shipment_priority_code VARCHAR2(30),
157         cust_po_number         VARCHAR2(50),
158         subinventory           VARCHAR2(10),
159         unit_selling_price     NUMBER );
160 
161    TYPE OM_Line_Tbl_Type is table of OM_Line_Rec_Type index by binary_integer;
162 
163 --
164 --=============================================================================
165 -- PUBLIC PROCEDURE :
166 --       Shipment_Request_Inbound
167 --
168 -- PARAMETERS:
169 --       errbuf                 => Message returned to Concurrent Manager
170 --       retcode                => Code (0, 1, 2) returned to Concurrent Manager
171 --       p_transaction_status   => Either AP, ER, NULL
172 --       p_deploy_mode          => Dummy for LSP(Enable or Disable Client)
173 --	 p_client_code          => Client Code  -- Modified R12.1.1 LSP PROJECT
174 --	 p_from_document_number => From Document Number
175 --       p_to_document_number   => To Document Number
176 --       p_from_creation_date   => From Creation Date
177 --       p_to_creation_date     => To Creation Date
178 --       p_transaction_id       => Transacation id to be processed
179 --       p_log_level            => Either 1(Debug), 0(No Debug)
180 -- COMMENT:
181 --       API will be invoked from Concurrent Manager whenever concurrent program
182 --       'Process Shipment Requests' is triggered.
183 --=============================================================================
184 --
185    PROCEDURE Shipment_Request_Inbound (
186              errbuf                 OUT NOCOPY   VARCHAR2,
187              retcode                OUT NOCOPY   NUMBER,
188              p_transaction_status   IN  VARCHAR2,
189              p_deploy_mode          IN  VARCHAR2,  -- Modified R12.1.1 LSP PROJECT
190              p_client_code          IN  VARCHAR2,  -- Modified R12.1.1 LSP PROJECT
191              p_from_document_number IN  NUMBER,
192              p_to_document_number   IN  NUMBER,
193              p_from_creation_date   IN  VARCHAR2,
194              p_to_creation_date     IN  VARCHAR2,
195              p_transaction_id       IN  NUMBER,
196              p_log_level            IN  NUMBER );
197 
198 
199 --=============================================================================
200 -- PUBLIC PROCEDURE :
201 --       Process_Shipment_Request
202 --
203 -- PARAMETERS:
204 --       p_commit_flag          => Either FND_API.G_TRUE, FND_API.G_FALSE
205 --       p_transaction_status   => Either AP, ER, NULL
206 --	 p_client_code          => Client Code  -- Modified R12.1.1 LSP PROJECT
207 --	 p_from_document_number => From Document Number
208 --       p_to_document_number   => To Document Number
209 --       p_from_creation_date   => From Creation Date
210 --       p_to_creation_date     => To Creation Date
211 --       p_transaction_id       => Transacation id to be processed
212 --       x_return_status        => Return Status of API (S,W,E,U)
213 -- COMMENT:
214 --       Based on input parameter values, eligble records for processing are
215 --       queried from WTH table. Calling Workflow API WF_ENGINE.handleError to
216 --       process further, if WTH row queried is triggered from Workflow.
217 --       Calling Overloaded API Process_Shipment_Request, if WTH row queried is
218 --       NOT triggered from Workflow.
219 --=============================================================================
220 --
221    PROCEDURE Process_Shipment_Request (
222              p_commit_flag          IN  VARCHAR2,
223              p_transaction_status   IN  VARCHAR2,
224              p_client_code          IN  VARCHAR2,  -- Modified R12.1.1 LSP PROJECT
225              p_from_document_number IN  NUMBER,
226              p_to_document_number   IN  NUMBER,
227              p_from_creation_date   IN  VARCHAR2,
228              p_to_creation_date     IN  VARCHAR2,
229              p_transaction_id       IN  NUMBER,
230              x_return_status        OUT NOCOPY VARCHAR2 );
231 --
232 --=============================================================================
233 -- PUBLIC PROCEDURE :
234 --       Overloaded Process_Shipment_Request
235 --
236 -- PARAMETERS:
237 --       p_transaction_rec => Transaction History Record
238 --       p_commit_flag     => Either FND_API.G_TRUE, FND_API.G_FALSE
239 --       x_return_status   => Return Status of API (Either S,E,U)
240 -- COMMENT:
241 --       Calls APIs to validate data from Interface tables WNDI(Order Header)
242 --       and WDDI(Order Lines). Calls OM Process Order Group API
243 --       OE_ORDER_GRP.Process_Order to Create/Update/Cancel Sales Order.
244 --       Attributes related to shipping are validated, If PO group api returns
245 --       success.
246 --       If PO group api returns error then corresponding error messages are
247 --       logged in Wsh_Interface_Errors table.
248 --=============================================================================
249 --
250    PROCEDURE Process_Shipment_Request (
251              p_transaction_rec      IN  WSH_TRANSACTIONS_HISTORY_PKG.Txns_History_Record_Type,
252              p_commit_flag          IN  VARCHAR2,
253              x_return_status        OUT NOCOPY VARCHAR2 );
254 --
255 --=============================================================================
256 -- PUBLIC PROCEDURE :
257 --       Get_Standalone_Defaults
258 --
259 -- PARAMETERS:
260 --       p_delivery_interface_id  => Delivery Interface Id
261 --       x_delivery_interface_rec => Delivery Interface Record
262 --       x_return_status          => Return Status of API (S,E,U)
263 -- COMMENT:
264 --       Queries WNDI details, validates organization and derives
265 --       operating unit for organization.
266 --=============================================================================
267 --
268    PROCEDURE Get_Standalone_Defaults (
269              p_delivery_interface_id  IN         NUMBER,
270              x_delivery_interface_rec OUT NOCOPY Del_Interface_Rec_Type,
271              x_return_status          OUT NOCOPY VARCHAR2 );
272 --
273 --=============================================================================
274 -- PUBLIC PROCEDURE :
275 --       Check_Header_Exists
276 --
277 -- PARAMETERS:
278 --       p_order_number       => Order Number
279 --       p_order_type_id      => Order Type
280 --       x_om_header_rec_type => Standalone related order header attributes record
281 --       x_return_status      => Return Status of API (Either S,U)
282 -- COMMENT:
283 --       Queries standalone related order header attributes from table
284 --       Oe_Order_Headers_All based on Order Number and Order Type passed.
285 --=============================================================================
286 --
287    PROCEDURE Check_Header_Exists (
288              p_order_number       IN         NUMBER,
289              p_order_type_id      IN         NUMBER,
290              x_OM_Header_Rec_Type OUT NOCOPY OM_Header_Rec_Type,
291              x_return_status      OUT NOCOPY VARCHAR2 );
292 --
293 --=============================================================================
294 -- PUBLIC PROCEDURE :
295 --       Check_Line_Exists
296 --
297 -- PARAMETERS:
298 --       p_header_id        => Order Header Id
299 --       p_line_number      => Order Line Number
300 --       x_om_line_rec_type => Standalone related order line attributes record
301 --       x_return_status    => Return Status of API (Either S,U)
302 -- COMMENT:
303 --       Queries standalone related order lines attributes from table
304 --       Oe_Order_Lines_All based on Header Id and Line Number passed.
305 --=============================================================================
306 --
307    PROCEDURE Check_Line_Exists (
308              p_header_id        IN         NUMBER,
309              p_line_number      IN         NUMBER,
310              x_OM_Line_Rec_Type OUT NOCOPY OM_Line_Rec_Type,
311              x_return_status    OUT NOCOPY VARCHAR2 );
312 --
313 --=============================================================================
314 -- PUBLIC PROCEDURE :
315 --       Lock_SR_Lines
316 --
317 -- PARAMETERS:
318 --       p_header_id             => Order Header Id
319 --       p_delivery_interface_id => Delivery Interface Id
320 --       p_interface_records     => Either Y or N
321 --       x_return_status         => Return Status of API (Either S,E,U)
322 -- COMMENT:
323 --       API to Lock records from OEH, OEL and WDD table.
324 --       Based on p_interface_records value,
325 --       Y : Lock records from OEL, WDD corresponding to records from WDDI
326 --           Interface Table
327 --       N : Lock records from OEL, WDD for lines which are not populated in
328 --           WDDI Interface Table
329 --=============================================================================
330 --
331    PROCEDURE Lock_SR_Lines (
332              p_header_id             IN NUMBER,
333              p_delivery_interface_id IN NUMBER,
334              p_interface_records     IN VARCHAR2,
335              x_return_status         OUT NOCOPY VARCHAR2 );
336 --
337 --=============================================================================
338 -- PUBLIC PROCEDURE :
339 --       Validate_Delivery_Line
340 --
341 -- PARAMETERS:
342 --       p_changed_attributes => Changed Attributes passed from OM
343 --       x_return_status      => Return Status of API (Either S,E,U)
344 -- COMMENT:
345 --       Only Requested Quantity can be updated during Shipment Request process
346 --       for Shipment lines if any delivery line is in a confirmed delivery or
347 --       has been shipped.
348 --=============================================================================
349 --
350    PROCEDURE Validate_Delivery_Line (
351              p_changed_attributes IN  WSH_INTERFACE.ChangedAttributeTabType,
352              x_return_status      OUT NOCOPY VARCHAR2 );
353 --
354 --=============================================================================
355 -- PUBLIC PROCEDURE :
356 --       Check_Header_Attr_Changed
357 --
358 -- PARAMETERS:
359 --       p_del_interface_rec => Delivery Interface Record
360 --       p_om_header_rec     => Standalone related order header attributes record
361 --       x_return_status     => Return Status of API (Either S,E,U)
362 --
363 -- COMMENT:
364 --       API to check if following order header attributes are being changed
365 --       1) ShipTo Customer, Address, Contact
366 --       2) InvoiceTo Customer, Address, Contact
367 --       3) DeliverTo Customer, Address, Contact
368 --       4) Ship Method Code
369 --       5) Freight Terms
370 --       6) FOB Code
371 --=============================================================================
372 --
373    PROCEDURE Check_Header_Attr_Changed(
374              p_del_interface_rec IN OUT NOCOPY Del_Interface_Rec_Type,
375              p_om_header_rec     IN OUT NOCOPY OM_Header_Rec_Type,
376              x_return_status     OUT NOCOPY VARCHAR2 );
377 --
378 --=============================================================================
379 -- PUBLIC PROCEDURE :
380 --       Populate_Header_Rec
381 --
382 -- PARAMETERS:
383 --       p_action_type       => Either D(Cancel),A(Add),C(Change or Update)
384 --       p_om_header_rec     => Standalone related order header attributes record
385 --       p_del_interface_rec => Delivery Interface Record
386 --       x_header_rec        => Order Header Record
387 --       x_return_status     => Return Status of API (Either S,E,U)
388 --
389 -- COMMENT:
390 --       API to populate Order Header attributes.
391 --       If order header already exists only the operation related attributes
392 --       are populated.
393 --=============================================================================
394 --
395    PROCEDURE Populate_Header_Rec(
396              p_action_type           IN VARCHAR2,
397              p_om_header_rec         IN OM_Header_Rec_Type,
398              p_del_interface_rec     IN Del_Interface_Rec_Type,
399              x_header_rec            OUT NOCOPY OE_ORDER_PUB.Header_Rec_Type,
400              x_return_status         OUT NOCOPY VARCHAR2 );
401 --
402 --=============================================================================
403 -- PUBLIC PROCEDURE :
404 --       Derive_Header_Rec
405 --
406 -- PARAMETERS:
407 --       p_om_header_rec     => Standalone related order header attributes record
408 --       x_del_interface_rec => Delivery Interface Record
409 --       x_return_status     => Return Status of API (Either S,E,U)
410 --
411 -- COMMENT:
412 --       API to derive/validate standalone related order header attributes
413 --       populated in Wsh_New_Del_Interface table.
414 --=============================================================================
415 --
416    PROCEDURE Derive_Header_Rec(
417              p_om_header_rec         IN OUT NOCOPY OM_Header_Rec_Type,
418              x_del_interface_rec     IN OUT NOCOPY Del_Interface_Rec_Type,
419              x_return_status         OUT NOCOPY VARCHAR2 );
420 --
421 --=============================================================================
422 -- PUBLIC PROCEDURE :
423 --       Derive_Line_Rec
424 --
425 -- PARAMETERS:
426 --       p_header_id                 => Header Id
427 --       p_del_interface_rec         => Delivery Interface Record
428 --       x_om_line_tbl_type          => Table of standalone related order line attributes
429 --       x_details_interface_rec_tab => Table of Delivery Detail Interface Record
430 --       x_interface_error_tab       => Table of Interface error records
431 --       x_return_status             => Return Status of API (Either S,E,U)
432 --
433 -- COMMENT:
434 --       API to derive/validate standalone related order line attributes
435 --       populated in Wsh_Del_Details_Interface table.
436 --=============================================================================
437 --
438    PROCEDURE Derive_Line_Rec(
439              p_header_id                 IN NUMBER,
440              p_del_interface_rec         IN OUT NOCOPY Del_Interface_Rec_Type,
441              x_om_line_tbl_type          OUT NOCOPY OM_Line_Tbl_Type,
442              x_details_interface_rec_tab OUT NOCOPY Del_Details_Interface_Rec_Tab,
443              x_interface_error_tab       OUT NOCOPY WSH_INTERFACE_VALIDATIONS_PKG.interface_errors_rec_tab,
444              x_return_status             OUT NOCOPY VARCHAR2 );
445 --
446 --=============================================================================
447 -- PUBLIC PROCEDURE :
448 --       Populate_Line_Records
449 --
450 -- PARAMETERS:
451 --       p_om_line_tbl_type          => Table of standalone related order line attributes
452 --       p_details_interface_rec_tab => Table of Delivery Detail Interface Record
453 --       p_om_header_rec_type        => Standalone Order Header attributes
454 --       p_delivery_interface_rec    => Delivery Interface Record
455 --       x_line_tbl                  => Table of Order Line attributes
456 --       x_line_details_tbl          => Table of Delivery Detail Interface Id
457 --       x_return_status             => Return Status of API (Either S,E,U)
458 --
459 -- COMMENT:
460 --       API to populate Order Line attributes.
461 --       If order line already exists only the changed attributes are populated.
462 --=============================================================================
463 --
464    PROCEDURE Populate_Line_Records(
465              p_om_line_tbl_type          IN OM_Line_Tbl_Type,
466              p_details_interface_rec_tab IN Del_Details_Interface_Rec_Tab,
467              p_om_header_rec_type        IN OM_Header_Rec_Type,
468              p_delivery_interface_rec    IN Del_Interface_Rec_Type,
469              x_line_tbl                  OUT NOCOPY OE_ORDER_PUB.Line_Tbl_Type,
470              x_line_details_tbl          OUT NOCOPY WSH_UTIl_CORE.Id_Tab_Type,
471              x_return_status             OUT NOCOPY VARCHAR2 );
472 --
473 --=============================================================================
474 -- PUBLIC PROCEDURE :
475 --       Validate_Organization
476 --
477 -- PARAMETERS:
478 --       p_org_code        => Organization Code
479 --       p_organization_id => Organization Id
480 --       x_return_status   => Return Status of API (Either S,E,U)
481 --
482 -- COMMENT:
483 --       API to validate organization id/code passed. Organization should
484 --       be WMS enabled and NOT Process manufacturing enabled.
485 --=============================================================================
486 --
487    PROCEDURE Validate_Organization(
488              p_org_code          IN VARCHAR2,
489              p_organization_id   IN OUT NOCOPY NUMBER,
490              x_return_status     OUT NOCOPY VARCHAR2 );
491 --
492 --=============================================================================
493 -- PUBLIC PROCEDURE :
494 --       Validate_Ship_Method
495 --
496 -- PARAMETERS:
497 --       p_carrier_code      => Freight Code
498 --       p_organization_id   => Organization id
499 --       p_service_level     => Service Level
500 --       p_mode_of_transport => Mode of Transport
501 --       x_ship_method_code  => Ship Method Code derived
502 --       x_return_status     => Return Status of API (Either S,E,U)
503 --
504 -- COMMENT:
505 --       API to validate lookups Service Level and Mode of Transaport. Derives
506 --       Ship Method code based on Carrier Id, Service Level, Mode of transport
507 --       and Organization passed.
508 --=============================================================================
509 --
510    PROCEDURE Validate_Ship_Method(
511              p_carrier_code      IN  VARCHAR2,
512              p_organization_id   IN  NUMBER,
513              p_service_level     IN  VARCHAR2,
514              p_mode_of_transport IN  VARCHAR2,
515              x_ship_method_code  OUT NOCOPY VARCHAR2,
516              x_return_status     OUT NOCOPY VARCHAR2 );
517 --
518 --=============================================================================
519 -- PUBLIC PROCEDURE :
520 --       Validate_Interface_Details
521 --
522 -- PARAMETERS:
523 --       p_details_interface_tab    => Table of Delivery Detail Interface record
524 --       x_interface_errors_rec_tab => Table of Interface Error records
525 --       x_return_status            => Return Status of API (Either S,E,U)
526 --
527 -- COMMENT:
528 --       API to validate Inventory attributes like revision, locator.
529 --       Inventory attributes cannot be changed if delivery line corresponding
530 --       to shipment line is picked or in a confirmed delivery or has been shipped.
531 --       Schedule dates cannot be changed if delivery line corresponding to
532 --       shipment line is in a confirmed delivery or has been shipped.
533 --=============================================================================
534 --
535    PROCEDURE Validate_Interface_Details(
536              p_details_interface_tab IN OUT NOCOPY Del_Details_Interface_Rec_Tab,
537              x_interface_error_tab   OUT NOCOPY WSH_INTERFACE_VALIDATIONS_PKG.interface_errors_rec_tab,
538              x_return_status         OUT NOCOPY VARCHAR2 );
539 
540 END WSH_SHIPMENT_REQUEST_PKG;