oracle api

Upload: abhishek

Post on 03-Jun-2018

247 views

Category:

Documents


4 download

TRANSCRIPT

  • 8/12/2019 Oracle API

    1/17

    2/19/2014 Document Display

    https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-state=b245kblel_13

    Process Order API In Order Management (Doc ID 746787.1)

    Modified: Dec 17, 2013 Type: BULLETIN

    In this Document

    Purpose

    Scope

    Details

    IMPORTING SALES ORDERS AND/OR RETURNS :

    Overview of Process Order API

    Structure of PL/SQL block to call process Order API

    Process Order Usage

    CREATE Operation

    UPDATE Operation

    DELETE Operation

    Other Action Requests

    Sample Scripts

    References

    APPLIES TO:

    Oracle Order Management - Version 11.5.9 to 12.2.2 [Release 11.5 to 12.2]

    Information in this document applies to any platform.

    PURPOSE

    This note is intended to help Customer and Support Engineers get acquainted with the basics of Process Order

    application Interface(API) and demostrate how Process Order API can be used to manipulate Sales Order business

    objects owned by Order Mangement module.

    SCOPE

    This note is intended for any users who tries to import an order in Order Management using Process Order API. This

    scope of this note is to understand and perform test case for using Process Order API.

    Examples provided here work in Internal Instance. The screenshots and testing of sample insert scripts in this page

    were done in an 11.5.10 CU2 instance. Customers may use these examples; do confirm results on your test instance

    before trying them on production instance.

    The examples discussed here are the most frequently used actions in the Sales Order Transactions. However for the

    complete list of options, please refer to user guide Oracle Order Management -- Open Interfaces, API, & Electronic

    Messaging Guide.

    DETAILS

    http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-http://-/?-
  • 8/12/2019 Oracle API

    2/17

    2/19/2014 Document Display

    https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-state=b245kblel_13 2

    IMPORTING SALES ORDERS AND/OR RETURNS :

    Order Import is an open interface owned by Oracle Order Management. Order Import

    consists of interface tables and a set of APIs. You can import new, change and

    completed sales orders or returns from legacy applications, EDI Transactions

    processed through the Gateway, or internal orders created from Oracle Purchasing's

    internal requisitions, or returns. In addition, Order Import provides forms

    that allow you to query orders from the interface tables, make corrections or

    changes to the date, and re-initiate the import process. Messages are provided

    to give you the details why the order did not import.

    The features of Order Import include validation and defaulting, processing

    constraint checks, applying and releasing of order holds, shipment scheduling,

    then ultimately inserting, updating or deleting the orders in the base Order

    Management tables. All data is checked for validity during the import process.

    Order Import uses the Process Orders API to validate and process order date in

    the interface tables. Valid transactions are converted into orders with lines,

    reservations, price adjustments and sales credits.

    You can use the Error Message window to determine if your data failed the import

    process. If the data failed to import, you can use the Order Import Correctionswindow, a new feature in release 11i, to examine and correct the data.

    The following parameter and profile options must be defined in order to use

    Order Import.

    Order Management System Parameter:

    - OM: Item Validation Organization

    Order Management Profile Options:

    - OM: Reservation Time Fence- OM: Apply Automatic Attachments

    You can import orders in an entered, booked or closed status. If an order is

    imported as booked, the order is automatically eligible to progress to the next

    step the the workflow. If any of the fields required for a booked order are not

    supplied then Order Management places the order in an entered states and notifies

    you of the error.

    You can indicate whether you want to manually enter prices for imported orders

    or allow Order Management to automatically price the order.

    If you want to use automatice pricing, set the column OE_LINES_INTERFACE.

    CALCULATE_PRICE_FLAG to Calculate Price. All pricing information must be

    set up in Oracle Pricing and Order Management.

    If you want to use manual pricing, set the column OE_LINES_INTERFACE.

    CALCULATE_PRICE_FLAG to Freeze Price.

    If you want the system to only calculate Freight Charges, set the column

    OE_LINES_INTERFACE.CALCULATE_PRICE_FLAG to Partial Price.

    Order Import can also perform a price comparison on your imported orders. For

    example, you can provide a selling price and also have the system calculate a

  • 8/12/2019 Oracle API

    3/17

    2/19/2014 Document Display

    https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-state=b245kblel_13 3

    price. Order Import will WARN you of any differences. Please see table 24-1

    in the Oracle Order Management Implementation Manual for examples of differences

    in the customer price and system price and how the Calculate Price Flag affects

    the process.

    You can run the Order Import process in validation-only mode. This mode allows

    the transaction to be validated against all of the Order Management rules but

    does not pass any valid transactions into the Order Management tables.

    The Order Import window consists of the Find and Summary windows. The Findwindow allows you to find orders to be imported based on certain attributes

    such as Request ID, Order Source, Original System, Document Reference and Change

    sequence.

    The summary window displays order headers, lines, sales credits, price

    adjustments, lot serial numbers, reservations and action requests. You can

    use Oracle Application Folder functionality to limit or display fields.

    You can perform the following actions from this form:

    - modify orders.

    - insert, update and delete the orders and lines in the interface tables.

    - update one or multiple orders or lines at the same time using the

    multi-select functionality.- mark an order or line to be rejected by setting the rejected flag.

    - submit a request by selecting Order Import Request and select the

    appropriate parameter and choose Submit.

    Order Import has the following paramters

    1. Order Source

    2. Order Reference

    3. Validate Only

    4. Processing Results

    Customer items numbers or UPC numbers can be entered in Order Import the same

    way as a manually entered sales order as long as all cross-reference data isdefined before the order import process is run. Set the OE_LINES_IFACE_ALL.

    CUSTOMER_ITEM_NAME to the 'item ordered'. If you know what kind of item

    number it is (for example customer or inventory), you can set the

    OE_LINES_IFACE_ALL.CUSTOMER_ITEM_TYPE.

    You can import changes and cancellations to existing imported orders by setting

    the OPERATION_CODE in each of the interface tables. A NULL value is equivalent

    to INSERT. If you want to make changes, use an OPERATION_CODE of UPDATE. To

    cancel a line set the OPERATION_CODE to UPDATE and make ordered quantity = 0.

    To cancel an order in its entirety, set the OPERATION_CODE at the Header to

    UPDATE and set the CANCEL_FLAG to Y.

    Import sales order returns just like you import standard orders choosing an

    order type that supports return line types. You can also import mixed orders,

    orders which have both standard sales order lines and return order lines.

    To import orders you will need to load the Order Import Interface Tables.

    In most situations, you will develop a program or script to convert data from

    the feeder system into the standard format that Order Import is expecting. You

    can import orders with any external source defined in the Define Document

    Sequences window.

    Oracle Purchasing contains a program, Create Internal Sales Orders, that takes

  • 8/12/2019 Oracle API

    4/17

    2/19/2014 Document Display

    https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-state=b245kblel_13 4

    the data from the Purchasing schema for internal requisitions and loads the

    Order Import tables. The eCommerce Gateway also provides a program, Purchase

    Order Inbound, that loads the import tables for the Inbound Purchase Order EDI

    transactions set.

    It is recommended that you set up Defaulting Rules in Order Management that will

    default as much of the order and line information as possible for you

    environment. This will reduce the amount of data that needs to be populated

    into the Order Management Interface tables. Please review Note 198900.1 for

    comprehensive information detailing the definition of Defaulting Rules.

    Please tables 2-1 through 2-10 for all required columns and settings.

    Overview of Process Order API

    Process Order API is a PL/SQL packaged procedure which can be used to manipulate the sales order data by

    performing Insert, update or delete operation on the following sales Order business object entities. Analogous to othe

    public APIs available to the users), Process Order API also validates the data before inserting them into the application

    tables.

    Though Process Order API has packaged procedures which will insert, update, delete data into the tables, they

    can not be run on their own. Either they need to be called from another package procedure or can be executed as

    PL/SQL block via the sql*plus.

    Entity Related Table Name

    ----------------------------- ------------------------

    Order Header OE_ORDER_HEADERS_ALL

    Order Price Adjustments OE_PRICE_ADJUSTMENTS

    Order Sales Credits OE_SALES_CREDITS

    Order Line OE_ORDER_LINES_ALL

    Order Pricing Attributes OE_ORDER_PRICE_ATTRIBS

    Order Adjustment Attributes OE_PRICE_ADJ_ATTRIBS

    Order Adjustment Associations OE_PRICE_ADJ_ASSOCS

    Line Sales Credits OE_SALES_CREDITSLine Price Adjustments OE_PRICE_ADJUSTMENTS

    Line Pricing Attributes OE_ORDER_PRICE_ATTRIBS

    Line Adjustment Attributes OE_PRICE_ADJ_ATTRIBS

    Line Adjustment Associations OE_PRICE_ADJ_ASSOCS

    Lot Serial Numbers OE_LOT_SERIAL_NUMBERS

    Structure of PL/SQL block to call process Order API

    DECLAREVariable Declaration

    BEGIN

    Populate the various specific API parameters

    --Call to Process Order API

    OE_ORDER_PUB.Process_order(

    Standard Parameters

    Specific Parameters);

    Exception Handling

    END;

    Detailed explanation to each of these section is discussed as follows

  • 8/12/2019 Oracle API

    5/17

    2/19/2014 Document Display

    https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-state=b245kblel_13 5

    DECLARE

    /* In Variable declaration section, declare and initialize the various variables used in the

    pl/sql block can be done here. These entities are used to define INPUT and OUTPUT parameters

    to Process Order API*/

    l_header_rec OE_ORDER_PUB.Header_Rec_Type;

    l_line_rec OE_ORDER_PUB.line_rec_type;

    l_action_request_tbl OE_ORDER_PUB.Request_Tbl_Type;

    l_header_val_rec OE_ORDER_PUB.Header_Val_Rec_Type;

    l_Header_Adj_tbl OE_ORDER_PUB.Header_Adj_Tbl_Type;

    l_Header_Adj_val_tbl OE_ORDER_PUB.Header_Adj_Val_Tbl_Type;l_Header_price_Att_tbl OE_ORDER_PUB.Header_Price_Att_Tbl_Type ;

    l_Header_Adj_Att_tbl OE_ORDER_PUB.Header_Adj_Att_Tbl_Type ;

    l_Header_Adj_Assoc_tbl OE_ORDER_PUB.Header_Adj_Assoc_Tbl_Type ;

    l_Header_Scredit_tbl OE_ORDER_PUB.Header_Scredit_Tbl_Type;

    l_Header_Scredit_val_tbl OE_ORDER_PUB.Header_Scredit_Val_Tbl_Type;

    l_line_tbl OE_ORDER_PUB.Line_Tbl_Type;

    l_Request_Tbl OE_ORDER_PUB.Request_Tbl_Type;

    l_line_val_tbl OE_ORDER_PUB.Line_Val_Tbl_Type;

    l_Line_Adj_tbl OE_ORDER_PUB.Line_Adj_Tbl_Type;

    l_Line_Adj_val_tbl OE_ORDER_PUB.Line_Adj_Val_Tbl_Type;

    l_Line_price_Att_tbl OE_ORDER_PUB.Line_Price_Att_Tbl_Type ;

    l_Line_Adj_Att_tbl OE_ORDER_PUB.Line_Adj_Att_Tbl_Type ;

    l_Line_Adj_Assoc_tbl OE_ORDER_PUB.Line_Adj_Assoc_Tbl_Type ;l_Line_Scredit_tbl OE_ORDER_PUB.Line_Scredit_Tbl_Type;

    l_Line_Scredit_val_tbl OE_ORDER_PUB.Line_Scredit_Val_Tbl_Type;

    l_Lot_Serial_tbl OE_ORDER_PUB.Lot_Serial_Tbl_Type;

    l_Lot_Serial_val_tbl OE_ORDER_PUB.Lot_Serial_Val_Tbl_Type;

    l_request_rec OE_ORDER_PUB.Request_Rec_Type ;

    -- Initialize the API Version to 1.0

    p_api_version_number NUMBER :=1.0;

    x_return_status VARCHAR2(1);

    BEGIN

    --This sets the buffer size so that messages are written to debug file.

    dbms_output.enable(1000000);

    /*****************INITIALIZE ENVIRONMENT*************************

    -- fnd_global.apps_initialize(user_id,responsibility_id ,application_id);

    /* Pass in user_id, responsibility_id, and application_id here, as the system would need to

    information while setting the who columns for updating the data in the tables. Also required

    to set the organization/operating unit context for the system has to see the data in

    views.*/

    fnd_global.apps_initialize(4096,21623,660);-- vision env variables

    /*This section sets the debug level to 5 so that all messages would be written to the debug

    file.*/

    oe_msg_pub.initialize;

    oe_debug_pub.initialize;

    X_DEBUG_FILE := OE_DEBUG_PUB.Set_Debug_Mode('FILE');

    oe_debug_pub.SetDebugLevel(5);

    dbms_output.put_line('START OF NEW DEBUG');/* The header record is initialized to missing as there would be no header_id exists for the

    record.Once the header_id is generated by the API, the l_header_rec will take the value of

    the header_id */

    l_header_rec := OE_ORDER_PUB.G_MISS_HEADER_REC;

    -- Header Attributes

    l_header_rec.order_type_id := &Order Type ID;

    l_header_rec.sold_to_org_id := &Sold To Org ID;

    l_header_rec.ship_to_org_id := &Ship To Org ID;

    l_header_rec.ship_from_org_id := &Ship From Org ID;

    l_header_rec.orig_sys_document_ref := &Document Reference;

    l_header_rec.price_list_id := &Price List ID;

    -- The statement indicates to the process order API that a new header has to be created.

  • 8/12/2019 Oracle API

    6/17

    2/19/2014 Document Display

    https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-state=b245kblel_13 6

    l_header_rec.operation := OE_GLOBALS.G_OPR_CREATE;

    -- Setting index as 1 to indicate that these belong to 1st line record

    l_line_tbl_index := 1;

    -- Initializing the line record to missing

    l_line_tbl(l_line_tbl_index) := OE_ORDER_PUB.G_MISS_LINE_REC;

    -- Line Attributes

    l_line_tbl(l_line_tbl_index).inventory_item_id := &Inventory Item ID;

    l_line_tbl(l_line_tbl_index).ordered_quantity := &Ordered Quantity;

    l_line_tbl(l_line_tbl_index).orig_sys_document_ref := &Doc Ref;

    l_line_tbl(l_line_tbl_index).orig_sys_line_ref := &Line Reference;

    l_line_tbl(l_line_tbl_index).calculate_price_flag := &Calculate Price Flag;l_line_tbl(l_line_tbl_index).line_type_id := &Line Type ID;

    -- Indicates that this is a create operation for the line record.

    l_line_tbl(l_line_tbl_index).operation := OE_GLOBALS.G_OPR_CREATE;

    -- Indicates that this is an update operation for the line record.

    l_line_tbl(l_line_tbl_index).operation := OE_GLOBALS.G_OPR_UPDATE;

    -- Indicates that this is a delete operation for the line record.

    l_line_tbl(l_line_tbl_index).operation := OE_GLOBALS.G_OPR_DELETE;

    /*The below action request indicates to the process order that the order has to be booked.

    */

    l_action_request_tbl(1).request_type := oe_globals.g_book_order;

    l_action_request_tbl(1).entity_code := oe_globals.g_entity_header;

    -- Call To Process Order API with the required IN and OUT parameters.

    OE_ORDER_PUB.process_order( );

    -- Get the messages generated and print them

    FOR i IN 1 .. l_msg_count

    LOOP

    Oe_Msg_Pub.get( p_msg_index => i

    , p_encoded => Fnd_Api.G_FALSE

    , p_data => l_msg_data

    , p_msg_index_out => l_msg_index_out);

    DBMS_OUTPUT.PUT_LINE('message is: ' || l_msg_data);

    DBMS_OUTPUT.PUT_LINE('message index is: ' || l_msg_index_out);

    END LOOP;

    /* Check if the process order goes through then it prints the success message, otherwise it

    prints failed message.*/IF l_return_status = FND_API.G_RET_STS_SUCCESS

    THEN

    dbms_output.put_line('Process Order Success ');

    ELSE

    dbms_output.put_line('Failed');

    END IF;

    END;

    Process Order Usage

    This section is intended to help the users of the process order API in identifying the required parameters for some

    common operations and to give an understanding of the business flow behind each of these operations.

    CREATE Operation

    In order to create new entities in order management using process_order API, it is necessary that the operation

    OE_GLOBALS.G_OPR_CREATE is passed alone with the necessary entity records and entity tables.

    Create an Order with one line:

    The following code snippet shows the various attributes required to create an order with one header and line

  • 8/12/2019 Oracle API

    7/17

    2/19/2014 Document Display

    https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-state=b245kblel_13 7

    --Create Header record

    --Initialize header record to missing

    l_header_rec := OE_ORDER_PUB.G_MISS_HEADER_REC;

    -- Header Attributes

    -- Required attributes (e.g. Order Type and Customer)

    l_header_rec.order_type_id := &Order Type ID;

    l_header_rec.sold_to_org_id := &Sold To Org ID;

    -- Other Attributes

    l_header_rec.transactional_curr_code :=&Trans Currency Code;

    l_header_rec.pricing_date := &Pricing Date;l_header_rec.cust_po_number := &Customer PO#;

    l_header_rec.price_list_id : = &Price List ID;

    l_header_rec.ordered_date := &Ordered Date;

    l_header_rec.shipping_method_code := &Shipping Method Code;

    l_header_rec.sold_from_org_id := &Sold from Org ID;

    l_header_rec.salesrep_id := &Sales Rep ID;

    l_header_rec.operation := OE_GLOBALS.G_OPR_CREATE;

    -- Create first line record

    l_line_tbl_index := 1;

    -- Initialize line record to missing

    l_line_tbl(l_line_tbl_index) := OE_ORDER_PUB.G_MISS_LINE_REC;

    -- Line attributes

    -- Required Attributes Inventory Item Id, Quantity and Operationl_line_tbl(l_line_tbl_index).inventory_item_id := &Inventory Item ID;

    l_line_tbl(l_line_tbl_index).ordered_quantity := &Ordered Quantity;

    l_line_tbl(l_line_tbl_index).ship_from_org_id := &Ship From Org ID;

    l_line_tbl(l_line_tbl_index).subinventory := &Subinventory Code;

    l_line_tbl(l_line_tbl_index).operation := OE_GLOBALS.G_OPR_CREATE;

    Adding a new line to an existing order

    l_line_tbl_index := 1;

    --This is to add a line to an existing order

    -- Initialize record to missingl_line_tbl(l_line_tbl_index) := OE_ORDER_PUB.G_MISS_LINE_REC;

    -- Line attributes

    -- Required Line Attributes

    l_line_tbl(l_line_tbl_index).header_id := &Order Header ID;

    l_line_tbl(l_line_tbl_index).ordered_quantity := &Ordered Quantity;

    l_line_tbl(l_line_tbl_index).inventory_item_id := &Inventory Item ID;

    -- Other line attributes

    l_line_tbl(l_line_tbl_index).ship_from_org_id := &Ship from org ID;

    l_line_tbl(l_line_tbl_index).subinventory := &Subinventory Code;

    --Operation set to Create

    l_line_tbl(l_line_tbl_index).operation := OE_GLOBALS.G_OPR_CREATE;

    IMP Note: It is not possible to insert new lines (or, process any other entity) belonging to different orders in one

    process order call

    UPDATE Operation

    In order to update the entities in order management using process_order API, it is necessary that the operation

    OE_GLOBALS.G_OPR_UPDATE is passed alone with the necessary entity records and entity tables.

    Cancelling an existing Order:

    In order to cancel an order set the cancelled_flag to Y

  • 8/12/2019 Oracle API

    8/17

    2/19/2014 Document Display

    https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-state=b245kblel_13 8

    The following sections describe the code required to cancel an order.

    --This section is used to cancel a order

    -- Initialize record to missing

    l_header_rec := OE_ORDER_PUB.G_MISS_HEADER_REC;

    l_header_rec.header_id := &Order Header ID;

    l_header_rec.cancelled_flag := 'Y';

    l_header_rec.change_reason := 'Not provided';

    l_header_rec.operation := OE_GLOBALS.G_OPR_UPDATE;

    Cancelling an existing Order Line:

    In order to cancel an order line, set the cancelled_flag to Y

    The following sections describe the code required to cancel an order line.

    --This section is used to cancel an order line

    l_line_tbl_index := 1;

    -- Initialize record to missing

    l_line_tbl(l_line_tbl_index) := OE_ORDER_PUB.G_MISS_LINE_REC;

    l_line_tbl(l_line_tbl_index).header_id := &Order Header ID;

    l_line_tbl(l_line_tbl_index).line_id := &Order Line ID;

    l_line_tbl(l_line_tbl_index).ordered_quantity := &Ordered quantity;

    l_line_tbl(l_line_tbl_index).cancelled_flag := 'Y';l_line_tbl(l_line_tbl_index).change_reason := 'Not provided';

    l_line_tbl(l_line_tbl_index).operation := OE_GLOBALS.G_OPR_UPDATE;

    Updating the Line Quantity:

    Updates or cancels a quantity on a sales Order Line

    l_line_tbl_index :=1;

    -- Changed attributes

    -- Initialize the line to missing

    l_line_tbl(l_line_tbl_index) := OE_ORDER_PUB.G_MISS_LINE_REC;

    l_line_tbl(l_line_tbl_index).ordered_quantity := &Ordered Quantity;-- Primary key of the entity i.e. the order line

    l_line_tbl(l_line_tbl_index).line_id := &Order Line ID;

    l_line_tbl(l_line_tbl_index).change_reason := &Change Reason;

    Reserve an existing order line :

    Reservation can be done by providing the reserved_quantity to some non zero value.

    l_line_tbl_index := 1;

    -- Initialize line record to missing

    l_line_tbl(l_line_tbl_index) := OE_ORDER_PUB.G_MISS_LINE_REC;

    -- Line attributesl_line_tbl(l_line_tbl_index).header_id := &Order Header ID;

    l_line_tbl(l_line_tbl_index).line_id := &Order Line ID;

    l_line_tbl(l_line_tbl_index).reserved_quantity := &Reserved Quantity;

    l_line_tbl(l_line_tbl_index).operation := OE_GLOBALS.G_OPR_UPDATE;

    Unreserve a reserved order line:

    Unreservation can be done by reducing reserved quantity or make reserved quantity to zero.

    l_line_tbl_index := 1;

    -- Initialize record to missing

  • 8/12/2019 Oracle API

    9/17

    2/19/2014 Document Display

    https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-state=b245kblel_13 9

    l_line_tbl(l_line_tbl_index) := OE_ORDER_PUB.G_MISS_LINE_REC;

    -- Line attributes

    l_line_tbl(l_line_tbl_index).header_id := &Order Header ID;

    l_line_tbl(l_line_tbl_index).line_id := &Order Line ID;

    l_line_tbl(l_line_tbl_index).reserved_quantity := 0;

    l_line_tbl(l_line_tbl_index).operation := OE_GLOBALS.G_OPR_UPDATE;

    Splitting an Order Line:

    To split an order line using Process_Order API, It is required to pass the following parameters :

    l_header_rec := OE_ORDER_PUB.G_MISS_HEADER_REC;

    l_header_rec.header_id := &Order Header ID; -- header_id of the order

    l_header_rec.operation := OE_GLOBALS.G_OPR_UPDATE;

    l_line_tbl(1) := OE_ORDER_PUB.G_MISS_LINE_REC;

    l_line_tbl(1).operation := OE_GLOBALS.G_OPR_UPDATE;

    l_line_tbl(1).split_by := &User ID; -- user_id

    l_line_tbl(1).split_action_code := 'SPLIT';

    l_line_tbl(1).header_id := &Header ID of the Order; -- header_id of the order

    l_line_tbl(1).line_id := &Line ID of the Order Line; -- line_id of the order line

    l_line_tbl(1).ordered_quantity := &New Ordered Qty; -- new ordered quantity

    l_line_tbl(1).change_reason := 'MISC'; -- change reason code

    l_line_tbl(2) := OE_ORDER_PUB.G_MISS_LINE_REC;

    l_line_tbl(2).operation := OE_GLOBALS.G_OPR_CREATE;

    l_line_tbl(2).split_by := &User ID; -- user_id

    l_line_tbl(2).split_action_code := 'SPLIT';

    l_line_tbl(2).split_from_line_id := &Line ID of the Original Line; -- line_id of original

    line

    l_line_tbl(2).inventory_item_id := &Inventory Item ID; -- inventory item id

    l_line_tbl(2).ordered_quantity := &Ordered Qty; -- ordered quantity

    In R12 out parameters are to be used separately .

    ie.,instead of x_header_rec => l_header_rec use x_header_rec => p_header_rec and so on for all other OUT

    parameters.

    --set serveroutput on

    DECLARE

    l_header_rec OE_ORDER_PUB.Header_Rec_Type;

    l_line_tbl OE_ORDER_PUB.Line_Tbl_Type;

    l_action_request_tbl OE_ORDER_PUB.Request_Tbl_Type;

    l_header_adj_tbl OE_ORDER_PUB.Header_Adj_Tbl_Type;

    l_line_adj_tbl OE_ORDER_PUB.line_adj_tbl_Type;

    l_header_scr_tbl OE_ORDER_PUB.Header_Scredit_Tbl_Type;

    l_line_scredit_tbl OE_ORDER_PUB.Line_Scredit_Tbl_Type;

    l_request_rec OE_ORDER_PUB.Request_Rec_Type ;l_return_status VARCHAR2(1000);

    l_msg_count NUMBER;

    l_msg_data VARCHAR2(1000);

    p_api_version_number NUMBER :=1.0;

    p_init_msg_list VARCHAR2(10) := FND_API.G_FALSE;

    p_return_values VARCHAR2(10) := FND_API.G_FALSE;

    p_action_commit VARCHAR2(10) := FND_API.G_FALSE;

    x_return_status VARCHAR2(1);

    x_msg_count NUMBER;

    x_msg_data VARCHAR2(100);

    p_header_rec OE_ORDER_PUB.Header_Rec_Type := OE_ORDER_PUB.G_MISS_HEADER_REC;

    p_old_header_rec OE_ORDER_PUB.Header_Rec_Type := OE_ORDER_PUB.G_MISS_HEADER_REC;

  • 8/12/2019 Oracle API

    10/17

    2/19/2014 Document Display

    https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-state=b245kblel_13 10

    p_header_val_rec OE_ORDER_PUB.Header_Val_Rec_Type := OE_ORDER_PUB.G_MISS_HEADER_VAL_REC;

    p_old_header_val_rec OE_ORDER_PUB.Header_Val_Rec_Type := OE_ORDER_PUB.G_MISS_HEADER_VAL_REC;

    p_Header_Adj_tbl OE_ORDER_PUB.Header_Adj_Tbl_Type := OE_ORDER_PUB.G_MISS_HEADER_ADJ_TBL;

    p_old_Header_Adj_tbl OE_ORDER_PUB.Header_Adj_Tbl_Type := OE_ORDER_PUB.G_MISS_HEADER_ADJ_TBL;

    p_Header_Adj_val_tbl OE_ORDER_PUB.Header_Adj_Val_Tbl_Type :=

    OE_ORDER_PUB.G_MISS_HEADER_ADJ_VAL_TBL;

    p_old_Header_Adj_val_tbl OE_ORDER_PUB.Header_Adj_Val_Tbl_Type :=

    OE_ORDER_PUB.G_MISS_HEADER_ADJ_VAL_TBL;

    p_Header_price_Att_tbl OE_ORDER_PUB.Header_Price_Att_Tbl_Type :=

    OE_ORDER_PUB.G_MISS_HEADER_PRICE_ATT_TBL;

    p_old_Header_Price_Att_tbl OE_ORDER_PUB.Header_Price_Att_Tbl_Type :=

    OE_ORDER_PUB.G_MISS_HEADER_PRICE_ATT_TBL;

    p_Header_Adj_Att_tbl OE_ORDER_PUB.Header_Adj_Att_Tbl_Type :=

    OE_ORDER_PUB.G_MISS_HEADER_ADJ_ATT_TBL;

    p_old_Header_Adj_Att_tbl OE_ORDER_PUB.Header_Adj_Att_Tbl_Type :=

    OE_ORDER_PUB.G_MISS_HEADER_ADJ_ATT_TBL;

    p_Header_Adj_Assoc_tbl OE_ORDER_PUB.Header_Adj_Assoc_Tbl_Type :=

    OE_ORDER_PUB.G_MISS_HEADER_ADJ_ASSOC_TBL;

    p_old_Header_Adj_Assoc_tbl OE_ORDER_PUB.Header_Adj_Assoc_Tbl_Type :=

    OE_ORDER_PUB.G_MISS_HEADER_ADJ_ASSOC_TBL;

    p_Header_Scredit_tbl OE_ORDER_PUB.Header_Scredit_Tbl_Type :=

    OE_ORDER_PUB.G_MISS_HEADER_SCREDIT_TBL;

    p_old_Header_Scredit_tbl OE_ORDER_PUB.Header_Scredit_Tbl_Type :=

    OE_ORDER_PUB.G_MISS_HEADER_SCREDIT_TBL;

    p_Header_Scredit_val_tbl OE_ORDER_PUB.Header_Scredit_Val_Tbl_Type :=

    OE_ORDER_PUB.G_MISS_HEADER_SCREDIT_VAL_TBL;

    p_old_Header_Scredit_val_tbl OE_ORDER_PUB.Header_Scredit_Val_Tbl_Type :=

    OE_ORDER_PUB.G_MISS_HEADER_SCREDIT_VAL_TBL;

    p_line_tbl OE_ORDER_PUB.Line_Tbl_Type := OE_ORDER_PUB.G_MISS_LINE_TBL;

    p_old_line_tbl OE_ORDER_PUB.Line_Tbl_Type := OE_ORDER_PUB.G_MISS_LINE_TBL;

    p_line_val_tbl OE_ORDER_PUB.Line_Val_Tbl_Type := OE_ORDER_PUB.G_MISS_LINE_VAL_TBL;

    p_old_line_val_tbl OE_ORDER_PUB.Line_Val_Tbl_Type := OE_ORDER_PUB.G_MISS_LINE_VAL_TBL;

    p_Line_Adj_tbl OE_ORDER_PUB.Line_Adj_Tbl_Type := OE_ORDER_PUB.G_MISS_LINE_ADJ_TBL;

    p_old_Line_Adj_tbl OE_ORDER_PUB.Line_Adj_Tbl_Type := OE_ORDER_PUB.G_MISS_LINE_ADJ_TBL;

    p_Line_Adj_val_tbl OE_ORDER_PUB.Line_Adj_Val_Tbl_Type :=

    OE_ORDER_PUB.G_MISS_LINE_ADJ_VAL_TBL;p_old_Line_Adj_val_tbl OE_ORDER_PUB.Line_Adj_Val_Tbl_Type :=

    OE_ORDER_PUB.G_MISS_LINE_ADJ_VAL_TBL;

    p_Line_price_Att_tbl OE_ORDER_PUB.Line_Price_Att_Tbl_Type :=

    OE_ORDER_PUB.G_MISS_LINE_PRICE_ATT_TBL;

    p_old_Line_Price_Att_tbl OE_ORDER_PUB.Line_Price_Att_Tbl_Type :=

    OE_ORDER_PUB.G_MISS_LINE_PRICE_ATT_TBL;

    p_Line_Adj_Att_tbl OE_ORDER_PUB.Line_Adj_Att_Tbl_Type :=

    OE_ORDER_PUB.G_MISS_LINE_ADJ_ATT_TBL;

    p_old_Line_Adj_Att_tbl OE_ORDER_PUB.Line_Adj_Att_Tbl_Type :=

    OE_ORDER_PUB.G_MISS_LINE_ADJ_ATT_TBL;

    p_Line_Adj_Assoc_tbl OE_ORDER_PUB.Line_Adj_Assoc_Tbl_Type :=

    OE_ORDER_PUB.G_MISS_LINE_ADJ_ASSOC_TBL;

    p_old_Line_Adj_Assoc_tbl OE_ORDER_PUB.Line_Adj_Assoc_Tbl_Type :=OE_ORDER_PUB.G_MISS_LINE_ADJ_ASSOC_TBL;

    p_Line_Scredit_tbl OE_ORDER_PUB.Line_Scredit_Tbl_Type :=

    OE_ORDER_PUB.G_MISS_LINE_SCREDIT_TBL;

    p_old_Line_Scredit_tbl OE_ORDER_PUB.Line_Scredit_Tbl_Type :=

    OE_ORDER_PUB.G_MISS_LINE_SCREDIT_TBL;

    p_Line_Scredit_val_tbl OE_ORDER_PUB.Line_Scredit_Val_Tbl_Type :=

    OE_ORDER_PUB.G_MISS_LINE_SCREDIT_VAL_TBL;

    p_old_Line_Scredit_val_tbl OE_ORDER_PUB.Line_Scredit_Val_Tbl_Type :=

    OE_ORDER_PUB.G_MISS_LINE_SCREDIT_VAL_TBL;

    p_Lot_Serial_tbl OE_ORDER_PUB.Lot_Serial_Tbl_Type := OE_ORDER_PUB.G_MISS_LOT_SERIAL_TBL;

    p_old_Lot_Serial_tbl OE_ORDER_PUB.Lot_Serial_Tbl_Type := OE_ORDER_PUB.G_MISS_LOT_SERIAL_TBL;

    p_Lot_Serial_val_tbl OE_ORDER_PUB.Lot_Serial_Val_Tbl_Type :=

  • 8/12/2019 Oracle API

    11/17

    2/19/2014 Document Display

    https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-state=b245kblel_13 1

    OE_ORDER_PUB.G_MISS_LOT_SERIAL_VAL_TBL;

    p_old_Lot_Serial_val_tbl OE_ORDER_PUB.Lot_Serial_Val_Tbl_Type :=

    OE_ORDER_PUB.G_MISS_LOT_SERIAL_VAL_TBL;

    p_action_request_tbl OE_ORDER_PUB.Request_Tbl_Type := OE_ORDER_PUB.G_MISS_REQUEST_TBL;

    x_header_val_rec OE_ORDER_PUB.Header_Val_Rec_Type;

    x_Header_Adj_tbl OE_ORDER_PUB.Header_Adj_Tbl_Type;

    x_Header_Adj_val_tbl OE_ORDER_PUB.Header_Adj_Val_Tbl_Type;

    x_Header_price_Att_tbl OE_ORDER_PUB.Header_Price_Att_Tbl_Type;

    x_Header_Adj_Att_tbl OE_ORDER_PUB.Header_Adj_Att_Tbl_Type;

    x_Header_Adj_Assoc_tbl OE_ORDER_PUB.Header_Adj_Assoc_Tbl_Type;

    x_Header_Scredit_tbl OE_ORDER_PUB.Header_Scredit_Tbl_Type;

    x_Header_Scredit_val_tbl OE_ORDER_PUB.Header_Scredit_Val_Tbl_Type;

    x_line_val_tbl OE_ORDER_PUB.Line_Val_Tbl_Type;

    x_Line_Adj_tbl OE_ORDER_PUB.Line_Adj_Tbl_Type;

    x_Line_Adj_val_tbl OE_ORDER_PUB.Line_Adj_Val_Tbl_Type;

    x_Line_price_Att_tbl OE_ORDER_PUB.Line_Price_Att_Tbl_Type;

    x_Line_Adj_Att_tbl OE_ORDER_PUB.Line_Adj_Att_Tbl_Type;

    x_Line_Adj_Assoc_tbl OE_ORDER_PUB.Line_Adj_Assoc_Tbl_Type;

    x_Line_Scredit_tbl OE_ORDER_PUB.Line_Scredit_Tbl_Type;

    x_Line_Scredit_val_tbl OE_ORDER_PUB.Line_Scredit_Val_Tbl_Type;

    x_Lot_Serial_tbl OE_ORDER_PUB.Lot_Serial_Tbl_Type;

    x_Lot_Serial_val_tbl OE_ORDER_PUB.Lot_Serial_Val_Tbl_Type;

    x_action_request_tbl OE_ORDER_PUB.Request_Tbl_Type;X_DEBUG_FILE VARCHAR2(500);

    l_line_tbl_index NUMBER;

    l_msg_index_out NUMBER(10);

    BEGIN

    dbms_output.enable(1000000);

    FND_GLOBAL.apps_initialize

    ( 1318

    , 21623

    , 660

    , 0

    );

    -- for 7120635MO_GLOBAL.set_policy_context('S', 204);

    --mo_global.init('ONT'); --Muti-org context setting

    OE_DEBUG_PUB.G_FILE := '';

    oe_debug_pub.debug_on;

    oe_debug_pub.initialize;

    X_DEBUG_FILE := OE_DEBUG_PUB.Set_Debug_Mode('FILE');

    oe_debug_pub.SetDebugLevel(5); -- Use 5 for the most debuging output, I warn you its a lot

    of data

    oe_debug_pub.add('Sujith START OF NEW DEBUG');

    --This is to UPDATE order line

    l_line_tbl_index :=1;

    -- Changed attributes

    l_header_rec := OE_ORDER_PUB.G_MISS_HEADER_REC;l_header_rec.header_id := 203264; --98393; -- header_id of the order

    l_header_rec.operation := OE_GLOBALS.G_OPR_UPDATE;

    l_line_tbl(l_line_tbl_index) := OE_ORDER_PUB.G_MISS_LINE_REC;

    l_line_tbl(l_line_tbl_index).operation := OE_GLOBALS.G_OPR_UPDATE;

    l_line_tbl(l_line_tbl_index).split_by := 1318; -- user_id

    l_line_tbl(l_line_tbl_index).split_action_code := 'SPLIT';

    l_line_tbl(l_line_tbl_index).header_id := 203264; --98393; -- header_id of the order

    l_line_tbl(l_line_tbl_index).line_id := 397064; --200995; -- line_id of the order line

    l_line_tbl(l_line_tbl_index).ordered_quantity := 1; --3; -- new ordered quantity

    l_line_tbl(l_line_tbl_index).change_reason := 'MISC'; -- change reason code

    l_line_tbl_index :=2;

    l_line_tbl(l_line_tbl_index ) := OE_ORDER_PUB.G_MISS_LINE_REC;

  • 8/12/2019 Oracle API

    12/17

    2/19/2014 Document Display

    https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-state=b245kblel_13 12

    l_line_tbl(l_line_tbl_index ).operation := OE_GLOBALS.G_OPR_CREATE;

    l_line_tbl(l_line_tbl_index ).split_by := 1318; -- user_id

    l_line_tbl(l_line_tbl_index ).split_action_code := 'SPLIT';

    l_line_tbl(l_line_tbl_index ).split_from_line_id := 397064; --200995; -- line_id of original

    line

    l_line_tbl(l_line_tbl_index ).inventory_item_id := 2624; --149; -- inventory item id

    l_line_tbl(l_line_tbl_index ).ordered_quantity := 3; --1; -- ordered quantity

    -- CALL TO PROCESS ORDER

    OE_ORDER_PUB.process_order (

    p_api_version_number => 1.0

    , p_init_msg_list => fnd_api.g_true

    , p_return_values => fnd_api.g_true

    , p_action_commit => fnd_api.g_false

    , x_return_status => l_return_status

    , x_msg_count => l_msg_count

    , x_msg_data => l_msg_data

    , p_header_rec => l_header_rec

    , p_line_tbl => l_line_tbl

    , p_action_request_tbl => l_action_request_tbl

    -- OUT PARAMETERS

    , x_header_rec => p_header_rec

    , x_header_val_rec => x_header_val_rec

    , x_Header_Adj_tbl => x_Header_Adj_tbl, x_Header_Adj_val_tbl => x_Header_Adj_val_tbl

    , x_Header_price_Att_tbl => x_Header_price_Att_tbl

    , x_Header_Adj_Att_tbl => x_Header_Adj_Att_tbl

    , x_Header_Adj_Assoc_tbl => x_Header_Adj_Assoc_tbl

    , x_Header_Scredit_tbl => x_Header_Scredit_tbl

    , x_Header_Scredit_val_tbl => x_Header_Scredit_val_tbl

    , x_line_tbl => p_line_tbl

    , x_line_val_tbl => x_line_val_tbl

    , x_Line_Adj_tbl => x_Line_Adj_tbl

    , x_Line_Adj_val_tbl => x_Line_Adj_val_tbl

    , x_Line_price_Att_tbl => x_Line_price_Att_tbl

    , x_Line_Adj_Att_tbl => x_Line_Adj_Att_tbl

    , x_Line_Adj_Assoc_tbl => x_Line_Adj_Assoc_tbl, x_Line_Scredit_tbl => x_Line_Scredit_tbl

    , x_Line_Scredit_val_tbl => x_Line_Scredit_val_tbl

    , x_Lot_Serial_tbl => x_Lot_Serial_tbl

    , x_Lot_Serial_val_tbl => x_Lot_Serial_val_tbl

    , x_action_request_tbl => p_action_request_tbl

    );

    dbms_output.put_line('OM Debug file: ' ||oe_debug_pub.G_DIR||'/'||oe_debug_pub.G_FILE);

    -- Retrieve messages

    FOR i IN 1 .. l_msg_count

    LOOP

    Oe_Msg_Pub.get( p_msg_index => i

    , p_encoded => Fnd_Api.G_FALSE

    , p_data => l_msg_data, p_msg_index_out => l_msg_index_out);

    DBMS_OUTPUT.PUT_LINE('message is: ' || l_msg_data);

    DBMS_OUTPUT.PUT_LINE('message index is: ' || l_msg_index_out);

    END LOOP;

    -- Check the return status

    IF l_return_status = FND_API.G_RET_STS_SUCCESS

    THEN

    dbms_output.put_line('Line Quantity Update Sucessful');

    ELSE

    dbms_output.put_line('Line Quantity update Failed');

    END IF;

    END;

  • 8/12/2019 Oracle API

    13/17

    2/19/2014 Document Display

    https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-state=b245kblel_13 13

    DELETE Operation

    In order to delete the entity record, its necessary to pass the operation like OE_GLOBALS.G_OPR_DELETE. The only

    attribute which needs to be passed is either the header id or the line id depending on the whether deletion is done for

    the order or the line. Deletes are cascaded down to the child entities. For example to delete a header record all thechild entities i.e. lines, header sales credits, header adjustments are deleted.

    Deleting the lines results in the deletion of line adjustments, line sales credits and line lot serial numbers as well.

    Deletes would also result in the deletion of any holds and attachments associated with the deleted entity and its child

    entities. The workflow status information for this entity is also purged.

    Delete Order:

    --This is to delete an order

    l_header_rec := OE_ORDER_PUB.G_MISS_HEADER_REC;

    l_header_rec.header_id := &Order Header ID;

    -- Indicate to process order that the order is to be deleted

    l_header_rec.operation := OE_GLOBALS.G_OPR_DELETE;

    Delete Line:

    -- This is to delete an order line

    l_line_tbl_index := 1;

    --This is to delete an existing order line.

    l_line_tbl(l_line_tbl_index) := OE_ORDER_PUB.G_MISS_LINE_REC;

    l_line_tbl(l_line_tbl_index).header_id :=&Order Header ID;

    l_line_tbl(l_line_tbl_index).line_id := &Order Line ID;

    l_line_tbl(l_line_tbl_index).operation := OE_GLOBALS.G_OPR_DELETE;

    Other Action Requests

    Book Order:

    Following are the details of the requests used to book the order

    request_type --> OE_GLOBALS.G_BOOK_ORDER

    Entity_code --> This should be always set to OE_GLOBALS.G_ENTITY_HEADER as booking is an order level action.Entity_id --> Header ID of the order to be booked.

    If the order is also being created in the same call to process order, then the user does not need to

    provide this value.

    l_line_tbl_index := 1;

    l_action_request_tbl(l_line_tbl_index).request_type := oe_globals.g_book_order;

  • 8/12/2019 Oracle API

    14/17

    2/19/2014 Document Display

    https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-state=b245kblel_13 14

    l_action_request_tbl(l_line_tbl_index).entity_code := oe_globals.g_entity_header;

    l_action_request_tbl(l_line_tbl_index).entity_id := ;

    Apply Hold:

    Following are the details of the requests used to apply hold to the sales Order Header or Line depending on the

    parameters passed to the Process_Order .

    request_type--> OE_GLOBALS.G_APPLY_HOLD

    Entity_code--> OE_GLOBALS.G_ENTITY_ORDER for order or OE_GLOBALS.G_ENTITY_LINE for line.

    Entity_id--> ID of the order or line to be held

    Param1 --> Hold ID to identify the type of hold that should be applied. (HOLD_ID from OE_HOLD_DEFINITIONS)

    Param2--> Hold entity code for the hold source to be created.

    C: Customer hold source

    S: Bill To or Ship To hold source

    I: Item hold source

    O: Order hold source

    W: Warehouse Hold Source

    Param3 --> Hold entity ID

    C, B, or S: for Org ID

    O: Header ID

    I: Inventory Item IDparam4--> Hold comment

    date_param1--> Hold Until Date

    parm6-param20 --> Attribute1-15 of the descriptive flex field associated with the hold source record.

    --This is to create a hold on an order header

    l_request_rec.entity_id := &Order Header ID;

    l_request_rec.entity_code := OE_GLOBALS.G_ENTITY_HEADER;

    l_request_rec.request_type := OE_GLOBALS.G_APPLY_HOLD;-- hold_id must be passed

    l_request_rec.param1 := &Hold ID;

    -- indicator that it is an order hold

    l_request_rec.param2 := 'O' ;

    -- Header ID of the order

    l_request_rec.param3 := &Order Header ID;

    l_action_request_tbl(l_line_tbl_index) := l_request_rec;

    Release Hold:

    Following are the details of the requests used to release hold from the sales Order Header or Line depending on the

    parameters passed to the Process_Order .

    request_type --> OE_GLOBALS.G_RELEASE_HOLD

    Entity_code--> OE_GLOBALS.G_ENTITY_HEADER for order or OE_GLOBALS.G_ENTITY_LINE for line.

    Entity_id --> ID of the order or line to be released from hold

    Param1--> Hold ID to specify the type of hold that is to be removed.

    Param2--> Hold entity code on the hold source associated with the hold to be released

    C: Customer hold source

    S: Bill To or Ship To hold source

    I: Item hold source

    O: Order hold source

    W: Warehouse Hold Source

  • 8/12/2019 Oracle API

    15/17

    2/19/2014 Document Display

    https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-state=b245kblel_13 15

    param3--> Hold entity ID:

    C or S : for Org ID

    O: Header ID

    I: Inventory Item ID

    param4--> Release Reason Codeparam5--> Release Comment

    -- This is to release a hold on the order

    l_request_rec.entity_id := &Order Header ID;

    l_request_rec.entity_code := OE_GLOBALS.G_ENTITY_HEADER;

    l_request_rec.request_type := OE_GLOBALS.G_RELEASE_HOLD;

    -- hold_id must be passed

    l_request_rec.param1 := &Hold ID;

    -- indicator that it is an order hold

    l_request_rec.param2 := 'O' ;

    -- Header ID of the order

    l_request_rec.param3 := &Order Header ID;

    l_request_rec.param4 :='OM_APPROVE';

    l_action_request_tbl(l_line_tbl_index) := l_request_rec;

    Sample Scripts

    Note 746783.1-Script to Create an order with one line

    Note 746796.1-Script to add a new line to an existing order

    Note 746797.1-Script to cancel an existing Order

    Note 746798.1-Script to cancel an existing Order line

    Note 746802.1- Script to update an existing Order line

    Note 746803.1-Script to reserve order line

    Note 746804.1-Script to unreserve order line

    Note 746808.1-Script to splitting An Order Line

    Note 746809.1-Script to delete an Order

    Note 746810.1-Script to delete a Line

    Note 470741.1-Script to book Order

    Note 746811.1-Script to apply Hold in a sales order

    Note 746812.1-Script to release Hold in a sales order

    Note 292743.1-Script to create an RMA

    Note 746172.1- Script to import an Order with skipped Line number

    Note 745369.1- Script to update Header details using OE_ORDER_PUB For R12

    Note 836332.1- Script To Update Order Header Using OE_ORDER_PUB. Update_Header

    Note 959783.1- How Does One Use The OE_ORDER_PUB.PROCESS_ORDER Api For Manual Freight Application at Orde

    Level?

    Note 394315.1- How Does One Add Config Items To An Existing Model Using Process_Order API ?

    Note 291055.1- Release HOLD On Item At Line Leaving the HOLD SOURCE Via Public API

    Note 333429.1- How To Import Order With Price Adjustments

    Note 364316.1- Import Credit Card Payments When Using Process_Order API

    Note 367875.1- How Does One Cancel An Order Using Process_Order API ?

    Note 372598.1- How Does One Apply Hold On The Order Using Process Order API ?

    Note 394124.1- How Does One Split An Order Line Using Order Import ?

    Note 405251.1- How Does One Update Serial Number On Existing Order Using Order Import ?

    Note 436215.1- OEOIMP: Script To Populate Order Import Interface Tables From Existing Sales Order

    https://support.oracle.com/epmos/faces/DocumentDisplay?id=436215.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=405251.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=394124.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=372598.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=367875.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=364316.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=333429.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=291055.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=394315.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=959783.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=836332.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=745369.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746172.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=292743.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746812.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746811.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=470741.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746810.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746809.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746808.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746804.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746803.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746802.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746798.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746797.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746796.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746783.1
  • 8/12/2019 Oracle API

    16/17

    2/19/2014 Document Display

    https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrl-state=b245kblel_13 16

    Note 444040.1- How does one apply a hold via Order Import on an existing order?

    Note 458752.1- How Does One Import Order Lines On Existing Internal Order Using Order Import ?

    Note 746668.1- How To Create An RMA Order That References An Existing Order?

    Note 746677.1- How To Create An Order For A Simple ATO Model?

    Note 755135.1- How to update Unit Price using API?Note 1128445.1- Need Script To Apply Hold Via Oe_order_pub.Process_order in R12

    Note 959783.1How Does One Use The OE_ORDER_PUB.PROCESS_ORDER Api For Manual Adjustment or Freight

    Application?

    == Additional Information ==

    The processing Constraint setup has a direct influence on the way the process order API works. For e.g. The

    processing constraint on reducing quantity on a booked order line, will results in an error if the Update operation is

    attempted via the Process Order API.

    RELATED DOCUMENTS

    -----------------

    Oracle Order Management Suite Implementation Manual, Volumes 1 & 2 Release 11i

    Oracle Order Management Users Guide Release 11i

    Oracle Order Management Suite API's and Open Interfaces Manual Volume 1, Release 11i

    Note 121052.1

    Still Have Questions?

    To discuss this information further with Oracle experts and industry peers, we encourage you to review, join or start

    discussion in the My Oracle Support Order Management EBS Community.

    Let us know your feedback!

    We hope you find this information useful. Our desire is to provide the right information when you need it. Please let u

    know how we are doing. To provide feedback on this note:

    1. Select the "Rate this document" link. Depending on how you are viewing the note, you will find the link on the:

    a) bottom left when viewing the note in a separate window.b) upper right when viewing the note in the My Oracle Support window.

    2. In the resulting pop-up box, enter your comments and ratings for the document.

    3. Select Send Rating.

    REFERENCES

    NOTE:746677.1- How To Create An Order via Order Import For A Simple ATO Model?

    NOTE:746783.1- Script To Create An Order With One Line using OE_ORDER_PUB.process_order API

    NOTE:746796.1- Script To Add A New Line To An Existing Order using OE_ORDER_PUB.process_order API

    NOTE:746797.1- Script To Cancel An Existing Order using OE_ORDER_PUB.process_order APINOTE:746798.1- Script To Cancel An Existing Order Line using OE_ORDER_PUB

    NOTE:746802.1- Script To Update An Existing Order Line using OE_ORDER_PUB.process_order API

    NOTE:746803.1- Script To Reserve an Order Line using OE_ORDER_PUB.process_order API

    NOTE:746668.1- How To Create An RMA Order That References An Existing Order?

    NOTE:394315.1- How Does One Add Config Items To An Existing Model Using Process_Order API ?

    NOTE:405251.1- How Does One Update Serial Number On Existing Order Using Order Import ?

    NOTE:745369.1- How Does One Update Order Header Details Using Process_Order API For R12

    NOTE:436215.1- OEOIMP: Script To Populate Order Import Interface Tables From Existing Sales Order

    NOTE:444040.1- How Does One Apply A Hold Via Order Import On An Order?

    NOTE:746172.1- How To Import Order Line using Process_Order API And Specify Line Number ?

    NOTE:470741.1- How Does One Book An Order Using Process_Order API?

    https://support.oracle.com/epmos/faces/DocumentDisplay?id=470741.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746172.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=444040.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=436215.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=745369.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=405251.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=394315.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746668.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746803.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746802.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746798.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746797.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746796.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746783.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746677.1https://communities.oracle.com/portal/server.pt/community/order_management_-_ebs/283https://support.oracle.com/epmos/faces/DocumentDisplay?id=959783.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=1128445.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=755135.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746677.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746668.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=458752.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=444040.1
  • 8/12/2019 Oracle API

    17/17

    2/19/2014 Document Display

    NOTE:743389.1- Order Management Testcase Repository Library

    NOTE:746804.1- Script To Unreserve An Order Line using OE_ORDER_PUB.process_order API

    NOTE:746808.1- Script To Split An Order Line OE_ORDER_PUB.process_order API

    NOTE:746809.1- Script To Delete An Order using OE_ORDER_PUB.process_order API

    NOTE:746810.1- Script To Delete An Order Line

    NOTE:746811.1- Script To Apply Hold to a Sales Order using OE_ORDER_PUB.process_order API

    NOTE:746812.1- Script To Release Hold In A Sales Order using OE_ORDER_PUB.process_order API

    NOTE:755135.1- How to update Unit Price using OE_ORDER_PUB API?

    NOTE:836332.1- Script To Update Order Header Using OE_ORDER_PUB.Update_Header

    NOTE:959783.1- How Does One Use The OE_ORDER_PUB.PROCESS_ORDER Api For Manual Adjustment or FreightApplication?

    NOTE:1128445.1- Need Script To Apply Hold Via Oe_order_pub.Process_order in R12

    NOTE:121052.1- Importing Booked Orders Into OM, Results in the Lines not Progressing Through Workflow

    NOTE:198900.1- Sales Order Header Information - Release 11i

    NOTE:291055.1- Release HOLD On Item At Line Leaving the HOLD SOURCE Via Public API

    NOTE:364316.1- Import Credit Card Payments When Using Process_Order API

    NOTE:367875.1- How Does One Cancel An Order Using Process_Order API ?

    NOTE:372598.1- How Does One Apply Hold On The Order Using Process Order API ?

    NOTE:292743.1- How to create an RMA via Process Order API ?

    NOTE:333429.1- How To Import Order With Price Adjustments

    NOTE:394124.1- How Does One Split An Order Line Using Order Import?

    https://support.oracle.com/epmos/faces/DocumentDisplay?id=394124.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=333429.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=292743.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=372598.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=367875.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=364316.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=291055.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=198900.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=121052.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=1128445.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=959783.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=836332.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=755135.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746812.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746811.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746810.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746809.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746808.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=746804.1https://support.oracle.com/epmos/faces/DocumentDisplay?id=743389.1