1. Order Management Overview 1.1. Enter Orders 1.1.1. Enter Header information Enter header level information like Customer name, Customer PO, Ship To, Bill To location, Price list, Sales rep and currency for the Order. Fig1.1 Order Entry Screen These field values can be set up to default from a variety of sources such as the Order Type, Customer or Customer address record. Defaulting rules can be set up to achieve this. All defaults can be overridden unless the business unit defines constraints preventing update. Enter Other Header information like sales channel, warehouse, payment term, ship method, Line set ( ship or Arrival), FOB, shipping and packing instructions, Tax exempt number and reason etc.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
1. Order Management Overview
1.1. Enter Orders
1.1.1. Enter Header information
Enter header level information like Customer name, Customer PO, Ship To, Bill To location, Price list, Sales rep and currency for the Order.
Fig1.1 Order Entry ScreenThese field values can be set up to default from a variety of sources such as the Order Type, Customer or Customer address record. Defaulting rules can be set up to achieve this. All defaults can be overridden unless the business unit defines constraints preventing update. Enter Other Header information like sales channel, warehouse, payment term, ship method, Line set ( ship or Arrival), FOB, shipping and packing instructions, Tax exempt number and reason etc.
1.1.2. Order Actions
Fig 1.2 Additional Order InformationOther functions are available through the Actions button. The Actions include functions such as Additional order information, Copy, Cancel, Apply and Release Holds, Price Order, etc.
1.1.3. Enter Line information
Enter the line information like Item, Quantity, Request Date, Schedule Ship Date etc. Other line info like Line Type, Cancelled Qty, Shipped Qty, Sales Rep, Order Source, Tax code etc. get defaulted based on defaulting rules.
1.1.4. Line Shipping information
Shipping tab shows info like warehouse, Receiving Org (for Drop ship orders), Schedule Ship date, schedule arrival date, Source type (External for Drop ship orders and Internal otherwise), Ship set, Arrival set, Shiping method, shipment priority, Freight terms, Shipping and Packing Instructions etc.
1.1.5. Line Pricing information
Pricing tab shows info like Unit Selling Price, Extended Price, Price List, List Price, Line Charges, Tax Amount, Payment terms, Pricing Agreement etc. In view price adjustments we will see the adjustments and charges applied on the list price, after applying all these the unit selling price is derived.
Query to find out the customer, line item, ordered qty and price info of the order :
Query to find customer, ship to and bill to information of an order :
set pages 500set lines 500set buffer 500col order_type form a16col customer_name form a30col segment1 form a16col sales_rep form a30select h.order_number, org.name customer_name, h.ordered_date order_date, ot.name order_type, s.name sales_rep, l.line_id, l.line_number, l.inventory_item_id, si.segment1, l.ordered_quantity, l.unit_selling_price, nvl(l.ordered_quantity,0) * nvl(l.unit_selling_price,0) amount, h.transactional_curr_code currency_codefrom ra_salesreps s, oe_transaction_types_tl ot, oe_sold_to_orgs_v org, mtl_system_items_vl si, oe_order_lines_all l, oe_order_headers_all h where h.order_number= 14463 and h.org_id = 204 and l.header_id = h.header_id and h.sold_to_org_id = org.organization_id and (h.cancelled_flag is null or h.cancelled_flag = 'N') and h.open_flag='Y' and l.open_flag = 'Y' and l.service_reference_line_id is null and l.inventory_item_id = si.inventory_item_id and nvl(si.organization_id,0) = 204 --Item master orgn and h.order_type_id = ot.transaction_type_id and h.salesrep_id=s.salesrep_id and h.org_id=s.org_id
col ship_address1 form a40col ship_address2 form a20col bill_address1 form a40col bill_address2 form a20col ship_country form a10col bill_country form a10col ship_location_code form a30col ship_state form a10col ship_zip form a10col bill_location_code form a30col customer_name form a30col freight_terms form a24col FOB form a16
select h.order_number, c.name customer_name, lk1.meaning Freight_Terms, lk2.meaning FOB, s.location_code ship_location_code, s.address_line_1 ship_address1, s.address_line_2 ship_address2, s.state ship_state, s.postal_code ship_zip, s.country ship_country, b.location_code bill_location_code, b.address_line_1 bill_address1, b.address_line_2 bill_address2, b.country bill_countryfrom ar_lookups lk2, oe_lookups lk1, oe_sold_to_orgs_v c, oe_invoice_to_orgs_v b, oe_ship_to_orgs_v s, oe_order_headers_all h where h.order_number= 14463 and h.org_id = 204 and h.ship_to_org_id = s.organization_id and h.invoice_to_org_id = b.organization_id and h.sold_to_org_id = c.organization_id and h.freight_terms_code = lk1.lookup_code(+)
order by l.line_id/a: Oe_sold_to_orgs_v is a view based on hz_parties and hz_cust_accounts.b: Ra_salesreps is a view based on JTF_RS_SALESREPS and JTF_RS_RESOURCE_EXTNS_VL.
You must set the org context for the views to function properly as..begin fnd_client_info.set_org_context('204');end;
and lk1.lookup_type(+) = 'FREIGHT_TERMS' and lk2.lookup_code(+) = h.fob_point_code and lk2.lookup_type(+) = 'FOB' /a: The oe_ship_to_orgs_v and oe_invoice_to_orgs_v views are based on HZ_CUST_SITE_USES_ALL, HZ_CUST_ACCT_SITES_ALL, HZ_PARTY_SITES and HZ_LOCATIONS.b: Oe_lookups and ar_lookups are views based on fnd_lookup_values.
Query to find out order and line hold information :
col ordered_item form a32col hold_name form a24col hold_comment form a32select ho.name hold_name, hs.hold_until_date, hs.hold_comment, h.order_number, oh.header_id, oh.line_id, oh.order_hold_id, l.item_identifier_type, l.inventory_item_id, l.ordered_itemfrom oe_order_holds_all oh, oe_order_lines_all l, oe_order_headers_all h, oe_hold_definitions ho, oe_hold_sources_all hs where h.order_number= 14463
and oh.header_id = h.header_id and (h.cancelled_flag is null or h.cancelled_flag = 'N') and h.open_flag='Y' and oh.hold_source_id = hs.hold_source_id and hs.hold_id = ho.hold_id and h.header_id = l.header_id(+) and l.open_flag = 'Y' and l.line_id = nvl(oh.line_id,l.line_id) and l.service_reference_line_id is null and oh.hold_release_id is null and nvl(h.org_id,0) = 204 and nvl(l.org_id,0) = nvl(h.org_id,0)order by ho.name,h.order_number/
WSH_CARRIERS_VCARRIER_IDFREIGHT_CODE CURRENCY_CODE CARRIER_NAME ACTIVE SCAC_CODE MANIFESTING_ENABLED_FLAG
Query to find freight related info of order viz: freight carrier, ship method and service level :
col shipping_method_code form a32col carrier_name form a24
select h.order_number, h.shipping_method_code, wc.carrier_name, wcsm.SERVICE_LEVEL , wcsm.freight_codefrom wsh_carrier_ship_methods_v wcsm, wsh_carriers_v wc, oe_order_headers_all h where h.order_number= 14463 and h.org_id = 204 and h.shipping_method_code = wcsm.ship_method_code(+)
and nvl(wcsm.organization_id(+),0) = 204 --Master Organization and wcsm.freight_code = wc.freight_code(+)order by h.order_number
1.2. View Order Charges & Adjustments
1.2.1. View List Price Adjustments
Fig1.1 Order Entry ScreenThe list price is derived from the price list and the selling price is calculated taking into account other adjustments and charges info.Go to line price adjustments thru’ the actions LOV. The modifier details like rate of adjustment, adjusted amount and extended price will appear.
1.2.2. View Adjustment Atributes
Click on adjustment attributes to find the Pricing and Qualifier attributes and their values, which were satisfied for the previously mentioned modifier to be applied on this Order line.
1.2.3. View Charges
The charges and freight costs can be defined in Adv Pricing and automatically applied to the Order line based on business rules.Click on actions button and choose charges from the LOV. For a charge click on attributes button to view the pricing and qualifier attributes.
QP_LIST_HEADERS_VLLIST_HEADER_ID NAME DESCRIPTION AUTOMATIC_FLAG LIST_TYPE_CODE TERMS_ID ROUNDING_FACTOR PRORATE_FLAG SOURCE_SYSTEM_CODE ASK_FOR_FLAG
Query to find price discounts and surcharges on order lines :
Query to find freight charges on order lines :
col list_line_type_code form a12col arithmetic_operator form a12
Select h.order_number, l.line_number, pa.list_line_type_code, pa.arithmetic_operator, pa.operand, DECODE(PA.MODIFIER_LEVEL_CODE,'ORDER', L.UNIT_LIST_PRICE*L.ORDERED_QUANTITY *PA.OPERAND * SIGN(PA.ADJUSTED_AMOUNT)/100, (PA.ADJUSTED_AMOUNT* NVL(L.ORDERED_QUANTITY,0) )) DISCOUNT_AMTFrom qp_list_headers_vl lh, oe_price_adjustments pa, oe_order_lines_all l, oe_order_headers_all hWhere h.order_number = 14463 and h.header_id = l.header_id and h.org_id = l.org_id and h.header_id = pa.header_id and l.line_id = pa.line_id(+) and pa.list_header_id = lh.list_header_id AND ( PA.LIST_LINE_TYPE_CODE = 'DIS' OR PA.LIST_LINE_TYPE_CODE = 'SUR' OR PA.LIST_LINE_TYPE_CODE = 'PBH' ) AND PA.APPLIED_FLAG='Y'
col charge_name form a24col source_system_code form a12
select HEADER_ID , LINE_ID , CHARGE_ID , CHARGE_NAME , CHARGE_AMOUNT , CURRENCY_CODE , INVOICED_FLAG , INTERCO_INVOICED_FLAG , ORG_ID , SOURCE_SYSTEM_CODE , ESTIMATED_FLAG , INVOICED_AMOUNTfrom OE_CHARGE_LINES_Vwhere header_id= (select header_id from oe_order_headers_all where order_number=14463)order by line_id/a: The OE_CHARGE_LINES_V view is based on oe_price_adjustments, oe_
AND NOT EXISTS (SELECT 'X' FROM OE_PRICE_ADJ_ASSOCS PAS, OE_PRICE_ADJUSTMENTS PA1 WHERE PAS.RLTD_PRICE_ADJ_ID = PA.PRICE_ADJUSTMENT_ID AND PA1.PRICE_ADJUSTMENT_ID= PAS.PRICE_ADJUSTMENT_ID AND PA1.LIST_LINE_TYPE_CODE ='PBH')Order by l.line_id/a: Qp_list_headers_vl is view based on qp_list_headers_b and qp_list_headers_tl tables.
1.3. View Tax
1.3.1. View Line Tax
The tax amount appears while entering the order. The tax method, rate or amount of tax is decided by the Receivables system options.
Oracle Receivables system option determines tax method.. i• Sales Tax ii• Value Added Tax (VAT). For value added tax, taxes are based on tax rates assigned to user- defined codes. For Sales tax location based tax is used as maintained below..
Here tax rates are maintained at state and zip code level. Usually third party softwares like Taxware keeps updating the tax rates time to time.
Tax calculation in OM can occur at Entry, Booking or Invoicing which can only be controlled at the order level. In "Tax event", you specify when to calculate the tax . The default value for Tax Calculation Event Code is null which is same as Entry. The Receivables Transaction Type associated here decides whether the order is taxable.
The tax calculation flag associated with the previous Receivables Transaction Type will determine if tax is required on an order.
Table ar_sales_tax contains location wise total tax- rates with tax break up ..select distinct location_id, rate_context, tax_rate, location1_rate, location2_rate, location3_rate, from_postal_code, to_postal_codefrom ar_sales_taxwhere location_id=1000and enabled_flag='Y'/
1.4. Order Management APIs
1.4.1. Create Order API
Creating a new order with 2 lines and 1 line adjustment and the adjustment belongs to the second line.
Declarel_header_rec := OE_ORDER_PUB.G_MISS_HEADER_REC; -- Required attributes (e.g. Order Type and Customer)l_header_rec.order_type_id := 1000;l_header_rec.sold_to_org_id := 100;l_header_rec.price_list_id := 10;l_header_rec.freight_term_code = NULL;l_header_rec.operation := OE_GLOBALS.G_OPR_CREATE;-- FIRST LINE RECORD. Initialize record to missingl_line_tbl(1) := OE_ORDER_PUB.G_MISS_LINE_REC;l_line_tbl(1).inventory_item_id := 311;l_line_tbl(1).ordered_quantity := 1;
l_line_tbl(1).operation := OE_GLOBALS.G_OPR_CREATE;-- SECOND LINE RECORDl_line_tbl(2) := OE_ORDER_PUB.G_MISS_LINE_REC;l_line_tbl(2)inventory_item_id := 312;l_line_tbl(2).ordered_quantity := 2;l_line_tbl(2).operation := OE_GLOBALS.G_OPR_CREATE;-- LINE ADJUSTMENT RECORDl_line_adj_tbl(1) := OE_ORDER_PUB.G_MISS_LINE_ADJ_REC;l_line_adj_tbl(1).discount_id := 1;l_line_adj_tbl(1).percent := 5;l_line_adj_tbl(1).operation := OE_GLOBALS.G_OPR_CREATE;-- Indicator that this adjustment belongs to the second linel_line_adj_tbl(1).line_index := 2;
-- CALL TO PROCESS ORDEROE_Order_PUB.Process_Order(p_header_rec => l_header_recp_line_tbl=> l_line_tblp_line_adj_tbl=> l_line_adj_tbl-- OUT variablesx_header_rec=> l_header_recx_header_scredit_tbl=> l_header_scr_tblx_header_adj_tbl=> l_header_adj_tblx_line_tbl=> l_line_tblx_line_scredit_tbl=> l_line_scredit_tblx_line_adj_tbl=> l_line_adj_tbl................x_return_status=> l_return_statusx_msg_count=> l_msg_countx_msg_data=> l_msg_data);if l_msg_count > 0 thenfor l_index in 1..l_msg_count loopl_msg_data := oe_msg_pub.get(p_msg_index => l_index, p_encoded => ‘F’);end loop;end if;-- Check the return statusif x_return_status = FND_API.G_RET_STS_SUCCESS then success;Else failure;end if;End;
1.4.2. Create New Line
Inserting a new line into an existing order.
-- NEW LINE RECORDl_line_tbl(1) := OE_ORDER_PUB.G_MISS_LINE_REC;l_line_tbl(1).header_id := 1000;l_line_tbl(1).inventory_item_id := 311;l_line_tbl(1).ordered_quantity := 1;l_line_tbl(1).operation := OE_GLOBALS.G_OPR_CREATE;
Updating the bill to organization and order quantity on an order line.
-- LINE RECORD WITH THE CHANGESl_line_tbl(1) := OE_ORDER_PUB.G_MISS_LINE_REC.l_line_tbl(1).invoice_to_org_id := 322;l_line_tbl(1).ordered_quantity := 2;l_line_tbl(1).line_id := 1000;l_line_tbl(1).operation := OE_GLOBALS.G_OPR_UPDATE;
Apply a hold to an order line due to a defective item.
-- ACTION REQUEST RECORDl_request_rec.entity := OE_GLOBALS.G_ENTITY_LINE; -- Indicates that it is a line level actionl_request_rec.entity_id := 100; -- Line Idl_request_rec.request_name := OE_GLOBALS.G_APPLY_HOLD;l_request_rec.param1 := 4; --Hold ID to identify the type of hold applied. (HOLD_ID from OE_HOLD_DEFINITIONS)l_request_rec.param2 = ‘I’; -- indicator that it is an item hold l_request_rec.param3 := 3214; -- Inv_item_Id of the item since it is an Item holdl_action_request_tbl := l_request_rec;
Apply Hold action record fields and their valid values.
request_typeentity_codeentity_idparam1param2
OE_GLOBALS.G_APPLY_HOLDOE_GLOBALS.G_ENTITY_ORDER for order or OE_ID of the order or line to be heldHold ID to identify the type of hold that should be applied. (HOLD_ID from OE_HOLD_DEFINITIONS)Hold entity code for the hold source to be createdviz:
param3
param4 date_param1 parm6-param20
C: Customer hold sourceS: Bill To or Ship To hold sourceI: Item hold sourceO: Order hold sourceW: Warehouse Hold SourceHold entity ID viz:C, B, or S: for Org IDO: Header IDI: Inventory Item IDHold commentHold Until DateAttribute1-15 of the descriptive flexfield associatedwith the hold source record.
1.4.6. Other APIs
Other OM APIs available are Release Hold, Book Order and for ATO models Delink Config and Match & Reserve APIs are available.
1.5. Order Scheduling
Scheduling determines the source (warehouse) for an order line. If the warehouse is already entered on the line, the scheduling action uses the requested warehouse to determine the scheduled ship date, scheduled arrival date etc. If the warehouse is blank, the scheduling action determines the best warehouse based on the sourcing rules.
Scheduling determines the schedule ship date, the schedule arrival date, the delivery lead time and the shipping method. It makes the line visible to the planning applications and consumes supply for the item. When a line is successfully scheduled the VISIBLE_DEMAND_FLAG is set to Yes. If the reservation time fence is set and the schedule ship date is within the reservation time fence, automatically reserves the line.
1.5.2.1. Autoschedule
The sales order line is scheduled when it is saved, if either the Autoschedule check box on the order transaction type is checked or the OM: Autoschedule profile option is Yes. You can turn Autoschedule on or off from the sales order window by going to the Tools menu. Note that if autoschedule is turned on the availability window is automatically displayed when the sales
order window is opened. You can close the availability window, but the lines will still be autoscheduled unless the autoschedule check box on the tools menu is unchecked.
1.5.3. Reserving
You can reserve on-hand inventory to a sales order. Reserved inventory cannot be used for any other purpose. The reserved quantity for a sales order line is displayed on the shipping tab. You may reserve part or all of the ordered quantity. A line must be scheduled before it can be reserved. If you try to reserve an unscheduled line, the system will first try to schedule the line. If the line is successfully scheduled then the system will try to reserve it.There are two ways to reserve manually from the sales order window.• Select reserve from the scheduling option under the tools menu• Select reserve from the scheduling sub menu which is displayed when you select the context menu.If you are on an order line the line will be reserved. If you are on the header, all the lines will be reserved.
Manual reservations are affected by a scheduling parameter that lets you control whether to apply a partial reservation manually. If 9 out of 10 are available, and if you have set the parameters to allow partials, you can right mouse click to bring up the context menu and select Reserve to reserve the 9.
For each order line scheduled, one record is created in wsh_delivery_details referencing the line as source_line_id.
2.1. Release Sales Order
Once the order is scheduled and booked then we need to release the order to warehouse for shipping.
Pick release the order from Release Sales Orders window. Enter the order number and clear out the default scheduled ship date and requested date.
Make sure to include a Warehouse, based on this the order lines available on the order will be filtered. Choose Auto Allocate as "Yes" such that the system will suggest from which sibinventory or locator the goods can be shipped.
Set Autocreate delivery to Yes, such that a shipper/Delivery is automatically created.Check Auto Pick Confirm box for accepting the suggestions given by system and staging the goods at staging subinventory. If you don't want to use the suggestions made by the system then say Auto pick confirm as "No". Then you need to go to Transact move order screen in Inventory and modify the suggestions made by the system and thus manually pick confirm.
SELECT wnd.delivery_id, wnd.name delivery_name, wdd.source_header_number so_order_number, oola.line_number so_line_number, wdd.source_header_id so_header_id, wdd.source_line_id so_line_id, wdd.shipping_instructions, wdd.inventory_item_id, wdd.requested_quantity_uom, msi.description item_description, msi.revision_qty_control_code , wdd.ship_method_code carrier, wdd.shipment_priority_code priority, wdd.organization_id, wnd.initial_pickup_location_id, wdd.released_status, wdd.source_code FROM mtl_system_items_vl msi, oe_order_lines_all oola, wsh_delivery_details wdd, wsh_delivery_assignments wda, wsh_new_deliveries wnd WHERE wnd.delivery_id =18910 AND wda.delivery_id = wnd.delivery_id(+) AND wdd.delivery_detail_id = wda.delivery_detail_id AND wdd.inventory_item_id = msi.inventory_item_id(+) AND wdd.organization_id = msi.organization_id(+) AND wdd.source_line_id = oola.line_id AND wdd.source_header_id = oola.header_id/
2.2. Order Pick Confirm
Navigate to Transact Move Orders window in Inventory.
Search the Sales order with order type, Order number and source as ‘ORDER ENTRY’. You can also search using the Picking batch number.
After finding the Move order, click on view/update allocation to update the system generated inventory allocations.
View the allocation done by the system. You can change the subinventory and quantity and click on transact.View the status of the order line in Shipping transactions window. The status shoud be changed to Staged/Pick confirmed.
SELECT wnd.delivery_id, wnd.name delivery_name, wnd.initial_pickup_location_id, mtrh.request_number mo_number, mtrl.line_number mo_line_number, mtrl.line_id mo_line_id, mtrl.from_subinventory_code, mtrl.to_subinventory_code, mtrl.lot_number, mtrl.serial_number_start, mtrl.serial_number_end, mtrl.uom_code, mtrl.quantity, mtrl.quantity_delivered, mtrl.quantity_detailed, wdd.source_header_number so_order_number, oola.line_number so_line_number, wdd.source_header_id so_header_id, wdd.source_line_id so_line_id, wdd.shipping_instructions, wdd.inventory_item_id, wdd.requested_quantity_uom, msi.description item_description, msi.revision_qty_control_code , wdd.ship_method_code carrier, wdd.shipment_priority_code priority, wdd.organization_id, wdd.released_status, wdd.source_code FROM mtl_system_items_vl msi, oe_order_lines_all oola, mtl_txn_request_lines mtrl, mtl_txn_request_headers mtrh, wsh_delivery_details wdd, wsh_delivery_assignments wda, wsh_new_deliveries wnd WHERE wnd.delivery_id =18910 AND wda.delivery_id = wnd.delivery_id(+) AND wdd.delivery_detail_id = wda.delivery_detail_id AND wdd.move_order_line_id = mtrl.line_id AND mtrl.header_id = mtrh.header_id AND wdd.inventory_item_id = msi.inventory_item_id(+) AND wdd.organization_id = msi.organization_id(+) AND wdd.source_line_id = oola.line_id AND wdd.source_header_id = oola.header_id /
2.3. Order Ship Confirm
Navigate to Shipping Transactions Form and query the order. All non-shipped lines will appear. Click on the details button to see detailed line information.
Here, you can enter the actual quantity to be shipped.
Click on the Delivery tab and the details button to see detailed delivery information. You can enter the waybill number & additional info etc. here.To ship confirm the order, select the Actions list in the Delivery Tab, choose Ship Confirm and GO.
The ship confirmation window will appear and give you the options to backorder, ship all or ship partial quantities and set user defined shipping documents to print. Enter the trip creation options viz: Ship method, departure date, close trip and defer interface.The ship confirm process triggers the inventory interface automatically to update quantities, and triggers the Order Management Interface to update the status of the order lines.
Invoicing the order: Once the Fulfillment activity completes, a Background Workflow Process processes the order line(s) to the Invoice Interface activity. The invoice interface activity places the information from the sales order line into the Receivables Interface tables. The invoice is not generated until the Autoinvoice program in Receivables has been run. The invoice will then be viewable in the Sales Orders window. The line will be eligible to close after the Invoice interface workflow is run.
2.4.1.1 Scenario 1Assume a scenario where an Enterprise uses a legacy system to ship the goods and then need to synchronize the Oracle EBS with actual shipment data.We will use the above APIs and keep Oracle tables in sync with the legacy system.
At first the actual shipment data is staged in a temporary table. You need to identify the actual delivey details shipment and call "Auto-create delivery" API which will group the delivery details and create the Delivery in Oracle. Then call "Pick release Delivery" API to pick the delivery. Now your delivery deails are staged/pick confirmed for the whole ordered quantity. Now call "Update actual shipped qty" API to update the actual shipped quantities as per legacy information. Next you need to call "Ship confirm Delivery" API to confirm the Shipper. This completes the shipment synchronization process with Oracle.
2.4.1.2 Scenario 2An example of how to ship confirm a delivery consisting of delivery details that have already been pick released and assigned to a delivery..
Call WSH_DELIVERY_DETAILS_PUB.Update_Shipping_Attributes API to update the corresponding delivery details to ship all quantities in the first delivery detail; to back order all in the second; to stage all in the third delivery detail.Call WSH_FREIGHT_COSTS_PUB.Create_Update_Freight_Costs API to create freight costs for the delivery that the details have been assigned to.Call WSH_CONTAINER_PUB.Auto_Pack to pack the delivery lines into a container.Call WSH_DELIVERIES_PUB.Delivery_Action API to ship confirm the delivery.
/* Values for updating delivery details to ship all quantities in the first line, stage everything in the second line, and back order all in the third. It is assumed that the user knows the quantities in each line. */
source_code := 'OE'; -- The only source code that should be used by the API
changed_attributes(1).delivery_detail_id := 13431; -- Ship All quantities in this detail.
changed_attributes(1).shipped_quantity := 1;
changed_attributes(2).source_line_id := 13432; -- Back Order All in this detail.
changed_attributes(2).shipped_quantity := 0;
changed_attributes(2).cycle_count_quantity := 2;
changed_attributes(3).source_line_id := 13433; -- Stage All in this detail.
if (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) then
raise fail_api;
end if;
/* Values for creating freight costs for the delivery created for the above delivery details. The delivery can be queried for the respective delivery detail through wsh_delivery_assignments. */
2.4.1.2. Scenario 3Ship confirm delivery details that have originally not been assigned to a delivery.Call WSH_DELIVERIES_PUB.CREATE_UPDATE_DELIVERY to create a new delivery.Call WSH_DELIVERY_DETAILS_PUB.Detail_to_Delivery to assign the delivery details to the new delivery.Call WSH_DELIVERIES_PUB.Delivery_Action to ship confim.
Procedure SHIP_CONFIRM2::::::::::::::::::BeginFND_GLOBAL.APPS_INITIALIZE(user_id => 1001594,resp_id =>52892,resp_appl_id =>660);::::::::::-- Values for WSH_DELIVERIES_PUB.CREATE_UPDATE_DELIVERY to create a new deliverydelivery_info.initial_pickup_location_id := 204;delivery_info.ultimate_dropoff_location_id := 840;
-- Call Detail_to_Delivery with an action code of ASSIGN to assign details to a delivery.p_TabOfDelDets(1) := 13463;p_TabOfDelDets(2) := 13464;p_action := 'ASSIGN';
-- Values for Ship Confirming the delivery.p_action_code := 'CONFIRM'; -- The action code for ship confirmp_delivery_id := 5341; -- The delivery that needs to be confirmedp_delivery_name := '5341'; -- The delivery name,p_sc_action_flag := 'S'; -- Ship entered quantity.p_sc_close_trip_flag := 'Y'; -- Close the trip after ship confirmp_sc_trip_ship_method := 'UPS'; -- The ship method code