1.1.1. Create Order API
Creating a new order with 2 lines and 1 line adjustment and the adjustment belongs to the second line. |
Declare l_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 missing l_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 RECORD l_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 RECORD l_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 line l_line_adj_tbl(1).line_index := 2; -- CALL TO PROCESS ORDER OE_Order_PUB.Process_Order( p_header_rec => l_header_rec p_line_tbl=> l_line_tbl p_line_adj_tbl=> l_line_adj_tbl -- OUT variables x_header_rec=> l_header_rec x_header_scredit_tbl=> l_header_scr_tbl x_header_adj_tbl=> l_header_adj_tbl x_line_tbl=> l_line_tbl x_line_scredit_tbl=> l_line_scredit_tbl x_line_adj_tbl=> l_line_adj_tbl ................ x_return_status=> l_return_status x_msg_count=> l_msg_count x_msg_data=> l_msg_data); if l_msg_count > 0 then for l_index in 1..l_msg_count loop l_msg_data := oe_msg_pub.get(p_msg_index => l_index, p_encoded => ‘F’); end loop; end if; -- Check the return status if x_return_status = FND_API.G_RET_STS_SUCCESS then success; Else failure; end if; End; |
1.1.2. Create New Line
Inserting a new line into an existing order. |
-- NEW LINE RECORD l_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; OE_ORDER_PUB.Process_Order(........ p_line_tbl=> l_line_tbl ......); |
1.1.3. Update an existing Line
Updating the bill to organization and order quantity on an order line. |
-- LINE RECORD WITH THE CHANGES 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; l_line_tbl(1).line_id := 1000; l_line_tbl(1).operation := OE_GLOBALS.G_OPR_UPDATE; OE_ORDER_PUB.Process_Order(........ p_line_tbl=> l_line_tbl ........); |
1.1.4. Delete an Order
Deleting an order. |
l_header_rec := OE_ORDER_PUB.G_MISS_HEADER_REC; l_header_rec.header_id:=1000; l_header_rec.operation := OE_GLOBALS.G_OPR_DELETE; OE_ORDER_PUB.Process_Order( p_header_rec=> l_header_rec ........); |
1.1.5. Apply Line Hold API
Apply a hold to an order line due to a defective item. |
-- ACTION REQUEST RECORD l_request_rec.entity := OE_GLOBALS.G_ENTITY_LINE; -- Indicates that it is a line level action l_request_rec.entity_id := 100; -- Line Id l_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 hold l_action_request_tbl := l_request_rec; |
Apply Hold action record fields and their valid values. | |
request_type entity_code entity_id param1 param2 param3 param4 date_param1 parm6-param20 | OE_GLOBALS.G_APPLY_HOLD OE_GLOBALS.G_ENTITY_ORDER for order or OE_ ID of the order or line to be held Hold 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: C: Customer hold source S: Bill To or Ship To hold source I: Item hold source O: Order hold source W: Warehouse Hold Source Hold entity ID viz: C, B, or S: for Org ID O: Header ID I: Inventory Item ID Hold comment Hold Until Date Attribute1-15 of the descriptive flexfield associated with the hold source record. |