User-exit  for displaying message in LT15

Hi,
I am looking for a user-exit (or another way?) for displaying a warning message when the user tries to cancel a TO via LT15 (under certain conditions). But the only user-exit that I found that would do the thing here is ZXLTOU02, but it's performed only in Update task - no message display possible.
Any ideas?
Cheers!

Thanks for your input Chidanand,
But I've already tried by setting a breakpoint in all available exits concerning TO confirmation/cancellation - none of them is reached when LT15 is executed. The only one is the one I mentionned, and it is being performed in update task - so no message issuing possible.....
Any other ideas?

Similar Messages

  • User Exit for display User fields in MM03

    Peace to All,
    I was able to place user fields in Purchase View of MM03.
    Question , how do I pull data from ZMARA table  of my master data so that I can display it on MM03.
    I will appreciate your help on this. Does anyone has a sample program to do so.
    Thanks in advance,
    Shilpa

    Hi Shilpa,
    Check the following user exit for MM03:
    MGA00001            Material Master (Industry): Checks and Enhancements 
    MGA00002            Material Master (Industry): Number Assignment       
    MGA00003            Material Master (Industry and Retail): Number Display.
    Hope this will help you....

  • User exit for MIGO, message type MLGR

    Hi Guys,
    My Client wants to send mail to the Purchase requisitioner, once the material, he requested, has arrived in the premises (once GR is done).
    Standard SAP has Message type MLGR, which sends mail to the Purchase Order Creator.
    I want to use user exit in MLGR to change the mail recipient from PO Creator to Pur Req creator.
    Can anyone please tell me the user exit for the same?
    Regards,
    Ankush

    Thank you for the quick response.  I have setup all the configuration on SALE  with
    1. Creating  rule
    2. Maintain the rules with the default values
    3. Then Assign the above rules to the message type MATQM but still not pickup the new values that I wanted to be.
    Is there anything that I miss?  Please advise.
    Thanks again,
    Tai

  • User exit for display of first day in report

    Hello friens,
    I have to design a query in which my user want to see following way
    Billed Packs----
    Week1   Week 2...................week 52
    packA
    packB
    Now user want to see the aggregated bill packs for each week.
    And user does not want to see Week numbers , for e.g.
    Billed Packs----
    01/20xx  02/20xx 03/20xx  ....................
    packA
    packB
    User want to see the Start date of that week which means Date of Monday for each week instead.
    Now it is not defined, for how much weeks user want to see , so i created a interval range variable for Week selection.
    Now from previous posts i learnt that to display Start date of Monday for each week I HAVE TO CREATE A USER EXIT.
    And also create text variable which then i will be using in Description to do the same.
    Can you please send me STEP BY STEP for same.
    Can all of you please send me Code for creating user exit
    Can you please send me some sample codes and sample documents for the same.
    My email id is [email protected]
    Points will be awarded.

    As you said "<i>Now it is not defined, for how much weeks user want to see , so i created a interval range variable for Week selection</i>.", how can you decide about the number of KFs in the structures?? (Because u'll have to create as many text variables as the no. of weeks)
    <b>But if that is not the case, following are the steps -
    1. Go to cmod to create customize project.
    2. Click on Enhancement Assignment & key in 'RSR00001'
    3. Click on Components & double click on the function exit EXIT_SAPLRRS0_001.
    4. Here you write the above code before the "Endcase" statement.
    5. Repeat the above code for rest of the text variables with slight modification as follows...
    insert modification between function module call & filling l_s_range9  --</b>i.e.
    <i>CALL FUNCTION 'WEEK_GET_FIRST_DAY'
      EXPORTING
        WEEK               = wa9-low
    IMPORTING
       DATE               =  l_fst_day
    EXCEPTIONS
      WEEK_INVALID       = 1
      OTHERS             = 2
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.</i>
    <b>data: n_fst_day type sy-datum.
    clear n_fst_day.
    n_fst_day = l_fst_day + 8.
    l_s_range9-low =  n_fst_day.</b>
    <i>l_s_range9-sign   = 'I'.</i>
    Please assign the points if this is useful.

  • User Exit for LT15

    Hi All
    I know this is classic question
    I need user exit for LT15 after TO has been canceled (Must be exactly after TO canceled)
    since I need to call my zfunction after TO canceled
    Find the solution in these link but nothing hit
    Note : I have assigned in CMOD.
    User exit after cancel of TO (LT15)
    User Exit for Transaction LT15
    User-exit  for displaying message in LT15
    Thanks
    Vicky

    Sorry my bad
    Find it in MWMTO02
    Close this thread, please
    Thanks

  • Help me to find user exit  for  MB1B

    IN MB1B TRANSACTION I WANT ONE FIELD LIKE <b>REASON FOR TRANSFER</b> APPEAR IN THE FIRST SCREEN  ONLY WHEN I AM ENTERING PARTICULAR MOVEMENT TYPE,PLANT AND STORAGE LOCATION.HELP ME TO FIND USER EXIT FOR THIS
    Message was edited by:
            neela renganathan

    THIS FIELD ALREADY AVAILABLE IN THE NEXT SCREEN ,BUT WHILE AM ENTERING PARTICULAR  MVEMNT TYPE ,PLANT,STORAGE LOCTN IT WILL APPEAR IN INITIAL SCREEN AND IT WONT ALLOW TO GO NEXT SCREEN WITHOUT GIVING THE REASON
    Message was edited by:
            neela renganathan
    Message was edited by:
            neela renganathan

  • User exit for VL02n to trigger error message by checking PFI status

    Please help me in finding out the exact user exit for the following enhancements:
    1.When i go to VL02n transaction and try to delete the line item in the delivery for which already PFI(Profarma Invoice) is created an error message should be triggered by us stating "Proforma already created" 
    2.Error message will have relevant PFI details and instruction to user to Cancel [Complete] the PFI as the first step in case of delivery item deletion. User will be allowed to delete the item only after the PFI is set to cancelled status.
    3.An information message should be generated automatically if user tries to change the quantity in delivery document line item, if PFI is already created for the same
    4.Information message will have relevant PFI details but allows the user to change the quantity.
    How can this be done? Thro' which user exit?
    Please post your suggesstions?

    Hi,
    Use the BADI "LE_SHP_DELIVERY_PROC".  Methods "FILL_DELIVERY_ITEM",  "CHANGE_DELIVERY_ITEM", "CHECK_ITEM_DELETION" will be useful
    for your requirement.
    Regards
    Vinod

  • What is the user exit for message type BENREP, IDoc BENEFIT3?

    Hello,
    We are looking for a user exit to use with IDoc BENEFIT3.  Our benefits provider requires information which is not stored in any infotype in SAP, but can be calculated based on 3 existing infotypes.  We need a user exit for this. 
    We thought we could use PBEN0018 w/function module EXIT_SAPLHRBEN00FEATURE_018, but our ABAP developer says this doesn't access any IDoc tables. HR_BEN_IDOC_SEND doesn't work for this purpose either.  We also found PBEN0033 for function module HR_BEN_GET_IDOC_EVENTS, but this is labeled as obsolete.
    Does anyone know if there is an exit for this?
    Thanks much!
    Anke

    For future reference in case anyone is trying to do this, we were not able to find a suitable user exit to enhance BENEFIT3 IDoc, so we put in an OSS note and received the following response:
    "...currently there is no user exit/Badi in SAP Benefits Administration
    to enhance IDoc BENEFIT3. Such functionality is indeed missing in the
    system, which means that you will need to submit a development
    request to enhance the system in this respect in a future release."
    Anke

  • 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.

  • BADI / USER-EXIT FOR DEFAULTING THE FIELD VTTK-TNDR_ACTC IN TCODE VT01N

    Hi,
    I require a BADI / USER-EXIT for defaulting the field VTTK-TNDR_ACTC(Currency of Actual Shipment costs) to 'EUR' in transaction VT01N(Shipment Transaction) .
    Please could anyone help me with this .
    Regards,
    Sushanth H.S.

    Hi!
    User Exits in Transportation
    In Transportation, there are enhancements that you can use with transaction CMOD.
    For a detailed description of the individual enhancements, see the documentation on the individual enhancements or function modules in transaction SMOD.
    You can display all enhancements that are available for the area of transportation by choosing F4 in the Enhancement field. Enter V56* in the Enhancement field and choose Execute. Enter V54* to get a list of all enhancements for the area of shipment cost processing.
    Business Add-Ins in the transports
    Business add-ins (BADIs) are predefined user exits. They enable businesses, partners, and customers to add additional softward to the SAP source code. The linkup of SAP's New Dimension Products, such as APO and BW, to the standard system is thus possible.
    Customer-specific functions can be executed before the save time and after the database update.
    The following methods are available for the BADI with the definition name 'BADI_LE_SHIPMENT':
    AT_SAVE: BADI is called up at the time of the save. Checks and return to dialog are possible.
    BEFORE:_UPDATE: BADI is called up right before the data is saved to the database, that is, when all the data is available (for example, internal ly assigned shipment number).
    IN_UPDATE: BADI is called up after the database update.
    Standard Settings
    Creating a BADI method:
    Call up transaction SE19. Enter a name of your choice. Choose "create" and in the dialog box enter the definition name 'BADI_LE_SHIPMENT'. Afterwards, enter a short text for implementation. Save the BADI.
    On the tab page 'Interface', choose the method for implementation by double-clicking on it. Now you can enter your customer-specific program code. Save and activate the code. You can acess the transmission parameters entered in the BADI definition. With the method ***_AT_SAVE you can initiate the exception ERROR_WITH_MESSAGE (description 'An error message has occurred' ) if you wish to return to the dialog.
    Afterwards, go to the heading and activate the interface.
    Regards
    Tamá

  • 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

  • How to find user exits for a specific field

    hi,
        How can we find a user exit for a specific fields .
    as i know Three ways to search user-exits
    1. SE80 look includes in a packages with name user-exits
    2.  by zreport which will fetch user-exit in a T-CODE
    3. SMOD
    but what if we have to find a user-exit for particular field for e.g bupla(bussiness place) in MIRO.
    Please suggest me.
    Thanks and  Regards ,
    Rahul Singh.

    Hi Rahul,
    Here is the procedure to create field exits.
    Step by step procedure for creating Field Exits
    There are eight steps to creating a field exit:
    Step 1: Determine Data Element
    Step 2: Go To Field Exit Transaction
    Step 3: Create Field Exit
    Step 4: Create Function Module
    Step 5: Code Function Module
    Step 6: Activate Function Module
    Step 7: Assign Program/Screen
    Step 8: Activate Field Exit
    Step 1: Determine Data Element
    u2022     Before you can begin adding the functionality for a field exit, you must know the corresponding data element.
    Step 2: Go To Field Exit Transaction
    u2022     The transaction to create field exits is CMOD.
    u2022     You can use the menu path Tools -> ABAP/4 Workbench -> Utilities -> Enhancements -> Project management.
    u2022     From the initial screen of transaction CMOD, choose the Text enhancements -> Field exits menu path.
    u2022     After choosing this menu path, you will be taken to the field exits screen. From here, you can create a field exit.
    NOTE : Even though you use transaction CMOD to maintain field exits, you do not need to create a project to activate field exits.
    Step 3: Create Field Exit
    u2022     From the field exit screen of transaction CMOD, choose the Field exit -> Create menu path.
    u2022     After choosing this menu path, a dialog box will prompt you for the appropriate data element .
    u2022     Enter the data element name and click the u2018Continueu2019 pushbutton.
    u2022     Now, you will be able to create the function module associated to the data elementu2019s field exit.
    Step 4: Create Function Module
    u2022     You will automatically be taken to the Function Library (SE37) after entering a data element name and clicking the u2018Continueu2019 pushbutton.
    u2022     In the u2018Function moduleu2019 field, a function module name will be defaulted by the system based on the data element specified. This name will have the following convention:
    FIELD_EXIT_<data element>
    u2022     You can add an identifier (an underscore followed by a single character ).
    u2022     The first function module for a data elementu2019s field exit must be created without an identifier.
    u2022     To create the function module, click on the u2018Createu2019 pushbutton, choose menu path Function module -> Create, or press u2018F5u2019.
    u2022     After choosing to create the function module, you will get the warning: "Function module name is reserved for SAP". This message is just a warning so a developer does not accidentally create a function module in the field exit name range. By pressing u2018Enteru2019, you will be able to go ahead and create the function module.
    u2022     Before coding the function module, you will have to specify the function modules attributes -- function group, application, and short text.
    Step 5: Code Function Module
    u2022     From the function moduleu2019s attributes screen, click on the u2018Source codeu2019 pushbutton or choose the Goto -> Function module menu path to the code of the function module.
    u2022     Here you will add your desired functionality for the field exit.
    u2022     Remember that field exitu2019s function module will have two parameters -- one importing parameter called "INPUT" and one exporting parameter called "OUTPUT". These parameters will be set up automatically by the system.
    u2022     You must remember to assign a value to the OUTPUT field. Even if the value does not change, it must be moved from the INPUT field to the OUTPUT field.
    Step 6: Activate Function Module
    u2022     After coding the function module, you must remember to activate it.
    u2022     Use the Function module -> Activate menu path to activate the function module.
    u2022     At this point, you can return to the field exit transaction.
    u2022     You should be able to 'green arrow' back to this transaction.
    u2022     When you return to the field exit transaction, you will see an entry for the newly created field exit.
    u2022     At this point, the field exit is global. That is, it applies to all screens that use a particular data element. On any screen that uses the data element, the corresponding field exit function module will be triggered, once it is active.
    u2022     Also, the field exit will not be triggered yet because it is inactive.
    Step 7: Assign Program/Screen
    u2022     This step is only needed if you want to make a field exit local.
    u2022     To make a field exit local, select the field exit and click on the u2018Assign prog./screenu2019 pushbutton.
    u2022     In the dialog box , indicate the appropriate program name and screen number.
    This information indicates that the field exit is local to the specified screen in the specified program.
    u2022     In the dialog box, you determine which function module gets executed for the field exit by specifying the identifier in the u2018Fld. Exitu2019 field.
    u2022     If this field is left blank, the function module triggered will be 'FIELD_EXIT_<data element>'.
    u2022     If a single-character identifier is entered into the field, the function module triggered will be 'FIELD_EXIT_<data element>_<identifier>'.
    Step 8: Activate Field Exit
    u2022     The field exit must be active for it to be triggered by the system.
    u2022     Activate the field exit by choosing the Field exit -> Activate menu path.
    u2022     After assigning the field exit to a change request, its status will change to u2018Activeu2019 and it will be triggered automatically on the appropriate screen(s).
    NOTE : In order to activate the field exit the profile parameter abap/fieldexit = YES must be set on all application servers
    Execute the transaction SE38 with PROGRAM NAME - RSMODPRF
    Then give the Data Element Name for which field you want to create the exit(Just cross check with your field data element) and execute.
    then it takes you to SE37 with the function module name FIELD_EXIT_<DATA ELEMENT NAME> and then create the same function module.
    and in the coding part, You can write your logic to display the output of that field. and activate it.
    once you complete the above,
    Again execute SE38 transaction with program RSMODPRF and again click on Execute button without any Data Element Name. Now you select the data element which you have created and click on Assign prog/ Screen button and assign the program name and screen number of the filed and click on the menu Field Exit and Activate.
    Hope it helps.
    Regards
    Radhika
    Edited by: Radhika Pande on Nov 26, 2009 7:58 AM

  • User Exits for Vendor Transaction

    In Vendor Master Display XK02, for Payment Transactions there is a Checkbox for Double Invoice. If the Invoice is already made, I want to raise a error message. Is there any User Exit for that Vendor Transaction to achieve this functionality.

    Hi
    Find the available exits with the following program:::
    *& Report  ZFINDUSEREXIT
    report  zfinduserexit.
    tables : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.
    tables : tstct.
    data : jtab like tadir occurs 0 with header line.
    data : field1(30).
    data : v_devclass like tadir-devclass.
    parameters : p_tcode like tstc-tcode obligatory.
    select single * from tstc where tcode eq p_tcode.
    if sy-subrc eq 0.
    select single * from tadir where pgmid = 'R3TR'
    and object = 'PROG'
    and obj_name = tstc-pgmna.
    move : tadir-devclass to v_devclass.
    if sy-subrc ne 0.
    select single * from trdir where name = tstc-pgmna.
    if trdir-subc eq 'F'.
    select single * from tfdir where pname = tstc-pgmna.
    select single * from enlfdir where funcname =
    tfdir-funcname.
    select single * from tadir where pgmid = 'R3TR'
    and object = 'FUGR'
    and obj_name eq enlfdir-area.
    move : tadir-devclass to v_devclass.
    endif.
    endif.
    select * from tadir into table jtab
    where pgmid = 'R3TR'
    and object = 'SMOD'
    and devclass = v_devclass.
    select single * from tstct where sprsl eq sy-langu and
    tcode eq p_tcode.
    format color col_positive intensified off.
    write:/(19) 'Transaction Code - ',
    20(20) p_tcode,
    45(50) tstct-ttext.
    skip.
    if not jtab[] is initial.
    write:/(95) sy-uline.
    format color col_heading intensified on.
    write:/1 sy-vline,
    2 'Exit Name',
    21 sy-vline ,
    22 'Description',
    95 sy-vline.
    write:/(95) sy-uline.
    loop at jtab.
    select single * from modsapt
    where sprsl = sy-langu and
    name = jtab-obj_name.
    format color col_normal intensified off.
    write:/1 sy-vline,
    2 jtab-obj_name hotspot on,
    21 sy-vline ,
    22 modsapt-modtext,
    95 sy-vline.
    endloop.
    write:/(95) sy-uline.
    describe table jtab.
    skip.
    format color col_total intensified on.
    write:/ 'No of Exits:' , sy-tfill.
    else.
    format color col_negative intensified on.
    write:/(95) 'No User Exit exists'.
    endif.
    else.
    format color col_negative intensified on.
    write:/(95) 'Transaction Code Does Not Exist'.
    endif.
    at line-selection.
    get cursor field field1.
    check field1(4) eq 'JTAB'.
    set parameter id 'MON' field sy-lisel+1(10).
    If there are no available user exits you could go for badi's.
    To search for a badi, go to se 24 display class cl_exithandler. double click on method get_instance, get a break point on case statement. execute and start the required transaction in new session. look for variable exit_name. It would show the available badi's.
    <b>please reward if useful...</b>
    regards
    dinesh

  • Tracing User Exits for Transaction ME22N

    I have a problem with the transaction ME22N. When I try to add an additional item for a certain PO, I can't save the changes because there is an error message saying one of the previously created item has to be checked under the 'Returns' field. The problem is this specific item has been marked for deletion or has been deleted. So technically SAP should not check this item before saving changes. So I think there is a customised user exit somewhere that is checking items that have ben deleted. So now I have to trace out this user exit and fix it. I have no idea how to do it. I tried to run a program which lists out user exits based on transaction codes from this link : http://www.sapgenie.com/abap/code/abap26.htm
    But through the code only standard SAP user exits are displayed. I don't know how to solve this. Can anyone help me?

    For purchasing functions customer enhancements or BADI's can be used to add customer specific logic. Goto transaction SPRO (Customising), select materials management, purchasing and you have two options for 'Develop enhancements in purchasing' and 'Business add-ins in purchasing'. Select the document button and this will provide more documentation.
    Most of the customer exits in purchasing using enhancements so a customer project should exist (check transcation CMOD), get the SAP enhancement implemented and select the component which should be a function module. Hope this helps.

  • User exits for transaction VL10B

    Hi,
    Could anyone please give me the user exit for transaction VL10B.
    Regards
    Karan

    Hi Karan,
    Just check -
    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)      
    REWARD!!
    Regards,
    Ajinkya

Maybe you are looking for