Whats the exact differnrce between User-Exit and BADI ?
Hi All,
Can any one tell me whats the exact difference between User-Exit and BADI ?
Even in User Exit also we write our code and the same in BADI also. Can any one plse elaborate wats the exact difference between these ...
Thanks & Regards,
Anil Kumar.
BADI is the Object oriented concept of USER-EXIT
chk this
http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
Message was edited by:
Chandrasekhar Jagarlamudi
Similar Messages
-
What is the difference between User exit and BADI
in user exit support to 4 types of exits(Menu exit,Screen exit,Field exit,Function module exit)in similar way is badi supported to all type
hi,
BADIs (Business Add-Ins) are the new way in which SAP allows you to enter additional logic into an application, and is based on OO ABAP. (Methods in Interfaces) Transactions SE18/SE19.
Customer Exits are the older method (which is still supported), whereby you create an include that is in a function module, which is called when the customer exit is activated. Transactions CMOD/SMOD.
In terms of terminology, people often use the terms "Customer Exit" and "User Exit" interchangeably, however, strictly speaking, User Exits are places provided in subroutines (notably in the SD module) where you can insert your own code, but require a modification to an include (although it is provided for customers to change).
They are two different methods to do the same thing: to check and update the data into std trx.
The user-exit is the old concept based on function module
The BADI is the new concept based on OO ABAP.
So you can often to find a BADI and an USER-EXIT to do the same thing and you have to decide what you prefer to use.
Anyway the new trx and the enjoy trx use BADIs as exit
User-exits are SAP's oldest way of updating data in standard programs - see MV45AFZZ - Form Userexit_Save_Document_Prepare.
Here you simply add ABAP code or add INCLUDES, etc
Customer-exits were SAP's next generation. They are built on the concept of function modules - where you add your custom within the Z func modules.
BADIs are SAP's newest and current way of updating data uisng Object-oriented concepts.
Please check this link.
http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
Check the below links:
http://sap.ittoolbox.com/groups/technical-functional/sap-r3-dev/badi-vs-user-exit-405324
http://www.sapfans.com/forums/viewtopic.php?t=172792
User-Exit is a specific place in a transaction-process where SAP offers
third parties to include there own business functionality. Actually
User-Exit is the namespace used for Exits programmed by SAP specifically
for SD. For the other modules it's called Customer-Exit.=20
>Business Add-Ins (BADI) =20
The use of object orientated code within SAP has lead to new method of
enhancing standard SAP code called Business Add-Ins or BADI's for short.
Although the implementation concept is based on classes, methods and
inheritance you do not really have to understand this fully to implement
a BADI.
Difference between BADI's & User-Exit.
1. Check the replies for your question which asked by another person.
http://sap.ittoolbox.com/groups/technical-functional/sap-r3-dev/569786
2. Similar thread.
http://www.sapfans.com/forums/viewtopic.php?p=559472&sid=99caa729618b18a8f7c46cc2f047af52
3. Same question explained
http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
Badi Tutorials
1. Sample program.
http://www.sap-img.com/abap/business-add-in-you-need-to-understand-abap-oo-interface-concept.htm
2. Implementing BADI.
http://www.sapdevelopment.co.uk/enhance/enhance_badi.htm
Hope it helps.
3. From help.sap.com
http://help.sap.com/saphelp_nw04/helpdata/en/5f/071eed117c11d5b37d0050dadef62b/frameset.htm
Pls : award points if it is useful -
What is difference between User Exits and BAPI
hello sap gurus
what is difference between User Exits and BAPIshttp://www.sap-img.com/abap/what-is-user-exits.htm
www.****************
Where as this customer exits are again divided into:
1. Menu Exits.
2. Field Exits.
3. Screen Exits.
4. Function module exits.
These all the things comes under Enhancements.
User exits
1.A user exit is a three character code that instructs the system to access a program during system processing.SXX: S is for standard exits that are delivered by SAP.
XX represents the 2-digit exit number.UXX: U is for user exits that are defined by the user. XX represents the 2-digit exit number
2.USER EXITS are FORMS and are called by SAP standard programs
using PERFORM.
3.Inside the form (user exit) you can read and change almost
any global data from host program.
4. User exits are more flexible because you have more information to use in your code but on the other hand , it is very easy to manipulate erroneously global data and lead the standard program to a dump or even to make database inconsistent.
5.While changing User-exit,Access Key is required,
BAPI is nothing function module but which is remote enabled, means you can access this fm through other SAP or non-SAP system by assingning to business object,which we can crea in SWO1 transaction.
more details see WWW.****************
reward if helpful -
What is the exact difference between Purchse order and purchase requisition
Hi all,
What is the exact difference between Purchse order and purchase requisition.
ThxHi,
<b>Purchase Requisition</b>-> Staff in an orgn places Pur requisition for want of some goods/products - ME51
Related Table EBAN
Request for Quotation(RFQ)-> The Purchase dept in the orgn calls/requests for the quotation for the products against which PR was raised. - ME41
Vendor Evaluation->After receving the RFQ's, after comparison a Vendor is finalised based on the terms and conditions.
<b>Purchase Order(PO)</b>-> Pur order was issued to that vendor asking him to supply the goods/products -ME21N
Tables:EKKO,EKPO
Goods Receipt Note(GRN)->Vendor supplies the material/Products to the orgn-
MB01
Goods Issue (GI) -> People receives their respective itesm for which they have placed the Requisitions
Vendor, Material ,Qty are mandatory for PO.
Regards,
Padmam. -
What is the exact diff between At New and On Chnage
hello all
what is the exact diff between At New and On Chnage in control breaks statements. and when shall we go for At new & when shall we go for On change on events.
Plz tell with with some code.Hi ,
Using at new
Each time the value of c changes, the lines of code between at new and endat are executed. This block is also executed during the first loop pass or if any fields to the left of c change. Between at and endat, the numeric fields to the right of c are set to zero. The non-numeric fields are filled with asterisks (*). If there are multiple occurrences of at new, they are all executed. at end of behaves in a similar fashion.
Using the on change of Statement
Another statement you can use to perform control break processing is on change of. It behaves in a manner similar to at new.
The following points apply:
u2022 If the value of any of the variables (v1, v2, and so on) changes from one test to the next, the statements following on change of are executed.
u2022 If no change is detected and else is specified, the statements following else are executed.
on change of differs from at new in the following respects:
u2022 It can be used in any loop construct, not just loop at. For example, it can be used within select and endselect, do and enddo, or while and endwhile, as well as inside get events.
u2022 A single on change of can be triggered by a change within one or more fields named after of and separated by or. These fields can be elementary fields or field strings. If you are within a loop, these fields do not have to belong to the loop.
u2022 When used within a loop, a change in a field to the left of the control level does not trigger a control break.
u2022 When used within a loop, fields to the right still contain their original values; they are not changed to contain zeros or asterisks.
u2022 You can use else between on change of and endon.
u2022 You can use it with loop at it where . . ..
u2022 You can use sum with on change of. It sums all numeric fields except the one(s) named after of.
u2022 Any values changed within on change of remain changed after endon. The contents of the header line are not restored as they are for at and endat.
Regards,
KV -
What is the exact difference between Database Cloning and Database Refresh?
Hi,
Can anybody tel me the exact difference between Database Cloning and Database Refresh?
I Have some conflicts in these topics.
Thanks
RajeshRefresh is what it says, "refresh" . You have a main site which would always have the data being inserted into it. There would be another site which would remain some where else . This site needs to be refreshed with the primary site. So you need to do export from the primary, push it to the secondary site and done!
HTH
Aman.... -
Re: Difference between user-exits and enhancements
Hi ,
Can any one explain the difference between user-exits and enhancements with an exmpale.
I will give u full points.
thanks®ards,
Bhushan-karra.Hi,
User exit - A user exit is a three character code that instructs the system to access a program during system processing.
SXX: S is for standard exits that are delivered by SAP. XX represents the 2-digit exit number.
UXX: U is for user exits that are defined by the user. XX represents the 2-digit exit number
Customer exit - The R/3 enhancement concept allows you to add your own functionality to SAPs standard business applications without having to modify the original applications. SAP creates customer exits for specific programs, screens, and menus within standard R/3 applications. These exits do not contain any functionality. Instead, the customer exits act as hooks. You can hang your own add-on functionality onto these hooks. *-- Mani
The following document is about exits in SAP :-
The R/3 enhancement concept allows you to add your own functionality to SAPs standard business applications without having to modify the original applications.
SAP creates user exits for specific programs, screens, and menus within standard R/3 applications. These exits do not contain any functionality. Instead, the customer exits act as hooks. You can hang your own add-on functionality onto these hooks.
Types of Exits
There are several different types of user exits. Each of these exits acts as hooks where you can attach or "hang" your own add-ons.
Menu Exits
Menu exits add items to the pulldown menus in standard SAP applications. You can use these menu items to call up your own screens or to trigger entire add-on applications.
SAP creates menu exits by defining special menu items in the Menu Painter. These special entries have function codes that begin with "+" (a plus sign). You specify the menu items text when activating the item in an add-on project.
Screen Exits
Screen exits add fields to screens in R/3 applications. SAP creates screen exits by placing special subscreen areas on a standard R/3 screen and calling a customer subscreen from the standard screens flow logic.
Function Module Exits
Function module exits add functions to R/3 applications. Function module exits play a role in both menu and screen exits.
When you add a new menu item to a standard pull down menu, you use a function module exit to define the actions that should take place once your menu is activated.
Function module exits also control the data flow between standard programs and screen exit fields. SAP application developers create function module exits by writing calls to customer functions into the source code of standard R/3 programs.
These calls have the following syntax:
CALL CUSTOMER-FUNCTION 001.
Field Exits
Field exits allow you to create your own programming logic for any data element in the Dictionary. You can use this logic to carry out checks, conversions, or business-related processing for any screen field. Example: The data element BBBNR identifies a companys international location number. You might want to set up your R/3 System so that all international location numbers are larger than 100.
The field exit concept lets you create a special function module that contains this logic.
You assign the special function module to the data element BBBNR. You then assign the module to any programs and screens in which users can add new international location numbers. When you activate your field exit, the system automatically triggers your special routine whenever a user enters a company location number.
Check these links for more details -
http://help.sap.com/saphelp_nw04/helpdata/en/c8/1978b543b111d1896f0000e8322d00/frameset.htm
http://www.sap-img.com/abap/what-is-user-exits.htm
http://sap.niraj.tripod.com/id21.html
If this answers your question, please close the thread.
Check this link also,
https://forums.sdn.sap.com/click.jspa?searchID=5924777&messageID=3801056
Thanks,
Reward If Helpful. -
Wat is the exact differences between clustered table and pooled table
hi,
can you tell me ravi...wat is the exact differences between clustered table and pooled table
with regards//
anilreddygHi Anil Reddy
Pooled Tables, Table Pools, Cluster Tables, and Table Clusters
These types of tables are not transparent in the sense that they are not legible or manageable directly using the underlying database system tools. They are managed from within the R/3 environment from the ABAP dictionary and also at runtime when they are loaded into application memory.Pool and cluster tables are logical tables. Physically, these logical tables are arranged as records of transparent tables. The pool and cluster tables are grouped together in other tables, which are of the transparent type. The tables that group together pool tables are known as table pools, or just pools; similarly, table clusters, or just
clusters, are the tables which group cluster tables.Not all operations that can be performed over transparent tables can be executed over pool or cluster tables.
For instance, you can manage these tables using Open SQL calls from ABAP, but not Native SQL.These tables are meant to be buffered and loaded in memory, because they are commonly used for storing internal control information and other types of data with no external (business) relevance. SAP recommends that tables of pool or cluster type be used exclusively for control information such as
program parameters, documentation, and so on. Transaction and application data should be stored in transparent tables.
Table Pools
From the point of view of the underlying DBMS as from the point of view of the ABAP dictionary, a table pool is a transparent table containing a group of pooled tables which, when created, were assigned to this table pool.
Field Type Description
TABNAME CHAR(10) Table name
VARKEY CHAR(n) Maximum key length n =< 110
DATALN INT2(5) Length of the VARDATA record returned
VARDATA RAW(m) Maximum length of the data varies according to DBMS
Table Clusters
Similarly to pooled tables, cluster tables are logical tables which, when created, are assigned to a table cluster. Therefore, a table cluster, or just cluster, groups together several tables of type clusters.Several logical rows from different cluster tables are brought together in a single physical record. The records
from the cluster tables assigned to a cluster are thus stored in a single common table in the database.A cluster contains a transparent cluster key which must be located at the start of the key of all logical cluster tables to be included in the cluster. As well, a cluster contains a long field (VARDATA), which contains the
data of the cluster tables for this key. If the data does not fit into a field, continuation records are created.
Field Type Description
CLKEY1 CHAR(*) First key fields
CLKEY2 CHAR(*) Second key field
CLKEYN CHAR(*) nth key field
PAGENO INT2(5) Number of the next page
TIMESTMP CHAR(14) Time stamp
PAGELG INT2(5) Length of the VARDATA record returned
VARDATA RAW(*) Maximum length of the data section; varies according to database system
Working with Tables
The dictionary includes many functions for working with tables. There are five basic operations you can perform on tables: display, create, delete, modify, copy. Please do not confuse displaying a table with displaying the table entries (table contents). In order to display a table, it must previously exist; otherwise the system will display an error message in the status bar. For the following example, the table TABNA is used. To display this table, from the main dictionary screen, enter the table name in the Object name
input field with the radio button selected next to Tables. Then, click on the Display button at the bottom of the screen, or press the F7 function key, or, alternatively,
select Dictionary object Display from the menu.
In this screen, you can see table information such as
¨ Table type, shown next to the name of the object. In the example, it is a transparent table.
¨ Short text description.
¨ Name of the user who made the last change, and the date of the change.
¨ Master language.
¨ Table status. On the screen, you can see this table is saved and active.
¨ Development class. For information on development classes, refer to Chap. 6.
Delivery class, which sets the maintenance group for the table. It controls how tables will behave during client copy procedures, upgrades, and so forth.¨
Tab. Maint. Allowed flag, which indicates whether you can generate a screen for maintaining table entries.
¨Then, on the lower part of the screen, you can see the table fields with all associated characteristics such as:
¨ Field name.
¨ Key indicator. When set, this field is the primary key, or part of it.
¨ Data element.
¨ Basic data type.
¨ Length.
¨ Check table.
¨ Short text, describing the field.
Additional information about the table can be displayed by selecting the corresponding functions from the menu or directly from the application toolbar, such as keys, indexes, or technical settings
Standard table:
The key access to a standard table uses a sequential search. The time required for an access is linearly dependent on the number of entries in the internal table.
You should usually access a standard table with index operations.
Sorted table:
The table is always stored internally sorted by its key. Key access to a sorted table can therefore use a binary search. If the key is not unique, the entry with the lowest index is accessed. The time required for an access is logarithmically dependent on the number of entries in the internal table.
Index accesses to sorted tables are also allowed. You should usually access a sorted table using its key.
Hash table:
The table is internally managed with a hash procedure. All the entries must have a unique key. The time required for a key access is constant, that is it does not depend on the number of entries in the internal table.
You cannot access a hash table with an index. Accesses must use generic key operations (SORT, LOOP, etc.).
Index table:
The table can be a standard table or a sorted table.
Index access is allowed to such an index table. Index tables can be used to define the type of generic parameters of a FORM (subroutine) or a function module.
Just have a look at these links:
http://help.sap.com/saphelp_nw04/helpdata/en/90/8d7304b1af11d194f600a0c929b3c3/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/74/83015785d811d295a800a0c929b3c3/frameset.htm
Regards
Sreeni -
How to find the user exits and BADIS from SPRO
Hi all,
please let us know how to find the User exits or BADIS for an application from SPRO.
Regards,
MadhaviHi Varisetty,
Finding user exits and BAdis from SPRO can be cumbsersome. In most instances you know the standard SAP program and want to check (find) an exit called in the flow of the transaction. You can do this as follows:
For User Exit:
Put "/h" in the command box (to start debugging)
Execute your transaction
When you enter debugging - put a breakpoint at statement
CALL CUSTOMER-FUNCTION
the control will stop at all calls to User Exits
For BAdi (it's simpler)
Go to class CL_EXITHANDLER in SE24
Enter method GET_INSTANCE
Put a breakpoint in this method
Run your standard transaction - control will stop at all BAdis called within the flow since this method is used to check BAdi implementations before invoking them
Also, if you want to find enhancements by package - go to SE80, enter the package and check function groups starting with X - those contain function exits (conventional user exits). For BAdis in a package, there is normally a separate tree node (under the package) for Enhancements hence clearly identifiable.
Cheers,
Adi -
Whats the actual difference between Business system and Business service
whats the actual difference between Business system and Business service
Business System
1) Business system is a logical system, and there is an importance on physical existence of the system.
2) Also SLD entry is required.
3)It is generally used for SAP applications, this is just a general prinicple followed but not mandatory.
4)This is defined as part of the SLD and is a physical system whose parameters are well defined.
5(Business systems refers to the physical systems, for instance the R/3 system. You define the business systems in the SLD
Business Service
1) You use a Business Service, when you do not have the System details of the the partner system to which you want to communicate. i.e. you have not configured the partner system in SLD.
2) Business Service is an Absract Unit with Sender and Receiver Interfaces,In this case you need to explicitly add the message interfaces while doing configuration in ID.
3) It is generally used for NON-SAP applications, this is just a general prinicple followed but not mandatory.
4) This is not defined as part of SLD and whose technical parameters are not completely known.
5)Business service is used when the message is not addressed to a business system. It is used mostly in B2B scenarios.
Also go through these links and threads...
http://help.sap.com/saphelp_nw2004s/helpdata/en/c7/301640033ae569e10000000a155106/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm
Business service or Business system??
Business Service vs Business System in Integration Directory.
Best Regards -
PPT on enhancements,user exits and BADIs
Hi all,
It'll be great if anyone of you has some PPT presentation on enhancements,user exits and BADIs. I am a new joinee and so only basic elementary concepts are required for learning purposes. I also need to give a presentation.
Thanking you in advance.
DeepayanCheck these links on BADI
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
Check this link for advantage of BADIs over User exits
http://www.sap-img.com/abap/difference-between-badi-and-user-exits.htm
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
Rewards if useful -
User Exit and BADI for Sales Order
Dear Experts,
please give me available user exits and BADI for sales order .i want to take the data from sales order at the time of sales order posting .Hi,
In debugging you can find some Enhancement Spots where you can implement your code. This lets you ignore the need for access key, but its a time consuming process spotting out the exact enhancement point.
Regards
Karthik D -
Dear All,
I am in need to find active user exits and BAdis in our implementation.
Is there any specific Tcode or Program?.
Could anybody help me in this regard.
Regards,
S.SridharHi Sridhar,
To find the active user exits, use the below program.
REPORT ZJK_USED_ENHANCEMENT_LIST .
TABLES : TFDIR, TRDIR, D010SINF, MODSAP, MODACT, TDEVCT, TADIR, TSTC, TSTCT, V_TDEVC, V_FDIRT.
TYPE-POOLS : SLIS.
TYPES : BEGIN OF ST_TRDIR,
NAME LIKE TRDIR-NAME,
CDAT LIKE TRDIR-CDAT,
UDAT LIKE TRDIR-UDAT,
RSTAT LIKE TRDIR-RSTAT,
END OF ST_TRDIR.
TYPES : BEGIN OF ST_TFDIR,
SNO(4) TYPE C,
INCL LIKE TFDIR-PNAME,
CDAT LIKE TRDIR-CDAT,
UDAT LIKE TRDIR-UDAT,
R3STATE LIKE D010SINF-R3STATE,
PNAME LIKE TFDIR-PNAME,
INCLUDE LIKE TFDIR-INCLUDE,
FUNCNAME LIKE TFDIR-FUNCNAME,
ENHANCE LIKE MODSAP-NAME,
STEXT LIKE V_FDIRT-STEXT,
PROJECT LIKE MODACT-NAME,
DEVCLASS LIKE TDEVC-DEVCLASS,
CTEXT LIKE TDEVC-CTEXT,
END OF ST_TFDIR.
DATA : IT_TRDIR TYPE TABLE OF ST_TRDIR,
WA_TRDIR TYPE ST_TRDIR.
DATA : IT_TFDIR TYPE TABLE OF ST_TFDIR,
WA_TFDIR TYPE ST_TFDIR.
DATA : LIKE(2) TYPE N,
X(2),
SNO(4),
HTYPE TYPE DD01V-DATATYPE.
**********************************ALV************************************
DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
WA_LAYOUT TYPE SLIS_LAYOUT_ALV ,
TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP'.
**********************************ALV************************************
PERFORM MANUAL_FIELDCAT USING 'SNO' 'IT_TFDIR' 'X' '4' 'S.No' .
PERFORM MANUAL_FIELDCAT USING 'INCL' 'IT_TFDIR' 'X' '15' 'Include Name' .
PERFORM MANUAL_FIELDCAT USING 'CDAT' 'IT_TFDIR' 'X' '15' 'Created Date' .
PERFORM MANUAL_FIELDCAT USING 'UDAT' 'IT_TFDIR' ' ' '15' 'Last Modified' .
PERFORM MANUAL_FIELDCAT USING 'R3STATE' 'IT_TFDIR' ' ' '15' 'Active / Inactive' .
PERFORM MANUAL_FIELDCAT USING 'PNAME' 'IT_TFDIR' ' ' '12' 'Prgram Name' .
*PERFORM MANUAL_FIELDCAT USING 'INCLUDE' 'IT_TFDIR' ' ' '10' 'Include No' .
PERFORM MANUAL_FIELDCAT USING 'FUNCNAME' 'IT_TFDIR' ' ' '30' 'Function Module' .
PERFORM MANUAL_FIELDCAT USING 'STEXT' 'IT_TFDIR' ' ' '74' 'Purpose of use' .
PERFORM MANUAL_FIELDCAT USING 'ENHANCE' 'IT_TFDIR' ' ' '15' 'Enhancement' .
PERFORM MANUAL_FIELDCAT USING 'PROJECT' 'IT_TFDIR' ' ' '10' 'Project' .
PERFORM MANUAL_FIELDCAT USING 'DEVCLASS' 'IT_TFDIR' ' ' '10' 'Package' .
PERFORM MANUAL_FIELDCAT USING 'CTEXT' 'IT_TFDIR' ' ' '100' 'Module' .
PERFORM SELECTION.
PERFORM LAYOUT.
PERFORM CALL_GRID_DISPLAY.
**********************************ALV************************************
FORM SELECTION.
SELECT NAME CDAT UDAT RSTAT FROM TRDIR INTO TABLE IT_TRDIR WHERE NAME LIKE 'ZX%' AND SUBC EQ 'I'.
LOOP AT IT_TRDIR INTO WA_TRDIR.
WA_TFDIR-INCL = WA_TRDIR-NAME.
WA_TFDIR-CDAT = WA_TRDIR-CDAT .
WA_TFDIR-UDAT = WA_TRDIR-UDAT.
SELECT SINGLE * FROM D010SINF WHERE PROG EQ WA_TRDIR-NAME AND R3STATE = 'I'.
IF SY-SUBRC EQ 0.
WA_TFDIR-R3STATE = 'I'.
ELSE.
WA_TFDIR-R3STATE = 'A'.
ENDIF.
X = STRLEN( WA_TRDIR-NAME ).
X = X - 2.
CALL FUNCTION 'NUMERIC_CHECK'
EXPORTING
STRING_IN = WA_TRDIR-NAME+X
IMPORTING
HTYPE = HTYPE.
IF HTYPE EQ 'NUMC'.
SNO = SNO + 1.
WA_TFDIR-SNO = SNO.
WA_TFDIR-INCLUDE = WA_TRDIR-NAME+X.
CONCATENATE 'SAPL' WA_TRDIR-NAME+1 INTO WA_TRDIR-NAME.
X = STRLEN( WA_TRDIR-NAME ).
X = X - 3.
WA_TFDIR-PNAME = WA_TRDIR-NAME(X).
SELECT SINGLE * FROM TFDIR WHERE PNAME EQ WA_TFDIR-PNAME AND INCLUDE EQ WA_TFDIR-INCLUDE.
IF SY-SUBRC EQ 0.
WA_TFDIR-FUNCNAME = TFDIR-FUNCNAME.
SELECT SINGLE * FROM MODSAP WHERE MEMBER EQ WA_TFDIR-FUNCNAME.
IF SY-SUBRC EQ 0.
SELECT SINGLE * FROM MODACT WHERE MEMBER EQ MODSAP-NAME.
ENDIF.
WA_TFDIR-ENHANCE = MODSAP-NAME.
WA_TFDIR-PROJECT = MODACT-NAME.
SELECT SINGLE * FROM TADIR WHERE OBJ_NAME = MODSAP-NAME.
SELECT SINGLE * FROM TDEVCT WHERE DEVCLASS = TADIR-DEVCLASS AND SPRAS = SY-LANGU.
SELECT SINGLE * FROM V_FDIRT WHERE FUNCNAME EQ WA_TFDIR-FUNCNAME AND SPRAS EQ SY-LANGU.
WA_TFDIR-STEXT = V_FDIRT-STEXT.
WA_TFDIR-DEVCLASS = TDEVCT-DEVCLASS.
WA_TFDIR-CTEXT = TDEVCT-CTEXT.
APPEND WA_TFDIR TO IT_TFDIR.
ENDIF.
ENDIF.
CLEAR : X, D010SINF, TFDIR, HTYPE, MODSAP, MODACT, TADIR, TDEVCT.
ENDLOOP.
ENDFORM. "SELECTION
*& Form MANUAL_FIELDCAT
text
-->VALUE(P_0185) text
-->VALUE(P_0186) text
-->VALUE(P_0187) text
-->VALUE(P_0188) text
-->VALUE(P_0189) text
FORM MANUAL_FIELDCAT USING VALUE(P_0185)
VALUE(P_0186)
VALUE(P_0187)
VALUE(P_0188)
VALUE(P_0189).
WA_FIELDCAT-FIELDNAME = P_0185.
WA_FIELDCAT-TABNAME = P_0186.
WA_FIELDCAT-KEY = P_0187.
WA_FIELDCAT-OUTPUTLEN = P_0188.
WA_FIELDCAT-SELTEXT_L = P_0189.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
ENDFORM. " manual_fieldcat
*& Form LAYOUT
text
FORM LAYOUT .
WA_LAYOUT-ZEBRA = 'X'.
ENDFORM. " LAYOUT
*& Form CALL_GRID_DISPLAY
text
FORM CALL_GRID_DISPLAY .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_TOP_OF_PAGE = TOP_OF_PAGE
I_GRID_TITLE = 'Used Exit Details'
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FIELDCAT
TABLES
T_OUTTAB = IT_TFDIR.
ENDFORM. " CALL_GRID_DISPLAY
*& Form TOP
text
FORM TOP .
DATA: HEADER TYPE SLIS_T_LISTHEADER WITH HEADER LINE.
HEADER-TYP = 'H'.
WRITE : 'Plant :' TO HEADER-INFO+1,
P_WERKS TO HEADER-INFO+10.
APPEND HEADER.
CLEAR HEADER.
HEADER-TYP = 'H'.
WRITE : 'Month :' TO HEADER-INFO+1,
P_MONYR TO HEADER-INFO+10.
APPEND HEADER.
CLEAR HEADER.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = HEADER[]
I_LOGO = 'JK'.
ENDFORM. "TOP
regards
Arun -
Whats the functional difference between user IDs SAP* and DDIC?
Whats the functional difference between SAP* and DDIC? Can any one tell me please. I am new here. Thanks in advance.
Hi Farooq,
There are three user IDs in various SAP clients.
1. SAP* (Client 000 and 001)
SAP* denotes the default super user and has all administrative powers.
2. DDIC (Client 000 and 001)
DDIC user is responsible for the maintenance of the ABAP/4 Dictionary and the software logistics.
3. EarlyWatch (Client 066)
The EarlyWatch user has access only to monitoring and performance data.
Please check this link for more information on data dictionary objects.
http://help.sap.com/saphelp_webas620/helpdata/en/cf/21ea31446011d189700000e8322d00/content.htm
Hope this will help.
Regards,
Ferry Lianto -
FBL3N/FBL5N/FAGLL03 user exits and badis for authorization
Hi Gurus,
I have tried userexit and badis for FBL3N , FBL5N and FAGLL03 for the purpose of user want to display documents created by him and other users documents should not display . Please suggest me any user exit or badi and logic for the same.
Moderator message: last warning, if you continue to disregard moderator messages and post the same question nevertheless, I will initiate deletion of your user ID.
Edited by: Thomas Zloch on May 10, 2011 9:57 AMHi,
1. Execute report FBL3n and in the output goto menu SETTINGS -> SPECIAL FIELDS and add the entry BKPF-USNAM and save. Now the user who have created the entry will be available in your FBL*N report.
2. Goto BTE event 00001650 - SAMPLE_INTERFACE_00001650, and copy the FM SAMPLE_INTERFACE_00001650 to custom FM. Inside this custom FM, first pass the value of I_POSTAB to E_POSTAB. i.e
E_POSTAB[] = I_POSTAB[].
Now loop E_POSTAB and check whether E_POSTAB-USNAM NE SY-UNAME, then delete that entry from the internal table E_POSTAB.
3. Now create a custom product in FIBF transaction and check the activate checkbox. Attach the event 00001650 and custom FM to the P/S module customer part.
Hope this will meet your requirement.
Regards,
Harish
Moderator message: please be more selective when replying to questions (especially the "do my work" kind), better check the posters history before investing effort.
Edited by: Thomas Zloch on May 10, 2011 9:59 AM
Maybe you are looking for
-
Hi all, Will SAP continue to support the Standalone J2SE adapter engine in future releases of SAP XI? The J2EE adapter engine is quite "heavy" to use. It requires J2EE application server, Oracle database, quite some memory. Actually, I like the stan
-
Date fields in the reports are not displaying as System Date Format. Pulled the date fields and set the format as System Default Shrt format. Ran the report and display the date in System Date format BUT TIME is getting displayed. How to suppress the
-
Get Layout details during run time of the report
Hi floks, We are downloading the ALV ouput data through a customised button. Presently, it downloads all the data from the Internal table that is passing to the function module. But the requirement is it should download only those fields wh
-
Why a restored iPhoto lib doesn't open in 10.8 ?
Hello, After downgrading to 10.8, I can't open my restored iPhoto lib from TM, but I am asked to continue to do that with 10.9. IPLM is nice to view the photos but all the books are gone! Is there any possibility to force iPhoto 11 to open the restor
-
Locking without Enqueue Process
Hi All, Here is a strange scenario ; - Standalone EP SP12 installation. - Start J2EE - Logon to Portal, open an iview(iviewA) to edit it - Open "Monitor Locked Objects" within Portal to see the locked iview object - Terminate enqueue server process m