Quantity Reservation in 2 steps

Hello,
There are 2 storage locations separated by some considerable distance. One storage location creates a reservation against the 2nd one. The 2nd one does not have stock and so it creates a PO. Now, upon receipt, the 2nd storage location wants to transfer the inventory in 2 steps (1-remove from SL, then ship, 2-place in SL). While a 2 step transfer seem possible with regular stock transfer, SAP does not seem to support doing the same with reservation!
OR is it possible? Would like your expert opinions.
Any help would be rewarded with points.
Thanks
UV

First create new doc type using UB for this kind of transfer and allow the Stock transfer item category only with std reqs and NB reqs in the Config SPRO-MM-Purchasing-Purchase order- Define document types.
Then go to SPRO-MM-Purchasing-Purchase order-set up stock transfer order-
Here you have to do the settings for your plant
1)     define shipping data for plant (first create the customer for this plant)
2)     assign delivery type NL
3)     Assign Document Type, One-Step Procedure, Underdelivery Tole
In this step assign same plant as supplying plant and plant
Then whae you create STO header plant and item plant will be same but the storage location will be different

Similar Messages

  • Material Issue against multiple reservation in one step

    Hello everybody,
    I want to issue materials against multiple reservation (originating from Service order or PM order) in one step because the number of reservations is quite large (say thousands of reservation in a day). If i go one by one through MB1A it will take a lots of time. Please suggest some solution for the same.
    Regards
    Amit Gupta

    Hi,
    You could write a program (new dialog transaction), in which you can select the reservations for which you want to issue, show the summarized list of materials and quantities to be issued, then you decide which materials you actually want to process, and then call BAPI_GOODSMVT_CREATE to post the individual reservations in the background.
    This is just a general idea, but you can use it to develop the real thing, which will probably turn out to be quite more complex.
    Regards,
    Mario

  • Disable Booking if Reservable Quantity is less than the Ordered Quantity

    Hi Everyone,
    How can we disable booking of sales order if the quantity reservable for an item is less than the quantity ordered in the sales order?
    Best regards,
    Paul

    You need to Modify WorkFlow . You can do something like this.
    1) Add a custom node between Book-Eligible and Book Node
    2) Write your logic Inside the proc, which will get called from newly created custom node.

  • A/R Credit Memo for A/R Reserve Invoice

    Hi guyz,
    I have a question for A/R Credit Memo. Hope anyone can help.
    Steps:
    1. I created an Sales Order, let say "Item A" with quantity 100 pcs.
    2. I copied my Sales Order to A/R Reserve Invoice but i customized the quantity to 70 pcs (Sales Order still open for quantity 30).
    3. I created an A/R Credit Memo, copied from my last A/R Reserve Invoice (from step no. 2), because there is a revision in the unit price. My Credit Memo is exaclty same with my A/R Reserve Invoice.
    4. I created a new A/R Reserve Invoice, copied from my Sales Order (from step no. 1) with quantity 70 pcs again.
    After i do all my activities above, i found that my Sales Order's Status become CLOSED. Whereas, it should be still OPEN because there is outstanding quantity 30 pcs. Why it happened ? I don't find any reasons for this condition.
    Thank you.

    But A/R Credit Memo is to reverse A/R Reserve Invoice / A/R Invoice, right ? So the quantity should be back to 100 pcs.
    Or A/R Credit Memo is just to reverse the Journal ? If it so, i think it is not so helpful in ERP. Because we still need to create New Sales Order if we make a mistake in Invoice.
    Is there any chance that we do not need to make new Sales Order for this situation ?
    Thank you.
    Regards,
    Elsa

  • Partially received AP reserve invoice

    Experts,
    The client is in SAPB1 88 PL=20.
    The issue is regarding a partially received AP reserve invoice that is fully paid. The open quantity  for Item =A in the AP reserve=38,400. Now in the Item Master for Item=A the open qty in the AP reserve increased the Ordered qty by 38,400 for this item.
    Doing the AP reserve invoice ---> GRPO step should correct the ordered quantity in the Item Master accordingly. This will trigger GL transactions to the Inventory account and the Intransit Accounts.
    However, the client want to get the Ordered quantity field corrected in the Item master for item A WITHOUT affecting the GL transactions. Is there any appropriate Steps in SAPB1 that I could do to minimize the GL trasactions created to resolve this issue?
    Thank you for any suggestions in advance.
    Jose

    Hi Jose,
    It is not achievable for the goal to get the Ordered quantity field corrected in the Item master for item A WITHOUT affecting the GL transactions.
    All quantities must have a cost associated with them. Otherwise you can only have 0 cost.
    Thanks,
    Gordon

  • A/P Reserve Invoice closes Source PO - But A/P Credit Memo does not open it

    Hi Forum,
    1. Create a PO with say a single line item
    2. Create a target A/P Reserve Invoice from above PO
    Note: The PO of step 1 is closed.
    I want the PO to again go to OPEN STATUS.
    3.I perform A/P Credit Memo from base document  (A/P Reserve Invoice) from step 2 above.
    Question: The status of PO does not become open. Is there a setting that I am missing here which would make the status of PO go to open again?
    Thank you for your help.

    Hi Syed Aleem, 
    go to Administration -> System Initialisation -> Document Settings -> Per document -> Purchase Order
    Place a tick in the checkbox 'Reopen Doc. by creating returns/Goods Returns/Credit Notes Based in It' & update.
    All the best,
    Kerstin

  • Stop creation of reservations against the sales order

    Hi
    I have a situation here can any body help me out?
    For a single material there are two types of sales orders like export and local sales.
    Now as the sales orders are large enough and can deliver over the six month or more.
    This sales order creates large quantity reservation and due to this other sales order not confirmed although stock is available.
    Now we want to stop creation of reservations against the sales order as well as availability check in sales order (availably check may be able to by pass using item category).
    But we still want reservation against other production orders.(where the material as BOM component)

    Hi,
    check below options
    1. You can maintain Reason for rejection
    2.. you can maintain BN in sales order schedule line category
    Let's wait other experts to answer this
    Regards,
    Sankaran

  • 2 Step Stock Transfer Using WM Transport Order??

    Dear SAP expertes,
    I have a problem, I think a lot of you too; that is stock transfer in 2 steps from one storage location to another (mov. types 313-315), but using o referencing a reservation.
    SAP says that is not possible create reservations for 2 step stock transfer in MM, but also says use "Stock Transfer Orders" instead, that means use module WM.
    Do anyone could transfer stock from one storage location to another using WM Stock Transfer Orders? I tried, but couldn't make it. In anyone have documention to do this I will appreciate it a lot.
    Best regards,
    Favio.

    Hi Jürgen L.
    I was checking SAP Note  "28692 - MMIM: Reservation for a two-step stock transfer", and you were right, they say "Use the stock transport order instead of the stock transfer reservation".
    I confused with WM stock tranfer order, but I want to ask you if you have used UB transport order between storage location of the same plant?
    Best regards,
    Favio.
    Edited by: Favio Del Castillo on Sep 22, 2010 5:01 PM

  • ONHAND QUANTITY SETUP을 확인하는 방법

    제품: Applications
    작성날짜 : 2006-05-30
    ONHAND QUANTITY SETUP을 확인하는 방법
    ==============================
    PURPOSE
    Onhand quantity setup을 확인하는 방법
    Explanation
    script을 통해, 여러 setup사항들 및 onhand수량을 check할 수 있다.
    1. Check Organization controls
    2. Check Subinventory controls
    3. Check item attributes and controls for lot, locator, serial and
    revision.
    4. Check onhand quantity stock records a) non lot control
    b) lot controlled
    5. Check that stock records agree with attribute settings including
    the following:
    - Check that stock has a lot number if under lot control.
    - Check expiration date, lots which have expired still show in
    transaction screen
    - LPN containerized items
    6. Show reservations for the item
    7. Show overall quantities (from an internal routine called qtytree)
    8. Check that cost groups are correct.
    9. Check that quantities agree.
    아래의 script을 onhand.sql로 생성하여 수행하시기 바랍니다.
    $Header: onhand.sql 115.9 2005/05/25 $
    FILE
    onhand.sql
    DESCRIPTION
    Gives information regarding quantity values for an item within an organization,
    subinventory, revision and lot to determine why the system does not find
    available stock.
    Quantity on hand
    Reservable quantity on hand
    Quantity reserved
    Quantity suggested
    Quantity available to transact
    Quantity available to reserve
    The retrieved information will be written to an O/S file called: onhand.lst
    This script should be used for Release 11.5 only.
    BASE
    Bug 3089073, 4349223
    ARGUMENTS
    Organization_id
    Inventory_item_id
    lot_number => return over this if item is not lot controlled
    revision => return over this if item is not revision controlled
    subinventory_code
    /*WHENEVER SQLERROR EXIT FAILURE;*/
    spool onhand.lst
    set linesize 125;
    set pagesize 200;
    set verify off;
    set serveroutput on
    PROMPT 1/ To check Organization controls
    SELECT organization_id ORG_ID,
    primary_cost_method CST_TYP,
    cost_organization_id CST_ORG,
    master_organization_id MAST_ORG,
    default_cost_group_id DEF_CST_GRP,
    project_reference_enabled PROJ_FLG,
    wms_enabled_flag WMS
    FROM mtl_parameters
    WHERE organization_id = &&org_id;
    PROMPT 2/ To check Subinventory controls
    SELECT secondary_inventory_name, organization_id org_id, default_cost_group_id DEF_CST_GRP,
    locator_type LOC, asset_inventory ASSET_INV
    FROM mtl_secondary_inventories
    where organization_id = &&org_id;
    PROMPT 3/ To check item attributes
    select LOT_CONTROL_CODE LOT, REVISION_QTY_CONTROL_CODE REV, LOCATION_CONTROL_CODE LOC,
    SERIAL_NUMBER_CONTROL_CODE SER
    from mtl_system_items_b
    where organization_id= &&org_id
    and inventory_item_id = &&item_id;
    prompt control = 2 for on
    prompt serial_number_control 1-No serial number, 2-Predefined serial number, 5-Dynamic entry at inventory receipt
    prompt 6-Dynamic entry at sales order issue
    PROMPT 4/ To check onhand quantity stock records a) non lot control b) lot controlled
    select moqd.inventory_item_id ITEM_ID, moqd.organization_id ORG_ID,
    moqd.primary_transaction_quantity PRIM_QTY, moqd.subinventory_code, moqd.revision REV,
    moqd.locator_id, moqd.lot_number,
    moqd.cost_group_id CST_GRP_ID, moqd.project_id, moqd.task_id, moqd.lpn_id,
    moqd.CONTAINERIZED_FLAG CONT_FLG
    from mtl_onhand_quantities_detail moqd
    where moqd.organization_id = &&org_id
    and moqd.inventory_item_id = &&item_id;
    select moqd.inventory_item_id ITEM_ID, moqd.organization_id ORG_ID,
    moqd.primary_transaction_quantity PRIM_QTY, moqd.subinventory_code,moqd.revision REV,
    moqd.locator_id, moqd.lot_number, mln.expiration_date EXPIRE_DATE,
    moqd.cost_group_id CST_GRP_ID, moqd.project_id, moqd.task_id, moqd.lpn_id,
    moqd.CONTAINERIZED_FLAG CONT_FLG
    from mtl_onhand_quantities_detail moqd, mtl_lot_numbers mln
    where moqd.organization_id = &&org_id
    and moqd.inventory_item_id = &&item_id
    and moqd.inventory_item_id = mln.inventory_item_id
    and moqd.organization_id = mln.organization_id
    and moqd.lot_number = mln.lot_number;
    PROMPT Check that stock records agree with attribute settings ie. stock has a lot
    PROMPT number if under lot control. Also check expiration date, lots which have expired
    PROMPT still show in transaction screen but cannot be reserved (bug 3818166) and for
    PROMPT negative balances, if found apply patch 3747966.
    PROMPT Also check for LPN containerised items will not show as available on forms need
    PROMPT unpack the material and then try to issue out from desktop or Perform the Misc
    PROMPT issue of the LPN from the Mobile (bug 4349223).
    PROMPT
    PROMPT 5/ Show reservations for item
    select organization_id, inventory_item_id, demand_source_name, demand_source_header_id,
    demand_source_line_id, primary_reservation_quantity, revision, subinventory_code,
    locator_id, lot_number
    from mtl_reservations
    where organization_id = &&org_id
    and inventory_item_id = &&item_id;
    PROMPT 6/ Show overall quantities from qtytree
    SELECT
    x.organization_id organization_id
    , x.inventory_item_id inventory_item_id
    , x.revision revision
    , x.lot_number lot_number
    , To_date(NULL) lot_expiration_date
    , x.subinventory_code subinventory_code
    , sub.reservable_type reservable_type
    , x.locator_id locator_id
    , x.primary_quantity primary_quantity
    , x.date_received date_received
    , x.quantity_type quantity_type
    , x.cost_group_id cost_group_id
    , x.containerized containerized
    FROM (
    SELECT
    x.organization_id organization_id
    , x.inventory_item_id inventory_item_id
    , NULL revision
    , NULL lot_number
    , x.subinventory_code subinventory_code
    , x.locator_id locator_id
    , SUM(x.primary_quantity) primary_quantity
    , MIN(x.date_received) date_received
    , x.quantity_type quantity_type
    , x.cost_group_id cost_group_id
    , x.containerized containerized
    FROM (
    -- reservations
    SELECT
    mr.organization_id organization_id
    , mr.inventory_item_id inventory_item_id
    , mr.revision revision
    , mr.lot_number lot_number
    , mr.subinventory_code subinventory_code
    , mr.locator_id locator_id
    , mr.primary_reservation_quantity
    - Nvl(mr.detailed_quantity,0) primary_quantity
    , To_date(NULL) date_received
    , 3 quantity_type
    , to_number(NULL) cost_group_id
    , 0 containerized
    FROM mtl_reservations mr
    WHERE
    Nvl(mr.supply_source_type_id, 13) = 13
    AND mr.primary_reservation_quantity > Nvl(mr.detailed_quantity,0)
    UNION ALL
    -- onhand quantities
    SELECT
    moq.organization_id organization_id
    , moq.inventory_item_id inventory_item_id
    , moq.revision revision
    , moq.lot_number lot_number
    , moq.subinventory_code subinventory_code
    , moq.locator_id locator_id
    , decode(NULL, NULL, moq.transaction_quantity, nvl(pjm_ueff_onhand.onhand_quantity
    (NULL,moq.inventory_item_id,moq.organization_id
    ,moq.revision,moq.subinventory_code,moq.locator_id,moq.lot_number)
    ,moq.transaction_quantity))
    , nvl(moq.orig_date_received,
    moq.date_received) date_received
    , 1 quantity_type
    , moq.cost_group_id cost_group_id
    , decode(moq.containerized_flag,
    1, 1, 0) containerized
    FROM
    mtl_onhand_quantities_detail moq
    UNION ALL
    -- pending transactions in mmtt
    --changed by jcearley on 12/8/99
    --added 1 to decode statement so that we make sure the
    --issue qtys in mmtt are seen as negative.
    --This problem arose because create_suggestions stores
    --the suggested transactions in mmtt as a positive number.
    -- added 5/23/00
    -- if quantity is in an lpn, then it is containerized
    SELECT
    mmtt.organization_id organization_id
    , mmtt.inventory_item_id inventory_item_id
    , mmtt.revision revision
    , NULL lot_number
    , mmtt.subinventory_code subinventory_code
    , mmtt.locator_id locator_id
    , Decode(mmtt.transaction_status, 2, 1
    , Decode(mmtt.transaction_action_id
    , 1, -1, 2, -1, 28, -1, 3, -1, Sign(mmtt.primary_quantity))
    * Abs( decode(NULL, NULL, mmtt.primary_quantity, Nvl(apps.pjm_ueff_onhand.txn_quantity(NULL,mmtt.transaction_temp_id,mmtt.lot_number,
    'N',mmtt.inventory_item_id, mmtt.organization_id, mmtt.transaction_source_type_id,
    mmtt.transaction_source_id, mmtt.rcv_transaction_id,
    sign(mmtt.primary_quantity)
    ),mmtt.primary_quantity)) )
    , Decode(mmtt.transaction_action_id
    , 1, To_date(NULL)
    , 2, To_date(NULL)
    , 28, To_date(NULL)
    , 3, To_date(NULL)
    , Decode(Sign(mmtt.primary_quantity)
    , -1, To_date(NULL)
    , mmtt.transaction_date)) date_received
    , Decode(mmtt.transaction_status, 2, 5, 1) quantity_type
    , mmtt.cost_group_id cost_group_id
    , decode(mmtt.lpn_id, NULL, 0, 1) containerized
    FROM
    mtl_material_transactions_temp mmtt
    WHERE
    mmtt.posting_flag = 'Y'
    AND mmtt.subinventory_code IS NOT NULL
    AND (Nvl(mmtt.transaction_status,0) <> 2 OR -- pending txns
    -- only picking side of the suggested transactions are used
    Nvl(mmtt.transaction_status,0) = 2 AND
    mmtt.transaction_action_id IN (1,2,28,3,21,29,32,34)
    -- dont look at scrap and costing txns
    AND mmtt.transaction_action_id NOT IN (24,30)
    UNION ALL
    -- receiving side of transfers
    -- added 5/23/00
    -- if quantity is in an lpn, then it is containerized
    SELECT
    Decode(mmtt.transaction_action_id
    , 3, mmtt.transfer_organization
    , mmtt.organization_id) organization_id
    , mmtt.inventory_item_id inventory_item_id
    , mmtt.revision revision
    , NULL lot_number
    , mmtt.transfer_subinventory subinventory_code
    , mmtt.transfer_to_location locator_id
    , Abs( decode(NULL, NULL, mmtt.primary_quantity, Nvl(apps.pjm_ueff_onhand.txn_quantity(NULL,mmtt.transaction_temp_id,mmtt.lot_number,
    'N',mmtt.inventory_item_id, mmtt.organization_id, mmtt.transaction_source_type_id,
    mmtt.transaction_source_id, mmtt.rcv_transaction_id,
    sign(mmtt.primary_quantity)
    ),mmtt.primary_quantity)) )
    , mmtt.transaction_date date_received
    , 1 quantity_type
    , mmtt.transfer_cost_group_id cost_group_id
    , decode(mmtt.transfer_lpn_id, NULL, 0, 1) containerized
    FROM
    mtl_material_transactions_temp mmtt
    WHERE
    mmtt.posting_flag = 'Y'
    AND Nvl(mmtt.transaction_status,0) <> 2 -- pending txns only
    AND mmtt.transaction_action_id IN (2,28,3)
    ) x
    WHERE x.organization_id = &&org_id
    AND x.inventory_item_id = &&item_id
    GROUP BY
    x.organization_id, x.inventory_item_id, x.revision
    , x.subinventory_code, x.locator_id
    , x.quantity_type, x.cost_group_id, x.containerized
    ) x
    , mtl_secondary_inventories sub
    WHERE
    x.organization_id = sub.organization_id (+)
    --AND Nvl(sub.availability_type, 1) = 1
    AND x.subinventory_code = sub.secondary_inventory_name (+) ;
    PROMPT Check that cost groups are correct see Bug 4222079
    PROMPT 7/ To find stock values from system nb.<cr> over lot and revision if item
    PROMPT is not under lot or revision control, <cr> over subinventory for all subinvs
    DECLARE
    L_api_return_status VARCHAR2(1);
    l_qty_oh NUMBER;
    l_qty_res_oh NUMBER;
    l_qty_res NUMBER;
    l_qty_sug NUMBER;
    l_qty_att NUMBER;
    l_qty_atr NUMBER;
    l_msg_count NUMBER;
    l_msg_data VARCHAR2(1000);
    l_rev varchar2(100):=NULL;
    l_lot VARCHAR2(100):=NULL;
    l_loc VARCHAR2(100):=NULL;
    l_lot_control BOOLEAN :=false;
    l_revision_control BOOLEAN :=false;
    l_lot_control_code NUMBER;
    l_revision_qty_control_code NUMBER;
    l_location_control_code NUMBER;
    l_org_id NUMBER;
    l_item_id NUMBER;
    l_subinv VARCHAR2(10);
    BEGIN
    select LOT_CONTROL_CODE ,REVISION_QTY_CONTROL_CODE, LOCATION_CONTROL_CODE
    into l_lot_control_code, l_revision_qty_control_code, l_location_control_code
    from mtl_system_items_b
    where organization_id= &&org_id
    and inventory_item_id = &&item_id;
    if l_lot_control_code = 2 then
    l_lot_control :=true;
    l_lot:='&lotnumber';
    end if;
    if l_revision_qty_control_code =2 then
    l_revision_control:=true;
    l_rev:='&revision';
    end if;
    inv_quantity_tree_grp.clear_quantity_cache;
    dbms_output.put_line('Transaction Mode');
    apps.INV_Quantity_Tree_PUB.Query_Quantities (
    p_api_version_number => 1.0
    , p_init_msg_lst => apps.fnd_api.g_false
    , x_return_status => L_api_return_status
    , x_msg_count => l_msg_count
    , x_msg_data => l_msg_data
    , p_organization_id => &&org_id
    , p_inventory_item_id => &&item_id
    , p_tree_mode => apps.INV_Quantity_Tree_PUB.g_transaction_mode
    , p_onhand_source => NULL
    , p_is_revision_control=> l_revision_control
    , p_is_lot_control => l_lot_control
    , p_is_serial_control => NULL
    , p_revision => l_rev
    , p_lot_number => l_lot
    , p_subinventory_code => '&&subinv_code'
    , p_locator_id => NULL
    , x_qoh => l_qty_oh
    , x_rqoh => l_qty_res_oh
    , x_qr => l_qty_res
    , x_qs => l_qty_sug
    , x_att => l_qty_att
    , x_atr => l_qty_atr );
    dbms_output.put_line('Quantity on hand --> '||to_char(l_qty_oh));
    dbms_output.put_line('Reservable quantity on hand --> '||to_char(l_qty_res_oh));
    dbms_output.put_line('Quantity reserved --> '||to_char(l_qty_res));
    dbms_output.put_line('Quantity suggested --> '||to_char(l_qty_sug));
    dbms_output.put_line('Quantity available to transact --> '||to_char(l_qty_att));
    dbms_output.put_line('Quantity available to reserve --> '||to_char(l_qty_atr));
    end;
    PROMPT Check that quantities agree with script 4 and 5.
    Spool off;
    PROMPT *** Print file onhand.lst created ***
    exit
    Reference Documents
    Bug 4529874

  • Issue while updating(Changing) quantity on line at quick sales order form

    Hi,
    I am facing a issue while changing quantity ordered on the order line in quick sales order form. (R12.1.3)
    Although the same logic works exactly as required in 11.5.9.
    There is a custom logic, post booking line status is Awaiting Shipping.
    Now when quantity is changed +(Saved), the status changes to a custom state but at the same time a new row is created with the same line id but different reservation id in the MTL_RESERVATIONS.
    The quantity here is the difference between the original quantity and the new entered quantity.
    And post completion of the custom logic the original row is updated, but being there a additional row the quantity reserved at the shipping tab comes wrong.
    Our requirement is of update which is happening but not the additional insert which is going into MTL_RESERVATIONS.
    The logic is perfect in 11.5.9 and no additional insert is being made.
    Kindly help and give some ideas for the possible reason the issue.
    Please ask for more information if required.
    Thanks,
    Vishal

    Hi Mahendra,
    I have gone through the note id that you have given. sorry to say that, that is refering to diffrent issue.
    Actually what i did is, At form header level, I have hide the fileds using the folder options. once after changes I have closed the form and re-opened it. by that time I can see that Button names got changed in bottom of the "Quick sales order form". Not sure how it become changed. there five buttons over the form, only two button names got changed.
    Kindly suggest any other options.

  • Issue in lot controlled items reservation API

    Hi,
    When I am going to reserved the lot controlled item thru following API, it is giving an error message.  Can anyone help me to resolve this issue as it is not showing an detail error message .
    Following is the Error message :
    =======================================================
    Calling INV_RESERVATION_PUB.Create_Reservation API
    =======================================================
    Return Status: E-INV
    Error Message :INV
    =======================================================
    Following API we are using for the same:
    DECLARE
            -- Common Declarations
            l_api_version         NUMBER      := 1.0;
            l_init_msg_list       VARCHAR2(2) := FND_API.G_TRUE;
            x_return_status       VARCHAR2(2);
            x_msg_count           NUMBER      := 0;
            x_msg_data            VARCHAR2(255);
            l_row_cnt        NUMBER := 1;
            -- API specific declarations
            l_rsv_rec                   INV_RESERVATION_GLOBAL.MTL_RESERVATION_REC_TYPE;
            l_serial_number             INV_RESERVATION_GLOBAL.SERIAL_NUMBER_TBL_TYPE;  
            l_partial_reservation_flag  VARCHAR2(2) := FND_API.G_FALSE;
            l_force_reservation_flag    VARCHAR2(2) := FND_API.G_FALSE;
            l_validation_flag           VARCHAR2(2) := FND_API.G_TRUE; 
            l_partial_reservation_exists BOOLEAN := FALSE;       
            x_serial_number             INV_RESERVATION_GLOBAL.SERIAL_NUMBER_TBL_TYPE;
            x_quantity_reserved         NUMBER := 0;
            x_reservation_id            NUMBER := 0;
    BEGIN
            FND_GLOBAL.APPS_INITIALIZE(  user_id      => 5707,
                                         resp_id      => 50158,
                                         resp_appl_id => 401);
            -- Initialize the variables
                  l_rsv_rec.organization_id               :=   51; --NULL; --itm.organization_id;
                  l_rsv_rec.inventory_item_id             :=   52587;--NULL; --itm.inventory_item_id;
                  l_rsv_rec.requirement_date              :=   NULL; --sysdate + 3;
                  l_rsv_rec.demand_source_type_id         :=   INV_RESERVATION_GLOBAL.G_SOURCE_TYPE_INV;
                  l_rsv_rec.supply_source_type_id         :=   INV_RESERVATION_GLOBAL.G_SOURCE_TYPE_INV;
                  l_rsv_rec.demand_source_name            :=   NULL; --'RSV_ITM_SRL_'||itm.segment1;
                  l_rsv_rec.primary_reservation_quantity  :=   100; --NULL; --l_primary_reservation_qty;
                  l_rsv_rec.primary_uom_code              :=   'MTR'; --NULL; --itm.primary_uom_code;
                  l_rsv_rec.subinventory_code             :=   NULL; --l_subinventory_code;
                  l_rsv_rec.demand_source_header_id       :=   306842; --NULL ;
                  l_rsv_rec.demand_source_line_id         :=   2288893; --NULL ;        
                  l_rsv_rec.reservation_uom_code          :=   'MTR' ;
                  l_rsv_rec.reservation_quantity          :=   100; --NULL ;
                  l_rsv_rec.supply_source_header_id       :=   NULL ;
                  l_rsv_rec.supply_source_line_id         :=   NULL ;
                  l_rsv_rec.supply_source_name            :=   NULL ;
                  l_rsv_rec.supply_source_line_detail     :=   NULL ;
                  l_rsv_rec.lot_number                    :=   'ABC100'; --NULL ;
                  --l_rsv_rec.serial_number                 :=   NULL ;
                  l_rsv_rec.ship_ready_flag               :=   NULL ;
                  l_rsv_rec.attribute15                   :=   NULL ;
                  l_rsv_rec.attribute14                   :=   NULL ;       
                  l_rsv_rec.attribute13                   :=   NULL ;
                  l_rsv_rec.attribute12                   :=   NULL ;
                  l_rsv_rec.attribute11                   :=   NULL ; 
                  l_rsv_rec.attribute10                   :=   NULL ;
                  l_rsv_rec.attribute9                    :=   NULL ;     
                  l_rsv_rec.attribute8                    :=   NULL ; 
                  l_rsv_rec.attribute7                    :=   NULL ;
                  l_rsv_rec.attribute6                    :=   NULL ; 
                  l_rsv_rec.attribute5                    :=   NULL ;      
                  l_rsv_rec.attribute4                    :=   NULL ;  
                  l_rsv_rec.attribute3                    :=   NULL ;
                  l_rsv_rec.attribute2                    :=   NULL ;  
                  l_rsv_rec.attribute1                    :=   NULL ;  
                  l_rsv_rec.attribute_category            :=   NULL ;
                  l_rsv_rec.lpn_id                        :=   NULL ;
                  l_rsv_rec.pick_slip_number              :=   NULL ;
                  l_rsv_rec.lot_number_id                 :=   NULL ;
                  l_rsv_rec.locator_id                    :=   NULL ;
                  l_rsv_rec.subinventory_id               :=   NULL ;
                  l_rsv_rec.revision                      :=   NULL ;
                  l_rsv_rec.external_source_line_id       :=   NULL ;     
                  l_rsv_rec.external_source_code          :=   NULL ;     
                  l_rsv_rec.autodetail_group_id           :=   NULL ;    
                  l_rsv_rec.reservation_uom_id            :=   NULL ;    
                  l_rsv_rec.primary_uom_id                :=   NULL ;   
                  l_rsv_rec.demand_source_delivery        :=   NULL ; 
                  -- call API to create reservation
                 DBMS_OUTPUT.PUT_LINE('=======================================================');
                 DBMS_OUTPUT.PUT_LINE('Calling INV_RESERVATION_PUB.Create_Reservation API');       
                 INV_RESERVATION_PUB.Create_Reservation(
                          P_API_VERSION_NUMBER     => l_api_version  
                        , P_INIT_MSG_LST         => l_init_msg_list
                        , P_RSV_REC             => l_rsv_rec           
                        , P_SERIAL_NUMBER         => l_serial_number           
                        , P_PARTIAL_RESERVATION_FLAG => l_partial_reservation_flag
                        , P_FORCE_RESERVATION_FLAG     => l_force_reservation_flag  
                        , P_PARTIAL_RSV_EXISTS     => l_partial_reservation_exists
                        , P_VALIDATION_FLAG         => l_validation_flag     
                        , X_SERIAL_NUMBER         => x_serial_number             
                        , X_RETURN_STATUS         => x_return_status
                        , X_MSG_COUNT         => x_msg_count   
                        , X_MSG_DATA              => x_msg_data              
                        , X_QUANTITY_RESERVED     => x_quantity_reserved
                        , X_RESERVATION_ID         => x_reservation_id);           
                 DBMS_OUTPUT.PUT_LINE('=======================================================');
                 DBMS_OUTPUT.PUT_LINE('Return Status: '||x_return_status||'-'||x_msg_data);
                 IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
                    DBMS_OUTPUT.PUT_LINE('Error Message :'||x_msg_data);
                 END IF;
                 IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
                     DBMS_OUTPUT.PUT_LINE('Reservation ID :'||x_reservation_id||' Quantity Reserved:'||x_quantity_reserved);
                     COMMIT;
                 END IF;
                 DBMS_OUTPUT.PUT_LINE('=======================================================');
    EXCEPTION
            WHEN OTHERS THEN
              DBMS_OUTPUT.PUT_LINE('Exception Occured :');
              DBMS_OUTPUT.PUT_LINE(SQLCODE ||':'||SQLERRM);
              DBMS_OUTPUT.PUT_LINE('=======================================================');
    END;
    regards & thanks in advance
    sanjay

    Hi,
    SAP does availability check based on IM stock and not on WM stock.
    So I dont think there are any such reports available that shows WM stock with considering delivery and sales order quantity.
    regards,

  • Change default mvt 311 for stock transfer reservation generated by system

    Dear SAPper,
    I used storage location '0003' planned seperately in material master MRP4 and set reorder point 100 and replenishment 100 too.
    After the stock fall below 100 the system will create stock trasnfer to '0003' the 'from storage location' is still blank. the system used movement type 311
    i want to used two step transfer 303 - 305 for this transfer.
    of course 303 can not be used to reservation so i create customized mvt type 903 (copy from 303 and modify it)
    but something still trouble is when the MRP generate reservation it always use 311 movement tpe
    can i customized that when storage location planned seperately stock fall below reorder point, MRP generate resevation transfer with mvt 903 (not standard 311)
    Please kindly help
    Best regards,
    Freddy Ha

    hi,
    actually there is 2 problems here
    1. 303 two step is prohibited for reservation so i create 903 to be used in reservation for two step transfer with reservation
    2. reservation is created automatically for storage location plan seperataly if the stock fall below reorder point, this problem is system always use movement type 311 sloc to sloc
    i want to used two step sloc to sloc, so the reservation created using 903
    can i configure it?
    Best regards,
    Freddy ha

  • Withdrawl quantity Restriction - Plant Maintenance Module

    Dear Experts,
    In standard SAP, we can issue more than the material quantity created in reservation. Can we restrict the same, user will not able to issue more quantity than the quantity reserved while creating reservation.
    Any idea?
    Thanks
    DM

    hi,
    You can do that with user exit while saving a material movement, which checks reservation quantity and issue quantity.
    Hope it helps.

  • Reservation in MD04 -reg

    Hi ,
    For a material in MD04 , reservation created is being shown but not considered while calculating the available quantity
    reservation is craeted for the movement type 201  for the material for tomorrow date (28.04.2010) .
    its shown along with other  elements in MD04
    but at arriving the final available quantity  the reservation's qty is not considered
    what could be the reasons? are reservations of 201 movemet are not considered ?
    regards,
    Madhu Kiran

    hi,
    i am talking about the available stock showing in MD04
    if that tick is ticked then you mean to say the reservation quantity also takes part in the calculation of available quantity shown in MD04 ?
    In which checking rule i have to check ?
    i have to see for that material in the plant which availability check is asssigned  and then checking rule and check ?
    pl guide
    regards,
    Madhu Kiran
    Edited by: madhu kiran on Apr 28, 2010 2:27 PM

  • How to calucalte onhand quantity in inventory

    Hi,
    I am facing problem to calculate the onhand quantity ,reserved quantity and available quantity,
    Please help this.
    Thanks

    Hi
    Please use inv_quantity_tree_pub.query_quantities. It has all the out variables that you are looking for.
    Thanks
    Nagamohan

Maybe you are looking for