Prevent fractional Move Order Allocation

We use "Move Order Issue" type Move orders in our system.
We allocate Lot or serial Items, which are transacted as whole numbers. But the Move order creation/allocation API allows me to request and allocate fractional quantities for lot items. This should ideally fail allocation. SO for LOT Number XXXXX which has 10 quantites, I could potentially request .3, and get an allocation for .3 quantity. I want to prevent this from happening. Is there a setup which prevents fractional allocation.
Thanks
PHK

PHK,
Are you using API or form? If it is form you can easily achieve this using form personalization.
API, you can stop calling allocation logic if available qty is less than the requested quantity.
Thanks
Nagamohan

Similar Messages

  • 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

  • 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.

  • Auto allocation for a move order with an expired lot doesn't work

    Hello everyone,
    We are facing a major problem regarding the use of move orders for issuing expired lots.
    Scenario:
    1. Create a move order. Fill in: Item, Qty, Source Subinv and Lot. Lot is expired.
    2. Approve move order.
    3. Run "Move Order Pick Slip" with "Autoallocate Unallocated lines".
    4. Open Transact Move Order Form. Try to transact.
    Result:
    No allocations were created.
    If we check row and push "allocate" button result is still "None".
    Only way to finish the process is to open "View/Update Allocations" and pick a locator manually.
    We work with a lot of expired lots, and doing that manually is a lousy workaround.
    Does anyone know if that is standard functionality? Because documentation does not refer this issue.
    Thanks,
    Aaron

    See also:  http://forums.adobe.com/message/4662367#4662367
    -Noel

  • 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 :)

  • Reservation on Move Order

    Hi,
    I wanted to reserve some quantity in the particular sub inventory (which is transactable) for few days. No transactions will not be happened against those reserved quantity.
    We cant create sales order for this as there are many items in the list.
    Once my activity is done, i will move the on-hand into some other sub inventory.
    Before moving into some other sub inventory, no transactions will be created for those quantity.
    have tried to create move order and allocated to it. Still those quantity can be consumed.
    Is there any way or create move Order with different type for this Quantity to reserve.
    Please suggest.

    Hi ,
    Hope the below will suffice for your requirement:
      1) Create a material status with the below:
            a) Uncheck the options Allow Reservations , Include in ATP
            b) And assign Usage to 'Subinventory' and disallow all the transactions except 'Transfer material between subinventories'.
      2) Assign this material status to the subinventory used for 'Quality Inspection'
      With the help of the above setup,the quantity transferred to 'Quality Inspection' subinventory cannot be  used in any of the transactions(except subinventory Transfer) as the quantity is not reserved.
    If you feel the solution is correct,plz select is as 'Correct Answer'
    Rgds,
    Sri.

  • 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

  • Locator auto-defaulting in move orders

    hi folks,
    even though i stumbled across this functionality in Field Service, i thought this would be the right forum to understand the functionality.
    i was testing Spares Management Move Orders functionality, when i discovered that one does not need to populate Source and / or Destination Stock Locators for locator-controlled subinventories while creating a MO. either during Reservation > Allocation, or during Print Picklist, the system automatically determines the correct (at least so far), or one of the correct, Stock Locator(s) associated with Source and / or Destination subinventory.
    we have more than one stock locator, within a subinventory, each holding different on-hand quantities for an item (non-unique locator-item relation). the system always seems to pick up one with the highest on-hand. is that the functionality, or is it just picking the first ID record or first row returned? can someone please shed light on exactly how this functionality can be expected to work, before go ahead full steam and create an elaborate business process around it?
    much thanks and best regards.

    karthik,
    the Item Transaction Defaults setup was doing the trick - it was providing the Locator from which a Move Order was picking the item.
    thanks and regards.

  • Preventing a movie clip from resizing

    Hello:
    How can I prevent a movie clip from resizing while continuing
    to allow the main movie to resize.
    If this is impossible to do, knowing that would also be
    helpful information.
    Thank you in advance for any assistance offered,
    MyMorgaine

    Make an Album of the Photos and Videos and put them in the order you want. Then make a slideshow of that album.
    Regards
    TD

  • Allocate Move Order

    Hi All,
    I created a order through custom form(not sales order standard form).for this we created a packge create_mo.pkg in this package we can create move order allocte move order approve move order .My problem is when we create a sales order through manual sales order form with ATO line item the pick slip report get submitted automatically through create_mo.pkg and the task_id is generated in the out put having three serial number up to this is perfect but when we submit this task id in the mobile form (oracle standard form) it shows all the serial number but i want to view only the three serial numbers.i.e if the task id is having three serial numbers i want to show them only not all the serial number please help on this ASAP.
    Thanks in advance
    Brahmaiah

    Arif,
    Thanks.
    I have test it works.
    But i m facing another issue.
    i have 2 LPN with 2 LOTS each.
    I have reserved it, create pick release and allocate to move order.
    Now i have 4 task id for 4 LOT each i.e. in move order i have 4 line, each line is allocating to signle LOTs no to LPN.
    Is it a standard behaviour or i am missing some thing.
    Also i am facing some issue with task id.
    When i have 2 task id for 2 Lots of an LPN and i put 1 task id for LOAD & DROP then it is giving asking me LPN and LOTs.
    When i enter LPN & LOT again it ask for LPN to confirm.
    And when i enter the LPN number again it is not taking and messaging "INVALID".
    Can you please give me specific solution to resolve my isse.
    Thanks,
    Tushar

  • 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

  • Unable to Allocate LPN to Move Order

    Hi,
    I have a LPN (RMP00001) with 2 Lots (LOT1 & LOT2) packed in inventory.
    Created a Sales order and booked it.
    Perform Pick Release and generate Move Order.
    In Move Order while i am trying to allocate, it is allocating the LOTs but not the LPN.
    My requirement is, it should allocate to the LPN.
    Could you help me to resolve the issue.
    Thanks,
    Tushar

    Arif,
    Thanks.
    I have test it works.
    But i m facing another issue.
    i have 2 LPN with 2 LOTS each.
    I have reserved it, create pick release and allocate to move order.
    Now i have 4 task id for 4 LOT each i.e. in move order i have 4 line, each line is allocating to signle LOTs no to LPN.
    Is it a standard behaviour or i am missing some thing.
    Also i am facing some issue with task id.
    When i have 2 task id for 2 Lots of an LPN and i put 1 task id for LOAD & DROP then it is giving asking me LPN and LOTs.
    When i enter LPN & LOT again it ask for LPN to confirm.
    And when i enter the LPN number again it is not taking and messaging "INVALID".
    Can you please give me specific solution to resolve my isse.
    Thanks,
    Tushar

  • Error when attempting to allocate a pick wave move order

    Hi All,
    We have a Sales order booked and pick released with Auto Allocate='No'.The lines on the sales order went to "Releases to warehouse" status and we need to do a move order. We Queried the move order and when checked found that the Allocated Quantity on the transact Move orders form is shown as Zero(normally when pick released with Auto Allocate='No' it should show the allocated quantity as null but i dont understand why its showing zero quantity??)
    When attempting to allocate this pick wave move order by selecting the "Allocate" button , the following error occurs.:INV_PICK_RELEASE_PICK_CONFIRM_FAILED
    Could any one help in transacting this move order please?
    Thanks,
    PV

    Hi PV;
    What is your EBS-DB and OS?
    Please check below notes and see its helpful:
    Get Error INV_PICK_RELEASE_PICK_CONFIRM_FAILED When Allocate Move Orders [ID 365082.1]
    Bug 9720530: INV_PICK_RELEASE_PICK_CONFIRM_FAILED WHEN ALLOCATING A PICK WAVE MOVE ORDER
    Bug 4436721: DATAFIX: UNABLE ALLOCATE MOVE ORDER, INV_PICK_RELEASE_PICK_CONFIRM_FAILED
    Ps: If non of helps you please search word as "INV_PICK_RELEASE_PICK_CONFIRM_FAILED" in metalink.There are already 17 docs avaliable
    Regard
    Helios

  • Move Order & Available to Reserve Quantity

    Hi Everybody,
    Is there any relation between Move Order transaction and Available to Reserve Quantity in oracle Inventory Management R12.0.6?
    I have create a Move Order for an item with 50 as quantity; on-hand quantities before Move Order transaction:
    - available quantity: 980
    - available to reserve: 980
    - available to transact: 980
    after Move Order created on-hand quantities are:
    - available quantity: 980
    - available to reserve: 980
    - available to transact: 980
    My question here is why is available to reserve quantity not reduced to be 930 as available to reserve quantity???
    after Allocating and Transacting Move Order on-hand quantities are
    on-hand quantity before Move Order transaction:
    - available quantity: 930
    - available to reserve: 930
    - available to transact: 930

    Hi Ahmed,
    As far as my knowledge Available to Reserve will not change with just the creation of Move Order.
    It will change only when you allocate the quantity.
    Hence you are not seeing the reduction of 50.
    When you allocate a record will be created in MTL_MATERIAL_TRANSACTIONS_TEMP.
    This quantity is treated as pending and hence it will be removed from ATR.
    But when you just create MO you will not have record in MTL_MATERIAL_TRANSACTIONS_TEMP.
    Hence you cannot see the reduction.
    Regards,
    Sabari

Maybe you are looking for

  • Disable particular row in a grid

    I displayed the table in a grid, and I want to disable the row if the field "Status" is equal to 1, how to do it? Ken

  • Moving ipod library to  3 computers

    I have 3 minis using the same computer and now I need to separate them to their own computer. I know I can move the music to a new computer but does this take the music out of the original computer? If so, how can I set up these 3 ipods to their own

  • T61p Wuxga display refresh rates

    Hi! I suspect that my GNU/Linux installation sets the wrong refresh rates for my 15.4" WUXGA 1920x1200 display. It sets the vertical rate at 50, which seems very low. I can't seem to find what the correct rates are in the documentation that came with

  • Healthkit not working

    My healthkit stopped working recently, iPhone 5S similar to whats reported by others. Dashboard  not allowing anything on. My wife and I have been competing against each other using the measurables. (She is using an iPhone 5S as well with no problems

  • Will there be a 802.11n enabler for my core duo MBP in the future????

    I bought this mbp for 2400. and you are telling me i cant even take advantage of the 802.11n when it comes out. Does anyone have NEWS on whether the core duos will have support for the 802.11n.