USER EXIT FOR CSAVING AN INVOICE IN SD

wats the user exit for saving an invoice in SD?

Hi,
Check this refence for your query :
Re: user exit/customer exit/BADI at the time /after saving SD invoice
Reward if helpful,
Regards,
Esha Raj

Similar Messages

  • User Exit for Enter / post invoice against the order without goods receipt

    Hi,
    My requirement is to enter or  post the  invoice against the Purchase order without goods receipt.
    Need to an User Exit  for this.
    Thanks in Advance!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    User exits available are:
    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 when PGI is done
    Reward if useful.

  • User Exit for Incoming Excise invoice capture(MIGO)-clarification

    Hi all,
    We are using mySAP ECC 5.0 version with CIN Configuration made. In this, if Excise Duty value is zero, then excise invoice pop-up should not come. But the system asks for it, and the user has to manually change the excise action as 'No Excise Entry'. To avoid this, we have a idea of using some user exit to do this automatically.
    We have added the following source code in the user exit 'J_1I7_MIGO_DEFAULT'
    IF CS_EXHEAD-TOTAL_BED = 0.
    CS_EXHEAD-EXCISE_ACTION = '06'.
    endif.
    But, irrespective of the excise duty value(CS_EXHEAD-Total_BED) system determines the action as '06' i.e.'No excise entry.But still it asks for excise invoice also!!!
    How to resolve this? Should some corrections should be made on this source code? or the option of 'pass values' needs to be selected in the user exit?
    Suggest
    Gowtham

    Hey,
    Can you give the enhacement name from SMOD (MBCF0006) ?
    -Kiran

  • Regarding user exit for FB60 Duplicate invoices

    hi experts,
    I want to fnd out how to check  Duplicate invoices in fb60 and disallows posting.
    Any kind soul can help?
    Thnaq.

    Transaction Code - FB60                     Enter Incoming Invoices
    Exit Name           Description
    RFAVIS01            Customer Exit for Changing Payment Advice Segment Text
    RFEPOS00            Line item display: Checking of selection conditions
    RFKORIEX            Automatic correspondence
    SAPLF051            Workflow for FI (pre-capture, release for payment)
    F050S001            FIDCMT, FIDCC1, FIDCC2: Edit user-defined IDoc segment
    F050S002            FIDCC1: Change IDoc/do not send
    F050S003            FIDCC2: Change IDoc/do not send
    F050S004            FIDCMT, FIDCC1, FIDCC2: Change outbound IDoc/do not send
    F050S005            FIDCMT, FIDCC1, FIDCC2 Inbound IDoc: Change FI document
    F050S006            FI Outgoing IDoc: Reset Clearing in FI Document
    F050S007            FIDCCH Outbound: Influence on IDoc for Document Change
    F180A001            Balance Sheet Adjustment
    FARC0002            Additional Checks for Archiving MM Vendor Master Data
    FEDI0001            Function Exits for EDI in FI
    No of Exits:         14
    USER EXIT
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sapgenie.com/abap/code/abap26.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    http://www.easymarketplace.de/userexit.php
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sappoint.com/abap/userexit.pdfUser-Exit
    http://www.sap-img.com/ab038.htm
    http://help.sap.com/saphelp_46c/helpdata/en/64/72369adc56d11195100060b03c6b76/frameset.htm
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://expertanswercenter.techtarget.com/eac/knowledgebaseAnswer/0,295199,sid63_gci982756,00.html
    Rewards if useful.........
    Minal

  • User exit for IDOC in INVOICE

    Hi all,
    I need to add a value in a custom IDOC segment for INVOICE. The IDOC basic type used is INVOIC02. Is there any user exit which I can use to populate the IDOC data? Any help will be greatly appreciated.
    Thanks,
    Lalyn

    Hi Lalyn,
    I do not have an exact code for this.
    But just go through the following code, where we are doing some validations in the segments.
    Code below this line was to exclude ZRTN materials for which Subtotal 2 (KZWI2) is zero. And,
    this is done for billing types:
                                   ZEXP,
                                   ZXAD,
                                   ZXDR,
                                   ZXL2,
                                   ZXG2,
                                   ZXPT.
    IF INT_EDIDD-SEGNAM = 'E1EDS01'.
      ZE1EDS01 = INT_EDIDD-SDATA.
      IF ZE1EDS01-SUMID = '001'.
    Start deleting when on 1st E1EDS01 segment
        DESCRIBE TABLE INT_EDIDD LINES POS.
        LOOP AT XTVBDPR.
          CLEAR MARA.
          SELECT SINGLE MTART MATKL FROM MARA INTO            "DV2K920646
          (MARA-MTART,MARA-MATKL)                             "DV2K920646
          WHERE MATNR = XTVBDPR-MATNR.     " Find material type MTART
          IF XVBDKR-FKART EQ 'ZEXP' OR XVBDKR-FKART EQ 'ZXL2' OR
             XVBDKR-FKART EQ 'ZXAD' OR XVBDKR-FKART EQ 'ZXG2' OR
             XVBDKR-FKART EQ 'ZXDR' OR XVBDKR-FKART EQ 'ZXPT'.
            IF MARA-MTART = 'ZRTN' AND XTVBDPR-KZWI2 EQ 0
             AND MARA-MATKL <> 'KEGS DM'.                  "DV2K920646
              MOVE XTVBDPR-POSNR TO POSNRS-POSNR.
              APPEND POSNRS.               " Store ZRTNs to be deleted
            ENDIF.
          ENDIF.
        ENDLOOP.
        DESCRIBE TABLE POSNRS LINES COUNT.
      Reduce the number of line items by the number of them to be deleted
        ZE1EDS01-SUMME = ZE1EDS01-SUMME - COUNT.
        SHIFT ZE1EDS01-SUMME LEFT DELETING LEADING SPACE.
        INT_EDIDD-SDATA = ZE1EDS01.
        MODIFY INT_EDIDD INDEX POS TRANSPORTING SDATA.
        LOOP AT INT_EDIDD INTO IEDIDD.     " Loop and delete if in POSNRS
          IF IEDIDD-SEGNAM = 'E1EDP01' OR IEDIDD-SEGNAM = 'E1EDS01'.
            CLEAR DELETE_FLAG.
          Reset delete_flag when on next line item or done with all
          ENDIF.
          IF IEDIDD-SEGNAM = 'E1EDP01'.
            ZE1EDP01 = IEDIDD-SDATA.
            READ TABLE POSNRS WITH KEY POSNR = ZE1EDP01-POSEX.
            IF SY-SUBRC EQ 0.
              DELETE_FLAG = 'X'.
            Set delete_flag if the line item is to be deleted
            ENDIF.
          ENDIF.
          IF DELETE_FLAG = 'X'.            " Delete the line item fully
            DELETE INT_EDIDD.
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDIF.
    At this function module, you have to create an include and write your code.
    But remember, before that you have to extend your basic type.
    Hope it will help you.
    sailesh

  • User exit for outgoing IDOC

    Hi friends,
    I want to find user exit for outbound idoc INVOIC, but i dont to how to do that.
    Please gve ur suggestions

    INVOIC
    Invoice / Billing document
    - FEDI0001 EXIT_SAPLIEDI_001 FI-EDI: Invoice receipt - Determine G/L account per invoice line
    - FEDI0001 EXIT_SAPLIEDI_002 FI-EDI: Invoice receipt - Determine add. acct assignm. per line item
    - FEDI0001 EXIT_SAPLIEDI_003 FI-EDI: Invoice receipt - Fill the screen field 'Allocation'
    - FEDI0001 EXIT_SAPLIEDI_004 FI-EDI: Invoice receipt - Determine the segment text
    - FEDI0001 EXIT_SAPLIEDI_005 FI-EDI: Invoice receipt - Determine the name of the BDC session
    - FEDI0001 EXIT_SAPLIEDI_011 MM-EDI: Invoice receipt - Determine purchase order item
    - FEDI0001 EXIT_SAPLIEDI_101 FI-EDI: Invoice receipt INVOIC01 - additional assignment
    - FEDI0001 EXIT_SAPLIEDI_102 FI-EDI: Invoice receipt INVOIC01 - add data
    - FEDI0001 EXIT_SAPLIEDI_111 MM-EDI: Invoice receipt INVOIC01 - additional assignment
    - FEDI0001 EXIT_SAPLIEDI_112 MM-EDI: Invoice receipt INVOIC01 - add data
    - MRMH0002 EXIT_SAPLMRMH_011 Logistics Invoice Verification:inboud EDI message, company code
    - MRMH0002 EXIT_SAPLMRMH_012 Logistics Invoice Verification:inboud EDI message, control flags
    - MRMH0002 EXIT_SAPLMRMH_013 Logistics Invoice Verification:inboud EDI message, assignment
    - MRMH0002 EXIT_SAPLMRMH_014 Logistics Invoice Verification:inboud EDI message, segments
    - MRMH0002 EXIT_SAPLMRMH_015 Logistics Invoice Verification:inbound EDI message, before posting

  • User Exit for saving Invoice

    Hi Experts,
    My req, is I have to check billing date with order date/ delivery date while creating the invoice in VF01.
    For that I have done codig in user exit RV60AFZZ, so it gives error ,but the billing date field get disable.
    & this invoice no. alsp get created.
    So can anybody plz tell me in which user exit i have to put my code ???
    I have tried with RV60AFZC.But it is not working.
    My code is
    FORM userexit_pricing_prepare_tkomp.
    *  TKOMP-zzfield = xxxx-zzfield2.
    * structure for vbak
    TYPES:BEGIN OF ty_vbak,
          vbeln TYPE vbak-vbeln,
          audat TYPE vbak-audat,
          END OF ty_vbak.
    *likp structure
    TYPES:BEGIN OF ty_likp,
          vbeln TYPE likp-vbeln,
          lfdat TYPE likp-lfdat,
          END OF ty_likp.
    *vbrp structure
    TYPES:BEGIN OF ty_vbrp,
          vgbel TYPE vbrp-vgbel,
          vgpos TYPE vbrp-vgpos,
          aubel TYPE vbrp-aubel,
          aupos TYPE vbrp-aupos,
          END OF ty_vbrp.
    DATA:it_vbak TYPE STANDARD TABLE OF ty_vbak,
         it_likp TYPE STANDARD TABLE OF ty_likp,
         it_vbrp TYPE STANDARD TABLE OF ty_vbrp.
    DATA:wa_vbak TYPE ty_vbak,
         wa_likp TYPE ty_likp,
         wa_vbrp TYPE ty_vbrp.
    ***** take reference document no & delivery no. *****
    LOOP AT xvbrp.
      wa_vbrp-vgbel = xvbrp-vgbel.
      wa_vbrp-vgpos = xvbrp-vgpos.
      wa_vbrp-aubel = xvbrp-aubel.
      wa_vbrp-aupos = xvbrp-aupos.
      APPEND wa_vbrp TO it_vbrp.
    ENDLOOP.
    IF it_vbrp IS NOT INITIAL.
    SELECT vbeln audat FROM vbak
          INTO TABLE it_vbak
          FOR ALL ENTRIES IN it_vbrp
          WHERE vbeln = it_vbrp-aubel.
    SELECT vbeln lfdat from likp
           INTO TABLE it_likp
           FOR ALL ENTRIES IN it_vbrp
           WHERE vbeln = it_vbrp-vgbel.
    ENDIF.
    **** check for invoice date with order date *****
    LOOP AT it_vbak INTO wa_vbak.
      IF xvbrk-fkdat IS NOT INITIAL AND xvbrk-fkdat < wa_vbak-audat.
        MESSAGE 'Invoice Date is less than Order Date' TYPE 'E'.
      ENDIF.
    ENDLOOP.
    **** check for invoice date with delievery date *****
    LOOP AT it_likp INTO wa_likp.
      IF xvbrk-fkdat IS NOT INITIAL AND xvbrk-fkdat < wa_likp-lfdat.
        MESSAGE 'Invoice Date is less than Delivery Date' TYPE 'E'.
      ENDIF.
    ENDLOOP.
    ENDFORM.                    "USEREXIT_PRICING_PREPARE_TKOMP
    Thanks & Regards,
    Anagha Deshmukh

    Hello,
    These are the user exits for the tcode.
    J_3RSINV            Export sales
    SDVFX007            User exit: Billing plan during transfer to Accounting
    SDVFX008            User exit: Processing of transfer structures SD-FI
    SDVFX009            Billing doc. processing KIDONO (payment reference number)
    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 Procedure
    V60A0001            Customer functions in the billing document
    V60P0001            Data provision for additional fields for display in lists
    V61A0001            Customer enhancement: Pricing
    Keep the break point and try in the debugging in each and every exit and see which user exit is triggred.

  • 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

  • User exit for Exchange rate in PO (ME22n) of Delivery/invoice Tab

    Hi SDN,
    We are using 4.6c. I wanna make the FIELD "Exchange rate" in Purchase Order (Tx: ME22n) of Delivery/invoice Tab into display mode. So can any one tell the USER EXIT i have to use to make SCREEN-INPUT = 0 for this screen field, MEPO1226-WKURS.
    Thanks in Advance.
    Regards
    Basha

    Transaction Code - ME22N                    Change Purchase Order
    Exit Name           Description
    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
    AMPL0001            User subscreen for additional data on AMPL
    No of Exits:         35
    USER EXIT
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sapgenie.com/abap/code/abap26.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    http://www.easymarketplace.de/userexit.php
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sappoint.com/abap/userexit.pdfUser-Exit
    http://www.sap-img.com/ab038.htm
    http://help.sap.com/saphelp_46c/helpdata/en/64/72369adc56d11195100060b03c6b76/frameset.htm
    USER EXIT
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://expertanswercenter.techtarget.com/eac/knowledgebaseAnswer/0,295199,sid63_gci982756,00.html
    Rewards if useful.........
    Minal

  • User exit for Invoice verification

    Hi
    We want to findout user exit for invoice verification/MIRO .  Is there any user exits available for MIRO.

    The below are for MIRO
    LMR1M001 User exits in Logistics Invoice Verification
    LMR1M002 Account grouping for GR/IR account maint
    LMR1M003 Number assignment in Logistics Invoice Verification
    LMR1M004 Logistics Invoice Verification: item text for follow-on docs
    LMR1M005 Logistics Inv. Verification: Release Parked Doc. for Posting
    LMR1M006 Logistics Invoice Verification: Process XML Invoice
    MRMH0001 Logistics Invoice Verification: ERS procedure
    MRMH0002 Logistics Invoice Verification: EDI inbound
    MRMH0003 Logistics Invoice Verification: Revaluation/RAP
    regards
    Aravind
    Assign points if useful

  • User exit for duplicate invoice in MIRO and FV60

    HI
    i want to find a user exit to findout the duplicate invoice from MIRO, F-47, FV60 (Parked Invoice), MR8M (Credit Memo).
    please let me know if you know any user exit for this.
    Thanks & regards
    Naresh

    Hi,
    for each transaction code so many user exits are there it is diffecult to pase all the user exits here
    check below link  and run the program in se38 and give the transaction code you get the user exits for each transaction code.
    https://www.sdn.sap.com/irj/scn/wiki?path=/display/abap/find%252bapplication%252bclass%252bwith%252bexits%252band%252bbadis%252bfor%252ba%252btransaction
    Regards,
    Madhu

  • User exit for Invoice plan settlement

    Hi
    Can any tell me the user User exit for Invoice plan settlement to display PO# on the check?
    All your efforts are appreciated.
    Thanks

    ref link below
    http://www.easymarketplace.de/userexit.php
    http://www.planetsap.com/userexit_main_page.htm

  • User exit for proforma invoice preparation vf01

    Hi experts,
    I using Enhancement SDVFX008 for VF01 its working fine, but its not fire while STO(JEX) invoice preparation.
    In Proforma invoice i need to check road permit. User should not save without roadpermit in particular states only. Kindly give Userexit for this issue.
    Thanks & Regards
    G.Vendhan

    Please donot cross post
    Read the forum rules
    User exit for proforma invoice preparation vf01

  • Reg:User Exit For Invoice

    Hi All,
    I have an requirement that when during creation of invoice i have to update some data's to ztables and during deletion of invoice i have to update some data's. Is it possible?
    Is there any user exit for this scenario? Kindly give your idea's how to resolve this scenario.

    hi,
    these r the exits updated during invoice creation.
    Transaction Code - MIRO                     Enter Invoice
    Enhancement/ Business Add-in            Description
    Enhancement
    LMR1M001                                User exits in Logistics Invoice Verification
    LMR1M002                                Account grouping for GR/IR account maintenance
    LMR1M003                                Number assignment in Logistics Invoice Verification
    LMR1M004                                Logistics Invoice Verification: item text for follow-on docs
    LMR1M005                                Logistics Inv. Verification: Release Parked Doc. for Posting
    LMR1M006                                Logistics Invoice Verification: Process XML Invoice
    MRMH0001                                Logistics Invoice Verification: ERS procedure
    MRMH0002                                Logistics Invoice Verification: EDI inbound
    MRMH0003                                Logistics Invoice Verification: Revaluation/RAP
    MRMN0001                                Message output and creation: Logistics Invoice Verification
      Business Add-in
    INVOICE_UPDATE                          Business Add-In: Logistics Invoice Verification

  • Any user exit for invoice cancellation VF11

    Hi,
    I tried all below exits.
    V60A0001            Customer functions in the billing document
    V60P0001            Data provision for additional fields for display in lists
    V61A0001            Customer enhancement: Pricing
    SDVFX007            User exit: Billing plan during transfer to Accounting
    SDVFX008            User exit: Processing of transfer structures SD-FI
    SDVFX009            Billing doc. processing KIDONO (payment reference number)
    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 Procedure
    No one is firing while cancelling invoice.I neeed cal invoice no and it's data for further calculations.

    hai   Venkatesh,
    I am Genaralising This For U.
    It Is ver EASY Procees.
    Just Go To SE84
    Give The Program Name Or Package name In Which ME41 is present.
    Then Click On Display.
    Then Click On Enhancements.
    Then U will Get USer Exits Aswell As BADI 's
    IF Found helpful Reward.
    Regards
    Eshwar

Maybe you are looking for