User Exit for Delivery Creation

Hi,
I am looking for an User Exit for Delivery Creation, which should provide a Sales Order Number. This is required before Batch determination. Can any one help.

Hi,
I think you can try with MV50AFZ1 user exit.
In move fields to LIKP and LIPS routine you can get the sales order.
LIPS-VGBEL gives the sales order.
Thanks,
Rohan

Similar Messages

  • User exit for delivery creation in VL10B/VL10G-

    Hi,
    Is there any exits available for restricting the document type while the deliveries are selected/processed using VL10B/VL10G - delivery creation in background.
    Scenario is when deliveries are created for STO's,the delivery is to be created for a selected document types(EKKO - BSART).Other types of document types have to be ignored when the delivery is created in background.
    Regards
    Deepak

    Hello Deepak
    You handle this through configuration while setting up Stock Transport Orders in MM.
    Path:  IMG/Materials Management/Purchasing/Purchase Order/Set up Stock Transport Order/Assign Delivery Type and Checking Rule
    Here you a Delivery type for a combination of Plant and PO type. So those PO types which you don't want to be included for delivery creation will not figure in this assignment. I don't think you should go down  the user exit route.
    If you still need to explore user exits, look at OSS note 198137 for a list and purpose of VL10X based exits.
    Hope this helps.

  • Extended Idoc - User exit for delivery VL01 and Invoice VF01

    Hi Experts,
    We are developing Extended Idoc for order - cash cycle.The extended Idoc contains 4 extra fields.
    I want to know the User exits where i can populate the extended segment field values for VL01 and VF01 transactions.

    HI
    exits available for  VL01.
    VMDE0004                                Shipping Interface: Message SDPACK (Packing, Inbound)
    VMDE0003                                Shipping Interface: Message SDPICK (Picking, Inbound)
    VMDE0002                                Shipping Interface: Message PICKSD (Picking, Outbound)
    VMDE0001                                Shipping Interface: Error Handling - Inbound IDoc
    V53W0001                                User exits for creating picking waves
    V53C0002                                W&S: RWE enhancement - shipping material type/time slot
    V53C0001                                Rough workload calculation in time per item
    V50S0001                                User Exits for Delivery Processing
    V50R0004                                Calculation of Stock for POs for Shipping Due Date List
    V50R0002                                Collective processing for delivery creation
    V50R0001                                Collective processing for delivery creation
    V50Q0001                                Delivery Monitor: User Exits for Filling Display Fields
    V50PSTAT                                Delivery: Item Status Calculation
    V02V0004                                User Exit for Staging Area Determination (Item)
    V02V0003                                User exit for gate + matl staging area determination (headr)
    V02V0002                                User exit for storage location determination
    V02V0001                                Sales area determination for stock transport order
    For VF01..
    Enhancement
    V61A0001                                Customer enhancement: Pricing
    V60P0001                                Data provision for additional fields for display in lists
    V60A0001                                Customer functions in the billing document
    V05N0001                                User Exits for Printing Billing Docs. using POR Procedure
    V05I0001                                User exits for billing index
    SDVFX011                                Userexit for the komkcv- and kompcv-structures
    SDVFX010                                User exit item table for the customer lines
    SDVFX009                                Billing doc. processing KIDONO (payment reference number)
    SDVFX008                                User exit: Processing of transfer structures SD-FI
    SDVFX007                                User exit: Billing plan during transfer to Accounting
    SDVFX006                                User exit tax line in transfer to accounting
    SDVFX005                                User exit reserves in transfer to accounting
    SDVFX004                                User exit G/L line in transfer to accounting
    SDVFX003                                User exit cash clearing in transfer to accounting
    SDVFX002                                User exit for A/R line in transfer to accounting
    SDVFX001                                User exit header line in delivery to accounting
    J_3RSINV

  • User exit for  Delivery output execution

    Hello All,
             My query is i  need a delivery relevant  user exit for output trigger which the  specific order reason and for this only it should trigger in the VL01N (delivery) output. Kindly let me know if any user exit is there where i can give my condition(by checking the specific order reason from the proceding sales document)  and for that only it should trigger in the VL01N output . PLZ let me know the answer ASAP.

    Hi
    Check the following enhancements and BADI's
    Enhancement
    VMDE0004                                Shipping Interface: Message SDPACK (Packing, Inbound)
    VMDE0003                                Shipping Interface: Message SDPICK (Picking, Inbound)
    VMDE0002                                Shipping Interface: Message PICKSD (Picking, Outbound)
    VMDE0001                                Shipping Interface: Error Handling - Inbound IDoc
    V53W0001                                User exits for creating picking waves
    V53C0002                                W&S: RWE enhancement - shipping material type/time slot
    V53C0001                                Rough workload calculation in time per item
    V50S0001                                User Exits for Delivery Processing
    V50R0004                                Calculation of Stock for POs for Shipping Due Date List
    V50R0002                                Collective processing for delivery creation
    V50R0001                                Collective processing for delivery creation
    V50Q0001                                Delivery Monitor: User Exits for Filling Display Fields
    V50PSTAT                                Delivery: Item Status Calculation
    V02V0004                                User Exit for Staging Area Determination (Item)
    V02V0003                                User exit for gate + matl staging area determination (headr
    V02V0002                                User exit for storage location determination
    V02V0001                                Sales area determination for stock transport order
    Business Add-in
    DELIVERY_ADDR_SAP                       Address Change in Delivery Processing
    DELIVERY_PUBLISH                        Announcement of delivery data during database update
    Also look at the Standard program of Delivery SAPMV50A
    for the user exit Include MV50AFZZ
    <b>Reward points for useful Answers</b>
    Regards
    Anji

  • User Exit for Delivery Updating

    Hi,
    I am creating one user exit for delivery ,
    My condition:
    If XLIKP-UPDKZ (Update indicator) = Update (U).
    Read table Deferred COGS Activity (Z1009) with key
    Delivery Number  eq LIKP-VBELN.
    If sy-subrc <> 0
    Exit.
    Else.
    If V50AGL-WARENAUSGANG=X (PGI is active)
    Update table Z1009 with
    WADAT_IST = XLIKP-WADAT_IST
    PGI_ERNAM = SY-UNAME
    PGI_ERDAT = SY-DATUM.
    where Delivery Number (DL_NO) eq LIKP-VBELN.
    If delivery updated successfully then no problem ,
    if not updated then I need to through error message to log.
    I need Function Module for this.
    Can u help me.

    These ar all the User Exits used in VL01N.
    Exit Name           Description
    V02V0001            Sales area determination for stock transport order
    V02V0002            User exit for storage location determination
    V02V0003            User exit for gate + matl staging area determination (headr)
    V02V0004            User Exit for Staging Area Determination (Item)
    V50PSTAT            Delivery: Item Status Calculation
    V50Q0001            Delivery Monitor: User Exits for Filling Display Fields
    V50R0001            Collective processing for delivery creation
    V50R0002            Collective processing for delivery creation
    V50R0004            Calculation of Stock for POs for Shipping Due Date List
    V50S0001            User Exits for Delivery Processing
    V53C0001            Rough workload calculation in time per item
    V53C0002            W&S: RWE enhancement - shipping material type/time slot
    V53W0001            User exits for creating picking waves
    VMDE0001            Shipping Interface: Error Handling - Inbound IDoc
    VMDE0002            Shipping Interface: Message PICKSD (Picking, Outbound)
    VMDE0003            Shipping Interface: Message SDPICK (Picking, Inbound)
    VMDE0004            Shipping Interface: Message SDPACK (Packing, Inbound)
    You can also look at BADI: LE_SHP_DELIVERY_PROC. It has several implementations which could be useful to you.

  • User-exit for delivery while assigning serial numbers(urgent)

    hi all,
    can u plz tell me the specific user exit for delivery (VL01n) while assigning serial numbers?
      i am getting the serial numbers for material in database table OBJK .i am also getting these serial no.s in IQ01.
       while doing delivery,i am going for extra-->serial number.at this time one screen for serial number is comming.those serial numbers which are stored in objk will transfer to this screen of delivery automatically.
      for this , i want a specific user-exit for delivery so that i can transfer the serial nos from objk to that screen of delivery.plz suggest .(urgent )
    any idea is highly appreaciated
    Regards
    pabitra

    You can find from below list of user exists
    V02V0001            Sales area determination for stock transport order          
    V02V0002            User exit for storage location determination                
    V02V0003            User exit for gate + matl staging area determination (headr)
    V02V0004            User Exit for Staging Area Determination (Item)             
    V50PSTAT            Delivery: Item Status Calculation                           
    V50Q0001            Delivery Monitor: User Exits for Filling Display Fields     
    V50R0001            Collective processing for delivery creation                 
    V50R0002            Collective processing for delivery creation                 
    V50R0004            Calculation of Stock for POs for Shipping Due Date List     
    V50S0001            User Exits for Delivery Processing                          
    V53C0001            Rough workload calculation in time per item                 
    V53C0002            W&S: RWE enhancement - shipping material type/time slot     
    V53W0001            User exits for creating picking waves                       
    VMDE0001            Shipping Interface: Error Handling - Inbound IDoc           
    VMDE0002            Shipping Interface: Message PICKSD (Picking, Outbound)      
    VMDE0003            Shipping Interface: Message SDPICK (Picking, Inbound)       
    VMDE0004            Shipping Interface: Message SDPACK (Packing, Inbound)

  • USER-EXIT for DELIVERY--very very urgent

    Hi all,
    can u plz tell me the user-exit for delivery i.e this exit should be called after the delivery order is created.
    plz suggest some specific exit.it is very very urgent.
    Regards
    pabitra

    Rout ,
    u cannt find out user exits after the Creation.
    V02V0001            Sales area determination for stock transport order
    V02V0002            User exit for storage location determination
    V02V0003            User exit for gate + matl staging area determination (headr)
    V02V0004            User Exit for Staging Area Determination (Item)
    V50PSTAT            Delivery: Item Status Calculation
    V50Q0001            Delivery Monitor: User Exits for Filling Display Fields
    V50R0001            Collective processing for delivery creation
    V50R0002            Collective processing for delivery creation
    V50R0004            Calculation of Stock for POs for Shipping Due Date List
    V50S0001            User Exits for Delivery Processing
    V53C0001            Rough workload calculation in time per item
    V53C0002            W&S: RWE enhancement - shipping material type/time slot
    V53W0001            User exits for creating picking waves
    VMDE0001            Shipping Interface: Error Handling - Inbound IDoc
    VMDE0002            Shipping Interface: Message PICKSD (Picking, Outbound)
    VMDE0003            Shipping Interface: Message SDPICK (Picking, Inbound)
    VMDE0004            Shipping Interface: Message SDPACK (Packing, Inbound)
    *        FORM-Routinen für Userexits
             include mv50afzz.
             include mv50afz1.
             include mv50afz2.
             include mv50afz3.          "Userexit neu zu Release 3.0A
             include mv50afzk.          "Userexit 4.6A (KOMKG/KOMPG)
             include mv50afzl.          "Userexit 4.6A Liefergruppen
                                                                   "n_693000
             include mv50afzp.          "Userexit for pricing screen input
    Regards
    Prabhu

  • BAdI: or User Exit for Campaign Creation   IN CRM 5.0

    Hi all,
    we are working in CRM 5.0,
    we have a Requirement like :
    when we create the campaign it should check higher level project ID (marketing Plan ID)
    if it is there it should permit for create campaign else it ll show error...
    Any BAdI: or User Exit for Campaign Creation?
    I ll geive reward points....
    Rhanks & Regards,
    Ganesh

    IN WHICH TRANSACTION U R CREATING CAMPAIGN ??

  • BAdI: or User Exit  for Campaign Creation

    Hi all,
              we are working in CRM 5.0,
    we have a Requirement like :
          when we create the campaign it should check higher level project ID        (marketing Plan ID)
          if it is there it should permit for create campaign else it ll show error...
    Any BAdI: or User Exit  for Campaign Creation?
    I ll geive reward points....
    Rhanks & Regards,
    Ganesh

    Dear Ganesh,
    As campaign can be created and executed individually also, it will never check for higher level project ID.
    Let me check the system if we can block creation of campaign individually, without having a higher level marketing plan.

  • NEED VL02N VL09 USER-EXIT FOR DELIVERY COMPLETE INDICATOR IN PURCHASE ORDER

    I NEED VL02N VL09 USER-EXITS FOR DELIVERY COMPLETE INDICATOR IN PURCHASE ORDER POSITIONS.
    F.X: IF POST QUANTITY 10, BUT PURCHASE ORDER POSITION QUANTITY 30, I NEED AT ANY CASE TO SET DELIVERY COMPLETE INDICATOR FOR RELEVANT OUTBOUND DELIVERY AN P. ORDER POSITIONS.
    THANKS/

    Hi Malka,
    It's possible set the system to mark automatically the delivery completed indicator.
    First you need to set the under delivery and over delivery tolerances.You do this in customizing:
    Materials Management under Purchasing -> Material Master -> Define Purchasing Value Keys.
    Once you set this, you can insert this value keys on Material Master Record for the materials.
    When you create the PO with a material with this value keys set the system will check the under delivery and over delivery set on customizing.
    In customizing you also have the option to let the system mark automatically the delivery indicator based on delivery tolerances set.
    In Customizing for Inventory Management and Physical Inventory under Goods Receipt -> Set Delivery Completed Indicator, you can determine for each plant whether the system automatically sets the delivery completed indicator for delivery quantities within the underdelivery and overdelivery tolerances.
    You can test setting the under delivery for 0 (with a warning message) and see if the system will only mark delivery complete only for over delivery.
    You can also work with the following Badi: MB_GOODSMOVEMENT_DCI. This Badi also allows custom logic for setting the delivery completed indicator in a PO item.
    Message: M7 433 (The "delivery completed" indicator is set for the purchase order item)
    Regards,
    Rodrigo

  • User exits for delivery picking confirmation and transfer order creation

    Hi
    We have a scenario for which we need help.
    This is to do with replenishment from plant to plant.
    We have sales sets.
    The sales sets needs to be replenished from one plant to another. We want the componenets of the sales sets to picked from the issuing plant. For this we need a transfer order. this needs tobe confirmed and then the goods issue should take place from the issuing plant. Its a two step process.
    we are doing Sales sets in STO. The explosion takes place in STO. However when we create deliveries for this. Only the sales set header item without its components are flowing into the delivery.
    The Tranfer order does not contain the components either.
    However post  the goods issue we  can create a TO with reference to the TR. This is is not acceptable because we want the picking and confirmation to occur before PGI from the issuing plant.
    Could anybody help: We want the TO to be created with the components even though in the delivery only the Sales set header appears. Can u suggest a user exit in which when we create the TR from the delivery the components of the set.
    After confirmation of the TO then we want the picking status to be put as C.
    Supreeth

    Hi,
    Check the following users exits.
    MWMRFSSG            user exit for sorting TOs in RF system-guided transaction
    MWMRFUP             Customer defined general purpose pushbutton called from scr.
    MWMRP001            Cust. Exit for Fixed Bin Replenish.: Delivery Item Selection
    MWMRP002            Cust. Exit for Fixed Bin Replenishment: TR Quantity Distr.
    MWMRP003            Customer Exit for Replenishment using RLLNACH1
    MWMRP004            User Exit for Replenishment using RLLNACH4
    MWMTO001            Enhancements for end of transfer order generation
    MWMTO010            Exit: Calculation of Total Planned TO Processing Time
    MWMTO011            Correction of Planned Processing Time for TO Item
    MWMTO012            Correction of Sorting and Split Transfer Order
    MWMTO013            Stock Removal for Sev. Storage Types as in Stringent FIFO
    MWMTOAU3            Separate selection of posting changes for autom.TO creation
    MWMTR001            Exits at the end of transfer rqmnt creation (IM,PP interf.)
    MWMD0001            Transfer order print via RLVSDR40
    MWMD0002            Transfer order print as multiple process with RLKOMM40
    MWMIDI07            Enhancement for Output WMPIHU (Create Pick-HU) Inbound
    MWMIDO11            Enhancement for message WMTORD: TO with several items
    MWMIDO12            Enhancement for Output WMPIHU (Pick-HUs) Outbound
    MWMIDO13            Extension for WMMBXY (subsequent tasks after goods movement)
    MWMPP001            Enhancement WM/PP Interface (automatic TR generation)
    Regards,
    Murali

  • User Exits for Invoice creation ,cancellation and sales return

    Hi Gurus,
    Pl help me it's very urgent.
    I did not find any user exit invoice creation so i wrote the following code in include program
    MV60AF0B_BELEG_SICHERN.
    This code is to update the Z*table while saving invoice ,cancellation and sales return.
    The code modification is like below
          FORM BELEG_SICHERN                                            *
          Buchen Fakturabelege                                          *
    FORM BELEG_SICHERN.
      READ TABLE XVBRK INDEX 1.
      IF SY-SUBRC NE 0.
        CALL FUNCTION 'DEQUEUE_ALL'.
        MESSAGE S032.
        EXIT.
      ENDIF.
      IF SAMH_MOD = ON.
        EXPORT XKOMFK TO MEMORY ID 'SDBILLDL'.
      ENDIF.
      DATA: CALC_TYPE.
      IF REBATE_DETERMINED = 'Y'.
        CALC_TYPE = 'A'.
      ELSE.
        CALC_TYPE = 'I'.
      ENDIF.
    *{   INSERT         RD1K903017                                        1
    Work Area*********************
    data : wa_xvbrk type VBRKVB.
    data : wa_xvbrp type vbrpvb.
    data : wa_zmigo type zmigo.
    data : wa_vbrp type vbrp.
    Internal table Creation*******
    DATA:  BEGIN OF tab_XVBRP OCCURS 100.
             INCLUDE STRUCTURE VBRPVB.
    DATA:  END OF tab_XVBRP.
    data : begin of tab_vbeln occurs 10,
           vbeln type vbrk-vbeln,
           knumv type vbrk-knumv,
           end of tab_vbeln.
    data : tab_zmigo type table of zmigo.
    data : tab_vbrp type table of vbrp.
    *****Data declaration*************
    data : v_no_of_inv type i.
    data : v_vbeln_no(10) type n.
    data : v_last_inv_no(10) type n.
    data : v_first_inv_no(10) type c.
    data : v_tot_qty type i.
    data : v_frbnr type mkpf-frbnr.
    *******Ranges*********************
    ranges : r_vbeln for vbrk-vbeln.
    *****Populating IT****************
    tab_xvbrp[] = xvbrp[].
    describe table xvbrk lines v_no_of_inv.
    *}   INSERT
      CALL FUNCTION 'RV_INVOICE_DOCUMENT_ADD'
           EXPORTING
                VBSK_I           = VBSK
                WITH_POSTING     = 'A'
                PREISFINDUNGSART = CALC_TYPE
           IMPORTING
                VBSK_E           = VBSK
           TABLES
                XKOMFK           = XKOMFK
                XTHEAD           = XTHEAD
                XVBFS            = XVBFS
                XVBSS            = XVBSS
                XVBRK            = XVBRK
                XVBRP            = XVBRP
                XVBPA            = XVBPA
                XKOMV            = XKOMV.
    *{   INSERT         RD1K903017                                        2
    data : v_count type i,v_fkimg type i .
    data : v_no_of_records(10) type n.
    wa_xvbrk = xvbrk.
    ********Selecting the last rec no from ZMIGO
          select max( sr_no ) from zmigo into v_no_of_records.
    *****If Distribution channel is not ZB*********
    if  wa_xvbrk-vtweg ne 'ZB' and ( wa_xvbrk-fkart = 'ZRIN' or wa_xvbrk-fkart = 'ZRTE' ).
    if v_no_of_inv = 1.              " Process only when there is one invoice
    loop at tab_xvbrp into wa_xvbrp  where (           matnr ne 'CDGSTP0001'       and
                                                       matnr ne 'CD-RW'            and
                                                       matnr ne 'CD-RW65OHS'       and
                                                       matnr ne 'CABLE'            and
                                                       matnr ne 'CD-R'             and
                                                       matnr ne 'CDQ80N4'          and
                                                       matnr ne 'GENERAL'          and
                                                       matnr ne 'NERO'             and
                                                       matnr ne 'OTHERS'           and
                                                       matnr ne 'SPARE PARTS'      and
                                                       matnr ne 'PROMO ITEM'       and
                                                       matnr ne 'PROMO-1'          and
                                                       matnr ne 'PROMO-2'          and
                                                       matnr ne 'PROMO-3'          and
                                                       matnr ne 'PROMO-4'          and
                                                       matnr ne 'PROMO-5'          and
                                                       matnr ne 'PROMO-6'          and
                                                       matnr ne 'PROMO-7'          and
                                                       matnr ne 'PROMO-8'          and
                                                       matnr ne 'PROMO-9'          and
                                                       matnr ne 'PROMO-10' ).
    v_fkimg = wa_xvbrp-fkimg .
    v_fkimg = v_fkimg / 1000.
                do v_fkimg times.
                  v_no_of_records = v_no_of_records + 1.
                  wa_zmigo-sr_no = v_no_of_records.
                  wa_zmigo-po_no = wa_xvbrk-vbeln.
                  wa_zmigo-item_no  = wa_xvbrp-posnr.
                 wa_zmigo-mblnr  = wa_xmkpf-mblnr.
                  wa_zmigo-doc_type = wa_xvbrk-fkart.
                  wa_zmigo-posting_date = wa_xvbrk-fkdat.
                  wa_zmigo-created_on = sy-datum.
                  wa_zmigo-created_time = sy-uzeit.
                 wa_zmigo-bill_lno = v_frbnr.
                  wa_zmigo-material = wa_xvbrp-matnr.
                 wa_zmigo-inv_no = wa_xvbrk-vbeln.
                 wa_zmigo-inv_item_no = wa_xvbrp-posnr.
                  wa_zmigo-plant = wa_xvbrp-werks.
                  wa_zmigo-inv_date = wa_xvbrk-fkdat.
                  wa_zmigo-customer = wa_xvbrk-kunag.
                  wa_zmigo-unit = 1.
                  wa_zmigo-mtype = '601'.
                  insert into zmigo values wa_zmigo.
                enddo.
                clear : wa_zmigo.
    endloop.
    clear : v_count,v_fkimg,wa_zmigo.
    refresh tab_zmigo[].
    clear v_no_of_inv.
    else.                              "When there are Split Invoices
    v_last_inv_no = wa_xvbrk-vbeln.
    v_vbeln_no = v_last_inv_no - v_no_of_inv + 1.
    v_first_inv_no = v_vbeln_no.
    sort tab_xvbrp by vbeln.
    loop at tab_xvbrp into wa_xvbrp  where (           matnr ne 'CDGSTP0001'       and
                                                       matnr ne 'CD-RW'            and
                                                       matnr ne 'CD-RW65OHS'       and
                                                       matnr ne 'CABLE'            and
                                                       matnr ne 'CD-R'             and
                                                       matnr ne 'CDQ80N4'          and
                                                       matnr ne 'GENERAL'          and
                                                       matnr ne 'NERO'             and
                                                       matnr ne 'OTHERS'           and
                                                       matnr ne 'SPARE PARTS'      and
                                                       matnr ne 'PROMO ITEM'       and
                                                       matnr ne 'PROMO-1'          and
                                                       matnr ne 'PROMO-2'          and
                                                       matnr ne 'PROMO-3'          and
                                                       matnr ne 'PROMO-4'          and
                                                       matnr ne 'PROMO-5'          and
                                                       matnr ne 'PROMO-6'          and
                                                       matnr ne 'PROMO-7'          and
                                                       matnr ne 'PROMO-8'          and
                                                       matnr ne 'PROMO-9'          and
                                                       matnr ne 'PROMO-10' ).
    v_fkimg = wa_xvbrp-fkimg .
    v_fkimg = v_fkimg / 1000.
                do v_fkimg times.
                  v_no_of_records = v_no_of_records + 1.
                  wa_zmigo-sr_no = v_no_of_records.
                  wa_zmigo-po_no = v_vbeln_no.                      "wa_vbrp-vbeln.
                  wa_zmigo-item_no  = wa_xvbrp-posnr.
                 wa_zmigo-mblnr  = wa_xmkpf-mblnr.
                  wa_zmigo-doc_type = wa_xvbrk-fkart.
                  wa_zmigo-posting_date = wa_xvbrk-fkdat.
                  wa_zmigo-created_on = sy-datum.
                  wa_zmigo-created_time = sy-uzeit.
                 wa_zmigo-bill_lno = v_frbnr.
                  wa_zmigo-material = wa_xvbrp-matnr.
                 wa_zmigo-inv_no = v_vbeln_no.
                 wa_zmigo-inv_item_no = wa_xvbrp-posnr.
                  wa_zmigo-plant = wa_xvbrp-werks.
                  wa_zmigo-inv_date = wa_xvbrk-fkdat.
                  wa_zmigo-customer = wa_xvbrk-kunag.
                  wa_zmigo-unit = 1.
                  wa_zmigo-mtype = '601'.
                  insert into zmigo values wa_zmigo.
                enddo.
                clear : wa_zmigo.
    at end of vbeln.
    v_vbeln_no = v_vbeln_no + 1.
    endat.
    clear : v_count,v_fkimg,wa_zmigo.
    refresh tab_zmigo[].
    endloop.
    endif.                             "End of first 2nd IF.
    clear : v_no_of_inv, v_vbeln_no.
    endif.
    ****************Sales return************************************
    if  wa_xvbrk-fkart = 'ZRRE' and wa_xvbrk-vtweg ne 'ZB'.
    loop at tab_xvbrp into wa_xvbrp where (            matnr ne 'CDGSTP0001'       and
                                                       matnr ne 'CD-RW'            and
                                                       matnr ne 'CD-RW65OHS'       and
                                                       matnr ne 'CABLE'            and
                                                       matnr ne 'CD-R'             and
                                                       matnr ne 'CDQ80N4'          and
                                                       matnr ne 'GENERAL'          and
                                                       matnr ne 'NERO'             and
                                                       matnr ne 'OTHERS'           and
                                                       matnr ne 'SPARE PARTS'      and
                                                       matnr ne 'PROMO ITEM'       and
                                                       matnr ne 'PROMO-1'          and
                                                       matnr ne 'PROMO-2'          and
                                                       matnr ne 'PROMO-3'          and
                                                       matnr ne 'PROMO-4'          and
                                                       matnr ne 'PROMO-5'          and
                                                       matnr ne 'PROMO-6'          and
                                                       matnr ne 'PROMO-7'          and
                                                       matnr ne 'PROMO-8'          and
                                                       matnr ne 'PROMO-9'          and
                                                       matnr ne 'PROMO-10' ).
             v_fkimg = wa_xvbrp-fkimg.
             v_fkimg = v_fkimg / 1000.
             v_tot_qty = v_tot_qty + v_fkimg.
              do v_fkimg times.
                v_no_of_records = v_no_of_records + 1.
                wa_zmigo-sr_no = v_no_of_records.
                wa_zmigo-po_no = wa_xvbrk-vbeln.
                wa_zmigo-item_no  = wa_xvbrp-posnr.
                wa_zmigo-doc_type = wa_xvbrk-fkart.
                wa_zmigo-posting_date = wa_xvbrk-fkdat.
                wa_zmigo-created_on = sy-datum.
                wa_zmigo-created_time = sy-uzeit.
                wa_zmigo-material = wa_xvbrp-matnr.
               wa_zmigo-inv_no = wa_xvbrk-vbeln.
               wa_zmigo-inv_item_no = wa_xvbrp-posnr.
                wa_zmigo-plant = wa_xvbrp-werks.
                wa_zmigo-inv_date = wa_xvbrk-fkdat.
                wa_zmigo-customer = wa_xvbrk-kunag.
                wa_zmigo-unit = 1.
                wa_zmigo-mtype = '651'.
                condense wa_xvbrk-xblnr.
                wa_zmigo-reference = wa_xvbrk-xblnr.
    ********Bill of lading no**
               select single bill_lno from zmigo_final into v_frbnr where inv_no = wa_xvbrk-xblnr and material = wa_xvbrp-matnr.
               if sy-subrc eq 0.
               wa_zmigo-bill_lno = v_frbnr.
               endif.
                insert into zmigo values wa_zmigo.
              enddo.
              clear : wa_zmigo,wa_xvbrp , v_fkimg, v_frbnr.
    endloop.
    endif.
    *******Invoice Cancellation*****************************
    if  wa_xvbrk-fkart = 'ZRS1' and wa_xvbrk-vtweg ne 'ZB'.
    delete tab_xvbrp[] where shkzg eq 'X'.
    loop at tab_xvbrp into wa_xvbrp where (            matnr ne 'CDGSTP0001'       and
                                                       matnr ne 'CD-RW'            and
                                                       matnr ne 'CD-RW65OHS'       and
                                                       matnr ne 'CABLE'            and
                                                       matnr ne 'CD-R'             and
                                                       matnr ne 'CDQ80N4'          and
                                                       matnr ne 'GENERAL'          and
                                                       matnr ne 'NERO'             and
                                                       matnr ne 'OTHERS'           and
                                                       matnr ne 'SPARE PARTS'      and
                                                       matnr ne 'PROMO ITEM'       and
                                                       matnr ne 'PROMO-1'          and
                                                       matnr ne 'PROMO-2'          and
                                                       matnr ne 'PROMO-3'          and
                                                       matnr ne 'PROMO-4'          and
                                                       matnr ne 'PROMO-5'          and
                                                       matnr ne 'PROMO-6'          and
                                                       matnr ne 'PROMO-7'          and
                                                       matnr ne 'PROMO-8'          and
                                                       matnr ne 'PROMO-9'          and
                                                       matnr ne 'PROMO-10' ).
             v_fkimg = wa_xvbrp-fkimg.
             v_fkimg = v_fkimg / 1000.
             v_tot_qty = v_tot_qty + v_fkimg.
              do v_fkimg times.
                v_no_of_records = v_no_of_records + 1.
                wa_zmigo-sr_no = v_no_of_records.
                wa_zmigo-po_no = wa_xvbrk-vbeln.
                wa_zmigo-item_no  = wa_xvbrp-posnr.
                wa_zmigo-doc_type = wa_xvbrk-fkart.
                wa_zmigo-posting_date = wa_xvbrk-fkdat.
                wa_zmigo-created_on = sy-datum.
                wa_zmigo-created_time = sy-uzeit.
                wa_zmigo-material = wa_xvbrp-matnr.
               wa_zmigo-inv_no = wa_xvbrk-vbeln.
               wa_zmigo-inv_item_no = wa_xvbrp-posnr.
                wa_zmigo-plant = wa_xvbrp-werks.
                wa_zmigo-inv_date = wa_xvbrk-fkdat.
                wa_zmigo-customer = wa_xvbrk-kunag.
                wa_zmigo-unit = 1.
                condense wa_xvbrk-zuonr.
                wa_zmigo-reference = wa_xvbrk-zuonr.
                wa_zmigo-mtype = '602'.
    ********Bill of lading no**
               select single bill_lno from zmigo_final into v_frbnr where inv_no = wa_xvbrk-xblnr and material = wa_xvbrp-matnr.
               if sy-subrc eq 0.
               wa_zmigo-bill_lno = v_frbnr.
               endif.
                insert into zmigo values wa_zmigo.
              enddo.
              clear : wa_zmigo,wa_xvbrp , v_fkimg.
    endloop.
    endif.
    clear : v_no_of_records.
    *}   INSERT
      CALL FUNCTION 'STACK_RESET'.
      R185D-DATALOSS = SPACE.
      FOLGEAUFRUF102 = SPACE.
      PERFORM SETPAR_INIT.
    *{   INSERT         RD1K903017                                        3
    *}   INSERT
      LEAVE.
    ENDFORM.
    This program is working fine for single user but in production where no of people are creating the invoices from different places the data is not getting updated in table ZMIGO.
    sometime populating with wrong data , partial data and sometimes no updation at all.
    I have used the table locking system enqueue and dequeue FM's before n after updation but still the same
    thing is happening.
    What could be the reason.
    Looking for help very urgent any other alternate option.

    Hi,
    Go thru these..
    Enhancement
    SDVFX009 Billing doc. processing KIDONO (payment reference numbe
    SDVFX010 User exit item table for the customer lines
    SDVFX011 Userexit for the komkcv- and kompcv-structures
    V05I0001 User exits for billing index
    V05N0001 User Exits for Printing Billing Docs. using POR Procedu
    V60A0001 Customer functions in the billing document
    V60P0001 Data provision for additional fields for display in lis
    V61A0001 Customer enhancement: Pricing
    SDVFX001 User exit header line in delivery to accounting
    SDVFX002 User exit for A/R line (transfer to accounting)
    SDVFX003 User exit: Cash clearing (transfer to accounting)
    SDVFX004 User exit: G/L line (transfer to accounting)
    SDVFX008 User exit: Processing of transfer structures SD-FI
    SDVFX007 User exit: Billing plan during transfer to Accounting
    SDVFX006 User exit: Tax line (transfer to accounting)
    SDVFX005 User exit: Reserves (transfer to accounting)
    Business Add-in
    SD_CIN_LV60AU02 BADI for billing
    If it is helpful rewards points
    Regards
    Pratap.M

  • Generate VICS BOL Number in User Exit For Delivery

    Hello,
    I have been asked to automatically generate a BOL for a delivery based  the Voluntary Interindustry Commerce Solutions (VICS) Association specifications.  However, I am having a difficult time finding the correct user exit in the delivery process. 
    Can any of you SD gurus point me in the right direction?
    Regards, Dean.

    I think I found the exit I needed EXIT_SAPLV56U_004. I was wrong about needing the exit for delivery, the requirement is the shipment.  
    With that said, I think I am on the right path but I was hoping that there was someone who has implemented the VICS Bill of Lading in SAP.  I found that the Handling Units -> External Identification seems to have all of the foundation for generating the BOL per the VICS specification.  However, there has been concern that if that was done, that something could cause an issue with Handling Units. Which we are using to generate labels for shipments.  
    So, has anyone used the Handling Units->External Identification for VICS Bill Of Lading generation? If so, anything I should be concerned about?
    Regards, Dean.

  • User exit for Delivery Module

    Hi ,
    I had a include program in Development for Delivery module, "MV50AFZ1" in program "SAPMV50A", which is supposed to be a user exit.  So I transported that to production on clients requirement, but then its creating some problems for client, so he wants his previous program to be back.  But I can't change this "MV50AFZ1" program in development nor in Production.  So how could I bring that previous code in production. 
    Plz help, and if possible tell me how can I change "MV50AFZ1" program code.
    Thanks.
    Shailesh.

    check the below link for user exits in SD
    http://help.sap.com/saphelp_46c/helpdata/en/1c/f62c7dd435d1118b3f0060b03ca329/content.htm
    Some more links r here....
    User Exits In Sales Document Processing
    http://help.sap.com/saphelp_46c/helpdata/en/1c/f62c7dd435d1118b3f0060b03ca329/content.htm
    Get the access key from basis for the program SAPMV45A. And change the screen.
    First create a subscreen with that two fields, call that subscreen in the screen 8309.
    call subscreen s2 including 'SAPMV45A' '9002'.
    How to add custoim fields on the additiondata b tab of va01 and va02
    VA01/VA02  screen exit
    Re: Is there any enhancement  available .....for va01??
    Add a field in va01 transaction
    Additional Screen field in VA41 or VA01
    Here are the user exits available for creating PO.
    AMPL0001 - User subscreen for additional data on AMPL
    LMEDR001 - Enhancements to print program
    LMELA002 - Adopt batch no. from shipping notification when posting a GR
    LMELA010 - Inbound shipping notification: Transfer item data from IDOC
    LMEQR001 - User exit for source determination
    LMEXF001 - Conditions in Purchasing Documents Without Invoice Receipt
    LWSUS001 - Customer-Specific Source Determination in Retail
    M06B0001 - Role determination for purchase requisition release
    M06B0002 - Changes to comm. structure for purchase requisition release
    M06B0003 - Number range and document number
    M06B0004 - Number range and document number
    M06B0005 - Changes to comm. structure for overall release of requisn.
    M06E0004 - Changes to communication structure for release purch. doc.
    M06E0005 - Role determination for release of purchasing documents
    ME590001 - Grouping of requsitions for PO split in ME59
    MEETA001 - Define schedule line type (backlog, immed. req., preview)
    MEFLD004 - Determine earliest delivery date f. check w. GR (only PO)
    MELAB001 - Gen. forecast delivery schedules: Transfer schedule implem.
    MEQUERY1 - Enhancement to Document Overview ME21N/ME51N
    MEVME001 - WE default quantity calc. and over/ underdelivery tolerance
    MM06E001 - User exits for EDI inbound and outbound purchasing documents
    MM06E003 - Number range and document number
    MM06E004 - Control import data screens in purchase order
    MM06E005 - Customer fields in purchasing document
    MM06E007 - Change document for requisitions upon conversion into PO
    MM06E008 - Monitoring of contr. target value in case of release orders
    MM06E009 - Relevant texts for "Texts exist" indicator
    MM06E010 - Field selection for vendor address
    MMAL0001 - ALE source list distribution: Outbound processing
    MMAL0002 - ALE source list distribution: Inbound processing
    MMAL0003 - ALE purcasing info record distribution: Outbound processing
    MMAL0004 - ALE purchasing info record distribution: Inbound processing
    MMDA0001 - Default delivery addresses
    MMFAB001 - User exit for generation of release order
    MRFLB001 - Control Items for Contract Release Order
    EXIT_SAPMM06E_001 Other Number Range or Own Document Number
    EXIT_SAPMM06E_004 User Exit for Cust.-Specific Control of Import Data Screens in Purchasing
    EXIT_SAPMM06E_005 Field Selection Control: Vendor Address Screen
    EXIT_SAPMM06E_006 Export Data to Customer Subscreen for Purchasing Document Header (PBO)
    EXIT_SAPMM06E_007 Export Data to Customer Subscreen for Purchasing Document Header (PAI)
    EXIT_SAPMM06E_008 Import Data from Customer Subscreen for Purchasing Document Header
    EXIT_SAPMM06E_009 Reset Customer Data at Beginning of New Document (Without Dialog)
    EXIT_SAPMM06E_010 Export of Service RFQ Data
    EXIT_SAPMM06E_011 Import Service Prices for Quotation
    EXIT_SAPMM06E_012 Check Customer-Specific Data Before Saving
    EXIT_SAPMM06E_013 Update Customer-Specific Data in Purchasing Document
    EXIT_SAPMM06E_014 Read Customer-Specific Data when Importing Purchasing Document
    EXIT_SAPMM06E_016 Export Data to Customer Subscreen for Purchasing Document Item (PBO)
    EXIT_SAPMM06E_017 Export Data to Customer Subscreen for Purchasing Document Item (PAI)
    EXIT_SAPMM06E_018 Import Data from Customer Subscreen for Purchasing Document Item
    EXIT_SAPMM06E_020 User Exit: Change Document for Requisitions (Conversion into PO)
    EXIT_SAPMM06E_021 Fulfillment of Target Value: Release Orders Against a Contract
    EXIT_SAPMM06E_022 Relevant Texts for "Texts Exist" Indicator
    EXIT_SAPMM06E_023 Definition of Relevant Texts for "Texts Exist" Indicator
    EXIT_SAPMM06E_024 Customer Enhancement: Activate PReq Block
    user exit for sto
    Regards.

  • User exit for VT01n (Creation of shipment)

    Hii All
    We have a requirement where we have to automatically enter the planned shipment  scheduled time & end time and date for each stage while saving the shipment.
    Can anyone let me know user exit which can be used to do the same.
    Thanks & Regards
    Gaurav

    Hi,
    You can use V56FSTAT this user exit for your purpose..
    If you want more selection of user exits you goto transaction SMOD and input V56* and then press F4,so that you can see all the user exits can be used for shipment or transportation purpose...
    Regards,
    Chandra

Maybe you are looking for

  • Tint2: Multiple Desktops in one panel but spread over complete width

    Hi, I just installed Arch again und my desktop computer which has 2 monitors. I use tint2 as a panel and I have it on my secondary monitor only. I am using Openbox Multihead as Window Manager. Now I am able to get two distinct settings for tint2: - S

  • The battery life on my ipod touch 4g is really poor any ideas?

    in stanby mode after a full charge from 10 percent to 100 percent in the night drops to about 20-50 percent in the morning ( 9 hours). bluetooth is off, i close all apps, screen brightness is 50 percent ( not that this affects it in standby mode), th

  • KLaptop with intel dual core?

    Hey Does anyone know how to make KLaptop change the performance governor for both CPUs on Intel Dual Core processors? Now, when I plug in or out the power supply, only the first (0) processor's governor is changed. Tnx Fiod

  • DVCPROHD Clips lose sync when added from subclip but not from source clips?

    I am cutting with 1080P DVCPROHD. I have sub clipped all the master clips. However when I add footage to the time line from the sub clips it comes into the time line out-sync...WAY out of syn. However if I find my shot in the sub clip...then match fr

  • How to make cost element field appear when create network activity service

    Hi All, Please help. We create a project ,wbs and network activity using external service. How can we make appear the cost element when the service master appear. The system require cost element but we cannot see the cost element field. Steps : *. CJ