Update Picking quantity in VL02N?

Hi All,
In my application i am Using WS_DELIVERY_UPDATE_2 we can  update picking quantity, it is working fine when we pick full quantity.
Suppose if i pick partial quantity, for example for one item total qty is 2, i am picking 1 first time and save, next time if i pick 1 second time it is not updating? how can we acieve this??
Thanks,
Venkat.

Use below FM :
Clear : i_prot.
  refresh : i_prot.
Delivery Update
  CALL FUNCTION 'LE_MOB_DELIVERY_UPDATE'
       EXPORTING
            do_commit                = 'X'
       TABLES
            t_delivery_items         = i_lips
            prot                     = i_prot
       EXCEPTIONS
            conversion_overflow      = 1
            essential_data_missing   = 2
            error                    = 3
            nothing_to_update        = 4
            lock_after_update_failed = 5
            error_in_delivery_update = 6
            OTHERS                   = 7.
  COMMIT WORK.
Pass lips-lgort..
<REMOVED BY MODERATOR>
Thanks
Seshu
Edited by: Alvaro Tejada Galindo on Aug 8, 2008 4:51 PM

Similar Messages

  • Update picked quantity and delivery quantity in picking.

    hi,
    i completed delivery with reference of sales order, and also complete pgi useing tc vl02n . i want any standard function module or BAPI for  update the picked quantity and delivery quantity in picking.
    thanks in advance.

    Hi Dhanush,
    Refer to the function module WS_DELIVERY_UPDATE for pick, pack, update serial numbers & PGI functions of the delivery.
    Hope it helps!
    Thanks!
    Preethi.

  • LSMW Custom program for updating picked quantity in outbound delivery

    I have been tasked with creating an LSMW that will update the picked quantity in an outbound delivery.  I originally thought of using a recording on transaction vl02n, but I need the LSMW to work with variable amount of item lines. 
    Through some research I figured out that FM WS_DELIVERY_UPDATE_2 can update the picked quantity.  I have successfully created a custom program that calls this FM. 
    I have created what I believe to be the correct entries in the SXDA0, SXDA1, SXDA2, and SXDA3 tables to make my custom program work with LSMW.  I am able to find my program in the "Maintain Object Attributes."  I am also able to "Maintain Structure Relations Step" (screen shot attached)  I am currently using VBKOK and VBPOK for the header and line item structures respectively. 
    My difficulty is converting the data.  I have tried everything from having no conversion rules to mapping many fields and I always receive the following error (screen shot also provided).
    Error analysis
    The statement
         "Move src TO dst"
    requires that the operands "dst" and "src" are convertible.
    Since this statement is in a Unicode program, the special conversion
    rules for Unicode programs apply.
    In this case, these rules were violated.
    Program /SAPDMC/SAP_LSMW_CONV_FORMS
    Include  /SAPDMC/SAP_LSMW_CONV_FORMS
    Row 1,080
    Module type (FORM)
    Module Name TRANSFER_RECORD
    Since I have run the conversion with no conversion rules I am very confused as to why I am still receiving this error.  Any insight would be greatly appreciated.

    For anyone I have uncovered some interesting things about my issue.  I started going through the conversion code piece by piece trying to figure out what data element the system was choking on. 
    After digging though the program and using the debugger I found out that the issue was in FORM transfer_record. 
    ASSIGN (g_record) TO <l_record>.
         CASE g_objecttype.
           WHEN '01' OR '02'.
             gt_buffer-record = g_record.
             gt_buffer-data = <l_record>.
             APPEND gt_buffer.
    If this LSMW was working
    g_record = 'VBKOK'
    <l_record> = 'VBKOK'
    But what is actually happening
    g_record = 'VBKOK'
    <l_record> = "Structure of some sort
    I do not know why this is happening since the field symbol is being assigned right before this piece of code.  Any suggestions are greatly appreciated.

  • SAP provided function module to update picking confirmation in VL02N

    Hi
    In transaction VL02N , the quantity,net weight and batch inf is updated manually.So the question is there any SAP provided function module to update picking confirmation instead of using BDC/call transaction method?

    Hi,
        Use below FM :
    Clear : i_prot.
    refresh : i_prot.
    Delivery Update
    CALL FUNCTION 'LE_MOB_DELIVERY_UPDATE'
    EXPORTING
    do_commit = 'X'
    TABLES
    t_delivery_items = i_lips
    prot = i_prot
    EXCEPTIONS
    conversion_overflow = 1
    essential_data_missing = 2
    error = 3
    nothing_to_update = 4
    lock_after_update_failed = 5
    error_in_delivery_update = 6
    OTHERS = 7.
    COMMIT WORK.
    Pass lips-lgort..
    Refer
    https://forums.sdn.sap.com/click.jspa?searchID=4212688&messageID=3855382
    Regards

  • "Internal error (-5002) occurred" On Pick List Update Picked Quantity

    Hi Experts,
    I have an SDK program that simply tries to update the Picked Quantity in SAP. Previously it has been working fine, until I try to use the same logic for items managed by Batch or Serial Number.
    In this scenario, I have created a PickList with only 1 row, the item is managed by Serial Number.
    I try to simplify the code as below.
    Dim oBaseDocument As SAPbobsCOM.PickLists
    oBaseDocument = oComp.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oPickLists)
    BaseDocument.GetByKey(12345)
    oBaseDocument.Lines.SetCurrentLine(0)
    oBaseDocument.Lines.PickedQuantity += 1
    oBaseDocument.Lines.BinAllocations.Add()
    oBaseDocument.Lines.BinAllocations.SetCurrentLine(0)
    oBaseDocument.Lines.BinAllocations.BinAbsEntry = CInt(sBinAbsEntry)
    oBaseDocument.Lines.BinAllocations.Quantity += dXML_Quantity
    oBaseDocument.Lines.SerialNumbers.InternalSerialNumber = sXML_BatchSerialNo      ' <--- ***
    lRet = oBaseDocument.Update
    I have added the *** line for handling the Serial Number, but when it hit the Update command, the SDK returns "Internal error (-5002) occurred".
    I'm not sure what does it means.
    Anyway I tried to remove the *** line and it works fine for item not managed by Batch or Serial, but the issue will remains for the Items managed by Serial or Batch.
    Please advise whether I missed anything in this code.
    Thank you in advance.
    Best Regards,
    Krisma

    Hi Krisma,
    I haven't done this thing practically but error -5002 will occur, if there is any Invalid Object.
    You can check it accordingly.
    Hope it helps.
    Thanks & Regards
    Ankit Chauhan

  • Urgent-Help needed in FM to update picking quantity in outbound delivery.

    Hi,
    I have to automatically update the delivery and picking quantity for an outbound delivery without doing any post goods issue.Could you please help me with any FM which does this with proper explanation.
    Any help will be greatly appreciated.
    Thanks,
    Sandeep.

    Check with FM : SD_DELIVERY_UPDATE_PICKING
    The above FM will update Picking in delivery
    Check the structure VBPOK ,within structure VBPOKKOMMI(Include structure)
    Field is PIKMG.
    Thanks
    Seshu

  • Update picking quantity in delivery for batch split items

    Hi,
    I'm trying to use the function module WS_DELIVERY_UPDATE to update the existing deliveries. I'm able to do batch split for the items in delivery using the same FM. I have also requirement to delete these items (batch split items).
    To delete these items first we have to make quantities to zero. So I'm able to make delivery quantity of these items to zero but not picking quantity.
    If we do not make picking quantity also zero it will not allow to delete these items
    and gives an error message saying "item is already made available for transfer order".
    Could some one let me kow how to make picking quantity also zero for batch spit items using FM.
    Thanks

    Hi Vikram
    To nullify the Picking Quantity, we can use FM: <b>SD_DELIVERY_UPDATE_PICKING</b>.
    Parameters to be passed:
    VBKOK_WA
    -- VBELN_VL - Delivery Number
    -- VBELN - Sales Document Number
    SYNCHRON - 'X'
    VBPOK_TAB
    -- VBELN_VL - Delivery Number
    -- POSNR_VL - Delivery Item Number
    -- VBELN -- Sales Document Number
    -- POSNN -- Sales Document Item Number
    -- MATNR -- Material Number
    -- LFIMG -- '0.000'.
    Have tried this in both cases whereby we have partial picking done and full picking done and worked for both cases.
    Please try on your end too...
    Hope this helps.
    Regards
    Eswar

  • Update picking quantity in delivery (Batch split items) using function modu

    Hi All,
    I need to update a picking quantity with zero value in delivery for batch split items (Item numbers start with 900001. etc).I'm trying to use WS_DELIVERY_UPDATE
    and SD_DELIVERY_UPDATE_PICKING. I'm passing parameter VBKOK-KOMUE , and all other details, but it is not updating.
    I'm able to update delivery quantity of same item with zero value but not picking quantity.
    Could you please let me know how to achive this.
    Regards
    Vikram

    I think the number 900001is mean batch split line item.
    example:
    In Deivery Note:
    Item 10
         Batch 900001
         Batch 900002
    Item 20
         Batch 900003
         Batch 900004
    That right,

  • Updating picked quantity, gross and net-weight in delivery

    Hello Experts,
    I have created a program from which I am trying to update the picked quantity, gross and net-weights into an outbound delivery. This works in the normal scenario when the base UoM, sales UoM and the gross and net-weight UoMs are the same.
    However, when these UoMs are different, I have to carry out a conversion according to the UoM being used for each of the quantities mentioned. In such a scenario, the BAPI returns the following messages: -
    Error message: - Error in document 0080005487 item 00010 (quantity consistency check) [Message Class VLBAPI; Message Number 004]
    Warning message: -Quantities  0.0000000000000000E00 and  0.0000000000000000E00 cannot be represented by conv. factors 87,658 and 39,761 [Message Class VL; Message Number 266]
    The BAPI that I am using is BAPI_OUTB_DELIVERY_CHANGE.
    For the parameter ITEM_DATA, these are the values, that I am passing: -
    DELIV_NUM: - 80005487
    DELIV_ITEM: - 00010
    Material: - 30020596
    DLV_QTY: - 4
    DLV_QTY_IMUNIT: - 8.818
    FACT_UNIT_NOM: - 87658
    FACT_UNIT_DENOM: - 39761
    GROSS_WT: - 1.004
    NET_WEIGHT: - 0.004
    UNIT_OF_WT: - TO
    UNIT_OF_WT_ISO: - TNE
    SALES_UNIT: - KG
    SALES_UNIT_ISO: - KGM
    BASE_UOM: - LB
    MATERIAL_EXTERNAL:  - 30020596
    MATERIAL_GUID: - DD7B9B2F133B61F1B6DF0015C5891481
    Please note that the delivery I am trying to update has the following units: -
    Base UoM: - Lb
    Sales UoM: - Kg
    Gross & Nt Weight: - TO
    Please let me know if there is any other value in the item_data internal table or any other parameter of this BAPI that needs to be initialized.
    Please respond ASAP. I have been struggling with this issue for quite some time.
    Regards,
    Divyaman Singh Rawat

    https://www.sdn.sap.com/irj/scn/advancedsearch?cat=sdn_all&query=bapi_outb_delivery_change&adv=false&sortby=cm_rnd_rankvalue
    Will help you out

  • BAPI's for Batch Split and Update Picking Quantity

    HI All,
    I have the delivery details(along with batch number, MATNR etc), now i need to split the batch for picking.
    and then i need to sum the batch quantity and update this total quantity to the picking quantity and then update the delivery.
    I tried to use this BAPI function module BAPI_INB_DELIVERY_CHANGE.
    But i am unable to find the picking quantity field in this BAPI.
    Any idea about how to split the batches using BAPI's??
    and how to update the picking quantity using BAPI's?
    Thanks in advance.
    Vijay

    Hi,
    Can you share the solution for the above issue/
    Regards

  • Update picking quantity

    Hi all,
    We are using IDOC_INPUT_DLVRY in order to update the picking quantity for each item.
    For this we are inserting an extra E1EDL18 segment with QUALF = PIC.
    Now, we have the next issue: when the item is a BOM, the FM updates the quantity of this material but not the relative quantities of each material which belongs to the BOM.
    However doing the same operation manually via VA02, when you change the quantity of the parent BOM material every item of the BOM is updated in the delivery.
    Do u know how we can fix this issue? Maybe an OSS note?
    Thank you in advance.

    FM IDOC_INPUT_DLVRY does not exist in my system. In any case, I hope that you are actually using IDocs, not trying to use an IDoc function module to do some updates.
    My guess is that it's a DELVRY05 IDoc. It updates deliveries, not the orders (VA02 is for the orders). Are the deliveries being created and updated correctly? If so, then no additional steps should be required. When delivery line is updated, the corresponding sales order line should also be updated. If this is not happening, ask your SD consultant to check the configuration.
    If there is some unusual business process, you might need to update the orders separately by BAPI or ORDERS05 IDoc.

  • Update Picking Quantity using 'WS_DELIVERY_UPDATE_2' - URGENT

    Hi Experts,
    I am struck with an error in updating the delivery. I am using an rfc WS_DELIVERY_UPDATE_2 which is updating the picking quantity one for the first time in a delivery with two delivery quantity in a batch but when iam using it for the other one it is not updating the quantity. I think the parameters which iam passing to RFC might be wrong. I am using the rfc as follows:
    CALL FUNCTION 'WS_DELIVERY_UPDATE_2'
            EXPORTING
              VBKOK_WA             = WA_VBKOK
              SYNCHRON             = 'X'
              DELIVERY             = DEL_NBR
              UPDATE_PICKING       = 'X'
              COMMIT               = 'X'
              IF_DATABASE_UPDATE_1 = '1'
            TABLES
              VBPOK_TAB            = TAB_VBPOK
              PROT                 = I_PROTT.
    Please correct me if anything is wrong in the interface.
    Any quick response will be appreciated & rewarded.
    Thanks

    Hi seshu,
    It is triggering an error tht interface is not complete.
    so i changed the code:
    tables: vbfa.
    DATA : WA_VBKOK LIKE VBKOK.
    DATA : I_VBPOK LIKE VBPOK OCCURS 0 WITH HEADER LINE.
    DATA : I_PROT LIKE PROTT OCCURS 0 WITH HEADER LINE.
    clear vbfa.
    START-OF-SELECTION.
      WA_VBKOK-VBELN_VL = '0080882358'.
    SELECT SINGLE * FROM VBFA WHERE VBELN = WA_VBKOK-VBELN_VL.
    IF SY-SUBRC = 0.
      WA_VBKOK-VBELN = VBFA-VBELV.                    " Sales and distribution document
    ENDIF.
    Fill the item level
      I_VBPOK-VBELN_VL = '0080882358'.
      I_VBPOK-POSNR_VL = '900001'.
      SELECT SINGLE * FROM VBFA WHERE VBELN = I_VBPOK-VBELN_VL AND
                                      POSNN = I_VBPOK-POSNR_VL.
      IF SY-SUBRC = 0.
        I_VBPOK-VBELN = VBFA-VBELV.                   " Sales and distribution document
        I_VBPOK-POSNN = VBFA-POSNV.                   " Item of an SD document
        I_VBPOK-VBTYP_N = VBFA-VBTYP_N.                 " Document category
      ENDIF.
      I_VBPOK-MATNR = '9692A\260'.
      I_VBPOK-CHARG = '0000010669'.
      I_VBPOK-PIKMG = '1.0'.
      APPEND I_VBPOK.
      CALL FUNCTION 'SD_DELIVERY_UPDATE_PICKING'
      EXPORTING
      VBKOK_WA = WA_VBKOK
      SYNCHRON = 'X'
      NO_MESSAGES_UPDATE = SPACE
    NICHT_SPERREN = ' '
    AUFRUFER_T = ' '
      IF_ERROR_MESSAGES_SEND = 'X'
      TABLES
      VBPOK_TAB = I_VBPOK
      PROT = I_PROT
    if sy-subrc = 0.
          COMMIT WORK.
        WRITE:/ 'success'.
      else.
      write:/ 'not success'.
      endif.
    It is working fine in updating a delivery with 10 qty for only 8 picking but later when i am using it for the rest i.e., 2 picking qty, it is not working.
    Could please  hepl me with this.
    Thanks

  • How to Update picking qunatity while Automatic picking is active

    Hello All,
    I have a requirment of updating the Delivery pick quantity.
    I am updating the it through BAPI,
    Is there any other way of updating picked qunatity in case automatic picking is active.
    Please suggest
    regards,
    SNB

    Hello,
    Please look into below thread links for the same issue:
    Updating Picking Quantity using VL02N ?
    how to update picked qty as delivery qty while creating outbound delivery
    Hope the information is useful
    Regards,

  • Function module WS_DELIVERY_UPDATE deleting previously picked quantity

    hi everyone,
    I m facing a problem while using FM WS_DELIVERY_UPDATE .
    when i m using it to pick quantity in VL02N it deletes the previously picked quantity while updating the present one.
    For example : My delivery have item 1 quantity 5 out of which 2 is already picked .
                           Now is run the FM to pick rest 3 wat it does is it picks the rest 3 removing previous 2 .
    can any one tell me wat extra should i do or may be any indicator for it .
    Regards,
    Gaurav

    Hi,
    You can think of using BAPI_OUTB_DELIVERY_CHANGE.
    Regards
    Prasenjit

  • WS_DELIVERY_UPDATE_2 - picked quantity with negative values

    Hello All,
    I have a problem when I call function WS_DELIVERY_UPDATE_2.
    I have to update picked quantity from the delivery. If I have to update qty from 2 to 3, there is no problem. The corresponding parameter (pikmg) will contain '1' and the new values will be 3.
    But the problem is when I want to have a smaller value. If I have to update qty from 3 to 2, the parameter will contain '-1' , but this parameter can only have positive values, so an error message is returned.
    Does anyone know how to specify a smaller picked quantity or how to decrease this quantity?
    Can anyone help me?
    Many thanks in advance.
    Best Regards

    check if you are passing the below parameters.
      CALL FUNCTION 'WS_DELIVERY_UPDATE_2'
        EXPORTING
          vbkok_wa                  = ls_vbkok
          no_messages_update_1      = 'X'
          commit                    = 'X'
          delivery                  = p_delivery
          if_error_messages_send    = ' '
        IMPORTING
          ef_error_any              = lv_error_any
          ef_error_in_item_deletion = lv_error_in_item_deletion
          ef_error_in_pod_update    = lv_error_in_pod_update
          ef_error_in_interface     = lv_error_in_interface
          ef_error_in_goods_issue   = lv_error_in_goods_issue
          ef_error_in_final_check   = lv_error_in_final_check
          ef_error_partner_update   = lv_error_partner_update
          ef_error_sernr_update     = lv_error_sernr_update
        TABLES
          vbpok_tab                 = p_vbpok
          tvpod_tab                 = p_tvpod.

Maybe you are looking for