Error in cancelling sales order line using process order API

Hi,
I have created a sales order which is in booked status. I want to cancel the order line . when I am running the concurrent request I am getting the following error message.I am using the process order API to perform this operation.
API Error Message You are not allowed to update Inventory Item because:
line has been booked
API Error Message You are not allowed to update Line Type because:
Line is Booked
Can anyone help.
thanks
Ashwini

Hi,
What is the application release?
What concurrent program you are running? Is it a custom or seeded one? And, what is the API name?
Please see if these docs are applicable.
Unable To Manual Mass Update Items For Multiple Booked Sales Order Lines [ID 887905.1]
Cannot Update Ordered Item To Related Item On Booked Sales Order Line [ID 298796.1]
Thanks,
Hussein

Similar Messages

  • Unreservation Issue while SO line split using Process Order API

    Hi,
    We are facing unreservation issue in the parent line after sales order line split for partially reserved line scenario usiing oe_order_pub.process_order API in 11.5.10 instance.
    Standard Proces:
    Orlder line - 10 quantities
    Partially Reserved with 5 Quantities
    Splitting the SO line using Process order API
    Parent line with 5 quantities - Reserved
    Child Line with 5 quantities - Unreserved
    Our Issue
    Orlder line - 10 quantities
    Partially Reserved with 5 Quantities
    Splitting the SO line using Process order API
    Parent line with 5 quantities - Unreserved
    We are not facing this issue when try to split the SO line from the Appllication.
    Please find the script below which we are using for this line split scenario. The same script was working fine in our instance and not working after applying patch for Minimum Baseline Patch Requirements for Extended Support on Oracle E-Business Suite 11.5.10 (Note 883202.1).
    I tried to find the differences between the APIs before and after patching and found these list of bug fixes in our API in the patched instances.
    1.7503298
    2.8339692
    3.8479339
    4.9347399
    Please help us in this issue.
    DECLARE
    p_header_id NUMBER :=836084;-- Sales order header id
    p_line_id NUMBER :=2560509;-- sales order line id
    p_item_id NUMBER :=405477;--item id in sales order line
    p_ord_qty NUMBER :=5;-- Total ordered quantity
    p_reserv_qty NUMBER :=2;--partially reserved quantity
    ln_counter NUMBER := 0;
    lv_return_status VARCHAR2 (1);
    lv_msg_data VARCHAR2 (2000);
    ln_msg_count NUMBER := 0;
    ln_increment NUMBER := 0;
    ln_inv_item_id NUMBER;
    ln_list_line_id NUMBER;
    ln_service_duration NUMBER := 0;
    lv_duration_uom VARCHAR2 (10);
    lv_duration_uom_desc VARCHAR2 (10);
    l_line_tbl oe_order_pub.line_tbl_type := oe_order_pub.g_miss_line_tbl;
    lr_header_rec oe_order_pub.header_rec_type;
    lr_header_val_rec oe_order_pub.header_val_rec_type;
    lt_header_adj_tbl oe_order_pub.header_adj_tbl_type;
    lt_header_adj_val_tbl oe_order_pub.header_adj_val_tbl_type;
    lt_header_price_att_tbl oe_order_pub.header_price_att_tbl_type;
    lt_header_adj_att_tbl oe_order_pub.header_adj_att_tbl_type;
    lt_header_adj_assoc_tbl oe_order_pub.header_adj_assoc_tbl_type;
    lt_header_scredit_tbl oe_order_pub.header_scredit_tbl_type;
    lt_header_scredit_val_tbl oe_order_pub.header_scredit_val_tbl_type;
    lt_line_tbl oe_order_pub.line_tbl_type;
    lt_line_val_tbl oe_order_pub.line_val_tbl_type;
    lt_line_adj_tbl oe_order_pub.line_adj_tbl_type;
    lt_line_adj_val_tbl oe_order_pub.line_adj_val_tbl_type;
    lt_line_price_att_tbl oe_order_pub.line_price_att_tbl_type;
    lt_line_adj_att_tbl oe_order_pub.line_adj_att_tbl_type;
    lt_line_adj_assoc_tbl oe_order_pub.line_adj_assoc_tbl_type;
    lt_line_scredit_tbl oe_order_pub.line_scredit_tbl_type;
    lt_line_scredit_val_tbl oe_order_pub.line_scredit_val_tbl_type;
    lt_lot_serial_tbl oe_order_pub.lot_serial_tbl_type;
    lt_lot_serial_val_tbl oe_order_pub.lot_serial_val_tbl_type;
    lt_action_request_tbl oe_order_pub.request_tbl_type;
    lv_errmsg VARCHAR2(4000);
    v_user_id NUMBER:=fnd_profile.value('USER_ID');
    v_resp_id NUMBER:=fnd_profile.value('RESP_ID');
    v_resp_appl_id NUMBER:=fnd_profile.value('RESP_APPL_ID');
    v_security_group_id NUMBER:=fnd_profile.value('SECURITY_GROUP_ID');
    v_server_id NUMBER:=fnd_profile.value('SERVER_ID');
    v_login_id NUMBER:=fnd_profile.value('LOGIN_ID');
    l_file_val Varchar2(200);
    BEGIN
    --- Apps Initialize
    fnd_global.apps_initialize(v_user_id,v_resp_id,v_resp_appl_id,v_security_group_id,v_server_id);
    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_action_code := 'SPLIT';
    l_line_tbl(1).header_id := p_header_id;
    l_line_tbl(1).line_id := p_line_id;
    l_line_tbl(1).ordered_quantity := p_reserv_qty ;
    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).header_id := p_header_id;
    l_line_tbl(2).split_from_line_id := p_line_id;
    l_line_tbl(2).inventory_item_id := p_item_id ;
    l_line_tbl(2).ordered_quantity := (p_ord_qty-p_reserv_qty) ;
    --Debug File creation
    oe_debug_pub.debug_on;
    oe_debug_pub.initialize;
    l_file_val := OE_DEBUG_PUB.Set_Debug_Mode('FILE'); -- add l_file_val Varchar2(200); in declare section
    oe_Debug_pub.setdebuglevel(5);
    dbms_output.put_line(' Log File : '||l_file_val);
    dbms_output.put_line('Log File name '||OE_DEBUG_PUB.G_DIR||'/'||OE_DEBUG_PUB.G_FILE);
    -- Start Process Order API for Splitting the line
    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_false,
    p_action_commit => fnd_api.g_true,
    x_return_status => lv_return_status,
    x_msg_count => ln_msg_count,
    x_msg_data => lv_msg_data,
    p_line_tbl => l_line_tbl,
    x_header_rec => lr_header_rec,
    x_header_val_rec => lr_header_val_rec,
    x_header_adj_tbl => lt_header_adj_tbl,
    x_header_adj_val_tbl => lt_header_adj_val_tbl,
    x_header_price_att_tbl => lt_header_price_att_tbl,
    x_header_adj_att_tbl => lt_header_adj_att_tbl,
    x_header_adj_assoc_tbl => lt_header_adj_assoc_tbl,
    x_header_scredit_tbl => lt_header_scredit_tbl,
    x_header_scredit_val_tbl => lt_header_scredit_val_tbl,
    x_line_tbl => lt_line_tbl,
    x_line_val_tbl => lt_line_val_tbl,
    x_line_adj_tbl => lt_line_adj_tbl,
    x_line_adj_val_tbl => lt_line_adj_val_tbl,
    x_line_price_att_tbl => lt_line_price_att_tbl,
    x_line_adj_att_tbl => lt_line_adj_att_tbl,
    x_line_adj_assoc_tbl => lt_line_adj_assoc_tbl,
    x_line_scredit_tbl => lt_line_scredit_tbl,
    x_line_scredit_val_tbl => lt_line_scredit_val_tbl,
    x_lot_serial_tbl => lt_lot_serial_tbl,
    x_lot_serial_val_tbl => lt_lot_serial_val_tbl,
    x_action_request_tbl => lt_action_request_tbl
    IF lv_return_status = fnd_api.g_ret_sts_success
    THEN
    COMMIT;
    DBMS_OUTPUT.put_line('SUCCESS');
    ELSE
    IF ln_msg_count > 0
    THEN
    FOR i IN 1 .. ln_msg_count
    LOOP
    --fnd_file.put_line (fnd_file.log,  fnd_msg_pub.get (i, 'F') );
    DBMS_OUTPUT.put_line('ERROR'||fnd_msg_pub.get (i, 'F'));
    END LOOP;
    END IF;
    END IF;
    EXCEPTION
    WHEN OTHERS THEN
    DBMS_OUTPUT.put_line('EXCEPTION'||' '||SQLERRM);
    END;
    Thanks,
    Kavin
    Edited by: 897922 on Nov 17, 2011 11:51 PM

    Suggest that you first enter the transaction manually via the order entry form and adjustments. Then query the oe_price_adustments table and determine the values you need to send in to get the results you want.
    -Bob

  • Need to pass in line charges when cancel order line using API?

    Hi,
    Do we need to pass in line charges (charges, freight cost) when cancel order line using Oe_Order_Pub.Process_Order API?

    I found the answer to my own question:
    Yes it is a supported feature. It is documented on the following page:
    http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/desktop/NativeApp lication.html#event:invoke
    When you subscribe to the invoke event of the NativeApplication it will subsequently dispatch the event and you read the e.arguments Array object to get the startup arguments passed into the native application.

  • Can anyone tell me how to insert the new sales order lines using API.

    Hi,
    I am trying to Insert new sales order lines using oe_order_pub.Process_Order API, but i am unable to insert.
    Help me on this.
    Thanks in Adavance
    Shravan Kumar.

    Hi,
    Have you checked this link?
    http://download-west.oracle.com/docs/cd/B25516_08/current/acrobat/115omapi.zip
    it has extensive information on OM APIs
    Regards
    Prashant Pathak

  • Creating Sales Order with credit card using Process Order API

    Hi All,
    When trying to create sales order with payment type as Credit card using Order data storing into staging tables and then calling Order Import Concurrent Program. The order is being created in ENTERED state.
    While trying to passing the same details to Process Order API to create Sales Order, we are getting following error:
    Unable to set up a Credit Card Bank Account for the Customer.
    Credit Card information on the order is not valid.
    Why getting this error while using Process Order API.
    Regards,
    KANN.

    When using the API, are you trying to create the order as booked using the booked flag or the book action?  I would recommend using the action if you are not. To troubleshoot, I would try the API without booking and then use the following article to determine the issue:
    Unable To Setup A Credit Card Bank Account For The Customer. CC Information On The Order Is Not Valid (Doc ID 1450936.1)

  • How can we tell the client that use process order or production order (proc

    Dear guru,
    My question on what reason we can tell the client that u have to use process order or production order .
    On what scenario we suggest client that use process order or production order

    Hi,
    Process manufacturing is primarily designed for the chemical, pharmaceutical, food and beverage industries as well as the batch-oriented electronics industry
    Discrete manufacturing is u201Cthe production of distinct items such as automobiles, appliances, or computers,u201D whereas process manufacturing covers u201Cproduction that adds value by mixing, separating, forming, and/or performing chemical reactions. It may be done in either batch or continuous mode.u201D
    Letu2019s think about what your company manufactures. Does it require mixing chemicals? If so, you may need an ERP system that does things like calculate ingredient quantities.
    If your company assembles products from many component parts, youu2019ll require discrete manufacturing functionality
    Other approach:
    If the finish good cannot return back to its basic components, your manufacturing is Process. For instance, the finish good is a can of soda. It cannot return back to its basic components such as carbonated water, potassium benzoate, aspartame, citric acid, and other ingredients. But if the finish good is car or computer, your manufacturing process is Discrete because it can be disassembled and the parts, to a large extent, can be returned to stock. Therefore Bill of Material (BOM) of discrete manufacturing consists of component parts for assembly while Process manufacturing consist of formulas, recipes and other ingredients
    Process manufacturing is scalable. If a formula calls for 1,000 pounds of cake flour, but you only have 500 pounds, you can still bake cakesu2014just not as many. Conversely, in discrete manufacturing, one missing part means waiting for it before the finished assembly unit can start rolling off the production line
    The obligatory requisite for process manufacturing is Lot Potency and Shelf Life where as discrete manufacturing values Serial Numbers, ECNu2019s and assembles.
    If it is discrete manufacturing ---go for Production order
    If it is process manufacturing ---go for process order
    thanks and regards
    Venkat V

  • Error:Assign handling Unit from one Process order to another process order

    Hi Experts,
    I am facing different issues in assigning handling unit from one process order to another.
    Business process:
    1. Two similar Process Orders are existing in the system
    2. Delivery is created for first process order using LP10 for one or more components
    3. TO is created in foreground using VL06P
    4. TO is confirmed by providing in stock available Handling Unit (HU) / storage Unit details Using LT12
    5. Customized transaction is used to reassign newly created HU (created in previous step) from first process order to second process order. As a result many steps are performed in background for delinking the HU from first process order to second process order (including creation of different TOs)
    I am facing different issues in the process:
    1. Sometimes while confirming the TO in step 4: error is received as "Reservation item 0065 with material 4013959300300 does not exist" OR "Reservation item with material does not exist"
    2. If the TO is confirmed in step 4. I am facing error in step 5 as "Warehouse number  does not exist (new selection required)"
    Both these errors are standard errors and I could not find much information on them in SCN also.
    If anyone can throw light on any of them then it would be great.
    Please let me know if any additional information is required.
    Thanks
    Harsh Aggarwal

    Hi Manish
    Thanks for your response. Actually, the customized program is used only in fifth step and not till TO confirmation so that error is not related to Customized program. However, in some cases I am able to do the confirmation but the error is received in 5th step i.e. Warehouse number  does not exist (new selection required)"
    Any further guidance you can provide. I will ask ABAP to check the customized program but the error seems to be a standard error.

  • Sales order number in process order

    Hello gurus,
    Is it not possible to have  a particular sales order consume a PIR  and have that sales order number reflected in the process order (The process ord which is converted from the plnd order which is a result of MRP run after sales order consumes PIR)...
    Thanks and regards

    Dear,
    If your material has strategy type as MTS then its not possible to allocate the PIR to a particular Sales Order in the Process Order, Sales Order can be included in planning by combining strategies but having a link is quite difficult.
    Thanks & Regards,
    Vijaya Bhaskar A

  • How to create Handling Unit using Process Order no. & Packing Instruction

    Hi experts,
    Please guide me how to create Handling Unit using Process Order number & Packing Instruction reference?Noramlly this is done using standard transaction 'COWBPACK'.
    ANY FUNCTION MODULE OR BAPI TO DO THIS.
    if any solution please explain with proper example..
    Thanks In advance
    Thanks,
    Yogesh

    Hi experts,
    Please guide me how to create Handling Unit using Process Order number & Packing Instruction reference?Noramlly this is done using standard transaction 'COWBPACK'.
    ANY FUNCTION MODULE OR BAPI TO DO THIS.
    if any solution please explain with proper example..
    Thanks In advance
    Thanks,
    Yogesh

  • Multi Plnd Order to Single Process Order

    We have implemented Process Industry in our organisation (PP-PI).
    Can we convert MULTIPLE planned order to SINGLE process order ? How?
    If 'No' then what is the reason behind it?
    Chintan Patel

    Thank you Mr. Shiva & Mr. Vittal for prompt reply.
    But going furhter in the scenario as under:
    1) FERT, Strategy: 20 Make-to-Order
        Ind/Collective: 2 Collective Only,
        MRP Type: M0,
        Lot Size: MB,
        Procurement: Inhouse Production
       FERT has BOM which include HALB, VERP
       HALB has BOM which include ROH & VERP
    2) Sales Order Entered
        Line: 10  FERT: 600000673    Qty: 2000
        Line: 20  FERT: 600000673    Qty:      3  (free qty)
    3) Run MPS by MD50 on Sales Order, Line Item 10
        Result: Planned Order for line item 10 is generated
    4) Run MRP by MD41 on FERT 600000673
        Result: Second Planned for line item 20 is also generated
    Requirement:
    Can we obtain only one planned order for both line items as FERT are same for both lines ?
    Chintan Patel, Gujarat

  • Query on open planned orders details with process order GR details

    Dear Experts,
    I need to create a query in SQ01 where the requirement is as given below,
    Query output should display the open planned orders  (Planned orders which is not converted to process order details) details for a material like Planned order number, Planned order quantity, Start date, Finish date and also  the details of the list of process orders created for the same material with its details like PO qty, GR qty, Basic start date, Finish date, Actual finish date, BOM Component material codes, component quantity.
    But i tried creating this query by joing the tables PLAF+ AFPO+AUFK+ AFKO+RESB . My input parameter will be the Material Number for which Planned order and Process orders are being created.
    But i am unable to generate the output when i create a query by joining these tables
    Is it possible to obtain the output for open planned order details and process order details in a single query ?
    I am failing in my repeated attempts
    Please provide your suggestions for developing this query
    Regards,
    J.Balakrishnan

    Dear Bala,
    as alternative , for use a query report and not a custom abap report, you can try to read data from MRP tables MDKP and MDTB . In these one tables you can find both elements (planned order and production orders) for to start to research all details that you need.
    You can also use MDTB-DELKZ to filter only planned order (PA) and Production order (FE).
    With the number order you can read the RESB table in order to define components details.
    With this table would you the advantage to have always the opened orders.
    If the following table are empty you should make a little customizing modification so that once MRP run will write them.
    Give me feedback if i have been useful for you.
    Daniele

  • Planned order conversion to Process Order and Stock Transport Order

    Hello Friends,
    Help me to setup the below scenario
    We have an requirement wherein MAT1 can be inhouse produced or can also get stock from other plant via stock transport order.
    For which in Material master I have configured
    MRP 2 view
    Procuremrent Type - X
    Special Procurement - 40 (wherin the splly plant is maintained)
    MRP 3 view
    Strategy group - 40 (as it is planning with final assembly)
    But when i run MRP system created Planed orders for PIRs. Selecting Planned Order conversion only Purchase req tab is available we do not have an option to convert to production order.
    Kindly help me correcting the settings, so that i should be in a position to convert planned order either to process order or Stock transport Purchase requisition.
    Thanks and Regards,
    Chandra

    Hi Chandra,
    Stock transfer is only possible with procurement type 'F'. when you take spl.procurement type 40, its a combination of F(procurement type) and U (Spl.procurement). it will over write the procurement type ('X' in your case) in material master. that is the reason u r getting only pur req.
    if you know the proportion quantity i.e how much inhouse and how much stock transport, then use quota arrangement.
    or
    don't use any spl procurement key. define the materials in both the plants. when converting planned order to pur req. manually assign supplying plant and item category 'U'. try this.
    Thanks & regards
    Dilip

  • Unable to cancel sales order line using API

    Hi,
    After running the below API script I am getting the error message as
    Error Message: FND FND_AS_UNEXPECTED_ERROR N PKG_NAME OE_Order_PVT N
    PROCEDURE_NAME Process_Order N ERROR_TEXT ORA-01403: no data found
    Help me out to fix the issue.
    Please find the code below :
    create or replace procedure xxso_line_cancel
    is
    l_user_id NUMBER;
    l_resp_id NUMBER;
    l_appl_id NUMBER;
    l_header_rec_in oe_order_pub.header_rec_type;
    l_line_tbl_in oe_order_pub.line_tbl_type;
    l_action_request_tbl_in oe_order_pub.request_tbl_type;
    l_header_rec_out oe_order_pub.header_rec_type;
    l_line_tbl_out oe_order_pub.line_tbl_type;
    l_header_val_rec_out oe_order_pub.header_val_rec_type;
    l_header_adj_tbl_out oe_order_pub.header_adj_tbl_type;
    l_header_adj_val_tbl_out oe_order_pub.header_adj_val_tbl_type;
    l_header_price_att_tbl_out oe_order_pub.header_price_att_tbl_type;
    l_header_adj_att_tbl_out oe_order_pub.header_adj_att_tbl_type;
    l_header_adj_assoc_tbl_out oe_order_pub.header_adj_assoc_tbl_type;
    l_header_scredit_tbl_out oe_order_pub.header_scredit_tbl_type;
    l_header_scredit_val_tbl_out oe_order_pub.header_scredit_val_tbl_type;
    l_line_val_tbl_out oe_order_pub.line_val_tbl_type;
    l_line_adj_tbl_out oe_order_pub.line_adj_tbl_type;
    l_line_adj_val_tbl_out oe_order_pub.line_adj_val_tbl_type;
    l_line_price_att_tbl_out oe_order_pub.line_price_att_tbl_type;
    l_line_adj_att_tbl_out oe_order_pub.line_adj_att_tbl_type;
    l_line_adj_assoc_tbl_out oe_order_pub.line_adj_assoc_tbl_type;
    l_line_scredit_tbl_out oe_order_pub.line_scredit_tbl_type;
    l_line_scredit_val_tbl_out oe_order_pub.line_scredit_val_tbl_type;
    l_lot_serial_tbl_out oe_order_pub.lot_serial_tbl_type;
    l_lot_serial_val_tbl_out oe_order_pub.lot_serial_val_tbl_type;
    l_action_request_tbl_out oe_order_pub.request_tbl_type;
    l_chr_program_unit_name VARCHAR2 (100);
    l_ret_status VARCHAR2 (1000) := NULL;
    l_msg_count NUMBER := 0;
    l_msg_data VARCHAR2 (2000);
    l_api_version NUMBER := 1.0;
    CURSOR c_so_details
    IS
    SELECT ol.line_number, ol.shipment_number, ol.header_id, ol.line_id, ol.flow_status_code
    FROM
    oe_order_headers_all oh,
    oe_order_lines_all ol
    WHERE
    ol.header_id = oh.header_id
    AND ol.flow_status_code IN ('AWAITING_SHIPPING','ENTERED')
    AND oh.flow_status_code IN ('BOOKED', 'ENTERED')
    and oh.header_id = 34756
    and line_number=1;
    begin
    fnd_global.apps_initialize ( user_id => 1257 ,resp_id => 21623 , resp_appl_id => 660);
    mo_global.set_policy_context('S',122);
    mo_global.init('ONT');
    FOR i IN c_so_details
    LOOP
    l_line_tbl_in (1) := oe_order_pub.g_miss_line_rec;
    l_line_tbl_in (1).line_id := i.line_id;
    l_line_tbl_in (1).ordered_quantity := 0;
    l_line_tbl_in (1).cancelled_quantity := 4;
    l_line_tbl_in (1).cancelled_flag := 'Y';
    l_line_tbl_in (1).change_reason := '1'; --Administrative Reason
    l_line_tbl_in (1).change_comments := 'Cancel Order Line with reference to ticket#000000';
    l_line_tbl_in (1).operation := oe_globals.g_opr_update;
    oe_msg_pub.delete_msg;
    oe_order_pub.process_order
    (p_api_version_number => l_api_version,
    p_init_msg_list => fnd_api.g_true,
    p_return_values => fnd_api.g_true,
    p_action_commit => fnd_api.g_true,
    p_line_tbl => l_line_tbl_in,
    x_header_rec => l_header_rec_out,
    x_header_val_rec => l_header_val_rec_out,
    x_header_adj_tbl => l_header_adj_tbl_out,
    x_header_adj_val_tbl => l_header_adj_val_tbl_out,
    x_header_price_att_tbl => l_header_price_att_tbl_out,
    x_header_adj_att_tbl => l_header_adj_att_tbl_out,
    x_header_adj_assoc_tbl => l_header_adj_assoc_tbl_out,
    x_header_scredit_tbl => l_header_scredit_tbl_out,
    x_header_scredit_val_tbl => l_header_scredit_val_tbl_out,
    x_line_tbl => l_line_tbl_out,
    x_line_val_tbl => l_line_val_tbl_out,
    x_line_adj_tbl => l_line_adj_tbl_out,
    x_line_adj_val_tbl => l_line_adj_val_tbl_out,
    x_line_price_att_tbl => l_line_price_att_tbl_out,
    x_line_adj_att_tbl => l_line_adj_att_tbl_out,
    x_line_adj_assoc_tbl => l_line_adj_assoc_tbl_out,
    x_line_scredit_tbl => l_line_scredit_tbl_out,
    x_line_scredit_val_tbl => l_line_scredit_val_tbl_out,
    x_lot_serial_tbl => l_lot_serial_tbl_out,
    x_lot_serial_val_tbl => l_lot_serial_val_tbl_out,
    x_action_request_tbl => l_action_request_tbl_out,
    x_return_status => l_ret_status,
    x_msg_count => l_msg_count,
    x_msg_data => l_msg_data
    commit;
    l_msg_data := NULL;
    IF l_ret_status <> 'S'
    THEN
    FOR iindx IN 1 .. l_msg_count
    LOOP
    l_msg_data := l_msg_data || ' ' || oe_msg_pub.get (iindx);
    END LOOP;
    DBMS_OUTPUT.put_line ('Return Status: ' || l_ret_status);
    DBMS_OUTPUT.put_line ('Error Message: ' || l_msg_data);
    ELSE
    DBMS_OUTPUT.put_line ('Return Status: ' || l_ret_status);
    DBMS_OUTPUT.put_line ('Error Message: ' || l_msg_data);
    END IF;
    END LOOP;
    END;

    Hi,
    After running the below API script I am getting the error message as
    Error Message: FND FND_AS_UNEXPECTED_ERROR N PKG_NAME OE_Order_PVT N
    PROCEDURE_NAME Process_Order N ERROR_TEXT ORA-01403: no data found
    Help me out to fix the issue.
    Please find the code below :
    create or replace procedure xxso_line_cancel
    is
    l_user_id NUMBER;
    l_resp_id NUMBER;
    l_appl_id NUMBER;
    l_header_rec_in oe_order_pub.header_rec_type;
    l_line_tbl_in oe_order_pub.line_tbl_type;
    l_action_request_tbl_in oe_order_pub.request_tbl_type;
    l_header_rec_out oe_order_pub.header_rec_type;
    l_line_tbl_out oe_order_pub.line_tbl_type;
    l_header_val_rec_out oe_order_pub.header_val_rec_type;
    l_header_adj_tbl_out oe_order_pub.header_adj_tbl_type;
    l_header_adj_val_tbl_out oe_order_pub.header_adj_val_tbl_type;
    l_header_price_att_tbl_out oe_order_pub.header_price_att_tbl_type;
    l_header_adj_att_tbl_out oe_order_pub.header_adj_att_tbl_type;
    l_header_adj_assoc_tbl_out oe_order_pub.header_adj_assoc_tbl_type;
    l_header_scredit_tbl_out oe_order_pub.header_scredit_tbl_type;
    l_header_scredit_val_tbl_out oe_order_pub.header_scredit_val_tbl_type;
    l_line_val_tbl_out oe_order_pub.line_val_tbl_type;
    l_line_adj_tbl_out oe_order_pub.line_adj_tbl_type;
    l_line_adj_val_tbl_out oe_order_pub.line_adj_val_tbl_type;
    l_line_price_att_tbl_out oe_order_pub.line_price_att_tbl_type;
    l_line_adj_att_tbl_out oe_order_pub.line_adj_att_tbl_type;
    l_line_adj_assoc_tbl_out oe_order_pub.line_adj_assoc_tbl_type;
    l_line_scredit_tbl_out oe_order_pub.line_scredit_tbl_type;
    l_line_scredit_val_tbl_out oe_order_pub.line_scredit_val_tbl_type;
    l_lot_serial_tbl_out oe_order_pub.lot_serial_tbl_type;
    l_lot_serial_val_tbl_out oe_order_pub.lot_serial_val_tbl_type;
    l_action_request_tbl_out oe_order_pub.request_tbl_type;
    l_chr_program_unit_name VARCHAR2 (100);
    l_ret_status VARCHAR2 (1000) := NULL;
    l_msg_count NUMBER := 0;
    l_msg_data VARCHAR2 (2000);
    l_api_version NUMBER := 1.0;
    CURSOR c_so_details
    IS
    SELECT ol.line_number, ol.shipment_number, ol.header_id, ol.line_id, ol.flow_status_code
    FROM
    oe_order_headers_all oh,
    oe_order_lines_all ol
    WHERE
    ol.header_id = oh.header_id
    AND ol.flow_status_code IN ('AWAITING_SHIPPING','ENTERED')
    AND oh.flow_status_code IN ('BOOKED', 'ENTERED')
    and oh.header_id = 34756
    and line_number=1;
    begin
    fnd_global.apps_initialize ( user_id => 1257 ,resp_id => 21623 , resp_appl_id => 660);
    mo_global.set_policy_context('S',122);
    mo_global.init('ONT');
    FOR i IN c_so_details
    LOOP
    l_line_tbl_in (1) := oe_order_pub.g_miss_line_rec;
    l_line_tbl_in (1).line_id := i.line_id;
    l_line_tbl_in (1).ordered_quantity := 0;
    l_line_tbl_in (1).cancelled_quantity := 4;
    l_line_tbl_in (1).cancelled_flag := 'Y';
    l_line_tbl_in (1).change_reason := '1'; --Administrative Reason
    l_line_tbl_in (1).change_comments := 'Cancel Order Line with reference to ticket#000000';
    l_line_tbl_in (1).operation := oe_globals.g_opr_update;
    oe_msg_pub.delete_msg;
    oe_order_pub.process_order
    (p_api_version_number => l_api_version,
    p_init_msg_list => fnd_api.g_true,
    p_return_values => fnd_api.g_true,
    p_action_commit => fnd_api.g_true,
    p_line_tbl => l_line_tbl_in,
    x_header_rec => l_header_rec_out,
    x_header_val_rec => l_header_val_rec_out,
    x_header_adj_tbl => l_header_adj_tbl_out,
    x_header_adj_val_tbl => l_header_adj_val_tbl_out,
    x_header_price_att_tbl => l_header_price_att_tbl_out,
    x_header_adj_att_tbl => l_header_adj_att_tbl_out,
    x_header_adj_assoc_tbl => l_header_adj_assoc_tbl_out,
    x_header_scredit_tbl => l_header_scredit_tbl_out,
    x_header_scredit_val_tbl => l_header_scredit_val_tbl_out,
    x_line_tbl => l_line_tbl_out,
    x_line_val_tbl => l_line_val_tbl_out,
    x_line_adj_tbl => l_line_adj_tbl_out,
    x_line_adj_val_tbl => l_line_adj_val_tbl_out,
    x_line_price_att_tbl => l_line_price_att_tbl_out,
    x_line_adj_att_tbl => l_line_adj_att_tbl_out,
    x_line_adj_assoc_tbl => l_line_adj_assoc_tbl_out,
    x_line_scredit_tbl => l_line_scredit_tbl_out,
    x_line_scredit_val_tbl => l_line_scredit_val_tbl_out,
    x_lot_serial_tbl => l_lot_serial_tbl_out,
    x_lot_serial_val_tbl => l_lot_serial_val_tbl_out,
    x_action_request_tbl => l_action_request_tbl_out,
    x_return_status => l_ret_status,
    x_msg_count => l_msg_count,
    x_msg_data => l_msg_data
    commit;
    l_msg_data := NULL;
    IF l_ret_status <> 'S'
    THEN
    FOR iindx IN 1 .. l_msg_count
    LOOP
    l_msg_data := l_msg_data || ' ' || oe_msg_pub.get (iindx);
    END LOOP;
    DBMS_OUTPUT.put_line ('Return Status: ' || l_ret_status);
    DBMS_OUTPUT.put_line ('Error Message: ' || l_msg_data);
    ELSE
    DBMS_OUTPUT.put_line ('Return Status: ' || l_ret_status);
    DBMS_OUTPUT.put_line ('Error Message: ' || l_msg_data);
    END IF;
    END LOOP;
    END;

  • How to cancel a Move Order line using API

    Hi
    I have a requirement, where I have to cancel Move order lines.
    At times, multiple Move order lines are getting created for the same Sales order line.
    Even after the Sales Order line is shipped and closed, the move order line is still open and it also has a corresponding pending transaction in mtl_material_transactions_temp table.
    I came across INV_MOVE_ORDER_PUB.process move order line API.
    how do I use it to cancel the move order line. Any sample codes would be highly welcome.
    Thanks

    Finally, found an alternate solution.
    used the following code.
    ===================================
    SET serveroutput on size 1000000
    DECLARE
    l_return_status VARCHAR2(100);
    l_msg_count NUMBER;
    l_msg_data VARCHAR2(2000);
    l_msg_index NUMBER;
    l_user_id NUMBER;
    l_resp_id NUMBER;
    l_appl_id NUMBER;
    l_org_id NUMBER := &org_id;
    l_move_order_line_id NUMBER := &mo_line_id ;
    BEGIN
    SELECT user_id
    INTO l_user_id
    FROM fnd_user
    WHERE user_name = 'PRAWILNSON';
    SELECT responsibility_id
    ,application_id
    INTO l_resp_id
    ,l_appl_id
    FROM fnd_responsibility_vl
    WHERE responsibility_name = 'Order Management Super User';
    FND_GLOBAL.apps_initialize (l_user_id, l_resp_id, l_appl_id);
    MO_GLOBAL.set_policy_context ('S', l_org_id);
    MO_GLOBAL.init;
    DBMS_OUTPUT.put_line ('Calling INV_MO_BACKORDER_PVT to Backorder MO');
    DBMS_OUTPUT.put_line ('===============================');
    inv_mo_backorder_pvt.backorder (p_line_id => l_move_order_line_id
    ,x_return_status => l_return_status
    ,x_msg_count => l_msg_count
    ,x_msg_data => l_msg_data);
    DBMS_OUTPUT.put_line ('Return Status is : '|| l_return_status);
    -- Check Return Status
    IF l_return_status = fnd_api.g_ret_sts_success THEN
    DBMS_OUTPUT.put_line ('Successfully BackOrdered the Move Order Line');
    COMMIT;
    ELSE
    DBMS_OUTPUT.put_line ('Could not able to Back Order Line Due to Following Reasons' );
    ROLLBACK;
    FOR j IN 1 .. l_msg_count LOOP
    FND_MSG_PUB.get(p_msg_index => j
    ,p_encoded => fnd_api.g_false
    ,p_data => l_msg_data
    ,p_msg_index_out => l_msg_index);
    DBMS_OUTPUT.put_line ('Error Message is : '|| l_msg_data);
    END LOOP;
    END IF;
    END;
    /

  • Need to report on sales order lines using specific pricing modifier

    Is there a report I can run for a specific modifier number that will give me all the sales order lines that were adjusted using that pricing modifier?

    Use oe_price_adjustments table and link that to the qp_list_headers and lines to get the details of the modifiers.
    Thanks
    Nagamohan

Maybe you are looking for

  • E-mail blocking does not appear to be working

    A person I normally email has had their address book spammed so I am getting emails from them with questionable links.  While Verizon has been sending the emails to my spam box instead of my inbox - I did using blocking to block the email address as

  • Cannot encrypt Password in MDSS file...

    Hi All, Can in  mdss.ini file we encrypt the password for repository with user id other than Admin? issue is i change the password in console for Admin and then try to login datamanager with Admin user id ,but it fails saying Invalid login credential

  • Email using VB

    I just want to be able to email jpegs I just exported from indesign I have a script that will do the emailing but it does not work from in Indesign. I can call the other script but it is still using indesign and there for does not work. I want it to

  • How to integrate Jboss seam frame work with Jdeveloper 11

    hi Really i don't know how to integrate Jboss seam frame work with JDeveloper, actually my current project implementation was started with Netbeans, but i am planning to suggest my customer , use JDeveloper. please provide the solution are any inform

  • HT204382 Error when saving a video from smilebox. Quick Time Error?

    I tried to save a video "name.mov" from smilebox. Once directly after installing quicktime pro it works, now no more. Recording the video is stopped before end of video. Any solutions?