Why we call badi is multilevel implementation.

hi friends,
why we call badi is multi level implementation(i.e.,sap,customer,partner,industry version and country version).
but comes to user exit we call two level implementation.(i.e.,sap and customer).
what exactly the two level and multi level implementation.
can any one tell this.

Hi,
See if it helps:
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 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-level infrastructure (SAP and customer solutions), but instead allow for a multi-level system landscape (SAP, partner, and customer solutions, as well 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.

Similar Messages

  • Error  while  calling badi using class cl_exithandler with getInstance

    hi experts...we are using SAP ECC 6.0  version
    I have created  BADI Def   and  Implementation using  se18   and se19 with some interface methods..
    Problem:
    I'm writing  a report to call  that using  class CL_EXITHANDLER but it shows an  Exception..
    " Exception condition "DATA_INCONS_IN_EXIT_MANAGEM" raised."
    Report example:
    DATA: CL_EXIT  TYPE REF TO CL_EXITHANDLER,
          IF_USER_INSTANCE TYPE REF TO ZIF_EX_USER_MAILID1.
    CALL METHOD cl_exithandler=>get_instance
      EXPORTING
       EXIT_NAME                       = 'ZBADI_USERMAIL_DEF'
    *    NULL_INSTANCE_ACCEPTED        = SEEX_FALSE
    *  IMPORTING
    *    ACT_IMP_EXISTING              =
      CHANGING
        instance                       = IF_USER_INSTANCE
    *  EXCEPTIONS
    *    NO_REFERENCE                  = 1
    *    NO_INTERFACE_REFERENCE        = 2
    *    NO_EXIT_INTERFACE             = 3
    *    CLASS_NOT_IMPLEMENT_INTERFACE = 4
    *    SINGLE_EXIT_MULTIPLY_ACTIVE   = 5
    *    CAST_ERROR                    = 6
    *    EXIT_NOT_EXISTING             = 7
    *    DATA_INCONS_IN_EXIT_MANAGEM   = 8
    *    others                        = 9
    IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    so i found that all  EXITs  are in the Table " SXS_ATTR" 
    but  what i have created BADI  has not exist  in that Table so that  it gets  an  Exception(while i'm debugging found this)
    so kindly tel me whats problem my BADI "ZBADI_USERMAIL_DEF"  not maintained that  Database table
    but  in Implentation class  its working fine..

    yes i have created  badi  in  Enhancement spot so  regarding what u told i'm using  GET BADI  and CALL BADI
    DATA:W_HANDLE TYPE REF TO ZBADI_USERMAIL_DEF.
    GET BADI W_HANDLE.
    CALL BADI w_handle->get_user_mailid
      EXPORTING
        uname  = UNAME
      changing
        mailid = W_EMAIL
    WRITE: / 'UNAME:',UNAME.
    WRITE: / 'EMAIL ID',W_EMAIL.
    CALL BADI w_handle->get_user_address_data
      EXPORTING
        uname    = UNAME
      changing
        addrdata = W_ADDRDATA
    IF W_ADDRDATA IS NOT INITIAL.
      WRITE: / W_ADDRDATA-BNAME,W_ADDRDATA-NAME1,W_ADDRDATA-NAME2,W_ADDRDATA-TELPR,W_ADDRDATA-TELNR,W_ADDRDATA-TEL01.
    ENDIF.
    but  here  BADI  are not  called 
    Interface implementation class methods  not  executed  so kindly tel me whats problem here.
    Thanks in Advance
    sivakumar

  • Badi's multiple implementation

    Hi,
    I have a doubt in badi implementation.
    Suppose we have a badi which can have multiple implementation. Suppose this badi's  has  5 methods and one implementation is created in which these 5 methods were implemented.
    Now we make another implementation in which we change one method and do not touch others.
    How will we made this BADI work so that it calls one method from the new implementation and rest of the method from older implementation.
    Many Thanks!
    Parul.
    Edited by: Parul Gupta on Jan 29, 2011 12:52 PM

    Hi ,
    This might be helpful.
    1.Define the Filter for Badi.
    2.Set different filter values for each Badi Implemention.
    3.Call badi implemention based on filter value.
    Regards , Chetan.
    Edited by: Chetan on Feb 16, 2011 2:09 PM

  • Error in calling BADI

    Hi All,
    I have created a BADI and implemeted it and when i tried to call it in the program it going to short dump.
    I debugged the program and found out that in  'cl_exithandler=>get_class_name_by_interface' an exception 4  'data_incons_in_exit_managem' raised, please provide methe  input on what i have to do.
    Thanks,
    Krish.

    Hi,
    If you are trying to call a New BADI (implemented with Enhancement Spot) , then you got to use GET BADI and CALL BADI.
    If you are trying to call a Classic BADI, use cl_exithandler=>get_instance
    If you have done the calling right, then check if you are passing all correct parameters and using the correct object. For a classic BADI, the object will be a reference to the Interface name. In the New BADI, the object will refer to the BADI definition.

  • Badi creation and implementation

    HI all ,
    I want inforamtion on BADIs.
    How to search for BADI and also creating and implementing the badi .
    Regards
    SAntosh .

    There are two steps in User Exit creation.
    1} Identify the User Exit suitable for the requirement and that is available in the system:
    Code SE18 is used to Identify the BADI available.
    Look for the string 'CL_EXITHANDLER' in the standard program. This is a class which has a method 'GET_INSTANCE' which is used to trigger BADI's from the Standard Program. The interface parameter for this static method 'EXIT_NAME' is used to pass the BADI to the method.
    Open Standard Program and do a global search 'CL_EXITHANDLER'.
    SE18 > give the BADI name found through above search.
    CUSTOMER_ADD_DATA > which has a method SAVE_DATA.
    2} Implement the User Exit identified through above process.
    T.Code SE19 is used to Implement BADI.
    SE19 > give the implementation name > Give the Definition name as CUSTOMER_ADD_DATA and the Short Text.
    Check this blogs 2 find a BADI:
    How to find if we have a BADI in Transaction VB02
    Re: BADI for screen enhancement in MM01  transaction
    Re: BADI and User exits
    How To Define a New BAdI Within the Enhancement Framework (Some Basics About the BAdI,BAdI Commands in ABAP,
    When to Use a BAdI?)
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    How to implement a BAdI And How to Use a Filter
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    Introducing Business Add-Ins
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f3202186-0601-0010-6591-b832b1a0d0de
    How to implement BAdi in Enhancement Framework
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d0456c54-0901-0010-f0b3-cd765fb99702
    Business Add-Ins
    http://help.sap.com/saphelp_47x200/helpdata/en/ee/a1d548892b11d295d60000e82de14a/frameset.htm
    BAdI: Customer-Defined Functions in the Formula Builder
    http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
    Difference Between BADI and User Exits
    http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
    To Use BADI - Business Add In you need to Understand ABAP OO Interface Concept
    http://www.sap-img.com/abap/business-add-in-you-need-to-understand-abap-oo-interface-concept.htm
    You can check the links for Step by Step Badi Implemntation
    (very helpful self learning docs).
    BADI Step by Step Implementation.
    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
    http://help.sap.com/saphelp_nw04/helpdata/en/04/f3683c05ea4464e10000000a114084/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/e6/63ee7f486cc143a560799d8803ce29/content.htm
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/srm/badi-general+information&
    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
    The specified item was not found.
    http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://members.aol.com/_ht_a/skarkada/sap/
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://www.guidancetech.com/people/holland/sap/abap/
    http://www.planetsap.com/download_abap_programs.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    http://www.allsaplinks.com/badi.html
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-serieshttps:///people/alwin.vandeput2/blog/2006/04/13/how-to-search-for-badis-trace-it
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework /people/thomas.weiss/blog/2006/05/03/source-code-enhancements--part-5-of-the-series-on-the-new-enhancement-framework
    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
    http://www.esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/40921dd7-d5cf-2910-1894-bb62316afbd1
    http://help.sap.com/saphelp_erp2005/helpdata/en/73/7e7941601b1d09e10000000a155106/frameset.htm
    http://support.sas.com/rnd/papers/sugi30/SAP.ppt
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/abapindx.htm
    http://members.aol.com/_ht_a/skarkada/sap/
    http://www.ct-software.com/reportpool_frame.htm
    http://www.saphelp.com/SAP_Technical.htm
    http://www.kabai.com/abaps/q.htm
    http://www.guidancetech.com/people/holland/sap/abap/
    http://www.planetsap.com/download_abap_programs.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    /people/thomas.weiss/blog/2006/04/03/how-to-define-a-new-badi-within-the-enhancement-framework--part-3-of-the-series
    /people/thomas.weiss/blog/2006/04/18/how-to-implement-a-badi-and-how-to-use-a-filter--part-4-of-the-series-on-the-new-enhancement-framework
    http://esnips.com/doc/e06e4171-29df-462f-b857-54fac19a9d8e/ppt-on-badis.ppt
    http://esnips.com/doc/43a58f51-5d92-4213-913a-de05e9faac0d/Business-Addin.doc
    http://esnips.com/doc/10016c34-55a7-4b13-8f5f-bf720422d265/BADIs.pdf
    http://esnips.com/doc/1e10392e-64d8-4181-b2a5-5f04d8f87839/badi.doc
    http://esnips.com/doc/365d4c4d-9fcb-4189-85fd-866b7bf25257/customer-exits--badi.zip
    http://esnips.com/doc/3b7bbc09-c095-45a0-9e89-91f2f86ee8e9/BADI-Introduction.ppt
    http://help.sap.com//saphelp_470/helpdata/EN/eb/3e7cee940e11d295df0000e82de14a/frameset.htm
    Difference Between BADI and User Exits
    http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
    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.
    REPORT Z_BADI_TEST.
    test call Badi from standard abap. (Only from rel 6.40 and above)
    do the following
    1) define the Badi (SE18). For Abap call test uncheck multiple use
    and filter boxes
    2) Implement the badi (SE19). Add any methods here in the implemntation
    3) activate
    4) define the standard class exithandler to the abap. This class is the "Badi caller
    5) define an exit variable referring to your Badi Implementation interface
    this interface will normally be something like ZIF_EX***************
    You will see this in SE18/SE19.
    6) Instantiate your instance of the badi (method call get_instance)
    7) Now call any method(s) in the Badi.
    class cl_exithandler definition load. "Declaration
    data exit type ref to zif_ex__jimbotest. "Interface reference
    data yes type c.
    data: v_knvv type knvv. "Used in Fmod call in Badi methods
    start-of-selection.
    yes = ' '.
    selection-screen begin of block b1.
    parameters: r1 radiobutton group rad1,
    r2 radiobutton group rad1,
    r3 radiobutton group rad1.
    selection-screen end of block b1.
    parameters: p_kunnr type knvv-kunnr.
    select single * into v_knvv
    from knvv
    where kunnr eq p_kunnr.
    export v_knvv to memory id 'CUST6A'. "Save customer data for the function module
    call method cl_exithandler=>get_instance "Factory method call
    exporting "Method
    exit_name = 'Z_JIMBOTEST' "Name of your BADI
    null_instance_accepted = yes
    changing instance = exit.
    if not exit is initial.
    break-point 1.
    if r1 = 'X'.
    call method exit->dispord . "Add-In call
    changing testparm1 = word.
    endif.
    if r2 = 'X'.
    call method exit->dispfakt.
    endif.
    if r3 = 'X'.
    call method exit->dispmat.
    endif.
    In the badi methods
    1)
    method ZIF_EX__JIMBOTEST~DISPORD.
    CALL FUNCTION 'Z_DISPLAY_CUST'.
    endmethod.
    2)
    method ZIF_EX__JIMBOTEST~DISPFAKT.
    CALL FUNCTION 'Z_DISPLAY_FAKT'.
    endmethod
    3)
    method ZIF_EX__JIMBOTEST~DISPMAT.
    CALL FUNCTION 'Z_DISPLAY_CUST'.
    endmethod.
    Copy via SE 41 the status SALV_STANDARD from standard SAP program SALV_DEMO_METADATA into the main program where you've created the 3 function modules below (SAP______TOP)
    Global Data for the three function modules I'm calling
    FUNCTION-POOL Z_BADI_KNVV. "MESSAGE-ID ..
    include <color>.
    include <icon>.
    include <symbol>.
    tables: zknvv.
    data: v_zzkvgr6 TYPE KNVV-ZZKVGR6.
    data: choice1 type c.
    data: choice2 type c.
    data: choice3 type c.
    data: choice4 Type c.
    data: ok-code(5) type c.
    data: answer type string.
    data: value1 type SPOP-VARVALUE1.
    data: answer1 type string.
    tables: vbak, vbap, vakpa, vbrk, vrkpa.
    data: lr_functions type ref to cl_salv_functions_list.
    constants: gc_true type sap_bool value 'X',
    gc_false type sap_bool value space.
    add for colour displays
    data: ls_color type lvc_s_colo.
    DATA : LV_SALV_COLUMNS_TABLE TYPE REF TO CL_SALV_COLUMNS_TABLE.
    data: lr_columns type ref to cl_salv_columns_table,
    lr_column type ref to cl_salv_column_table.
    Data:
    gr_table TYPE REF TO cl_salv_table.
    data: z_datum type sy-datum.
    data: v_knvv type knvv.
    data : begin of s_vbak,
    vkorg type vakpa-vkorg,
    vkgrp type vakpa-vkgrp,
    vtweg type vakpa-vtweg,
    spart type vakpa-spart,
    auart type vakpa-auart,
    vbeln type vakpa-vbeln,
    bstnk type vakpa-bstnk,
    audat type vakpa-audat,
    netwr type vbak-netwr,
    end of s_vbak.
    data : begin of s_vbrk,
    vbeln type vrkpa-vbeln,
    vkorg type vrkpa-vkorg,
    fkart type vrkpa-fkart,
    fkdat type vrkpa-fkdat,
    netwr type vbrk-netwr,
    end of s_vbrk.
    data: begin of s_vbap,
    matnr type vbap-matnr,
    arktx type vbap-arktx,
    netwr type vbap-netwr,
    kwmeng type vbap-kwmeng,
    end of s_vbap.
    data: t_vbap like table of s_vbap.
    data: t_vbak
    like table of s_vbak.
    data: t_vbrk
    like table of s_vbrk.
    data: s_name type tabname.
    data: gr_selections type ref to cl_salv_selections.
    data: gr_events type ref to cl_salv_events_table.
    Source code of the function modules.
    Function modules
    FUNCTION Z_DISPLAY_CUST.
    ""Lokale interface:
    s_name = 'S_VBAK'.
    orders in last 6 months
    z_datum = sy-datum - 180.
    import v_knvv from memory id 'CUST6A'.
    get data
    select avkorg aaudat avkgrp avtweg aspart aauart abstnk avbeln b~netwr
    into corresponding fields of table t_vbak
    up to 100 rows
    from ( vakpa as a
    inner join vbak as b
    on avbeln eq bvbeln )
    where a~kunde eq v_knvv-kunnr
    and a~parvw eq 'AG'
    and a~vkorg eq 'EN01'
    and a~trvog eq '0'
    and a~audat gt z_datum.
    sort t_vbak by audat descending.
    *data: gt_hyperlink type standard table of g_type_s_hyperlink.
    Instead of if_salv_c_bool_sap=>false, you can pass the
    value if_salv_c_bool_sap=>true to this method to
    see your ALV as a list.
    display data in Grid / List
    TRY.
    CALL METHOD cl_salv_table=>factory
    EXPORTING
    list_display = if_salv_c_bool_sap=>false
    IMPORTING
    r_salv_table = gr_table
    CHANGING
    t_table = t_vbak.
    CATCH cx_salv_msg.
    ENDTRY.
    try.
    LV_SALV_COLUMNS_TABLE = gr_table->get_columns( ).
    lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'NETWR' ).
    ls_color-col = col_negative.
    ls_color-int = 0.
    ls_color-inv = 0.
    lr_column->set_color( ls_color ).
    catch cx_salv_not_found.
    endtry.
    try.
    lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'VBELN' ).
    ls_color-col = col_negative.
    ls_color-int = 1.
    ls_color-inv = 1.
    lr_column->set_color( ls_color ).
    catch cx_salv_not_found.
    endtry.
    try.
    *LV_SALV_COLUMNS_TABLE = gr_table->get_columns( ).
    lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'NETWR' ).
    lr_column->set_short_text( 'Short' ).
    lr_column->set_medium_text( 'Medium' ).
    lr_column->set_long_text( 'Net Value' ).
    *lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'URL' ).
    catch cx_salv_not_found.
    endtry.
    gr_table->set_screen_status( pfstatus = 'SALV_STANDARD'
    report = sy-repid
    set_functions = gr_table->c_functions_all ).
    this statement actually does the display.
    gr_table->display( ).
    ENDFUNCTION.
    FUNCTION Z_DISPLAY_FAKT.
    ""Lokale interface:
    s_name = 'S_VBRK'.
    invoices in last 6 months
    z_datum = sy-datum - 180.
    import v_knvv from memory id 'CUST6A'.
    get data
    select avbeln afkart avkorg afkdat
    b~netwr
    into corresponding fields of table t_vbrk
    up to 100 rows
    from ( vrkpa as a
    inner join vbrk as b
    on avbeln eq bvbeln )
    where a~kunde eq v_knvv-kunnr
    and a~parvw eq 'RG'
    and a~vkorg eq 'EN01'
    and a~vbtyp eq 'M'
    and a~fkdat gt z_datum.
    sort t_vbrk by fkdat descending.
    *data: gt_hyperlink type standard table of g_type_s_hyperlink.
    Instead of if_salv_c_bool_sap=>false, you can pass the
    value if_salv_c_bool_sap=>true to this method to
    see your ALV as a list.
    display data in Grid / List
    TRY.
    CALL METHOD cl_salv_table=>factory
    EXPORTING
    list_display = if_salv_c_bool_sap=>false
    IMPORTING
    r_salv_table = gr_table
    CHANGING
    t_table = t_vbrk.
    CATCH cx_salv_msg.
    ENDTRY.
    try.
    LV_SALV_COLUMNS_TABLE = gr_table->get_columns( ).
    lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'NETWR' ).
    ls_color-col = col_negative.
    ls_color-int = 0.
    ls_color-inv = 0.
    lr_column->set_color( ls_color ).
    catch cx_salv_not_found.
    endtry.
    try.
    lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'VBELN' ).
    ls_color-col = col_negative.
    ls_color-int = 1.
    ls_color-inv = 1.
    lr_column->set_color( ls_color ).
    catch cx_salv_not_found.
    endtry.
    try.
    *LV_SALV_COLUMNS_TABLE = gr_table->get_columns( ).
    lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'NETWR' ).
    lr_column->set_short_text( 'Short' ).
    lr_column->set_medium_text( 'Medium' ).
    lr_column->set_long_text( 'Net Value' ).
    *lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'URL' ).
    catch cx_salv_not_found.
    endtry.
    gr_table->set_screen_status( pfstatus = 'SALV_STANDARD'
    report = sy-repid
    set_functions = gr_table->c_functions_all ).
    this statement actually does the display.
    gr_table->display( ).
    ENDFUNCTION.
    FUNCTION Z_DISPLAY_MATERIAL.
    ""Lokale interface:
    s_name = 'S_VBAP'.
    invoicesrs in last 6 months
    z_datum = sy-datum - 180.
    import v_knvv from memory id 'CUST6A'.
    get data
    select avbeln bmatnr barktx bnetwr b~kwmeng
    into corresponding fields of table t_vbap
    up to 100 rows
    from ( vakpa as a
    inner join vbap as b
    on avbeln eq bvbeln )
    where a~kunde eq v_knvv-kunnr
    and a~parvw eq 'AG'
    and a~vkorg eq 'EN01'
    and a~trvog eq '0'
    and a~audat gt z_datum.
    TRY.
    CALL METHOD cl_salv_table=>factory
    EXPORTING
    list_display = if_salv_c_bool_sap=>false
    IMPORTING
    r_salv_table = gr_table
    CHANGING
    t_table = t_vbap.
    CATCH cx_salv_msg.
    ENDTRY.
    try.
    LV_SALV_COLUMNS_TABLE = gr_table->get_columns( ).
    lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'NETWR' ).
    ls_color-col = col_negative.
    ls_color-int = 0.
    ls_color-inv = 0.
    lr_column->set_color( ls_color ).
    catch cx_salv_not_found.
    endtry.
    try.
    lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'ARKTX' ).
    ls_color-col = col_negative.
    ls_color-int = 1.
    ls_color-inv = 1.
    lr_column->set_color( ls_color ).
    catch cx_salv_not_found.
    endtry.
    try.
    *LV_SALV_COLUMNS_TABLE = gr_table->get_columns( ).
    lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'NETWR' ).
    lr_column->set_short_text( 'Short' ).
    lr_column->set_medium_text( 'Medium' ).
    lr_column->set_long_text( 'Net Value' ).
    *lr_column ?= LV_SALV_COLUMNS_TABLE->get_column( 'URL' ).
    catch cx_salv_not_found.
    endtry.
    gr_table->set_screen_status( pfstatus = 'SALV_STANDARD'
    report = sy-repid
    set_functions = gr_table->c_functions_all ).
    this statement actually does the display.
    gr_table->display( ).
    ENDFUNCTION.
    http://www.****************/Tutorials/ExitsBADIs/VL02/page1.htm
    Reward points..

  • Why we call adaptive RFC in webdynpro java..

    Hi,
    I want to know why we call adaptive RFC connection in webdynpro java whenever we import new rfc in our  java web dynpro project.  why name  ADAPTIVE RFC  is used
    if we  make any structure changes in the model which we imported in web dynpro project , like adding a new field, or changing the length/datatype of the existing field, then we always have to reimport the model in our webdynpro project so why adaptive name used. wats especial in the word ADAPTIVE RFC

    Hi Rahul,
    please read the guide:
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/10465350-b4f5-2910-61ba-a58282b3b6df?quicklink=index&overridelayout=true
    Best Regards,
    Ervin

  • Which table if for BADI and its implementation

    Which table if for BADI and its implementation
    I want to know which implementations have already been created and actived for one BADI.

    Hi
    check the tables for BADI
    SXC_ATTR   
    SXC_ATTRT  
    SXC_CLASS  
    SXC_COCO   
    SXC_EXIT   
    SXC_FCODE  
    SXC_FCODET 
    SXC_IMPSWH 
    SXC_SCRN   
    SXC_TABLE  
    SXC_TABLET 
    Regards
    Anji

  • Calling BADIs in Web-Dynpro Application

    Hi All,
    Is it possible to call BADIs in WebDynpro  java ?  If yes can anybody please send some document regarding this to me.
    Thanks & Regards,
    Amit Kade

    Hi,
    These links can be of some help
    <a href="http://searchsap.techtarget.com/tip/1,289483,sid21_gci900872,00.html">Link1</a>
    <a href="http://expertanswercenter.techtarget.com/eac/knowledgebaseAnswer/0,295199,sid63_gci1154531,00.html">Link 2</a>
    Regards,
    Ashwani

  • Why We Call Adpative RFC MODEL?

    Hi ,
    Why We Call Adaptive RFC MODEL?
    What is RFM?

    Hi Subbarao,
    The Adaptive Remote Function Call (Adaptive RFC) is a technology that enables the Web Dynpro application developer to use the business functions encapsulated in Business APIs (BAPIs) even after a structure modification, without having to provide the new data using a second back end or a new structure with subsequent regeneration of the proxies.
    This new RFC model shows adaptive behavior. This means that the RFC proxies do not use the original design time structure definition at runtime. Instead, this Web Dynpro model automatically adapts the data of the structure passed in the Java proxy generation to the current data – that is, a structure definition in the back-end system that may have been modified
    For more info go through this link..
    [Adaptive RFC|http://help.sap.com/saphelp_nw70/helpdata/en/6a/11f1f29526944e8580c5e59333d96d/frameset.htm]
    Importing RFC's
    __http://help.sap.com/saphelp_nw70/helpdata/en/6a/11f1f29526944e8580c5e59333d96d/frameset.htm__
    RFM - stands for Remote-enabled Function Modules, amd you can learn more about it from
    http://help.sap.com/saphelpnw70/helpdata/en/22/0427c0488911d189490000e829fbbd/frameset.htm_
    Difference between BAPI and RFM --
    BAPI are RFC enabled function modules. the difference between RFc and BAPI are business objects.
    You create business objects and those are then registered in your BOR (Business Object Repository)
    which can be accessed outside the SAP system by using some other applications (Non-SAP) such as VB or JAVA.
    In this case u only specify the business object and its method from external system
    in BAPI there is no direct system call. while RFC are direct system call.
    Hope this helps,
    Reward Points if helpful,
    Regards,
    Shailesh Nagar

  • Can a BAdI (RSR_OLAP_BADI) be implemented in BI 7.0?

    Hi,
    I have seen some examples of implementing BAdI in BW 3.5 for creating virtual key figures in InfoCube, ODS etc.
    Can a BAdI (RSR_OLAP_BADI) be implemented for virtual key figures in BI 7.0 also (InfoCube & ODS)?
    Thank you,
    Sekhar

    no, i think  we cannot impliment for that particular RSR_OLAP_BADI badi because of this version change

  • Why are calls from my favorites not ringing when my phone is silenced at night?

    Why are calls from my favorites not ringing when my phone is silenced at night?

    You Might Have scheduled do not diturb... Turn Of Scheduled button in settings>do not disturb>scheduled..

  • Calling BADI or BAPI from another BADI

    Hi,
    Is it possible to call BADI or BAPI from another BADI.Here is my situation..
    When I am saving the Lead , I would like to create Opportunity based on few lead conditions.Can I use any one of these two for creating opportunity from Lead.
    I have no clue.
    Please help me.
    Thanks,
    Ajay

    Hi Ajay,
       Look at Re: Can BADI be called from ABAP Program ? maybe it helps you.
    Regards.
    Manuel

  • Why not porting CDC-PP reference implementation to PocketPC by ourself?

    Hi All,
    Seeing your open letter about Personal Profile for PocketPC, I have the question: Why not porting CDC-PP reference implementation to PocketPC by ourself? Or do you know any open source project on this topic?
    in Java world, we should DIY (eclipse, Junit, ANT......)
    Regards!
    Tiger

    Sorry, I missed the "reference implementation" in the subject. Can you even get the thing to compile? Taking a guess at which of the umpteen makefiles to use, I get pjt33@charis:/tmp/personal/build/share/$ make -f rules.mk
    rules.mk:289: /empty.mk: No such file or directory
    rules.mk:394: warning: overriding commands for target `/'
    rules.mk:20: warning: ignoring old commands for target `/'
    rules.mk:422: *** target file `/' has both : and :: entries.  Stop.There are also licencing issues with using the reference implementation - if you want to distribute it properly, it seems you have to pay Sun an annual fee for the Technology Compatibility Kit.

  • Why not call it iStore?

    Why not call iTunes, iStore, because you can get apps for your iPhone you can download videos or even films now Apple TV has been released?

    You can enter that suggestion at the iTunes Feedback Page.

  • I wanted to know why they call me when I do not show the number but I get the words private number, and even when I call out to another private number.

    I wanted to know why they call me when I do not show the number but I get the words private number, and even when I call out to another private number.I tried it in the settings to activate id shows but nothing has changed. I hope you can help me.

    Cloud programs do not use serial numbers... you log in to your paid Cloud account to download & install & activate... you MAY need to log out of the Cloud and restart your computer and log back in to the Cloud for things to work
    Some general information for a Cloud subscription
    Log out of your Cloud account... Restart your computer... Log in to your paid Cloud account
    -Sign in help http://helpx.adobe.com/x-productkb/policy-pricing/account-password-sign-faq.html
    -http://helpx.adobe.com/creative-cloud/kb/sign-in-out-creative-cloud-desktop-app.html
    -http://helpx.adobe.com/x-productkb/policy-pricing/activation-network-issues.html
    -http://helpx.adobe.com/creative-suite/kb/trial--1-launch.html
    Does your Cloud subscription properly show on your account page?
    If you have more than one email, are you sure you are using the correct Adobe ID?
    https://www.adobe.com/account.html for subscriptions on your Adobe page

Maybe you are looking for

  • PLease help me in wrirting this query

    Hi all, i want to write a query using standard emp table.But output required is like deptno ename 10 smith alen mark 20 ram hanuman Thus if deptno is same for some employees it should be printed once only Any help is highly appreciated

  • Its possible to Create Bussiness Service for IDOC Communication Channel

    HI FRNDS, My scenario File to Idoc,   When we will go for business Service , Its possible to create Business Service SAP R/3, its a Good advice. To which Adapters we will use business Service, business System Regards, raj

  • Strange behaviour wireless apple keyboard - bluetooth

    I cleaned my keyboard and forgot to turn it off previously.  Since then, the arrow keys instead of moving one character to left or right, go to the end of the row in a text document, and the up and down go half page up or down, almost as a page up or

  • No music on ipod but memory is almost full

    I have a 30gb ipod photo that I recently connected to itunes to transfer music. I specifically had itunes set to NOT sync my ipod b/c I had more music on my ipod than itunes. For some reason it began to sync, I quickly stopped it but all my music was

  • Boot Properties  - Authentication Denied

    Hi there, I have one weblogic 10g r3 domain. Which I call Domain 1 Well, I must copy my domain to create another environment. So under same WL_HOME I have copied DOMAIN1. I have created a new folder under $WL_HOME/user_projects/domains/ Domain 1 is w