Bapi for inbound delivery using PO

Hi experts,
I want to create a bapi for inbound delivery using PO.
which bapi or FM should i use and can you send me the code for that.
Thanks,
Rajiv

Hi Rajiv,
Please check this FM --> BAPI_DELIVERYPROCESSING_EXEC
Please check these threads
Bapi to create inbound delivery
BAPI to create inbound delivery
Hope this would help you.
Good luck
Narin

Similar Messages

  • BAPI For Inbound Delivery using Purchase Order Number

    Hi All,
    Is there any BAPI for posting Inbound Delivery (VL31N) using Purchase Order as reference.
    thanks
    bobby

    Not sure what it has to do with enhancements and modifications, but there is no such BAPI:
    http://tech.groups.yahoo.com/group/ABAP/message/38307
    http://sap.ittoolbox.com/groups/technical-functional/sap-log-mm/bapi-for-inbound-delivery-creation-and-update-vl31n-1201265
    FYI all BAPIs may be viewed in BAPI transaction.

  • Function Module / BAPI for Inbound Delivery from Purchase Order

    Hi,
    I need to create an inbound delivery from Purchase Order items and am looking out for some Function Module or BAPI for the same.
    The requirement is that i should be able to specify selected line items from PO for delivery.
    I tried the BDC method for VL31N , but the particular item selection is problem, since by default it shows all the items of PO and i want only selected items.
    Do reply.
    Thanks in advance.

    check these and their documentations.
    BAPI_INB_DELIVERY_CHANGE       Change inbound delivery
    BAPI_INB_DELIVERY_CONFIRM_DEC  BAPI for inbound delivery verification from a decentralized system
    BAPI_INB_DELIVERY_SAVEREPLICA  BAPI Function Module for Replication of Inbound Deliveries
    Regards
    Prabhu

  • Finding BAPI for  inbound Delivery change(VL32N)

    HI,
    Plz help me For finding BAPI for  inbound Delivery change(VL32N).
    I have to pass delivery no as input parameter and should able to change shipment heder information
    like Special processing indicator.
    REGARDS,
    Sunil Sahoo.

    hi ,
    there are three  BAPI  your requirment
    1) BAPI_INB_DELIVERY_CONFIRM_DEC
    2) BAPI_INB_DELIVERY_SAVEREPLICA
    3) BAPI_INB_DELIVERY_CHANGE
    but for requirment
    The third BAPI
    BAPI_INB_DELIVERY_CHANGE
    will Sound promising. try this out
    regards
    Prashant

  • BAPI for Inbound Delivery(IBD - VL31N)

    Hi all,
    I need to create an inbound delivery with reference to PO  using bapi which is retreived by an IDoc. I cannot use standard Process code to Create it because i need to do validations and convert UOM etc).  In that i need to use Container No E1EDL37-EXIDV2(Idoc field).
    May i know which bapi which suits for this requirement.
    Thanks & regards
    sreehari p

    Hi Rajiv,
    Please check this FM --> BAPI_DELIVERYPROCESSING_EXEC
    Please check these threads
    Bapi to create inbound delivery
    BAPI to create inbound delivery
    Hope this would help you.
    Good luck
    Narin

  • BAPI for Inbound delivery

    Hi,
    I am interested knowing, if there is any BAPI available for doing Inbound Delivery in SAP.
    I have a requirement to do partial inbound delivery which I cant do with VL31n or VL30. even if can do with these transactions,
    I will not be able to run them in background.
    Any help in this regard is highly appreciated.

    Hi all, was working with similar problem.
    I used GN_DELIVERY_CREATE and wrapped it up into method.
    May be will be useful.
    It creates inbound delivery by PO/STO
    Method signature :
    I_EBELN     Importing  Type     EBELN Purchasing Document Number
    I_COMMIT Importing Type     ANY Commit database changes
    I_LFDAT     Importing    Type LFDAT SY-DATUM
    E_VBELN     Exporting    Type VBELN_VL Delivery
    ET_LIPS       Exporting  Type /SAPSLL/LIPS_R3_T
    ET_RETURN Exporting  Type BAPIRET2_T
    E_RC       Changing   Type SYSUBRC
    E_MESSAGE Changing   Type ANY
    Method itself:
    method create_inb_dlvr_by_po.
    *-- Logic for current method was extracted from
    *-- source code of VL31N dialog transaction
      data l_sd_doc_category type vbtyp value 'V'.
      data l_ibtyp type t163d-ibtyp value '2'.
      data l_func(1) value '1'.
      constants c_error(1) value 'E'.
      field-symbols <wa_xkomdlgn> type komdlgn.
      data lt_lips      type table of lips.
      data wa_lips      type lips.
      data lt_errors    type table of wuebs.
      data wa_errors    type wuebs.
      data wa_return    type bapiret2.
      data lt_wueb      type table of wueb.
      data wa_wueb      type wueb.
      data vbsk_i       type vbsk.
      data l_no_commit  type char01.
      data lt_xkomdlgn  type table of komdlgn.
      data lt_xvbfs     type table of vbfs.
      data lt_xvbls     type table of vbls.
      data vbsk_e       type vbsk.
      data lt_splitprot type vlikp_t_splitprot.
      data wa_tvlk      type tvlk.
      data wa_likp      type likp.
      clear: e_rc, e_message.
    *-- Prepare data for delivery creation
      wa_wueb-ebeln = i_ebeln.
      append wa_wueb to lt_wueb.
    *-- Get delivery type
      call function 'ME_CONFIRMATION_DELIVERY_TYPE'
           exporting
                i_func              = l_func
           changing
                c_ibtyp             = l_ibtyp
                c_lfart             = wa_likp-lfart
           exceptions
                function_not_valid  = 01
                param_value_missing = 02
                no_item_found       = 03
                error_message       = 04.
      if not sy-subrc is initial.
        e_rc = sy-subrc.
        message id sy-msgid type sy-msgty number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 into e_message.
        exit.
      endif.
    *-- Get default order type
      select single daart into wa_tvlk-daart
                          from tvlk
                          where lfart eq wa_likp-lfart.
      if not sy-subrc is initial.
        e_rc = sy-subrc.
        e_message = 'Delivery type not found'(001).
        exit.
      endif.
    *-- Fill communiaction table from PO data
      call function 'ME_CONFIRMATION_READ_AVIS'
           exporting
                ldate         = sy-datum
           tables
                t_kom         = lt_xkomdlgn
                t_wueb        = lt_wueb
                errors        = lt_errors
           exceptions
                error_message = 99.
      if et_return is supplied.
        clear wa_return.
        loop at lt_errors into wa_errors.
          wa_return-id         = wa_errors-msgid.
          wa_return-type       = wa_errors-msgty.
          wa_return-number     = wa_errors-msgno.
          wa_return-message_v1 = wa_errors-msgv1.
          wa_return-message_v2 = wa_errors-msgv2.
          wa_return-message_v3 = wa_errors-msgv3.
          wa_return-message_v4 = wa_errors-msgv4.
          append wa_return to et_return.
        endloop.
      endif.
      loop at lt_errors into wa_errors where msgty = c_error.
        message id wa_errors-msgid
           type wa_errors-msgty
           number wa_errors-msgno
           with wa_errors-msgv1 wa_errors-msgv2
                wa_errors-msgv3 wa_errors-msgv4
           into e_message.
        e_rc = 8.
        exit.
      endloop.
      check e_rc is initial.
    *-- Set delivery date
      wa_likp-lfdat = i_lfdat.
    *-- Prepare General Delivery Interface data
      loop at lt_xkomdlgn assigning <wa_xkomdlgn>.
        <wa_xkomdlgn>-lfart = wa_likp-lfart.
        <wa_xkomdlgn>-auart = wa_tvlk-daart.
        <wa_xkomdlgn>-vgtyp = l_sd_doc_category.
        <wa_xkomdlgn>-lfdat = wa_likp-lfdat.
        <wa_xkomdlgn>-lfuhr = wa_likp-lfuhr.
        <wa_xkomdlgn>-bolnr = wa_likp-bolnr.
        <wa_xkomdlgn>-verur = wa_likp-verur.
        <wa_xkomdlgn>-lifex = wa_likp-verur.
        <wa_xkomdlgn>-traty = wa_likp-traty.
        <wa_xkomdlgn>-traid = wa_likp-traid.
        <wa_xkomdlgn>-kzazu = charx.
      endloop.
      if i_commit is initial.
        l_no_commit = charx.
      else.
        clear l_no_commit.
      endif.
    *-- Create delivery
      call function 'GN_DELIVERY_CREATE'
           exporting
                vbsk_i        = vbsk_i
                no_commit     = charx
           importing
                vbsk_e        = vbsk_e
                et_splitprot  = lt_splitprot
           tables
                xkomdlgn      = lt_xkomdlgn
                xxlips        = lt_lips
                xvbfs         = lt_xvbfs
                xvbls         = lt_xvbls
           exceptions
                error_message = 99.
      if not sy-subrc is initial.
        e_rc = 8.
        message e398(00) with 'DELIVERY'(003) 'CREATION FAILED'(002)
          into e_message.
        exit.
      endif.
      if lt_lips[] is initial.
        e_rc = 8.
        message e398(00) with 'DELIVERY'(003) 'CREATION FAILED'(002)
          into e_message.
        exit.
      endif.
      loop at lt_lips into wa_lips.
        exit.
      endloop.
      et_lips = lt_lips.
      delete lt_lips where lfimg <> 0.
      if not sy-subrc is initial.
        e_rc = 8.
        message e398(00) with 'DELIVERY'(003) wa_lips-vbeln
                              'WITH 0 QTY. NOT SAVED!'(005)
          into e_message.
        rollback work.
        exit.
      endif.
      if l_no_commit is initial.
        commit work and wait.
        select single vbeln into e_vbeln from lips
               where  vbeln  = wa_lips-vbeln.
        if not sy-subrc is initial.
          e_rc = 8.
          message e398(00) with 'DELIVERY'(003) 'CREATION FAILED'(002)
             into e_message.
          exit.
        else.
          message s398(00) with 'DELIVERY'(003) wa_lips-vbeln
                                'CREATED'(004)
               into e_message.
        endif.
      else.
        rollback work.
        message s398(00) with 'DELIVERY'(003) wa_lips-vbeln
                              'CREATED'(004)
             into e_message.
      endif.
      e_vbeln = wa_lips-vbeln.
    endmethod.

  • Trigger internal serial nos creation for inbound delivery using DELVRY03

    Hi all,
    I am working in ECC 6.0 I need to update serial nos in the inbound delivery. The internal serial nos. that will be generated by the system, I have to trap them for a given delivery and map it to a set of external serial nos.(length is 40 chars) and update in a Z table.
    For changing the delivery, I am using idoc DELVRY03 (message SHPCON). Within the idoc I am not able to find any such field which will trigger the automatic creation of internal serial nos. In case of idoc MBGMCR03 (goods movement), there is a field E1BP2017_GM_ITEM_CREATE-SERIALNO_AUTO_NUMBERASSIGNMENT which when set to 'X', the internal serial nos are automatically generated and can be found in table SER03.
    I want a similar thing for the DELVRY03 idoc. Can anyone help me on this?
    If not possible through Idoc, then whats the other option?
    My aim is to just get the internal serial nos created through delivery change activity.
    Note - The serial no. profile cannot have the option of serial no. usage set to '04 - automatic' in SPRO as per the client's business process.
    Thanks,
    Shoma

    Hi Shoma,
    copy the FM  which is assigned to your processcode and copy to ZFM and write your modifications on that ZFM.
    It will resolves your problem.
    Regards,
    Venkat.

  • Post Goods Receipt for Inbound Delivery using WHSCON IDoc

    Dear All
    Currently I am working on a big project dealing with EDI connections to our logistics partner for the Export business. The entire message flow between Lindt and our partner should be via EDI. Our SAP release is (still) 4.6c.
    We will create two kinds of despatch advice messages, one for inbound deliveries and one for outbound deliveries for customers.
    I would appreciate your support in the following problem that I am facing with the inbound delivery scenario:
    We create stock transport orders (purchase orders, POs) for the goods intended to be delivered into the plant at our partner
    We create a delivery (type NL = replenishment delivery) for this POs
    As soon as we post the goods issue we send the despatch advice (as EANCOM D96A DESADV message) to our partner.
    At this point the delivery is basically completed, i.e. packing status (PS) and goods movement status (GM / GS) are equal to 'C' (= completed).
    Our logistics partner uses the same EDI message to send us the goods receipts data, e.g.:
    We dispatched 50 units of a product => QTY:50:12
    The partner received indeed 50 units => QVR:50:66
    Please note that we do not use the QVR segment for the quantity difference (between despatched and received quantity) but it contains the received units. This way we avoid negative values in the QVR segment.
    When the logistics partner sends back the DESADV message containing the received quantities (QVR segment) we want to make
    the goods receipts for the products in the original stock transport order and
    upate the message flow in the delivery
    My idea was to transform the incoming DESADV message into a WHSCON.DELVRY03 IDoc based on the documentation in: [Delivery Interface|http://help.sap.com/saphelp_crm40/helpdata/en/e2/654b15a9f411d184ec0000e81ddea0/content.htm]
    In the delivery header control E1EDL18 I used QUALF = 'PGI' (Post goods issue).
    I prepared an inbound WHSCON IDoc according to the documentation mentioned below. I managed to get some feedback from the Idoc processing implying that the system tried to do the goods receipt in the PO but failed.
    To make a long story short here are my questions:
    Can an inbound WHSCON IDoc used for doing both the goods receipt in the PO and the update of the message flow in the delivery?
    Does anybody have an example on how to fill the WHSCON IDoc?
    Or is my approach a cul-de-sac ?
    Kind Regards
       Uwe
    PS: A related question can be found here: Goods Receipt in PO AND Message Flow Update in Inb. Delivery using WMMBXY

    Hi Uwe,
    Can an inbound WHSCON IDoc used for doing both the goods receipt in the PO and the update of the message flow in the delivery?
    The binary answer would be no. You should use WMMBXY or MBGMCR instead.
    But if we are doing goods receipt against Inbound delivery then answer is YES with additionally E1EDL18-QUALF = 'PIC' populated. But please remember no partial receipt is possible against Inbound Delivery.
    We should populate E1EDL20-VBELN with our Inbound delivery number and line item info should go to E1EDL24.
    I have done a similar interface recently where we are doing receipt against Inbound delivery. But our case was a bit complex because we had to support against Inbound delivery. So we had to go for a custom solution on top of IDOC_INPUT_DELVRY.
    Hope this helps. Let me know if you have more questions.
    Regards,
    Rudra

  • IDoc or BAPI for inbound delivery creation with reference to PO.

    Hi
    I have requirement to create a inbound delivery, I  will get a ASN from external system with PO, Vendor Material number & batch. I want to know is there any BAPI or IDoc that can be used to create inbound delivery in R/3. I used BBP_INB_DELIVERY_CREATE to create inbound delivery and I was successful but problem is that inbound delivery was not updated with Vendor Material number & Batch.  Can some one suggest me any other BAPI or IDoc ?
    Thanks in advance
    Nagendra P Boggarapu
    Edited by: Nagendra P Boggarapu on May 6, 2010 4:06 PM

    Use Delvry0* IDOC.
    Reddy

  • BAPI for inbound delivery creation

    Hi,
    I have to create and modify inbound deliveries from a code, so I'm wondering if exists any BAPI (or function module) to create or modify inbound delivery.
    Thanks in advance

    This is an example of BAPI_INB_DELIVERY_CHANGE. It is in the documentation of the function
    I hope it helps you...
    Example
    If you want to change the quantity for a distributed quantity, then following entries are required for the transfer to the connected system:
    In the header data of inbound delivery parameter (HEADER_DATA)
    The delivery number (DELIV_NUMB)
    In parameter item data of inbound delivery (ITEM_DATA)
    The delivery number (DELIV_NUMB)
    The delivery item (DELIV_ITEM)
    The delivery quantity in sales unit (DLV_QTY)
    The actual delivery quantity in base UoM (DLV_QTY_IMUNIT)
    The sales unit (SALES_UNIT)
    The ISO code for the sales unit (SALES_UNIT_ISO)
    The base unit of measure (BASE_UOM)
    The ISO code for the base unit of measure (BASE_UOM_ISO)
    In the control of the inbound delivery at item level parameter (ITEM_CONTROL)
    The delivery number (DELIV_NUMB)
    The delivery item (DELIV_ITEM)
    The Change Delivery Quantity indicator(CHG_DELQTY)

  • BAPI for Inbound Delivery Batch Split

    Hello Friends,
      I need any BAPI/BADI to assign batch split items to inbound delivery.  In out scenario, we generate transfer posting in MIGO with split batches and during inbound delivery generation in background, system generates seperate line items instead batch split items.  Now we need any BAPI/BADI to assign the batch split items during inbound delivery creation/change.
    Appreciate your support
    Best Regards,
    Goutham

    Hi Goutham,
    Please trt to use the BADI LE_SHP_DELIVERY_PROC - methods FILL_DELIVERY_ITEM and CHANGE_DELIVERY_ITEM when VB_CREATE_BATCH is called.
    As per note 317531 it is not possible to create bacthes in an SAP standard system via VL31N. There's no update on table MCHA even if you enter a new batch in the inbound delivery.
    I hope this information helps you.
    Kind regards,
    Fábio Almeida
    MM Consultant

  • Create a Batch split for inbound delivery using IDOC

    Hi,
    I have an requirement to create Batch splits in the Inbound delivery.
    These Inbound deliveries are created using IDOC.
    So when the inbound deliveries are created through IDOC the Batch split is not happening.
    How can i achieve this through Coding?
    Any pointers on this will be highly appreciated.

    Hi ,
    Try this link.
    http://wiki.sdn.sap.com/wiki/display/ABAP/Toapplybatchsplitinanoutbound+delivery
    Regards
    HM

  • BAPI/FM Inbound delivery change

    Hi All,
    Problem- I am trying to change inbound delivery field wadat_ist(actual GR date)
    I found FM: WS_DELIVERY_UPDATE which can help me do that.
    However, for the change to be effective i need to select the field WABUC(Post good issue automatically) as the FM checks for that field, which does the goods receipt.
    Is there a way in which I can change the actual GR date without doing a Goods receipt. If so, please let me know.
    I also looked at BAPI_INBOUND_DELIVERY_CHANGE...apparently it does not have an option for field wadat_ist(i could have missed it, but so far I could not find it)
    P.S: I am using 4.6C
    Thanks in advance for all your help!!!

    hi,
    check this
    BAPI_IBDLV_CREATE_FROM_OBDLV BAPI Inbound Delivery from Outbound Delivery
    BAPI_INB_DELIVERY_CONFIRM_DEC BAPI for Inbound Delivery Confirmation from a Decentralized System
    BAPI_INB_DELIVERY_SAVEREPLICA BAPI Function Module for Replication of Inbound Deliveries
    BAPI_OUTB_DELIVERY_CONFIRM_DEC BAPI for Outbound Delivery Confirmation from a Decentralized System
    BAPI_OUTB_DELIVERY_SAVEREPLICA BAPI Function Module for Replication of Outbound Deliveries

  • SAP System inconsistency for Inbound delivery / MIGO and a "sap note"

    Hello Friends ,
    After following SAP instruction on how to remove the inconsistency between posting GR through MIGO (Inv. mang.) and the reflection of the goods movement status in the inbound delivery document - done that using sap note 570991
    the problem is that the system start behaving in a weird way throwing unjustified Error messages for any suggested goods receipt using MIGO with reference to inbound
    for example after creating an inbound delivery document and trying to post it via migo , an error will pop up
    - Inbound delivery storage location cannot be changed to here Message no. VLA316
    the thing is i didn't even maintain any storage location entry up to that point and yet i cannot post any stock !!
    also another error  like
    - Inbound delivery batch cannot be changed to *** here
    which doesn't make any sense because there is not batches in the inbound document !!
    i think this behavior is coming from the "Document Flow Update for Stock Postings" inbound  indicator  at the shipping parameter at client level customization
    i need help on  how to overcome this annoying SAP Bug/Problem specially i am in a post go live critical situation

    Hi,
       The messages you mentioned were introduced to avoid inconsistency between inbound delivery and IM, through the note:  1050944 - GR for inbound delivery using inventory mgmt as of ECC 6.00
       If the messages are issued incorrectly, then you may check for SAP notes (I couldnt find anything relevant) or raise an OSS ticket to SAP.
    Regards,
    AKPT

  • Error while doing PGI for Outbound delivery using BAPI BAPI_GOODSMVT_CREATE

    Hi All,
    I am getting an below error while doing PGI for outbound delivery using the BAPI BAPI BAPI_GOODSMVT_CREATE:
    Goods movement not possible with mvmt type 601
    Can anyone suggest me what will be the solution for it?
    Regards,
    Raghuraman.k

    I tried with the above BAPI but it is not working.
    In my case a delivery has one line item with batch split and other line item without batch split.
    Below is my code :
    DATA : gwa_header_data TYPE bapiobdlvhdrcon,
           gwa_header_ctrl TYPE bapiobdlvhdrctrlcon,
           lv_delivery     TYPE bapiobdlvhdrcon-deliv_numb,
           git_item_data TYPE STANDARD TABLE OF bapiobdlvitemcon,
           gwa_item_data TYPE bapiobdlvitemcon,
           git_item_ctrl TYPE STANDARD TABLE OF bapiobdlvitemctrlcon,
           gwa_item_ctrl TYPE bapiobdlvitemctrlcon,
           git_return    TYPE STANDARD TABLE OF bapiret2,
           gwa_return    TYPE bapiret2.
    *Header data
    gwa_header_data-deliv_numb = '0808000002'.
    *Header Control data
    gwa_header_ctrl-deliv_numb = '0808000002'.
    gwa_header_ctrl-post_gi_flg = 'X'.
    *Delivery Number
    lv_delivery = '0808000002'.
    *Item data and its corresponding control data
    gwa_item_data-deliv_numb      = '0808000002'.
    gwa_item_data-deliv_item      = '900002'.
    gwa_item_data-dlv_qty         = 4.
    gwa_item_data-dlv_qty_imunit  = 4.
    gwa_item_data-fact_unit_nom   = 1.
    gwa_item_data-fact_unit_denom = 1.
    APPEND gwa_item_data TO git_item_data.
    gwa_item_ctrl-deliv_numb      = '0808000002'.
    gwa_item_ctrl-deliv_item      = '900002'.
    gwa_item_ctrl-chg_delqty      = 'X'.
    APPEND gwa_item_ctrl TO git_item_ctrl.
    gwa_item_data-deliv_numb      = '0808000002'.
    gwa_item_data-deliv_item      = '900003'.
    gwa_item_data-dlv_qty         = 6.
    gwa_item_data-dlv_qty_imunit  = 6.
    gwa_item_data-fact_unit_nom   = 1.
    gwa_item_data-fact_unit_denom = 1.
    APPEND gwa_item_data TO git_item_data.
    gwa_item_ctrl-deliv_numb      = '0808000002'.
    gwa_item_ctrl-deliv_item      = '900003'.
    gwa_item_ctrl-chg_delqty      = 'X'.
    APPEND gwa_item_ctrl TO git_item_ctrl.
    gwa_item_data-deliv_numb      = '0808000002'.
    gwa_item_data-deliv_item      = '000020'.
    gwa_item_data-dlv_qty         = 10.
    gwa_item_data-dlv_qty_imunit  = 10.
    gwa_item_data-fact_unit_nom   = 1.
    gwa_item_data-fact_unit_denom = 1.
    APPEND gwa_item_data TO git_item_data.
    gwa_item_ctrl-deliv_numb      = '0808000002'.
    gwa_item_ctrl-deliv_item      = '000020'.
    gwa_item_ctrl-chg_delqty      = 'X'.
    APPEND gwa_item_ctrl TO git_item_ctrl.
    BREAK-POINT.
    CALL FUNCTION 'BAPI_OUTB_DELIVERY_CONFIRM_DEC'
      EXPORTING
        header_data    = gwa_header_data
        header_control = gwa_header_ctrl
        delivery       = lv_delivery
      TABLES
        item_data      = git_item_data
        item_control   = git_item_ctrl
        return         = git_return.
    BREAK-POINT.
    IF git_return IS INITIAL.
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
    ENDIF.

Maybe you are looking for