You are on page 1of 48

Oracle Oracle

Order Management Advanced pricing


Enter
Enter Order
Order Review
Review Order
Order
and
and Line
Line Price
Price and
and
details
details Adjustments
Adjustments
Oracle
Shipping Oracle
Execution Oracle Global ATP
Transportation
Management Check
Check Availability,
Availability,
Ship
Ship Confirm
Confirm Schedule
Schedule Order
Order

Oracle
Mobile Supply Chain Oracle
Application Order Management

Pick
Pick Confirm
Confirm Oracle Book
Book the
the Order
Order
Shipping
Oracle Execution
WMS Oracle
INV Pick
Pick Release
Release
the
the Order
Order
Oracle Oracle
Order Management Advanced pricing
Enter
Enter Order
Order Review
Review order
order
and
and Line
Line Price
Price and
and
details
details Adjustments
Adjustments
Oracle
Shipping Oracle
Execution Oracle Global ATP
Transportation
Management Check
Check Availability,
Availability,
Ship
Ship Confirm
Confirm Schedule
Schedule Order
Order

Oracle
Mobile Supply Chain Oracle
Application Order Management

Pick
Pick Confirm
Confirm Oracle Book
Book the
the Order
Order
Shipping
Oracle Execution
WMS Oracle
INV Pick
Pick Release
Release
the
the Order
Order
Enter Order Header information for a standard order type. Field values can be set up
to default from a variety of sources such as the Order Type or the customer record.
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.
Other functions are available through the Actions button. On the Order Information
window, the Actions include functions such as Additional order information, Copy,
Cancel, Apply and Release Holds, Price Order, etc.
OE_ORDER_HEADERS_ALL

HEADER_ID

ORDER_NUMBER

ORG_ID

ORDER_TYPE_ID

VERSION_NUMBER

ORDER_SOURCE_ID

SOURCE_DOCUMENT_TYPE_ID

ORIG_SYS_DOCUMENT_REF

SOURCE_DOCUMENT_ID

ORDERED_DATE

REQUEST_DATE

PRICING_DATE

SHIPMENT_PRIORITY_CODE

DEMAND_CLASS_CODE

PRICE_LIST_ID

TAX_EXEMPT_FLAG

TAX_EXEMPT_NUMBER

PARTIAL_SHIPMENTS_ALLOWED

SHIP_TOLERANCE_ABOVE

SHIP_TOLERANCE_BELOW

TRANSACTIONAL_CURR_CODE

AGREEMENT_ID

TAX_POINT_CODE

CUST_PO_NUMBER

PAYMENT_TERM_ID

SHIPPING_METHOD_CODE

FREIGHT_CARRIER_CODE

FOB_POINT_CODE

FREIGHT_TERMS_CODE

SOLD_FROM_ORG_ID

SOLD_TO_ORG_ID
HOLDS

OE_HOLD_DEFINITIONS  

HOLD_ID  

NAME  

TYPE_CODE  

DESCRIPTION  

START_DATE_ACTIVE  

END_DATE_ACTIVE  

ITEM_TYPE  

ACTIVITY_NAME  

HOLD_INCLUDED_ITEMS_FLAG

APPLY_TO_ORDER_AND_LINE_FLAG

OE_HOLD_SOURCES_ALL OE_HOLD_RELEASES

HOLD_SOURCE_ID HOLD_RELEASE_ID

HOLD_ID HOLD_SOURCE_ID

HOLD_ENTITY_CODE RELEASE_REASON_CODE

HOLD_ENTITY_ID RELEASE_COMMENT

HOLD_ENTITY_CODE2 ORDER_HOLD_ID

HOLD_ENTITY_ID2  

HOLD_UNTIL_DATE  

RELEASED_FLAG  

HOLD_COMMENT  

ORG_ID  

HOLD_RELEASE_ID  

OE_ORDER_HOLDS_ALL  

ORDER_HOLD_ID  

HOLD_SOURCE_ID  

HOLD_RELEASE_ID  

HEADER_ID  

LINE_ID  

ORG_ID  

RELEASED_FLAG  
Enter the line information within the Line Items screen. The Line Items
window will display in multi-line format. The Line, Ordered Item and
Quantity fields are static in the window. Minimum line information
required to book an order is item number and quantity.
Other line information that can be entered in the Main tab include
Request Date, Schedule Ship Date, Line Type, Cancelled Qty, Shipped
Qty, Sales Rep, Order Source, Tax code etc.

The Line Items window includes five additional tabs to enter detailed
line information. These tabs include Pricing, Shipping, Addresses,
Returns, Services, and Other.
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, Split by, Shipping
and Packing Instructions etc.
Pricing tab shows info like Unit Selling Price, Extended Price, Price
List, List Price, Line Charges, Tax Amount, Payment terms, Pricing
Agreement, Pricing Quantity, UOM, Pricing Date etc.

Address tab shows info like Ship to customer, ship to location, ship to
contact, Bill to customer, bill to location, bill to contact and address
details etc.
Other functions are available through the Actions button. In the Line Items window,
the Actions include additional functions such as Split Line, ATP, Price Line,
Configurator etc
OE_ORDER_LINES_ALL

LINE_ID

ORG_ID

HEADER_ID

LINE_TYPE_ID

LINE_NUMBER

ORDERED_ITEM

REQUEST_DATE

PROMISE_DATE

SCHEDULE_SHIP_DATE

ORDER_QUANTITY_UOM

PRICING_QUANTITY

PRICING_QUANTITY_UOM

CANCELLED_QUANTITY

SHIPPED_QUANTITY

ORDERED_QUANTITY

FULFILLED_QUANTITY

SHIPPING_QUANTITY

SHIPPING_QUANTITY_UOM

DELIVERY_LEAD_TIME

TAX_EXEMPT_FLAG

TAX_EXEMPT_NUMBER
Oracle Oracle
Order Management Advanced pricing
Enter
Enter Order
Order Review
Review order
Review Order
order
Order
and
and Line
Line Price
Price and
and
details
details Adjustments
Adjustments
Oracle
Shipping Oracle
Execution Oracle Global ATP
Transportation
Management Check
Check Availability,
Availability,
Ship
Ship Confirm
Confirm Schedule
Schedule Order
Order

Oracle
Mobile Supply Chain Oracle
Application Order Management

Pick
Pick Confirm
Confirm Oracle Book
Book the
the Order
Order
Shipping
Oracle Execution
WMS Oracle
INV Pick
Pick Release
Release
the
the Order
Order
The 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.
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.

OE_PRICE_ADJUSTMENTS OE_PRICE_ADJ_ATTRIBS

PRICE_ADJUSTMENT_ID PRICE_ADJUSTMENT_ID

REQUEST_ID PRICING_CONTEXT

HEADER_ID PRICING_ATTRIBUTE

DISCOUNT_ID PRICING_ATTR_VALUE_FROM

DISCOUNT_LINE_ID PRICING_ATTR_VALUE_TO

AUTOMATIC_FLAG COMPARISON_OPERATOR

PERCENT FLEX_TITLE

LINE_ID PRICE_ADJ_ATTRIB_ID

ORIG_SYS_DISCOUNT_REF LOCK_CONTROL

CHANGE_SEQUENCE

LIST_HEADER_ID

LIST_LINE_ID

LIST_LINE_TYPE_CODE

MODIFIED_FROM

MODIFIED_TO

MODIFIER_MECHANISM_TYPE_CODE

UPDATED_FLAG

APPLIED_FLAG

OPERAND
Let’s check how the above modifier COV001 is configured in Adv Pricing.
This modifier is a discount list which is active and gets applied automatically.

It has a line for product AS54888 having a volume break of 5 to 9999999999


The discount is 20%

Click on header level Qualifier button to check who are qualified for this
discount.
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.
Let’s analyze the modifier F0011 in Adv Pricing.
As we saw the price adjustments before, similarly let’s examine the modifier F0011.

This modifier is a lumpsum freight cost of 10.5


USD, for Item AS54888.
The header level qualifier is for customer Imaging Innovator.
There is also a line level qualifier which needs the shipment method should be DHL
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.

Tax calculation in OM can occur at Entry, Booking or This will determine if tax is
required on an order. This
Invoicing which can only be controlled at the order
option (tax calculation flag) is
level. You specify when to calculate the tax when you set in Oracle Receivables.
create Order Types. The default value for Tax
Calculation Event Code is null which is same as Entry.

Receivables Transaction Type


associated with the OM
Transaction Type, which
decides whether it is taxable.

Receivables Transaction Type


associated with the OM
Transaction Type
Create Operation OE_Order_PUB.Process_Order(
Creating a new order with 2 lines and 1 line adjustment and the p_header_rec => l_header_rec
adjustment belongs to the second line. p_line_tbl=> l_line_tbl
-- SETTING UP THE HEADER RECORD p_line_adj_tbl=> l_line_adj_tbl
-- Initialize record to missing -- OUT variables
l_header_rec := OE_ORDER_PUB.G_MISS_HEADER_REC; x_header_rec=> l_header_rec
-- Required attributes (e.g. Order Type and Customer) x_header_scredit_tbl=> l_header_scr_tbl
l_header_rec.order_type_id := 1000; x_header_adj_tbl=> l_header_adj_tbl
l_header_rec.sold_to_org_id := 100; x_line_tbl=> l_line_tbl
-- Other attributes x_line_scredit_tbl=> l_line_scredit_tbl
l_header_rec.price_list_id := 10; x_line_adj_tbl=> l_line_adj_tbl
......... ................
-- Null attribute: no defaulting for freight terms x_return_status=> l_return_status
l_header_rec.freight_term_code = NULL; x_msg_count=> l_msg_count
-- Indicates to process order that a new header is being created x_msg_data=> l_msg_data);
l_header_rec.operation := OE_GLOBALS.G_OPR_CREATE; if l_msg_count > 0 then
-- FIRST LINE RECORD for l_index in 1..l_msg_count loop
-- Initialize record to missing l_msg_data := oe_msg_pub.get(p_msg_index => l_index, p_encoded => ‘F’);
l_line_tbl(1) := OE_ORDER_PUB.G_MISS_LINE_REC; end loop;
-- Line attributes end if;
l_line_tbl(1).inventory_item_id := 311; -- Check the return status
l_line_tbl(1).ordered_quantity := 1; if x_return_status = FND_API.G_RET_STS_SUCCESS then success;
l_line_tbl(1).operation := OE_GLOBALS.G_OPR_CREATE; Else failure;
-- SECOND LINE RECORD end if;
-- Initialize record to missing
l_line_tbl(2) := OE_ORDER_PUB.G_MISS_LINE_REC;
-- Line attributes
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 RECORD
-- Initialize record to missing
l_line_adj_tbl(1) := OE_ORDER_PUB.G_MISS_LINE_ADJ_REC;
-- Attributes for the line adjustment
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 line
l_line_adj_tbl(1).line_index := 2;
-- CALL TO PROCESS ORDER
Create Operation Delete Operation
Inserting a new line into an existing order. Deleting an order line.
-- NEW LINE RECORD -- Only the record for the parent entity needs to be passed. Since the whole
l_line_tbl(1) := OE_ORDER_PUB.G_MISS_LINE_REC; order is being deleted, only the header record needs to be passed.
-- Primary key of the parent entity (If not passed, this will be retrieved Note: Child entities will always be deleted if parent entity passes
from the parent record, p_header_rec, if it was also passed to process order security check. There will not be a separate security check for child
else there will be an error in the processing of this line). entities
l_line_tbl(1).header_id := 1000; -- Primary key of this order i.e. the header
-- Attributes for the new line l_header_rec := OE_ORDER_PUB.G_MISS_LINE_REC;
l_line_tbl(1).inventory_item_id := 311; -- Indicate to process order that the order is to be deleted
l_line_tbl(1).ordered_quantity := 1; l_header_rec.operation := OE_GLOBALS.G_OPR_DELETE;
-- Indicator that a new line is being created -- CALL TO PROCESS ORDER
l_line_tbl(1).operation := OE_GLOBALS.G_OPR_CREATE; OE_ORDER_PUB.Process_Order(................
-- CALL TO PROCESS ORDER -- Entity records
OE_ORDER_PUB.Process_Order(........ p_header_rec=> l_header_rec
-- Passing just the entity records that are being created -- OUT variables
p_line_tbl=> l_line_tbl ........);
-- OUT variables
......);

Update Operation
Updating the bill to organization and order quantity on an order line.
-- LINE RECORD WITH THE CHANGES
-- Changed attributes
l_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;
-- Primary key of the entity i.e. the order line
l_line_tbl(1).line_id := 1000;
-- Indicates to process order that this is an update operation
Note: If you pass in NULL values for some attributes, process
order will update existing value of those attributes, if any, with
NULL.
l_line_tbl(1).operation := OE_GLOBALS.G_OPR_UPDATE;
-- CALL TO PROCESS ORDER
OE_ORDER_PUB.Process_Order(........
-- Entity records
p_line_tbl=> l_line_tbl
-- OUT variables
........);
Apply a hold to an order line due to a defective item.
-- ACTION REQUEST RECORD
-- Indicates that it is a line level action
l_request_rec.entity := OE_GLOBALS.G_ENTITY_LINE;
-- primary key of the line on which the hold is to be applied
l_request_rec.entity_id := 100;
-- name of the action request
l_request_rec.request_name := OE_GLOBALS.G_APPLY_HOLD;
-- request record parameters
-- defective product hold (hold_id)
l_request_rec.param1 := 4;
-- indicator that it is an item hold (hold_entity_code)
l_request_rec.param2 = ‘I’;
-- Id of the item (hold_entity_id)
l_request_rec.param3 := 3214;
-- inserting request record into the action request table
l_action_request_tbl := l_request_rec;
Oracle Oracle
Order Management Advanced pricing
Enter
Enter Order
Order Review
Review order
order
and
and Line
Line Price
Price and
and
details
details Adjustments
Adjustments
Oracle
Shipping Oracle
Execution Oracle Global ATP
Transportation
Management Check
Check Availability,
Availability,
Ship
Ship Confirm
Confirm
Schedule Order
Schedule Order

Oracle
Mobile Supply Chain Oracle
Application Order Management

Pick
Pick Confirm
Confirm Oracle Book
Book the
the Order
Order
Shipping
Oracle Execution
WMS Oracle
INV Pick
Pick Release
Release
the
the Order
Order
Scheduling Features: Autoschedule
• Calculating Available-to-Promise (ATP) The sales order line is scheduled when it is saved. If either the
• Scheduling Autoschedule check box on the order transaction type is checked or the
• Reserving OM: Autoschedule profile option is Yes, the sales order will be opened
Scheduling determines the source (warehouse) for the order line. If the in Autoschedule mode. You can turn Autoschedule on or off from the
warehouse is entered on the line, either manually or using defaulting sales order window by going to the Tools menu. Note that if
rules, the scheduling action uses the requested warehouse and the other autoschedule
scheduling results are based on it. If the warehouse is blank, the is turned on the availability window is automatically displayed when
scheduling action determines the best warehouse based on the sourcing the sales order window is opened. You can close the availability
rules. This functionality includes ATO models. window, but the lines will still be autoscheduled unless the
autoschedule check box on the tools menu is unchecked.
Scheduling determines the schedule ship date, the schedule arrival date, There are two ways to reserve manually from the sales order window.
the delivery lead time and the shipping method. It makes the line • Select reserve from the scheduling option under the tools menu
visible to the planning applications and consumes supply for the item. • Select reserve from the scheduling sub menu which is displayed when
When a line is successfully scheduled the VISIBLE_DEMAND_FLAG you select the context menu.
is set to Yes. If the reservation time fence is set and the schedule ship If you are on an order line the line will be reserved. If you are on the
date is within the reservation time fence, automatically reserves the line header, all the lines will be reserved.

In Oracle Order Management, you can reserve on-hand inventory to a Manual reservations are affected by a scheduling parameter that lets
sales order. Reserved inventory cannot be used for any other purpose. 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,
The reserved quantity for a sales order line is displayed on the shipping
you can right mouse click to bring up the context menu and select
tab. You may reserve part or all of the ordered quantity. A line must be
Reserve to reserve the 9.
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 Book the order. You can book an order at either the Order Information tab or Line
line is successfully scheduled then the system will try to reserve it. Items tab via the Book button.
WSH_DELIVERY_DETAILS

DELIVERY_DETAIL_ID

SOURCE_CODE

SOURCE_HEADER_ID

SOURCE_LINE_ID

SOURCE_HEADER_TYPE_ID

SOURCE_HEADER_TYPE_NAME

CUST_PO_NUMBER

CUSTOMER_ID

INVENTORY_ITEM_ID

ITEM_DESCRIPTION
Oracle Oracle
Order Management Advanced pricing
Enter
Enter Order
Order Review
Review order
order
and
and Line
Line Price
Price and
and
details
details Adjustments
Adjustments
Oracle
Shipping Oracle
Execution Oracle Global ATP
Transportation
Management Check
Check Availability,
Availability,
Ship
Ship Confirm
Confirm Schedule
Schedule Order
Order

Oracle
Mobile Supply Chain Oracle
Application Order Management

Pick
Pick Confirm
Confirm Oracle Book
Book the
the Order
Order
Shipping
Oracle Execution
WMS Oracle
INV Pick
Pick Release
Release
the
the Order
Order
Pick release the order from the Shipping > Release Sales Orders
window.
Make sure to include a Warehouse, a Pick Slip Grouping Rule and
check the Auto Allocate box.
Check Auto Pick Confirm box for accepting the suggestions given by
system and staging the goods at staging subinventory. Set Autocreate
delivery to Yes, such that the shipper/Delivery is automatically created.
The lines of the order must be in a status Released to proceed to the
Ship Confirmation activity in the Workflow process. You can view the
status in the Shipping Transaction window.
WSH_PICKING_BATCHES WSH_NEW_DELIVERIES

BATCH_ID DELIVERY_ID

NAME NAME

TRIP_ID PLANNED_FLAG

TRIP_STOP_ID STATUS_CODE

DELIVERY_ID INITIAL_PICKUP_DATE

DELIVERY_DETAIL_ID INITIAL_PICKUP_LOCATION_ID

BACKORDERS_ONLY_FLAG ULTIMATE_DROPOFF_LOCATION_ID

DOCUMENT_SET_ID ULTIMATE_DROPOFF_DATE

EXISTING_RSVS_ONLY_FLAG CUSTOMER_ID

SHIPMENT_PRIORITY_CODE INTMED_SHIP_TO_LOCATION_ID

SHIP_METHOD_CODE POOLED_SHIP_TO_LOCATION_ID

CARRIER_ID FREIGHT_TERMS_CODE

CUSTOMER_ID FOB_CODE

SHIP_TO_LOCATION_ID FOB_LOCATION_ID

ORDER_HEADER_ID WAYBILL

ORDER_LINE_ID ACCEPTANCE_FLAG

SHIP_SET_NUMBER ACKNOWLEDGED_BY

INVENTORY_ITEM_ID CONFIRMED_BY

ORDER_TYPE_ID ASN_DATE_SENT

FROM_REQUESTED_DATE ASN_STATUS_CODE

TO_REQUESTED_DATE ASN_SEQ_NUMBER

FROM_SCHEDULED_SHIP_DATE REASON_OF_TRANSPORT

TO_SCHEDULED_SHIP_DATE DESCRIPTION

SUBINVENTORY GROSS_WEIGHT

SHIP_FROM_LOCATION_ID WSH_DELIVERY_ASSIGNMENTS

ORGANIZATION_ID DELIVERY_ASSIGNMENT_ID

DEFAULT_STAGE_SUBINVENTORY DELIVERY_ID

DEFAULT_STAGE_LOCATOR_ID DELIVERY_DETAIL_ID

PICK_FROM_SUBINVENTORY PARENT_DELIVERY_ID

PICK_FROM_LOCATOR_ID PARENT_DELIVERY_DETAIL_ID

AUTODETAIL_PR_FLAG ACTIVE_FLAG
Oracle Oracle
Order Management Advanced pricing
Enter
Enter Order
Order Review
Review order
order
and
and Line
Line Price
Price and
and
details
details Adjustments
Adjustments
Oracle
Shipping Oracle
Execution Oracle Global ATP
Transportation
Management Check
Check Availability,
Availability,
Ship
Ship Confirm
Confirm Schedule
Schedule Order
Order

Oracle
Mobile Supply Chain Oracle
Application Order Management

Pick Confirm
Pick Confirm Oracle Book
Book the
the Order
Order
Shipping
Oracle Execution
WMS Oracle
INV Pick
Pick Release
Release
the
the Order
Order
Navigate to Transact Move Orders window in Inventory.
Search the Sales order with order type and source as ‘ORDER
ENTRY’. You can also search using the Picking batch number.

After finding the Move order, click on update allocation to update


(if necessary) and transact the MO.
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.


MTL_TXN_REQUEST_HEADERS MTL_TXN_REQUEST_LINES

HEADER_ID LINE_ID

REQUEST_NUMBER HEADER_ID

TRANSACTION_TYPE_ID LINE_NUMBER

MOVE_ORDER_TYPE ORGANIZATION_ID

ORGANIZATION_ID INVENTORY_ITEM_ID

DESCRIPTION REVISION

DATE_REQUIRED FROM_SUBINVENTORY_CODE

FROM_SUBINVENTORY_CODE FROM_LOCATOR_ID

TO_SUBINVENTORY_CODE TO_SUBINVENTORY_CODE

TO_ACCOUNT_ID TO_LOCATOR_ID

HEADER_STATUS LOT_NUMBER

STATUS_DATE SERIAL_NUMBER_START

GROUPING_RULE_ID SERIAL_NUMBER_END

SHIP_TO_LOCATION_ID UOM_CODE

FREIGHT_CODE QUANTITY

SHIPMENT_METHOD QUANTITY_DELIVERED

AUTO_RECEIPT_FLAG QUANTITY_DETAILED

REFERENCE_ID DATE_REQUIRED

REFERENCE_DETAIL_ID REASON_ID

ASSIGNMENT_ID REFERENCE
Oracle Oracle
Order Management Advanced pricing
Enter
Enter Order
Order Review
Review order
order
and
and Line
Line Price
Price and
and
details
details Adjustments
Adjustments
Oracle
Shipping Oracle
Execution Oracle Global ATP
Transportation
Management Check
Check Availability,
Availability,
Ship
Ship Confirm
Confirm Schedule
Schedule Order
Order

Oracle
Mobile Supply Chain Oracle
Application Order Management

Pick
Pick Confirm
Confirm Oracle Book
Book the
the Order
Order
Shipping
Oracle Execution
WMS Oracle
INV Pick
Pick Release
Release
the
the Order
Order
While in Lines/LPN tab, Click on the details button to see detailed line
information. You can enter here 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.
Then ship confirmation success message will appear.
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.
WSH_DELIVERY_LEGS WSH_TRIPS WSH_TRIP_STOPS

DELIVERY_LEG_ID TRIP_ID STOP_ID

DELIVERY_ID NAME TRIP_ID

PICK_UP_STOP_ID PLANNED_FLAG STOP_LOCATION_ID

DROP_OFF_STOP_ID ARRIVE_AFTER_TRIP_ID STATUS_CODE

SEQUENCE_NUMBER STOP_SEQUENCE_NUMBER
STATUS_CODE
LOADING_ORDER_FLAG PLANNED_ARRIVAL_DATE
VEHICLE_ITEM_ID
GROSS_WEIGHT PLANNED_DEPARTURE_DATE
VEHICLE_NUMBER
NET_WEIGHT ACTUAL_ARRIVAL_DATE
CARRIER_ID
WEIGHT_UOM_CODE ACTUAL_DEPARTURE_DATE
SHIP_METHOD_CODE
VOLUME DEPARTURE_GROSS_WEIGHT
ROUTE_ID
VOLUME_UOM_CODE DEPARTURE_NET_WEIGHT
ROUTING_INSTRUCTIONS
LOAD_TENDER_STATUS WEIGHT_UOM_CODE

SHIPPER_TITLE VEHICLE_ORGANIZATION_ID DEPARTURE_VOLUME

SHIPPER_PHONE VOLUME_UOM_CODE
VEHICLE_NUM_PREFIX
POD_FLAG DEPARTURE_SEAL_CODE

POD_BY DEPARTURE_FILL_PERCENT
SERVICE_LEVEL
POD_DATE LOCK_STOP_ID
MODE_OF_TRANSPORT
EXPECTED_POD_DATE PENDING_INTERFACE_FLAG
WSH_NEW_DELIVERIES WSH_DELIVERY_DETAILS

DELIVERY_ID DELIVERY_DETAIL_ID

NAME SOURCE_CODE

PLANNED_FLAG SOURCE_HEADER_ID

STATUS_CODE SOURCE_LINE_ID

INITIAL_PICKUP_DATE SOURCE_HEADER_TYPE_ID

INITIAL_PICKUP_LOCATION_ID SOURCE_HEADER_TYPE_NAME

ULTIMATE_DROPOFF_LOCATION_ID CUST_PO_NUMBER

ULTIMATE_DROPOFF_DATE CUSTOMER_ID

CUSTOMER_ID INVENTORY_ITEM_ID

INTMED_SHIP_TO_LOCATION_ID ITEM_DESCRIPTION

POOLED_SHIP_TO_LOCATION_ID

FREIGHT_TERMS_CODE

FOB_CODE

FOB_LOCATION_ID

WAYBILL

ACCEPTANCE_FLAG

ACKNOWLEDGED_BY

CONFIRMED_BY

ASN_DATE_SENT

ASN_STATUS_CODE

ASN_SEQ_NUMBER

REASON_OF_TRANSPORT

DESCRIPTION

GROSS_WEIGHT
An example of how to ship confirm a delivery consisting of delivery p_group_id_tab WSH_UTIL_CORE.id_tab_type;
details that have already been pick released and assigned to a delivery. p_pack_cont_flag varchar2(30);
x_cont_inst_tab WSH_UTIL_CORE.id_tab_type;
--Parameters for WSH_FREIGHT_COSTS_PUB.Create_Update_Freight_Costs.
Call WSH_DELIVERY_DETAILS_PUB.Update_Shipping_Attributes API to update action_code VARCHAR2(15);
the corresponding delivery details to ship all quantities in the first delivery pub_freight_costs WSH_FREIGHT_COSTS_PUB.PubFreightCostRecType;
detail; to back order all in the second; to stage all in the third delivery detail. freight_cost_id NUMBER;
Call WSH_FREIGHT_COSTS_PUB.Create_Update_Freight_Costs API to create --Parameters for WSH_DELIVERIES_PUB.Delivery_Action.
freight costs for the delivery that the details have been assigned to. p_action_code VARCHAR2(15);
Call WSH_CONTAINER_PUB.Auto_Pack to pack the delivery lines into a p_delivery_id NUMBER;
container. p_delivery_name VARCHAR2(30);
Call WSH_DELIVERIES_PUB.Delivery_Action API to ship confirm the delivery. p_asg_trip_id NUMBER;
::::::::::::::::::::::::::::::::::::::::::::::::::
CODE…… /*Handle exceptions*/
Create or replace package WSH_SHIP_API as fail_api EXCEPTION;
procedure SHIP_CONFIRM_EXAMPLE1( BEGIN
x_return_status OUT VARCHAR2, /* Initialize return status*/
x_msg_count OUT NUMBER, x_return_status := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
x_msg_data OUT VARCHAR2); /* Call this procedure to initialize applications parameters. To determine
procedure SHIP_CONFIRM_EXAMPLE2( parameter values, refer to the Application Paramater Initialization section of
x_return_status OUT VARCHAR2, this chapter. */
x_msg_count OUT NUMBER, FND_GLOBAL.APPS_INITIALIZE(user_id => 1001594
x_msg_data OUT VARCHAR2); ,resp_id =>52892
END WSH_SHIP_API; ,resp_appl_id =>660);
/ /* Values for updating delivery details to ship all quantities in the first
-- show errors package WSH_SHIP_API; line, stage everything in the second line, and back order all in the third. It
Procedures is assumed that the user knows the quantities in each line.
Create or replace package body WSH_SHIP_API as */
procedure SHIP_CONFIRM_EXAMPLE1(
x_return_status OUT VARCHAR2, source_code := 'OE'; -- The only source code that should be used by the API
x_msg_count OUT NUMBER, changed_attributes(1).delivery_detail_id := 13431; -- Ship All quantities in this detail.
x_msg_data OUT VARCHAR2) IS changed_attributes(1).shipped_quantity := 1;
/* changed_attributes(2).source_line_id := 13432; -- Back Order All in this detail.
--Standard Parameters. changed_attributes(2).shipped_quantity := 0;
p_api_version_number NUMBER; changed_attributes(2).cycle_count_quantity := 2;
init_msg_list VARCHAR2(30); changed_attributes(3).source_line_id := 13433; -- Stage All in this detail.
x_msg_details VARCHAR2(3000); changed_attributes(3).shipped_quantity := 0;
x_msg_summary VARCHAR2(3000); changed_attributes(3).cycle_count_quantity := 0;
p_validation_level NUMBER; --Call to WSH_DELIVERY_DETAILS_PUB.Update_Shipping_Attributes.
p_commit VARCHAR2(30); WSH_DELIVERY_DETAILS_PUB.Update_Shipping_Attributes(
--Parameters for WSH_DELIVERY_DETAILS_PUB.Update_Shipping_Attributes. p_api_version_number => 1.0,
source_code VARCHAR2(15); p_init_msg_list => init_msg_list,
changed_attributes WSH_DELIVERY_DETAILS_PUB.ChangedAttributeTabType; p_commit => p_commit,
--Parameters for WSH_CONTAINER_PUB.Auto_Pack. x_return_status => x_return_status,
p_entity_tab WSH_UTIL_CORE.id_tab_type;
x_msg_count => x_msg_count, x_msg_count => x_msg_count,
x_msg_data => x_msg_data, x_msg_data => x_msg_data,
p_changed_attributes => changed_attributes, p_entity_tab => p_entity_tab,
p_source_code => source_code); p_entity_type => 'L',
if (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) then p_group_id_tab => p_group_id_tab,
raise fail_api; p_pack_cont_flag => p_pack_cont_flag,
end if; x_cont_inst_tab => x_cont_inst_tab);
/* Values for creating freight costs for the delivery created for the above if (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) then
delivery details. The delivery can be queried for the respective delivery detail raise fail_api;
through wsh_delivery_assignments. end if;
*/ /* Values for Ship Confirming the delivery.
pub_freight_costs.freight_cost_type_id := 1; */
pub_freight_costs.unit_amount := 20; p_action_code := 'CONFIRM'; -- The action code for ship confirm
pub_freight_costs.currency_code := 'USD'; p_delivery_id := 5341; -- The delivery that needs to be confirmed
pub_freight_costs.delivery_id := 5341; p_delivery_name := '5341'; -- The delivery name,
--Call to WSH_FREIGHT_COSTS_PUB.Create_Update_Freight_Costs. p_sc_action_flag := 'S'; -- Ship entered quantity.
WSH_FREIGHT_COSTS_PUB.Create_Update_Freight_Costs( p_sc_close_trip_flag := 'Y'; -- Close the trip after ship confirm
p_api_version_number => 1.0, p_sc_trip_ship_method := 'GROUND'; -- The ship method code
p_init_msg_list => init_msg_list, -- Call to WSH_DELIVERIES_PUB.Delivery_Action.
p_commit => p_commit, WSH_DELIVERIES_PUB.Delivery_Action(
x_return_status => x_return_status, p_api_version_number => 1.0,
x_msg_count => x_msg_count, p_init_msg_list => init_msg_list,
x_msg_data => x_msg_data, x_return_status => x_return_status,
p_pub_freight_costs => pub_freight_costs, x_msg_count => x_msg_count,
p_action_code => 'CREATE', x_msg_data => x_msg_data,
x_freight_cost_id => freight_cost_id); p_action_code => p_action_code,
if (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) then p_delivery_id => p_delivery_id,
raise fail_api; p_delivery_name => p_delivery_name,
end if; p_asg_trip_id => p_asg_trip_id,
/* Values for autopacking the delivery details to a container. p_asg_trip_name => p_asg_trip_name,
*/ p_asg_pickup_stop_id => p_asg_pickup_stop_id,
p_entity_tab(1) := 13431; p_asg_pickup_loc_id => p_asg_pickup_loc_id,
p_entity_tab(2) := 13432; p_asg_pickup_loc_code => p_asg_pickup_loc_code,
p_entity_tab(3) := 13434; p_asg_pickup_arr_date => p_asg_pickup_arr_date,
--Call to WSH_CONTAINER_PUB.Auto_Pack p_asg_pickup_dep_date => p_asg_pickup_dep_date,
WSH_CONTAINER_PUB.Auto_Pack( p_asg_dropoff_stop_id => p_asg_dropoff_stop_id,
p_api_version => 1.0, p_asg_dropoff_loc_id => p_asg_dropoff_loc_id,
p_init_msg_list => init_msg_list, p_asg_dropoff_loc_code => p_asg_dropoff_loc_code,
p_commit => p_commit, p_asg_dropoff_arr_date => p_asg_dropoff_arr_date,
p_validation_level => p_validation_level, p_asg_dropoff_dep_date => p_asg_dropoff_dep_date,
x_return_status => x_return_status, p_sc_action_flag => p_sc_action_flag,
p_sc_close_trip_flag => p_sc_close_trip_flag,
p_sc_create_bol_flag => p_sc_create_bol_flag,
p_sc_stage_del_flag => p_sc_stage_del_flag, The Freight Costs Public Application Program Interface (API) is a public API that
p_sc_trip_ship_method => p_sc_trip_ship_method, consists of the following three procedures in package WSH_FREIGHT_COSTS_
p_sc_actual_dep_date => p_sc_actual_dep_date, PUB:
p_sc_report_set_id => p_sc_report_set_id, Create_Update_Freight_Costs: Enables you to create a new freight cost record and
p_sc_report_set_name => p_sc_report_set_name, update an existing freight cost record.
p_wv_override_flag => p_wv_override_flag, Validate_Freight_Cost_Type: Validates that the freight cost type exists.
x_trip_id => x_trip_id, Delete_Freight_Costs: Enables you to delete a freight cost record.
x_trip_name => x_trip_name);
if (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) then
raise fail_api;
end if;
exception
when fail_api then
WSH_UTIL_CORE.get_messages('Y', x_msg_summary, x_msg_details,
x_msg_count);
if x_msg_count > 1 then
x_msg_data := x_msg_summary || x_msg_details;
else
x_msg_data := x_msg_summary;
end if;
END SHIP_CONFIRM_EXAMPLE1;

You might also like