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 -
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 againHi 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 -
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.
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.
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. 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!
-
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 -
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. -
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
-
How to create a form based on table using dynamic page?
Hi, I need to create a form using dynamic page. How do you pass values from the html form to a oracle procedure that will get executed on submission of the form ? I could not find any documents which shows how to do that. Can anyone please help me ou
-
How do I copy a playlist from one Mac to another?
I just bought a MacBook and have transferred some of my music from my iTunes folder on my older MacPro using wireless file sharing. How do I copy the numerous playlists I've got on my older computer? Do I copy the iTunes library file? I've got the ne
-
OS best suited for Xi and R/3, why only win2003 server, why not win XP.
Am plaining to install XI and in my personal system? Can in maintain both XI an R/3 in the same OS, if not why? If i maintain different OS for XI R/3 do i need to build a bridge for these? Very can i get the steps of installation for R/3 and XI(7.0)?
-
We are trying to install a 2106 controller with a few 1261 AP's which we have downgraded to Lightweight. We are getting our head around the 2106 config but am unsure as to what config to put on the switchport the AP's connect to. As far as our readin
-
On some websites, when I click on the left arrow or use the backspace key, the browser doesn't return to the parent URL. Looking at the list of currently-accessed URLs, the current URL is duplicated in the stack, so hitting back or left arrow just br