Skip to Content
author's profile photo
Former Member

Need user exit when deleting an invoice using MIR6 transaction

Hi all,

I m trying to delete an Invoice using MIR6 transaction. And I need a user exit to be triggered on deletion of an Invoice.

Can anybody help me and let me know if any user exit is available there?

Points will be rewarded.

thanks

Ashish

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

3 Answers

  • author's profile photo
    Former Member
    Posted on Sep 27, 2007 at 06:11 PM

    Try with the following BADI.

    Transaction SE18, Badi Name INVOICE_UPDATE

    The badi contain 3 methods, select one that match your requirement

    CHANGE_AT_SAVE Invoice Document at Save

    CHANGE_BEFORE_UPDATE Invoice Document Before Update

    CHANGE_IN_UPDATE Invoice Document During Update

    See Documentation (Ex: Change in update):

    Short Text

    BAdI Interface IF_EX_INVOICE_UPDATE

    Use

    You can use the business add-in (INVOICE_UPDATE) to process further and,

    if necessary, prohibit the following functions:

    o Adding invoices (invoices, credit memos, subsequent debits,

    subsequent credits) in Logistics Invoice Verification

    o Document parking in Logistics Invoice Verification and all changes,

    for example, changing or deleting invoice documents

    Standard settings

    <b> The business add-in is not active in the standard system.</b>

    Activities

    <b>To activate the business add-in, you must create an an active

    implementation</b>. Note that: The business add-in can be used more than

    once, consequently, all active implementations are called and performed.

    Further notes

    Note that you must not send any system messages in the methods. One

    exception to this is the method CHANGE_AT_SAVE. In this method, you can

    issue a system messages if the exception ERROR_WITH_MESSAGE is

    triggered simultaneously.

    The statement Commit Work must not be performed, since this leads to

    data inconsistencies in the database.

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      Thanks Dany,

      but I need one more help from you. I am using BADI for the first time. So can you plz help me in implementing this BADI.

      Actually I have implemented the BADI and created an implementation ZTEST for definition INVOICE_UPDATE. And in Method CHANGE_AT_SAVE i have just written a statement BREAK-POINT. And activated it and Activated the implementation also.

      But how I test my scenario? I mean, when I delete an Invoice it is not going to this break-point. So Plz correct me if I need to do something else or how to proceed?

      thanks once again

      Ashish

  • author's profile photo
    Former Member
    Posted on Sep 27, 2007 at 08:23 PM

    Hi

    Business Add-Ins

    Business Add-Ins are a new SAP enhancement technique based on ABAP Objects. They can be inserted into the SAP System to accommodate user requirements too specific to be included in the standard delivery. Since specific industries often require special functions, SAP allows you to predefine these points in your software.

    As with customer exits (SMOD/CMOD [Page 40]), two different views are available:

    • In the definition view, an application programmer predefines exit points in a source that allow specific industry sectors, partners, and customers to attach additional software to standard SAP source code without having to modify the original object.

    • In the implementation view, the users of Business Add-Ins can customize the logic they need or use a standard logic if one is available.

    In contrast to customer exits, Business Add-Ins no longer assume a two-system infrastructure (SAP and customers), but instead allow for multiple levels of software development (by SAP, partners, and customers, and as country versions, industry solutions, and the like). Definitions and implementations of Business Add-Ins can be created at each level within such a system infrastructure.

    SAP guarantees the upward compatibility of all Business Add-In interfaces. Release upgrades do not affect enhancement calls from within the standard software nor do they affect the validity of call interfaces. You do not have to register Business Add-Ins in SSCR.

    The Business Add-In enhancement technique differentiates between enhancements that can only be implemented once and enhancements that can be used actively by any number of customers at the same time.

    In addition, Business Add-Ins can be defined according to filter values. This allows you to control add-in implementation and make it dependent on specific criteria (on a specific Country value, for example). All ABAP sources, screens, GUIs, and table interfaces created using this enhancement technique are defined in a manner that allows customers to include their own enhancements in the standard.

    A single Business Add-In contains all of the interfaces necessary to implement a specific task. In Release 4.6A, program and menu enhancements can be made with Business Add-Ins. The actual program code is enhanced using ABAP Objects. In order to better understand the programming techniques behind the Business Add-In enhancement concept, SAP recommends reading the section on ABAP Objects

    DEFINING THE BADI

    1) execute Tcode SE18.

    2) Specify a definition Name : ZBADI_SPFLI

    3) Press create

    4) Choose the attribute tab. Specify short desc for badi.. and specify the type :

    multiple use.

    5) Choose the interface tab

    6) Specify interface name: ZIF_EX_BADI_SPFLI and save.

    7) Dbl clk on interface name to start class builder . specify a method name (name,

    level, desc).

    Method level desc

    Linese;ection instance methos some desc

    8) place the cursor on the method name desc its parameters to define the interface.

    Parameter type refe field desc

    I_carrid import spfli-carrid some

    I_connid import spefi-connid some

    9) save , check and activate…adapter class proposed by system is

    ZCL_IM_IM_LINESEL is genereated.

    IMPLEMENTATION OF BADI DEFINITION

    1) EXECUTE tcode se18.choose menuitem create from the implementation menubar.

    2) Specify aname for implementation ZIM_LINESEL

    3) Specify short desc.

    4) Choose interface tab. System proposes a name fo the implementation class.

    ZCL_IM_IMLINESEL which is already generarted.

    5) Specify short desc for method

    6) Dbl clk on method to insert code..(check the code in “AAA”).

    7) Save , check and activate the code.

    Some useful URL

    http://www.esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt

    http://www.esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf

    http://www.esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc

    http://www.esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc

    www.sapgenie.com/publications/saptips/022006%20-%20Zaidi%20BADI.pdf

    http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm

    http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm

    http://help.sap.com/saphelp_nw04/helpdata/en/e6/d54d3c596f0b26e10000000a11402f/content.htm

    http://help.sap.com/saphelp_nw2004s/helpdata/en/c2/eab541c5b63031e10000000a155106/frameset.htm

    Now write a sample program to use this badi method..

    Look for “BBB” sample program.

    “AAA”

    data : wa_flights type sflight,

    it_flights type table of sflight.

    format color col_heading.

    write:/ 'Flight info of:', i_carrid, i_connid.

    format color col_normal.

    select * from sflight

    into corresponding fields of table it_flights

    where carrid = i_carrid

    and connid = i_connid.

    loop at it_flights into wa_flights.

    write:/ wa_flights-fldate,

    wa_flights-planetype,

    wa_flights-price currency wa_flights-currency,

    wa_flights-seatsmax,

    wa_flights-seatsocc.

    endloop.

    “BBB”

    &----


    *& Report ZBADI_TEST *

    *& *

    &----


    REPORT ZBADI_TEST .

    tables: spfli.

    data: wa_spfli type spfli,

    it_spfli type table of spfli with key carrid connid.

    *Initialise the object of the interface.

    data: exit_ref type ref to ZCL_IM_IM_LINESEL,

    exit_ref1 type ref to ZIF_EX_BADISPFLI1.

    selection-screen begin of block b1.

    select-options: s_carr for spfli-carrid.

    selection-screen end of block b1.

    start-of-selection.

    select * from spfli into corresponding fields of table it_spfli

    where carrid in s_carr.

    end-of-selection.

    loop at it_spfli into wa_spfli.

    write:/ wa_spfli-carrid,

    wa_spfli-connid,

    wa_spfli-cityfrom,

    wa_spfli-deptime,

    wa_spfli-arrtime.

    hide: wa_spfli-carrid, wa_spfli-connid.

    endloop.

    at line-selection.

    check not wa_spfli-carrid is initial.

    create object exit_ref.

    exit_ref1 = exit_ref.

    call method exit_ref1->lineselection

    EXPORTING

    i_carrid = wa_spfli-carrid

    i_connid = wa_spfli-connid.

    clear wa_spfli.

    check the following user exits for MIR6

    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

    Regards

    Anji

    Message was edited by:

    Anji Reddy Vangala

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Posted on Sep 28, 2007 at 03:17 AM

    Transaction Code - MIR6 Invoice Overview

    Exit Name Description

    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

    No of Exits: 10

    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

    Add comment
    10|10000 characters needed characters exceeded