Showing posts with label Order Management. Show all posts
Showing posts with label Order Management. Show all posts

Sunday, February 27, 2022

Oracle Fusion SQL: OSQL to Extract Inventory Pending Transactions (Records stuck in Oracle inventory Interface table)

 SELECT iop.organization_code,
    iop.organization_name,
    ittv.transaction_type_name,
    flva.meaning transaction_action,
    mti.tRANSACTION_SOURCE_NAME,
    itst.transaction_source_type_name,
    mti.transaction_interface_id txn_iface_id,
    mti.transaction_header_id txn_hdr_id,
    mti.inventory_item_id inv_item_id,
    egp.item_number,
    mti.subinventory_code subinv_code,
    mti.transaction_quantity txn_qty,
    mti.transaction_uom uom,
    mti.transaction_type_id txn_typ_id,
    mti.transaction_action_id txn_act_id,
    mti.transaction_source_type_id txn_sty_id,
    mti.transaction_source_id txn_src_id,
    TO_CHAR(mti.transaction_date, 'DD-MON-YYYY HH24:MI:SS') txn_date,
    mti.source_code src_code,
    mti.process_flag pflag,
    decode(to_char(nvl(mti.process_flag, 0)),'1', 'Ready', '2', 'Not Ready', '3', 'Error', to_char(mti.process_flag) ) pflag_desc,
    mti.transaction_mode tmode,
    decode( mti.transaction_mode, '2', 'Immediate', '3', 'Background', to_char(mti.transaction_mode) ) tmode_desc,
    NVL(mti.lock_flag, 'N') lflag,
    decode(mti.lock_flag, '1', 'Locked', '2', 'Not Locked', 'Not Locked') lflag_desc,
    mti.error_code error_code,
    mti.error_explanation error_explanation
FROM fusion.inv_transactions_interface mti,
    fusion.inv_transaction_types_vl ittv,
    fusion.fnd_lookup_values_vl flva,
    fusion.inv_txn_source_types_vl itst,
    fusion.egp_system_items_b egp,
    fusion.inv_organization_definitions_v iop
WHERE 1 = 1
  AND ittv.transaction_source_type_id = itst.transaction_source_type_id
  AND mti.transaction_type_id = ittv.transaction_type_id
  AND ittv.transaction_action_id = flva.lookup_code
  AND flva.lookup_type = 'INV_TRANSACTION_ACTION'
  AND flva.enabled_flag = 'Y'
  AND iop.organization_id = egp.organization_id
  AND mti.organization_id = egp.organization_id
  AND mti.inventory_item_id = egp.inventory_item_id
  AND iop.organization_code = NVL(:p_organization_code, iop.organization_code)
  AND egp.item_number = NVL(:p_item_number, egp.item_number)
  AND mti.error_code IS NOT NULL
ORDER BY transaction_date;

Wednesday, May 9, 2018

How to Use an API to Delete An Order Level Modifier From a Sales Order


How to Use an API to Delete An Order Level Modifier From a Sales Order (Doc ID 2191611.1)


SET SERVEROUTPUT ON;

DECLARE
   /* Initialize the proper Context */
   l_org_id                                     NUMBER := 204; --ENTER VALUE
   l_application_id                             NUMBER := 660;
   l_responsibility_id                          NUMBER := 21623; --ENTER VALUE
   l_user_id                                    NUMBER := 1013419; --ENTER VALUE

   /* Initialize the record to G_MISS to enable defaulting */
   l_header_rec                                 oe_order_pub.header_rec_type := oe_order_pub.g_miss_header_rec;
   l_old_header_rec                             oe_order_pub.header_rec_type;

   l_header_adj_tbl                             oe_order_pub.header_adj_tbl_type;

   l_line_tbl                                   oe_order_pub.line_tbl_type;
   l_old_line_tbl                               oe_order_pub.line_tbl_type;

   l_action_request_tbl                         oe_order_pub.request_tbl_type;

   x_header_rec                                 oe_order_pub.header_rec_type;
   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_tbl                                   oe_order_pub.line_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;

   l_return_status                              VARCHAR2(2000);
   l_msg_count                                  NUMBER;
   l_msg_data                                   VARCHAR2(2000);

   l_line_cnt                                   NUMBER := 0;
   l_top_model_line_index                       NUMBER;
   l_link_to_line_index                         NUMBER;
   x_debug_file                                 VARCHAR2(100);
BEGIN
   /* Turn on DBMS Output */
   DBMS_OUTPUT.enable(1000000);

   DBMS_OUTPUT.put_line('Executing Process Order API for R12');

   mo_global.init('ONT');
   mo_global.set_policy_context('S'
                              , l_org_id);
   fnd_global.apps_initialize(l_user_id
                            , l_responsibility_id
                            , l_application_id
                            , NULL);

   oe_msg_pub.initialize;
   oe_debug_pub.initialize;
   oe_debug_pub.setdebuglevel(5);
   x_debug_file                                                                 := oe_debug_pub.set_debug_mode('FILE');
   DBMS_OUTPUT.put_line('START OF NEW DEBUG');

   l_header_rec                                                                 := oe_order_pub.g_miss_header_rec;
   l_header_rec.header_id                                                       := 431776; --ENTER VALUE
   l_header_rec.operation                                                       := oe_globals.g_opr_update;
   l_header_adj_tbl(1)                                                          := oe_order_pub.g_miss_header_adj_rec;
   l_header_adj_tbl(1).operation                                                := oe_globals.g_opr_delete;
   l_header_adj_tbl(1).header_id                                                := 431776; --ENTER VALUE
   l_header_adj_tbl(1).price_adjustment_id                                      := 3994447; --ENTER VALUE

   /* Call the Process Order API with Header Rec and Line Tbl */
   oe_order_pub.process_order(p_api_version_number                      => 1
                            , p_org_id                                  => l_org_id
                            , -- For R12
                             p_init_msg_list                            => fnd_api.g_true
                            , p_return_values                           => fnd_api.g_true
                            , p_action_commit                           => fnd_api.g_true
                            , x_return_status                           => l_return_status
                            , x_msg_count                               => l_msg_count
                            , x_msg_data                                => l_msg_data
                            , p_action_request_tbl                      => l_action_request_tbl
                            , p_header_rec                              => l_header_rec
                            , p_old_header_rec                          => l_old_header_rec
                            , p_header_adj_tbl                          => l_header_adj_tbl
                            , p_line_tbl                                => l_line_tbl
                            , p_old_line_tbl                            => l_old_line_tbl
                            , x_header_rec                              => x_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                                => x_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                      => x_action_request_tbl);
   DBMS_OUTPUT.put_line(   'OM Debug file:'
                        || oe_debug_pub.g_dir
                        || '/'
                        || oe_debug_pub.g_file);

   IF l_return_status = 'S'
   THEN
      DBMS_OUTPUT.put_line('CONGRATULATIONS! !');
      DBMS_OUTPUT.put_line('Commit Issued ... !');
      COMMIT;
   ELSE
      DBMS_OUTPUT.put_line('Hard Luck! Error(s) while attempting to delete Order Level Modifier');
   END IF;

   FOR i IN 1 .. oe_msg_pub.g_msg_tbl.COUNT
   LOOP
      DBMS_OUTPUT.put_line(apps.oe_msg_pub.get(i
                                             , 'F'));
   END LOOP;

   oe_msg_pub.g_msg_tbl.delete;

   /* Turn off OM Debug */
   oe_debug_pub.debug_off;
END;
/

How Can One Create a Price Adjustment for More than One Line on a Return Order Using Process Order API

Metalink Ref: How Can One Create a Price Adjustment for More than One Line on a Return Order Using Process Order API? (Doc ID 2113054.1)

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;
   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 := 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(1013419
                            , 21623
                            , 660); -- user_id , resp_id,resp_appl_id
   mo_global.init('ONT'); --Muti-org context setting
   mo_global.set_policy_context('S'
                              , 204); -- org_id
   --
   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 debugging output
   oe_debug_pub.add('START OF NEW DEBUG');
   --
   --This is to UPDATE order line
   l_line_tbl_index                                                             := 1;
   --
   -- Changed attributes Header
   l_header_rec                                                                 := oe_order_pub.g_miss_header_rec;
   l_header_rec.header_id                                                       := 398596; -- pass header_id of the Sales Order
   l_header_rec.operation                                                       := oe_globals.g_opr_update;
   --
   -- Changed attributes Lines
   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).header_id                                       := 398596; -- pass header id of sales order
   l_line_tbl(l_line_tbl_index).line_id                                         := 694738; -- pass line_id of the Sales Order Line
   --
   -- Adjustments attributes for Line
   l_line_adj_tbl(1)                                                            := oe_order_pub.g_miss_line_adj_rec;
   l_line_adj_tbl(1).header_id                                                  := 398596; -- header_id of the Sales Order
   l_line_adj_tbl(1).line_id                                                    := 694738; -- line_id of the Sales Order Line
   l_line_adj_tbl(1).list_header_id                                             := 238373; -- list_header_id of adjustment
   l_line_adj_tbl(1).list_line_id                                               := 304906; -- list_line_id of adjustment
   l_line_adj_tbl(1).automatic_flag                                             := 'N';
   l_line_adj_tbl(1).list_line_type_code                                        := 'DIS';
   l_line_adj_tbl(1).arithmetic_operator                                        := 'NEWPRICE';
   l_line_adj_tbl(1).operand                                                    := -50.00;
   l_line_adj_tbl(1).applied_flag                                               := 'Y';
   l_line_adj_tbl(1).updated_flag                                               := 'Y';
   l_line_adj_tbl(1).line_index                                                 := 1;
   --l_line_adj_tbl(1).charge_type_code := <>;
   l_line_adj_tbl(1).modifier_level_code                                        := 'LINE';
   l_line_adj_tbl(1).operation                                                  := oe_globals.g_opr_create;
   --

   l_line_tbl_index                                                             := 2;
   --
   -- Changed attributes Header
   l_header_rec                                                                 := oe_order_pub.g_miss_header_rec;
   l_header_rec.header_id                                                       := 398596; -- pass header_id of the Sales Order
   l_header_rec.operation                                                       := oe_globals.g_opr_update;
   --
   -- Changed attributes Lines
   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).header_id                                       := 398596; -- pass header_id of sales order
   l_line_tbl(l_line_tbl_index).line_id                                         := 694739; -- pass line_id of the Sales Order Line
   --
   -- Adjustments attributes for Line
   l_line_adj_tbl(2)                                                            := oe_order_pub.g_miss_line_adj_rec;
   l_line_adj_tbl(2).header_id                                                  := 398596; -- header_id of the Sales Order
   l_line_adj_tbl(2).line_id                                                    := 694739; -- line_id of the Sales Order Line
   l_line_adj_tbl(2).list_header_id                                             := 238373; -- list_header_id of adjustment
   l_line_adj_tbl(2).list_line_id                                               := 304906; -- list_line_id of adjustment
   l_line_adj_tbl(2).automatic_flag                                             := 'N';
   l_line_adj_tbl(2).list_line_type_code                                        := 'DIS';
   l_line_adj_tbl(2).arithmetic_operator                                        := 'NEWPRICE';
   l_line_adj_tbl(2).operand                                                    := 50.00;
   l_line_adj_tbl(2).applied_flag                                               := 'Y';
   l_line_adj_tbl(2).updated_flag                                               := 'Y';
   l_line_adj_tbl(2).line_index                                                 := 1;
   --l_line_adj_tbl(2).charge_type_code := <>;
   l_line_adj_tbl(2).modifier_level_code                                        := 'LINE';
   l_line_adj_tbl(2).operation                                                  := oe_globals.g_opr_create;
   --
   --
   -- 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_line_adj_tbl                            => l_line_adj_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('Unit Selling Price Update Successful');
   ELSE
      DBMS_OUTPUT.put_line('Unit Selling Price Failed');
   END IF;
END;
/

How to Re-Price an Existing Order Using Process Order API

Ref: How to Re-Price an Existing Order Using Process Order API (Doc ID 2212209.1)

SET SERVEROUTPUT ON

DECLARE
   /* Initialize the proper Context */
   l_org_id                                     NUMBER := 204;
   l_application_id                             NUMBER := 660;
   l_responsibility_id                          NUMBER := 21623;
   l_user_id                                    NUMBER := 1013618;

   /* Initialize the record to G_MISS to enable defaulting */
 l_header_rec                                 oe_order_pub.header_rec_type := oe_order_pub.g_miss_header_rec;
 l_old_header_rec            oe_order_pub.header_rec_type;
 l_line_tbl                  oe_order_pub.line_tbl_type;
 l_old_line_tbl              oe_order_pub.line_tbl_type;
 l_action_request_tbl        oe_order_pub.request_tbl_type;

 x_header_rec                oe_order_pub.header_rec_type;
 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_tbl                  oe_order_pub.line_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;

   l_return_status                              VARCHAR2(2000);
   l_msg_count                                  NUMBER;
   l_msg_data                                   VARCHAR2(2000);
   l_file_val                                   VARCHAR2(1000);
   l_msg_index_out                              NUMBER(10); --Added --this statement

   l_line_cnt                                   NUMBER := 0;
   l_top_model_line_index                       NUMBER;
   l_link_to_line_index                         NUMBER;
BEGIN
   /* Set the appropriate context */
   fnd_global.apps_initialize(l_user_id
                            , l_responsibility_id
                            , l_application_id
                            , NULL);
   mo_global.init('ONT'); --Muti-org context setting
   mo_global.set_policy_context('S'
                              , 204); -- org_id

   /* Turn on OM Debug */
   oe_debug_pub.debug_on;
   oe_debug_pub.initialize;
   oe_debug_pub.setdebuglevel(5);

   l_file_val    := oe_debug_pub.set_debug_mode('FILE');
   DBMS_OUTPUT.put_line(   'Debug log is stored at: '
                        || l_file_val);

   oe_debug_pub.add('START OF NEW DEBUG'); --Added this statement

   /* Populate the required Header Fields */
   l_header_rec.operation  := oe_globals.g_opr_update;
   l_header_rec.header_id:= 262917; -- header_id of order to reprice
 

   /* Populate the Actions Table for Header */
   l_action_request_tbl(1).request_type := oe_globals.g_price_order;
   l_action_request_tbl(1).entity_code:= oe_globals.g_entity_header;
   l_action_request_tbl(1).entity_id:= l_header_rec.header_id;

   /* Call the Process Order API with Header Rec and Line Tbl */
   oe_order_pub.process_order(

   p_api_version_number         => 1.0
 , p_org_id                     => l_org_id     -- For R12
 , p_init_msg_list              => fnd_api.g_true
 , p_return_values              => fnd_api.g_true
 , p_action_commit              => fnd_api.g_true
 , x_return_status              => l_return_status
 , x_msg_count                  => l_msg_count
 , x_msg_data                   => l_msg_data
 , p_action_request_tbl         => l_action_request_tbl
 , p_header_rec                 => l_header_rec
 , p_old_header_rec             => l_old_header_rec
 , p_line_tbl                   => l_line_tbl
 , p_old_line_tbl               => l_old_line_tbl
 , x_header_rec                 => x_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                   => x_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         => x_action_request_tbl);

   -- 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
   /*added statements above */
   /* Display the status and Order Number if successfully created */
   IF l_return_status = 'S'
   THEN
      DBMS_OUTPUT.put_line(   'Order Number : '
                           || x_header_rec.order_number
                           || '; Header Id : '
                           || x_header_rec.header_id);
   ELSE
      DBMS_OUTPUT.put_line('Error(s) while repricing Order.');
      DBMS_OUTPUT.put_line(   l_msg_count
                           || ';'
                           || l_msg_data);
   END IF;

   /* Display the messages in the message stack */
   FOR i IN 1 .. oe_msg_pub.g_msg_tbl.COUNT
   LOOP
      DBMS_OUTPUT.put_line(apps.oe_msg_pub.get(i
                                             , 'F'));
   END LOOP;

   /* Turn off OM Debug */
   oe_debug_pub.debug_off;
   oe_msg_pub.g_msg_tbl.delete;
END;
/