Issue in Transact Move order while updating serial number

Hi All,
We need to perform sales order issue of items present in particular subinventory.
I am successful in creating sales order having one item .
I did the pick release of the order using the api ,wsh_picking_batches_pub.create_batch and wsh_picking_batches_pkg.submit_release_request to release the batch.
A move order got created , now I need to allocate the serial number for processing the move order,I used the below script to update the line record with incoming start and end serial number.
But the api is throwing error .
DECLARE
-- Common Declarations
   l_api_version      NUMBER                                 := 1.0;
   l_init_msg_list    VARCHAR2 (2)                          := fnd_api.g_true    ;
   l_return_values    VARCHAR2 (2)                         := fnd_api.g_false;
   l_commit           VARCHAR2 (2)                         := fnd_api.g_false;
   x_return_status    VARCHAR2 (2);
   x_msg_count        NUMBER                                 := 0;
   x_msg_data         VARCHAR2 (255);
   -- WHO columns
   l_user_id          NUMBER                                 := -1;
   l_resp_id          NUMBER                                 := -1;
   l_application_id   NUMBER                                 := -1;
   l_row_cnt          NUMBER                                 := 1;
   l_user_name        VARCHAR2 (30)                          := 'OPERATIONS';
   l_resp_name        VARCHAR2 (30)          := 'MFG_AND_DIST_SUPER_USER_APS';
   -- API specific declarations
   l_header_id        NUMBER                                 := 0;
   l_trohdr_rec       inv_move_order_pub.trohdr_rec_type;
   l_trohdr_val_rec   inv_move_order_pub.trohdr_val_rec_type;
   l_trolin_tbl       inv_move_order_pub.trolin_tbl_type;
   l_trolin_val_tbl   inv_move_order_pub.trolin_val_tbl_type;
   x_trolin_tbl       inv_move_order_pub.trolin_tbl_type;
   x_trolin_val_tbl   inv_move_order_pub.trolin_val_tbl_type;
   x_trohdr_rec       inv_move_order_pub.trohdr_rec_type;
   x_trohdr_val_rec   inv_move_order_pub.trohdr_val_rec_type;
-- Cursor to load Move Order Headers
-- CURSOR c_mo_hdrs IS
-- SELECT * FROM my_custom_move_order_hdrs ;
BEGIN
   fnd_global.apps_initialize (5939, 50625, 20003);
   mo_global.init ('INV');
   -- call API to create move order header
   DBMS_OUTPUT.put_line
                   ('=======================================================');
   DBMS_OUTPUT.put_line ('Calling INV_MOVE_ORDER_PUB.Get_Move_Order API');
   inv_move_order_pub.get_move_order (p_api_version_number      => l_api_version,
                                      p_init_msg_list           => l_init_msg_list,
                                      p_return_values           => l_return_values,
                                      x_return_status           => x_return_status,
                                      x_msg_count               => x_msg_count,
                                      x_msg_data                => x_msg_data,
                                      p_header_id               => 7360068,
                                      p_header                  => NULL,
                                      x_trohdr_rec              => l_trohdr_rec,
                                      x_trohdr_val_rec          => l_trohdr_val_rec,
                                      x_trolin_tbl              => l_trolin_tbl,
                                      x_trolin_val_tbl          => l_trolin_val_tbl
   DBMS_OUTPUT.ENABLE ();
   DBMS_OUTPUT.put_line
                    ('=======================================================');
   DBMS_OUTPUT.put_line ('Return Status: ' || x_return_status);
   IF (x_return_status <> fnd_api.g_ret_sts_success)
   THEN
      DBMS_OUTPUT.put_line ('Error Message :' || x_msg_data);
   END IF;
   -- Print the Move Order Header/Lines to be processed
   IF (x_return_status = fnd_api.g_ret_sts_success)
   THEN
      DBMS_OUTPUT.put_line (   'Header :'
                            || l_trohdr_rec.header_id
                            || ' '
                            || l_trohdr_rec.request_number
                            || ' '
                            || l_trohdr_rec.date_required
                            || ' '
                            || l_trohdr_rec.from_subinventory_code
                            || ' '
                            || l_trohdr_rec.header_status
                            || ' '
                            || l_trohdr_rec.organization_id
                            || ' '
                            || l_trohdr_rec.status_date
                            || ' '
                            || l_trohdr_rec.to_subinventory_code
                            || ' '
                            || l_trohdr_rec.transaction_type_id
                            || ' '
                            || l_trohdr_rec.move_order_type
                            || ' '
                            || l_trohdr_rec.operation
      l_trohdr_rec.from_subinventory_code := 'CustRet';
      --l_trohdr_rec.to_subinventory_code := 'Staging';
      l_trohdr_rec.operation := inv_globals.g_opr_update;
      DBMS_OUTPUT.put_line (   'Header Update :'
                            || l_trohdr_rec.header_id
                            || ' '
                            || l_trohdr_rec.from_subinventory_code
                            || ' '
                            || l_trohdr_rec.to_subinventory_code
                            || ' '
                            || l_trohdr_rec.operation
      FOR i IN 1 .. l_trolin_tbl.COUNT
      LOOP
         DBMS_OUTPUT.put_line (   'Line '
                               || i
                               || ': '
                               || l_trolin_tbl (i).line_id
                               || ' '
                               || l_trolin_tbl (i).line_number
                               || ' '
                               || l_trolin_tbl (i).line_status
                               || ' '
                               || l_trolin_tbl (i).organization_id
                               || ' '
                               || l_trolin_tbl (i).inventory_item_id
                               || ' '
                               || l_trolin_tbl (i).from_subinventory_code
                               || ' '
                               || l_trolin_tbl (i).to_subinventory_code
                               || ' '
                               || l_trolin_tbl (i).quantity
                               || ' '
                               || l_trolin_tbl (i).status_date
                               || ' '
                               || l_trolin_tbl (i).uom_code
                               || ' '
                               || l_trolin_tbl (i).operation
         l_trolin_tbl (i).from_subinventory_code := 'CustRet';
         --l_trolin_tbl (i).to_subinventory_code := 'Staging';
         --l_trolin_tbl (i).inventory_item_id := 19128;
         l_trolin_tbl (i).serial_number_start := '356030032497361';
         l_trolin_tbl (i).serial_number_end := '356030032497361';
         --l_trolin_tbl(i).quantity       := l_trolin_tbl(i).quantity
         l_trolin_tbl (i).operation := inv_globals.g_opr_update;
         DBMS_OUTPUT.put_line (   'Line Updated'
                               || i
                               || ': '
                               || l_trolin_tbl (i).line_id
                               || ' '
                               || l_trolin_tbl (i).from_subinventory_code
                               || ' '
                               || l_trolin_tbl (i).to_subinventory_code
                               || ' '
                               || l_trolin_tbl (i).serial_number_start
                               || ' '
                               || l_trolin_tbl (i).serial_number_end
                               || ' '
                               || l_trolin_tbl (i).operation
      END LOOP;
   END IF;
   DBMS_OUTPUT.put_line
                    ('=======================================================');
   -- call API to create move order header
   DBMS_OUTPUT.put_line
                    ('=======================================================');
   DBMS_OUTPUT.put_line ('Calling INV_MOVE_ORDER_PUB.Process_Move_Order API');
   inv_move_order_pub.process_move_order
                                       (p_api_version_number      => l_api_version,
                                        p_init_msg_list           => l_init_msg_list,
                                        p_return_values           => l_return_values,
                                        p_commit                  => l_commit,
                                        x_return_status           => x_return_status,
                                        x_msg_count               => x_msg_count,
                                        x_msg_data                => x_msg_data,
                                        p_trohdr_rec              => l_trohdr_rec,
                                        p_trohdr_val_rec          => l_trohdr_val_rec,
                                        p_trolin_tbl              => l_trolin_tbl,
                                        p_trolin_val_tbl          => l_trolin_val_tbl,
                                        x_trohdr_rec              => x_trohdr_rec,
                                        x_trohdr_val_rec          => x_trohdr_val_rec,
                                        x_trolin_tbl              => x_trolin_tbl,
                                        x_trolin_val_tbl          => x_trolin_val_tbl
   DBMS_OUTPUT.put_line
                    ('=======================================================');
   DBMS_OUTPUT.put_line ('Return Status: ' || x_return_status);
   IF (x_return_status <> fnd_api.g_ret_sts_success)
   THEN
      DBMS_OUTPUT.put_line ('Error Message :' || x_msg_data);
      ROLLBACK;
     ELSE
     COMMIT;
   END IF;
   DBMS_OUTPUT.put_line
                    ('=======================================================');
-- END LOOP;
EXCEPTION
   WHEN OTHERS
   THEN
      DBMS_OUTPUT.put_line ('Exception Occured :');
      DBMS_OUTPUT.put_line (SQLCODE || ':' || SQLERRM);
      DBMS_OUTPUT.put_line
                   ('=======================================================');
END;
Error Log
=======================================================
Calling INV_MOVE_ORDER_PUB.Get_Move_Order API
=======================================================
Return Status: S
Header :7360068 7360067 15-JUL-13  7 281 15-JUL-13   3
Header Update :7360068 CustRet  UPDATE
Line 1: 6730069 1 7 281 19119  Staging 1 15-JUL-13 UN
Line Updated1: 6730069 CustRet Staging 356030032497361 356030032497361 UPDATE
=======================================================
=======================================================
Calling INV_MOVE_ORDER_PUB.Process_Move_Order API
Inv Item Id19119
Old Inv Item Id19119
Inv Item Id-356030032497361
Item Id
Org Id281
Serial Number356030032497361
=======================================================
Return Status: E
Error Message :INV_INV_INVALID_ATTRIBUTE_N_ATTRIBUTE_Start serial number
Please help to solve the issue.
Thanks,
Shruti K. Nayak

Hello Ganesh,
Hope you have passes this issue.
I am in the same boat, I need to find out the APIs to update the serial numbers on order at the time of allocation/transact move order step.
Could you please help me with the process/steps/sample code involved in this.
Thanks in advance!
Raj

Similar Messages

  • Transact move order API for serial contril item in 10.5.10.2

    Hello Friends ,
    I need a Help from you , I am badly got struck up. I need to the transact move order part of O2C Cycle Using APIs.
    I Could complete the flow upto transact move orders, there i got struck up. Here i need to pass the serial numbers as some of the Items are serialized items.
    Can you plz suggest me.
    Its in Very Urgent.
    i am using version 11.5.10.2
    Regards
    Ganesh

    Hello Ganesh,
    Hope you have passes this issue.
    I am in the same boat, I need to find out the APIs to update the serial numbers on order at the time of allocation/transact move order step.
    Could you please help me with the process/steps/sample code involved in this.
    Thanks in advance!
    Raj

  • How to add new line in transact move order line

    Hi,
    i am able to update locaotr in Transact move order.
    But i want to add two locators for the same line.
    I tried to insert one more record in data base, but getting error unique index error.
    so how can we add new line in transact move order line .
    please help to slove this isse.
    Thanks In Advance
    Venu.

    Hi,
    the fact that your question is posted in Order Management section, does the move order automatically generated by OM?
    nevertheless, i don't think you should (or allowed, in this case) to add a new line in transact move order. Transact move order only queries (not create records) the move order lines eligible to allocate and transact.
    So, I don't see why you need to add a new line in transact move order.
    You can, however, add a new line in the allocation of the lines, where for instance, you need to have half of the line allocated to one locator, and the other half to another locator
    Thanks

  • Back order line in transact move order form , drived the inventory negative

    Hi,
    I had problem with transacting some lines in several move orders (it was stuck and giving error each time I tried to transact or delete from view update allocation –> delete line)
    In order to cancel these lines to proceed the manufacturing process I back ordered those lines by:
    Inventory super user - > move orders - > transact move order - > tools - > back order line
    Note that the move orders type was Manufacturing Pick
    Now I noticed that this drives the WIP subinv Negative for those items .
    So what is the problem and how can I solve it?
    Thank you
    Edited by: Ahmed.Abbas on Apr 16, 2011 2:39 AM

    hi,
    The problem was in the interface managers (Material transaction , Move transaction ) were inactive , i launched them
    Review note 141493.1 in metalink to know how.
    I also deleted the pending transactions with errors from mtl_material_transactions_temp and mtl_transaction_lots_temp ( the items were lot control ) .
    Thats all :)

  • After Transact Move Order the Supply/Demand Type Disappears in INVDVDSD

    1. SR#: 5474007.993
    2. URGENT Response Needed? (vs. the normal 48 hour or less reply time): Yes
    3. Customer: SIPA S.P.A.
    4. Oracle Apps Version: 11.5.9
    5. Error(s):None
    6. Problem Description/Question:
    1. A WIP job is creates and decriments the Available Quantity; but not the
    Current On-hand in the Supply/Demand Detail form.
    When a pick release is performed, they do not see the WIP job in the
    Supply/Demand Detail form and the Current On-hand does not change.
    2. After transact move order the supply/demand type disappear, available
    quantity at the top right side of the form increases, but there is no line with
    demand identifier wip discrete job = 12615.
    See: "ELTERM_SUPPLYDEMAND_after_patch.doc" at:
    http://gtcr.oracle.com/gtcr-dir/gtcr_12930/5474007.993/
    Is It the intended functionality?
    7. Steps taken to debug issue:
    web-iv "INVDVDSD pick release discrete job"
    Located several bugs:
    Bug 4885821 SCREEN VIEW SUPPLY/DEMAND ITEM NOT CORRECT
    BUG: 2991666 SUPPLY/DEMAND DETAIL FORM (INVDVDSD) DOES NOT
    SHOW ITEMS ON MOVE ORDERS
    BUG: 3671489 SUPPLY/DEMAND INQUIRY FOR ATP ONLY
    SUBINVENTORY INCLUDES NONATP DISCRETE JOBS
    Bug:3517095 MRP:ATP INQUIRY FROM WIP SHOWS WRONG RESULT
    However; none seem to provide a definitive explanation.
    Message was edited by:
    Bob Marchant

    Thx a lot for ur help dr.
    I have activated the material transaction interface and now the stock quantity has decreased.
    I just wish to confirm some points in the creation of the new Order Type.
    I have done the following setups:
    Order Category: Mixed
    Transaction type code: Order
    Fulfillment Flow: Order Flow - Generic
    Line workflow assignment: BO Line - Inventory Interface
    Default return line type: Credit Only Line
    Default order line type: BO Line - Inventory Interface
    Plz confirm if the setups parameters are ok especially the Default return line type: Credit Only Line
    Thanks a lot dr.

  • PGI Exit to update serial number from Transfer order

    HI Experts,
    I would need to update serial number in the outbound delivery while PGI from transfer order created for same delivery.
    I found lot many BADI and form exit. But did not find any internal table in the exit where I can update serial number.
    Please give your suggestions to solve this problem.
    Thanks in advance for quick response.
    Regards
    Anutosh

    I don't think that it is possible in standard.

  • How to restrict Sales Order LOV in Transact Move Orders

    Hello
    We would like to restrict LOV in the Transact Move Orders screen to only those orders that were created in that specific Operating Unit. Also, we would like to control the LOV for Release Rules to a specific OU.
    I believe the LOVs for both these screens pull from MTL_SALES_ORDERS. Therefore, I guess we would need to create a Value Set of type Table, value will be SEGMENT1 (Sales Orders) but unsure about the where condition.
    Any help would be appreciated.
    Sanjib

    Sanjib
    Release Rules: Why don't you use the SRS version if pick releasing rather than the screen. Ofcourse you lose some flexibility to enter order number and customer information. If screen is a must you can take the LOV from the existing form and create a new record group in the new form instance trigger. Add this peice to the lov sql to control the pick release rules result:
    (select 1 from org_organization_definitions cust_org
    where org.organization_id=cust_org.organization_id
    and operating_unit=FND_PROFILE.VALUE('ORG_ID'))
    This org is mtl_parmeters table used in LOV.
    2. Transact Move Orders: Instead of changing the LOV and playing with the Sales Order Flexfield, you can use the inventory organization security to control who can do a transaction. This will not change the LOV but definitely will control the access to the records after you have queried. As you know this is inventory or warehouse function not the OE function.
    You can try one idea though:
    Segment2 is order_type which is OU specific. You can create value set that picks the LOV from the order types table for a specific OU, assign that to the segment2 and create a security rule. This rule will have include and exclude rules. You include all the Order types that are in a specific OU and assign that rule to the resp of that OU where move order is transacted. This will limit the LOV of the order types to only those that are availble for that resp. I have not tried this but give it a shot.
    Thanks
    Nagamohan

  • Material Movement using BAPI with serial number.

    Hello,
    I am currently doing material movement using BAPI with serial number management, however in some case it works fine and in some cases it given and error message E213(IO). Unable to find the reason, when simulated the same it works fine for 200 serial numbers and gives error when going above 200 serial number.  The confusion is some times it works fine for 3000 serial number as well.
    Tried finding the reasion on every possible site. No results.
    Thanks in advance for some solution.

    Hello,
    I am currently doing material movement using BAPI with serial number management, however in some case it works fine and in some cases it given and error message E213(IO). Unable to find the reason, when simulated the same it works fine for 200 serial numbers and gives error when going above 200 serial number.  The confusion is some times it works fine for 3000 serial number as well.
    Tried finding the reasion on every possible site. No results.
    Thanks in advance for some solution.

  • Updating serial number single edition app?

    Hello,
    SO I designed an app for a client. They wanted to use single edition. I built the app out and put in the serial number from adobe. After building out the app and testing it we realized we needed to make some changes. SO the changes have been made. Everything is finalized and approved. I went to rebuild the app. I can't, it needs an updated serial number. Ok, not a problem...I asked this question on this forum earlier and was told to contact tech support and they would handle this.  They haven't helped at all. They said that the single edition doesn't support updating an app. They said that we need to use the professional edition. Look, I understand why they don't let people constantly update the single edition app. But we haven't even published this app to the Apple store yet. We built a test app and upon realizing we needed to fix a few things, want to just simply update it so we can actually publish it. Everybody we talked to today has nothing to offer in terms of help.
    We called the sales phone number. They have no idea what is going on. They don't even know the cost of the professional Edition. We ask them for a page where we can look at pricing. Oh guess what, that page doesn't exist yet. I guess they haven't gotten around to having a page where people can compare pricing options.
    The client is getting frustrated and so am I. Can anyone help me contact someone who knows what they are talking about as far as reissuing a serial number for a product that hasn't even been used to publish an app in the app store yet?
    And yes, I know that the CC subscribtion makes more sense. I didnt make that call. The client did. He made it based on the non-help of the sales team at Adobe when he decided to make this app. Just looking for a little help from anybody so we can wrap this project up.
    I have already suggested the next time that he join the CC. That doesnt help us right now.
    Thanks.

    Hi 5rockets I've PM you with more details

  • Updated serial number and it needs the previous serial number. I don't have that because this is the first light room I have.

    Hi I just bought an Adobe photoshop lightroom 5 from amazon. It just came in the mail, and I am trying to install it. What I am having problem is the serial number. As I put the serial number in it says that this is an updated serial number and it needs the previous serial number. I don't have that because this is the first light room I have.

    You purchased the wrong license. You should have purchased Lightroom at the full price. I don't know what the Amazon price is, but Adobe sells it for $149. You will have to contact Amazon and see if there is any way you can exchange for the right license.

  • API to update a allocation and transact move orders.

    Hi All,
    This is for R12 in INV org (NON WMS enabled). Is there a way to update the move order allocation for a pick wave to update the picked quantity and set the missing quantity action to Cycle Count?
    Thanks
    Amit

    We have exact the same requirement here with serial controlled items.
    But you can refer to note 269144.1 firstly.

  • How to update Serial Number from Work Order to Sales order in MTO flow

    Helo Experts,
    I have a requirement to update automatically the Serial number in Make to Order flow, from the Work order to the sales order and then to delivery.
    In fact the flow is the following, when raising the sales order we don't know the SN, it will create a Work order with stock type E, when work order is released a Serial Number is assigned to the material created. After Goods receipt of WO, We need to have the SN updated in the sales order and then in the delivery.
    I tried with the parameters of Serial number profile, i was not able to update from WO to Sales Order.
    DO you have any idea how this requirement could be fullfiled? is it possible in standard?
    Thanks

    I don't think that it is possible in standard.

  • Sales Pick Move Order Allocation Update via Program

    Hi,
    I am trying to update the allocation qty of a Move Order, that is in Allocated status, programmatically. Move Order of type Sales Order Pick.
    Can you pls let me know, is there any private API available to perform this activity or steps to achieve this functionality?
    Thanks,
    Gowri

    can i know what xactly u need. will u make it little bit clear pls

  • Enhancement during creation of outbound delivery to update serial number

    Dear ABAPers,
    Is there any Enhancement during creation of outbound delivery to update the serial number.
    My Requirement is In the VL10B transaction Outbound delivery will be created for the Purchase Order. During this time i want to update the serial number in the Outbound Delivery.
    Any Replies.....
    Thanks & Regards,
    Ashok kumar.
    Edited by: M Ashok kumar on Jul 22, 2010 6:41 AM

    hi
    check INVOICE_UPDATE
    Thanks
    Edited by: saurabhmani on Jul 22, 2010 3:00 PM

  • Goods Movement - Supress/Deactivate Automatic Serial Number

    Hi SAPers,
    Sub: How to supress/deactivate the buttonfacility "Create serial number Automatically" while goods movement.
    I have assigned Serial number profile "0001" for certain materials. For any goods movement system forces to give Serial number with a dialog box pop-up (Maintain Serial number as header) in which "search for Serial numbers as search button" and "Create serial nummber automatically". I have a requirement to either suppress or deactivate the functionality of Create serial number automatically. Please advice on this issue.
    Thanks
    Surendra

    Thanks Thyagarajan,
    If I select that system doesn't ask for serial number. We have to give manually.
    Let me explain you scenario.
    Serial number usage should be "obligatory", and system should ask for Serial number.
    We have two options on the pop-up screen, 1. Create Serial numbers automatically and 2. regular search option (as an Icon) and also there some icons like "delete", "select all" etc,.
    Requirement is: User should not have access to create Serial number Automatically, user should search for the serial numbers and moreover system should force user to give serial number.
    Thanks
    Surendra

Maybe you are looking for