Classic BAdi and New BAdi ...

Hi all,
I have a question regarding the new BAdi concept using enhancement spots.
With the classic BAdi's once we create an implementation it will call up our implementation when the BADI class is been called.
But with the new concept we have to explicitly call the BAdi we created right ? doesn't this mean modifiying the standard code ( If there's no ehancement section or point )?
Can someone tell me whether there is another way to call our implementation by using GET BADI and CALL BADI statement without modifying standard code ( by creating an explicit enhancement).
Cheers,
D.

hi,
Classic and new BAdIs differ in a number of features that are important for migration:
1. BAdI object
a. With classic BAdIs, a BAdI object is created by calling a factory method, and referenced via a reference variable of the type of the BAdI interface.
b. With new BAdIs, a BAdI object is created via the ABAP statement GET BADIas a handle for the calls of BAdI methods, and referenced via a reference variable of the type of the BAdI. A BAdI object is an instance of an internal BAdI class, which otherwise is invisible to the outside.
2. Passing comparison values for the filter
a. With the classical BAdIs, the filter values are stored in a structure and passed with the call of the BAdI methods.
b. With the new BAdIs, the comparison values for the filters used to search for implementations are passed when the BAdI object is created with the GET BADIstatement.
There is no way of migrating the call of the factory method one-to-one into the ABAP statement, because GET BADI can also return an existing BAdI object, which is not possible with the factory method.
3. Calling BAdI methods
Passing comparison values for the filter
a. A classic BAdI can be called only once and the call positions are registered centrally.
b. With new BAdIs, multiple calls are possible and the call positions are not registered centrally.
For the above reasons, an automatic call migration is not possible.
Have a look at below link.
http://help.sap.com/saphelp_nw2004s/helpdata/en/ee/6f3b42ea85b26be10000000a155106/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/0e/4d3e42fc94aa04e10000000a1550b0/content.htm
I hope it helps.
Best Regards,
Reshma

Similar Messages

  • Whats is the diff. btw classic badi and new badi

    Hi guy,
    I just found out that there is classic and new badi implementation in SE19, I would like to check out with u guys on what is the diff btw the two?
    thanks.

    <b>Differences Between Classic and New BAdIs</b>
    Classic and new BAdIs differ in a number of features that are important for migration:
    1. BAdI object
    a.      With classic BAdIs, a BAdI object is created by calling a factory method, and referenced via a reference variable of the type of the BAdI interface.
    b.      With new BAdIs, a BAdI object is created via the ABAP statement GET BADIas a handle for the calls of BAdI methods, and referenced via a reference variable of the type of the BAdI. A BAdI object is an instance of an internal BAdI class, which otherwise is invisible to the outside.
    2. Passing comparison values for the filter
    a.      With the classical BAdIs, the filter values are stored in a structure and passed with the call of the BAdI methods.
    b.      With the new BAdIs, the comparison values for the filters used to search for implementations are passed when the BAdI object is created with the GET BADIstatement.
    There is no way of migrating the call of the factory method one-to-one into the ABAP statement, because GET BADI can also return an existing BAdI object, which is not possible with the factory method.
    3. Calling BAdI methods
    Passing comparison values for the filter
    a.      A classic BAdI can be called only once and the call positions are registered centrally.
    b.      With new BAdIs, multiple calls are possible and the call positions are not registered centrally.
    For the above reasons, an automatic call migration is not possible.
    Have a look at below link.
    http://help.sap.com/saphelp_nw2004s/helpdata/en/ee/6f3b42ea85b26be10000000a155106/content.htm
    http://help.sap.com/saphelp_nw2004s/helpdata/en/0e/4d3e42fc94aa04e10000000a1550b0/content.htm
    I hope it helps.
    Best Regards,
    Vibha
    *Please mark all the helpful answers

  • Migration of Standard Classic Badi to New Badi

    hi,
    Is it mandatory to migrate all standard classic badi's to New badi's in ECC6.0. I have read in the documentation only custom BADi's should be migrated.
    Can we migrate Standard Classic badi's to New badi's, please provide the procedure for this.
    when i am trying to do this in one way it is not allowing me to use the same class as classic badi used, so i have created custom class for this. Is it going to effect.

    Hi Phanindra,
    Calling New badi's is much faster than calling clasic badi's. SAP never recommends to convert all classic Badi's to New Badi's rather you convert your own Badi's to New Badi's. You cant convert SAP classical BADI to New Badi. if you want to convert custom Badi, then please go through this below link
    http://help.sap.com/saphelp_nw70/helpdata/EN/0e/4d3e42fc94aa04e10000000a1550b0/content.htm
    Thanks,
    Bishnu Dash

  • Classic GL and New GL

    Hi SAP Guru,
    anyone can explain me , what is a differance between Classic GL and New GL?

    hi Mahendra,
    Some key feature from Release note ECC 6
    Collections Management has been considerably enhanced.
    Integration with the Audit Information System (New)
    Ensuring Segregation of Duties (New)
    Business Consolidation (SEM-BCS): New
    Updating Earmarked Funds in Cash Management (New)
    Collection Strategies (New) Collection management
    Use of Business Partner (New)Collection management
    Archiving of Promises to Pay and Dispute Cases (New) Dispute Management
    Master Data Distribution with Master Data Synchronization (New) Credit Mgmt.
    Integration with Logistics Execution (New) Credit Mgmt
    Treasury and Risk Management (TRM) replaces former part of Corporate Finance Management (CFM)
    Balance Sheet Valuation (New)
    To know the enhancements of ECC 5 to ECC 6......use the link below:
    http://solutionbrowser.erp.sap.fmpmedia.com/
    Hope it resolves
    Regards
    Ranjit
    Assign me the points if usefull to u...

  • Can EC-CS run with Classic GL and New GL both in parallel?

    We are on ECC 6.0 EhP4, and use EC-CS for consolidation.
    The plan is to use New GL from next fiscal year.  Consolidation is at company code level.
    Profit centers are active in system, but there is no consolidation by profit center.
    Document splitting will be used in New GL.
    Question : for some time after new GL is active, and before we switch off Classic GL - can we run consolidations using Classic GL and New GL both? The intention is to check if everything is working like before .

    Well to answer some the questions:
    1. The 4th entity is a legal entity
    2. All the 4 entities are company codes and we do not use consolidation.
    3. Ideally we would like to migrate the 3 companies on SAP to the new GL to coincide with the go live of the 4th entity but we may have resource and time constraints.
    Most of the answers were very helpful but I still dont have a clear answer.
    For example If I activate the new GL at client level and have document splitting only for the new entity and classic for the old entities, how will this affect any intercompany posting and also the month end processes? PCA accounting is very important for all the entities
    Many thanks guys.. It's seems these issues are not easily addressed in any of the SAP documentation

  • Comparison of Classic GL and New GL

    Hi:
    I have searched google but
    could not find any good post
    satisfying my query..Can someone
    elaborate the new features in NEW
    GL accounting that were not in
    Classic GL ...I want to know the
    comparison between these two.
    Moderator: Please, try and search again

    Hi  James,
    Here are certain features of NEW G/L .
    1) NETWARE CONCEPT(ONLINE)
    2) SEGMENT WISE REPORTING
    3) FOREIGN CURRENCY REVALUATION BASED ON ACCOUNTING PRINCIPLE
    4)MULTIPLE LEDGERS IN CURRENCIES
    REGARDS,
    BINAPANI

  • New BADI  and classic BADI

    Hi,
    Could anyone post solution for making out that a classic BADI is preferred or a new BADI.
    This's not an interview question. I just want to make it out for my requirement.
    Could anyone post  the exact real time differences between a classic BADi and a new BADI.

    Hi,
    Use new BAdI over classical BAdI, as performance of new BAdI is better.
    Incase of new BAdI you have to create an Enhancement Spot and create BAdI definition under it, and subsequently implement the BAdI. In the code use
    GET BADI badi_name to generate BAdI handle, and
    CALL BADI badi_name->method.... to call BAdI methods.
    Incase of Classical BAdIs adapter class are created in the runtime of the application program.
    Check the following link:
    http://help.sap.com/saphelp_nw70ehp1/helpdata/en/ee/6f3b42ea85b26be10000000a155106/frameset.htm
    Regards,
    George
    Edited by: George Biswal on May 26, 2009 3:04 PM

  • Since the latest IOS update, my new iPad Air is freezing and glitching badly. Typing is delayed.

    Since the latest IOS update, my new iPad Air is freezing and glitching badly. Typing is delayed.

    iPad running slow? How to speed up a slow iPad
    http://appletoolbox.com/2012/07/ipad-running-slow-how-to-speed-up-a-slow-ipad/
    If You Think iOS 7 Feels Slow Here’s How to Speed It Up
    http://osxdaily.com/2013/09/23/ios-7-slow-speed-it-up/
    You may have many apps open which can possibly cause the slowdown and possibly the loss of wifi. In iOS 4-6 double tap your Home button & at the bottom of the screen you will see the icons of all open apps. Close those you are not using by pressing on an icon until all icons wiggle - then tap the minus sign. For iOS 7 users, there’s an easy way to see which apps are open in order to close them. By double-tapping the home button on your iPhone or iPad, the new multitasking feature in iOS 7 shows full page previews of all your open apps. Simply scroll horizontally to see all your apps, and close the apps with a simple flick towards the top of the screen.
     Cheers, Tom

  • My macbook pro hard drive went bad and i bought a new one and installed it. Now i have the old corrupted hard drive in my hand and i am looking to recover my files from it, any suggestions please? too bad i never backed them up.

    My macbook pro hard drive went bad and i bought a new one and installed it. Now i have the old corrupted hard drive in my hand and i am looking to recover my files from it, any suggestions please? too bad i never backed them up.

    After you have installed the OSX on the new HDD in your MBP, install the old HDD in an enclosure and connect it to your MBP via USB.  Then try to drag and drop  your data to the new HDD. 
    If this proves unsuccessful, you may look for data recovery software on the Internet.  There will be free trails to see if it will work or not.  If the trial suggests that it will work, then you will have to purchase the software.
    The last resort is a professional data recovery service that will offer NO guarantees and charge a lot of money.
    As you now can appreciate, backups eliminate such predicaments.
    Ciao.

  • All of my apps on my new ipad2 are not working. I had this iPad about 4 months and nothing bad has happened before this. I need help on how to make my apps stop crashing. All my built in apps are fine though.

    All of my apps on my new ipad2 are not working. I had this iPad about 4 months and nothing bad has happened before this. I need help on how to make my apps stop crashing. All my built in apps are fine though. WHATBCAN I DO TO MAKE MY APPS STOP CRASHING. I ALREADY TURNED IT OFF THEN ON AGAIN AN IT STILL CRASHES. HELPPP!!!!

    Try a reset. Hold the Sleep and Home button down for about 10 seconds until you see the Apple logo. Ignore the red slider.

  • Pc went bad and need to recover items on a new computer

    My itunes were on a pc that suddenly went bad and I need to recover what I had on a new computer.

    Remove the hard drive from your old computer, put it in an external enclosure, plug it into your new computer, and use Windows Explorer to navigate the drive.  Look in Documents and Settings/Users/YourName/Music/iTunes Music, or Library/Music/iTunes Music depending on the OS on your old PC.  You'll likely find most of it is intact, but some files may be corrupted, and unrecoverable.  Now that you have an enclosure, buy a new hard drive to put in it, and make a backup!

  • Brand new SSD. Old drive went bad and no back-up. How do I go about formatting etc. with the new drive. I get a failed message when trying to partition or erase new drive to format.

    Installed a new SSD as my other blew it's age. I have no back-up and need to format the new one. I go in and either partition or erase and get and error message. Please help.

    Zachy,
    It goes something like this...
    Put your new drive in the enclosure. Use Disk Utility to format it, etc. I'd give it a slightly different name than the original. Let's say you have Old Disk and New Disk as your drive names. Use Carbon Copy Cloner to copy Old Disk to New Disk. Now you should have an exact copy, which you can test by rebooting and holding down the Option key. Choose New Disk from the list and let it boot, make sure all is well.
    Shut down and physically swap the drives. Take Old Disk and put it in the enclosure. Now your system has a new disk with a lot more space and you can reformat your old disk and just use it for large files or whatever.

  • New BADI concept in ECC 6.0

    I am trying to gain an understanding of how I would implement one of the new BADIs in ECC 6.0 (badis implmented through and enhancement spot , get badi, call badi concept).
    I am  not looking for information on how to implement a classic badi through se18/se19.
    I have also ready through the SAP help on the new badis and it is still not clear to me. So, please do not provide links to the standard SAP help. I have that.
    I am wondering if anybody has a whitepaper, example, etc.  that explains the details of how to implement, use, trigger the  new badis linked to an enhancement spot.

    Hi  J.J,
    enhancement spot
    A repository object for the administration of explicitly created enhancement options. Enhancement spots are components of a tree structure hierarchy, of which the branches represent composite enhancement spots and the leaves are simple enhancement spots. Implicitly available enhancement options do not have any enhancement spots.
    composite enhancement spot
    Semantic combination of simple and other composite enhancement spots with the aim of providing structure.
    simple enhancement spot
    Reference to a set of enhancement spot element definitions. A simple enhancement spot can occur independently or as a component of a composite enhancement spot.
    ENHANCEMENT-POINT
    Defines a position in an ABAP program as an enhancement option,
    at which one or more source code plug-ins can be inserted.
    the syntax will be like
    ENHANCEMENT-POINT enh_id SPOTS spot1 spot2 ...
    STATIC
    INCLUDE BOUND.
    Enhancement Options
    Definition
    Enhancement options are positions in Repository objects where enhancements can be made. These options are either explicitly defined (by the developer) or exist implicitly. Explicit enhancement options are generally defined in a central initial system. Enhancements are made in follow-on systems.
    Use
    Explicit enhancement options can currently be defined by:
    1. Explicitly flagging source code points or sections in ABAP programs. For an enhancement, these can be enhanced or replaced by source code plug-ins.
    2. Including Business Add-Ins (BAdIs) in ABAP programs. These programs are then enhanced by object plug-ins with predefined interfaces.
    Explicit enhancement options are managed by enhancement spots and enhanced by enhancement implementations.
    Currently, implicit enhancement options are:
    1. Specific options in ABAP programs – such as the end of the program – which can be enhanced by source code plug-ins.
    2. Parameter interfaces of function modules, which can be enhanced with parameters.
    3. Attributes and parameter interfaces of global classes, which can be enhanced with attributes or parameters.
    Implicit enhancement options always exist and do not require enhancement spots. They are also enhanced by enhancement implementations.
    BAdIs Embedded in the Enhancement Concept
    Use
    The definition of BAdIs is managed by enhancement spots. A simple enhancement spot for BAdIs can contain several BAdI definitions as enhancement spot element definitions. BAdIs that would otherwise be spread out in the system can be grouped together semantically.
    This structuring is mirrored on the implementation side through the enhancement implementations. A BAdI can be implemented by several BAdI implementations that are managed by enhancement implementations. A simple enhancement implementation for object plug-ins can contain several BAdI implementations of an enhancement spot as enhancement implementation elements and can implement a BAdI multiple times. Therefore, several enhancement implementations can be assigned to one enhancement spot.
    A BAdI is always assigned to the same package, like the enhancement spot, to which it belongs.
    Example
    The structuring features of BAdIs in enhancement spots can be of a technical or a subject nature.
    If, in the definition of several BAdIs, you have the provision that they are to be used in the same context (this is a feature known only by the person who defines the BAdIs), they must be used by the same simple enhancement spot.
    From a subject point of view, all BAdIs must then be grouped together by affiliation to functional units – for example, payroll – in combined enhancement spots.
    Thanks and regards
    suma sailaja pvn

  • Coding in new BADI approach

    hi all,
    i have the following classical badi code working fine with latest enhancement spot and implementation.
    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_EX_BADI_SPFLI,
    exit_ref1 type ref to ZIF_EX_BADI_SPFLI.
    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.
    When i change the above code to new BADI call, error message "BD" is not a valid badi-handler.
    p.s. badi definition and implementation done in latest enhancement framework for both the code.
    Please advise where is going wrong.  Thank you.
    data: wa_spfli type spfli,
    it_spfli type table of spfli with key carrid connid.
    *Initialise the object of the interface.
    data bd type ref to ZCL_EX_BADI_SPFLI.
    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.
      get badi bd.
      call badi bd->lineselection
          EXPORTING
          i_carrid = wa_spfli-carrid
          i_connid = wa_spfli-connid.
      clear wa_spfli.

    hi all,
    problem has been resolved by changing the
    data bd type ref to ZCL_EX_BADI_SPFLI
    to
    data bd type ref to badi_name (badi definition name, not the class name).
    thanks.

  • De-activate standard implementation for New BADI ES_FIN_EBPP_MAIL_PUT_DATA

    Hi All,
    I have a requirement where i need to deactivate the standard implementation for the New BADI 'ES_FIN_EBPP_MAIL_PUT_DATA'
    and activate my Z-Implementation. I have been able to activate the Z-implementation (i.e. by checking the checkbox Default implementation it allows me to activate the Z-implementation).
    Also, the BADI ES_FIN_EBPP_MAIL_PUT_DATA is a single use BADI, so technically multiple implementations should not be possible. bus somehow it has allowed me to activate my Z-Implementation along with the standard implementation being active.
    But the problem is although the Z-implementation is active, as the standard implementation is also active, the standard implementation overwrites the Z-implementation, therefore my code is never executed.
    Please advise on how to deactivate the standard implementation and implement the Z-Implementation.
    Thanks!

    cl_def_im_address_subscreen is only a sap default class that you can use for creating your own implementation. If you want to see the existing implementations, transaction SE18, enter Classic BAdI ADDRESS_SUBSCREEN and click menu enhancement implementation, overview. Check if the existing implementation corresponds to a custom implementation (then you can modify it), or to a sap or partner product (then you can't modify it, or you can use the enhancement framework to enhance it).

Maybe you are looking for