Difference between function module and userexit and badi

Hello Gurus,
                As a functional consultant i want to know what is function module and user exit and badi.
what is the difference between function module , user exit and badi?
regds
Ramachandra

Rama,
Function modules are ABAP routines that are administered in a central function library. They apply across applications and are available throughout the system. You must assign function modules to a function pool that is called a function group. A function group is nothing but a container for the function modules.
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.
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 .
Difference between BADI and USER-EXIT.
    i) BADI's can be used any number of times, where as USER-EXITS can be used only one time.
       Ex:- if your assigning a USER-EXIT to a project in (CMOD), then you can not assign the same to other project.
    ii) BADI's are oops based.
Hope this helps you.
Rgds
Manish

Similar Messages

  • Difference between function module and a method?

    Hi Experts
    Can anybody pls tell me the technical and functional difference between function moduel and a method?
    Thanks
    Sudhansu

    Hi,
    Function modules are procedures that are defined in function groups (special ABAP programs with type F) and can be called from any ABAP program. Function groups act as containers for function modules that logically belong together. You create function groups and function modules in the ABAP Workbench using the Function Builder.
    Function modules allow you to encapsulate and reuse global functions in the R/3 System. They are stored in a central library. The R/3 System contains a wide range of predefined function modules that you can call from any ABAP program. Function modules also play an important role in database updates and in remote communications between R/3 Systems or between an R/3 System and a non-SAP system.
    You can declare methods in the declaration part of a class or in an interface. To declare instance methods, use the following statement:
    METHODS <meth> IMPORTING.. [VALUE(]<ii>[)] TYPE type [OPTIONAL]..
                   EXPORTING.. [VALUE(]<ei>[)] TYPE type [OPTIONAL]..
                   CHANGING.. [VALUE(]<ci>[)] TYPE type [OPTIONAL]..
                   RETURNING VALUE(<r>)
                   EXCEPTIONS.. <ei>..
    When you declare a method, you also define its parameter interface using the additions IMPORTING, EXPORTING, CHANGING, and RETURNING. The additions define the input, output, and input/output parameters, and the return code. They also define the attributes of the interface parameters, namely whether a parameter is to be passed by reference or value (VALUE), its type (TYPE), and whether it is optional (OPTIONAL, DEFAULT).
    Unlike in function modules, the default way of passing a parameter in a method is by reference.
    As in function modules, you can use exception parameters (EXCEPTIONS) to allow the user to react to error situations when the method is executed.
    As in function modules, you can use the RAISE <exception> and MESSAGE RAISING statements to handle error situations.
    Regards,
    Sruthi

  • Difference Between Function Module And BAPI

    Hi Friends,
    What is the technical difference between BAPI and Function Module (Normal, RFC and update)?
    When do we use BAPI and FM?
    If BAPI is also RFC enabled then why do we have RFC function module?
    Kindly clarify with examples.
    Regards,
    Pradeep Singh Dhadwal

    Hi Pradeep,
    BAPI vs FM
    Difference between FM and BAPI
    BAPI stands for Business API(Application Program Interface).
    A BAPI is remotely enabled function module
    ie it can be invoked from remote programs like standalone JAVA programs, web interface etc..
    You can make your function module remotely enabled in attributes of Function module but
    A BAPI are standard SAP function modules provided by SAP for remote access.
    Also they are part of Businees Objest Repository(BOR).
    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.
    FM
    Normal FM used internally inside SAP.
    Hope this helps,
    Manish

  • Difference between Function Module and Routine

    Hi,
      I am zero at ABAP Skill.
      Can any one explain me what is the difference between Routine in BW  and Function Module .
    Thanks

    Hi,
    well basically it is almost the same. Both have a defined interface. You can pass variables to them and they can return variables. They can also change parameters... The main difference is, that a routine (form routine) can be used within the program where it is defined only and a function module can be used in all programs, form routines.
    regards
    Siggi

  • Difference between function module and subroutines

    hey all...
    can u pls explai me the exact difference between subroutines and function modules...
    also, when is a sub routine used and also when is a function module used..???
    regards..
    vishal

    Hi Vishal,
    Basically they do the same thing and purpose is almost same but tecnically the are way apart:
    Function modules must belong to a pool called a function group.
    They possess a fixed interface for data exchange. This makes it easier for you to pass input and output parameters to and from the function module.
          For example, you can assign default values to the input parameters. The interface also supports exception handling. This allows you to catch errors and pass them back to the calling program for handling.
    They use their own memory area. The calling program and the function module cannot exchange data using a shared memory area - they must use the function module interface. This avoids unpleasant side effects such as accidentally overwriting data.
    You call a function module by its name (which must be unique) in a CALL FUNCTION statement.
    and also
    Unlike subroutines, you do not define function modules in the source code of your program. Instead, you use the Structure link Function Builder.
    Check this link too
    Re: Regarding difference between Subroutines and Function modules
    Hope this helps you,
    Regards
    Amit
    Message was edited by: Amit Kumar

  • Difference between Function module and a subroutine

    hi
    In the case of subroutine i can access the global workarea values.
    I want to know whether in the case of function module
    whether
    i can follow the same procedure to access the workarea values
                                       or
    i have to pass this workarea values as an import or tables parameter to the function module and then use it
    (in first case whether that workarea to make global whether i have to place it in function pool please check this but which is better one)
    Thx in advance for any replies.

    Yes
    You would have to pass the values as import parameters to access the global variables of the program otherwise you will not be able to get the values of the global variable from inside the program.
    Another solution would be to export to SAP memory but the entire concept of modularization of using the FM would be lost.

  • Difference between Function module in Update task

    Hi folks,
    What is the difference between
    1. A function module calling in 'update task'( if attributes not set for update mode).
    2.A function module's attributes set to update mode, but while calling not specified 'Update task'.
    Please clarify this doubt.
    Thanks in advance.
    Bhavani

    CALL FUNCTION func IN UPDATE TASK.
    Additions:
    1. ... EXPORTING  p1 = f1     ... pn = fn
    2. ... TABLES     p1 = itab1  ... pn = itabn
    Effect
    Flags the function module func for execution in the update task. It is not executed at once, but the data passed with EXPORTING or TABLES is placed in a database table and a subsequent COMMIT WORK then causes the function module to be executed by the update task. Update function modules must be flagged as such in the Function Builder
    The return value is not set.
    Addition 1
    ... EXPORTING p1 = f1 ... pn = fn
    Effect
    Values of fields and field strings specified under EXPORTING are passed from the calling program to the function module. In the function module, the formal parameters are defined as import parameters. In the interface definition, default values must be assigned to all import parameters of the update function module.
    Addition 2
    ... TABLES p1 = itab1 ... pn = itabn
    Effect
    TABLES passes references to internal tables. All table parameters of the function module must have values.
    Note
    With update function modules, both import parameters and exceptions are ignored when the call is made.
    Administration transaction
    Related
    COMMIT WORK, SET UPDATE TASK LOCAL
    regards,
    kartikey.

  • Difference between Function Module Vs Method in Class Module

    1) Can you please tell the difference between the Function module used in abap program and the method of the class module used in abap programming.
    2) does it necessary to do commit statement after calling the function module.
    Thankyou for you time.
    Bhaskar.

    Hi,
    1)
    Check this difference..
    The main difference between real object orientation and function groups is that although a program can work with the instances of several function groups at the same time, it cannot work with several instances of a single function group. Suppose a program wanted to use several independent counters, or process several orders at the same time. In this case, you would have to adapt the function group to include instance administration, for example, by using numbers to differentiate between the instances.
    2) COMMIT WORK is required for BAPI..And not required when you normally call a function module..Unless required ..
    Example
    Update function modules requires COMMIT WORK to execute the function module.
    Thanks,
    Naren

  • Diff between Function Module and subroutine

    sir,
      explain the difference between Function Module and Subroutine.

    Hi Sandeep,
    Subroutines:
       Subroutines are procedures that you can define in any ABAP program and also call from any program. Subroutines are normally called internally, that is, they contain sections of code or algorithms that are used frequently locally. If you want a function to be reusable throughout the system, use a function module.
    Function Modules:
    Function modules are procedures that are defined in function groups (special ABAP programs with type F) and can be called from any ABAP program. Function groups act as containers for function modules that logically belong together. You create function groups and function modules in the ABAP Workbench using the Function Builder.
    Function modules allow you to encapsulate and reuse global functions in the R/3 System. They are stored in a central library.
    Unlike subroutines, you do not define function modules in the source code of your program. Instead, you use the Function Builder.
    Regards,
    Sunil

  • Difference in functional modules

    Dear all,
    What is the difference between functional modules FI_period_Determine and Period_day_Determine? Under which scenarios they are used?
    Thanks and Regards,
    vijay

    hi
    To check whether Posting date belongs to closed period we can use 2 FM's in sequence. Firstly call Function Module  FI_PERIOD_DETERMINE .and Then call Function module  FI_PERIOD_CHECK  to check whether Period belongs to closed period or not
    If you know year, month and fiscal year variant and you want to know the first date and end date of that period, you can apply function module "PERIOD_DAY_DETERMINE" in ABAP/4 to get them.
    hope it helps
    regards
    kunal

  • What is the difference between version 4.7 EE and ECC 6.0 in SD module.

    Hi SAP Gurus,
    what are the features in 4.7 EE version in general.
    what are the features in ECC 6.0  version in general.
    then give me the exact difference between version 4.7 EE and ECC 6.0 in SD module.
    if u give the information, then u will get the rewards.
    Regards,
    somu.

    Hi Somu,
             These are additional enhancements avialble in ECC6.0 other than that remaining same as 4.7E
    1.E-Commerce:- SAP ERP provides powerful e-commerce capabilities that can be expanded in an easy, cost-effective manner in line with business growth. Organizations can run a complete sales process on the Internet, and provide business-to-business (B2B) and business-to-consumer (B2C) customers with personalized and interactive online self-services.
    2.Mobile Sales for Handhelds:-SAP ERP enables sales professionals to access front- and back-office business processes and to manage critical sales activities in the field using standard PDAs or other handheld devices (including those with bar code scanners). In this area, SAP ERP provides the following functions:- Customer managementWith SAP ERP, sales professionals may enter, view, and modify detailed customer information, and view sales order history for each customer.- Sales order managementSAP ERP enables sales staff to take sales orders via bar code scanners; search, create, and modify sales orders; and list or sort sales order partners.- Material managementSupport for material management for mobile sales enables staff to view material lists or details for a specific material, search material, and display customer-specific prices.
    3.Resource-Related Down Payments and Billing:-- Supports creation of down-payment requests analogous to the functions offered by resource-related billing- Enables organizations to bill the requesting company code for services provided via a resource-related billing document.
    4.SAP Beverage Functions Available for the Consumer Products Industry:- As of SAP ERP Central Component (SAP ECC) 5.00, the following functions from the SAP beverage industry solution are available for the consumer products industry:* SAP ECC 5.00, consumer products (EA-CP 500)- Material sorting- Extra charge- Empties management- Part load lift orders- Pendulum list indirect sales- Sales returns- Excise duty* SAP ECC 5.00, supply chain management extension (EA-SCM 500)- Direct store delivery back-end- Master data- Visit control- Transportation planning (including loading units, aggregation categories)- Vehicle space optimization- Output control (including valuated delivery note)- Route accounting (including tour data entry, cash payer, route settlement)* SAP ECC 5.00, industry-specific sales enhancements (EA-ISSE 500)- Extended rebate processing.
    5.Credit Management:-Integrating sales and distribution (SD) credit management with SAP Credit Management application:With SAP ERP 6.0 application, you can also use SAP Credit Management in SAP Financial Supply Chain Management set of applications (FIN-FSCM-CR) to perform all credit checks and commitment updates for all areas of sales (SD-BF-CM). In SAP Credit Management, you can update the data from multiple systems. This enables you to execute credit checks with consistent data in distributed systems, too. Furthermore, you can connect to external credit information providers by extensible markup language (XML) interfaces. Alternatively, you can continue to use SD Credit Management (SD-BF-CM).
    6.E-Commerce: Catalog Management :-As of SAP ERP 6.0 application, you must carry out product catalog replication from your ERP solution to the Text Retrieval and Information Extraction (TREX) server for use in the Web shop, using the report ISA_CATALOG_REPLICATION.
    7.E-Commerce: Quotation and Order Management:- Order creation with reference to a contract that has been displayed* Lock of sales documents to avoid concurrent access during the order change process* Display of bills of material in the shopping basket* Free goods processing* Processing of grid products for the SAP Apparel and Footwear application* One-step business order processing* Selection of multiple transaction types in the shopping basket* Credit card support in business-to-business (B2B) Web shop* Material number format conversion* Maintenance of delivery priority in the shopping basket (B2B)* Document search for all documents across all sales areas* Interprocess communication-characteristic value display in basket and order confirmation
    8.E-Commerce: Selling Over eBay:-Creation and management of product listings on eBay leverages the e-commerce order management and fulfillment capabilities of the SAP ERP application by easily tying existing tax, pricing, shipping, and payment configurations to post-auction processing. Enhancements in 2005: * You can use the business-to-consumer (B2C) checkout instead of the eBay checkout. With the B2C checkout, you can maximize cross-selling and up-selling opportunities by leveraging B2C functionality, determine tax and shipping using the elaborate methodologies available through condition techniques in SAP ERP 6.0. * E-mail notification scenario: winner notification to keep the auction winner updated with the status of the auction and of his or her order * Monitoring through features such as single-activity trace (SAT), heartbeat, and logging * Creation and publishing of multiple-item auctions and manual retraction of winners
    9.E-Commerce: User Management:-- Web-based user management for business-to-business internet users - Assignment of authorization roles to users in web-based user management - Automatic migration of SU05 to SU01 internet users
    10.Enterprise Services in Sales Order Management:-Please check in the Enterprise Services Workplace site which enterprise services are available for sales order management on the SAP Developer Network site (www.sdn.sap.com).
    11.Internet Pricing and Configurator (IPC):-The IPC is enhanced and integrated to allow configuration within the sales documents of the SAP ERP application reusing existing model data while leveraging its improved functionality and advanced user interface within SAP ERP.
    12.Price Catalog (PRICAT): – Inbound Processing (Retail):-Inbound message processing of PRICAT essages:As of SAP ERP Central Component enterprise extension retail 6.0 (EA-RET 600) component, you can create and change article data automatically, or in an interface for mass data handling. The system takes both single and generic articles and bills of material and prices into account.
    13.Rebate Condition Records Using Scales:-As of SAP ERP 6.0 application, you can set up rebate agreements so that the scale base value and the rebate scale level is derived from the total sales volume of multiple condition records. You do this by grouping condition records in the rebate agreement.
    14.SAP Role: – Internal Sales Representative:-SAP role – internal sales representativeThis role delivers all the functions to fulfill the requirements of an internal sales representative. This includes tasks such as answering phone calls from customers and prospective customers, processing incoming inquiries and sales orders, and preparing quotations and sales contracts.Target groupThe responsibilities of an internal sales representative (or customer service representative) include the following:- Answering phone calls from customers and prospective customers- Answering product, price, and order status related questions- Processing incoming inquiries and sales orders- Preparing quotations and sales contracts- Taking sales orders and ensuring successful order processing – for example, taking care of the completeness of sales documents, releasing delivery-blocked orders, and so on - Support for the outside sales force – for example, checking on quotations, updating customer master data, and so on- Preparing reports and sales analyses for the sales manager and the sales teamWork overview This work center gives you an overview of your daily work and gives you easy access to your most important tasks. Sales documents This work center allows you to work on all your sales documents. You can create and maintain inquiries, quotations, sales orders, sales contracts, scheduling agreements, and billing documents. Order fulfillment This work center allows you to monitor order fulfillment. You can display deliveries, backorders, and shipments, and can check product availability.Master data This work center enables you to work on all your master data. You can create and maintain business partners, customer agreements, prices and conditions, and products.
    I hope it will help you
    Regards,
    Murali.

  • Functional transactional difference between SAP version 4.7 and ECC 6.0

    Hi Experts,
    Can you Pls tell the Functional transactional difference between SAP version 4.7 and ECC 6.0 in case of Sales and Distribution module.
    Like VA05n is one transactional difference,Pls tell the others?
    Regards,
    Rohan

    Hi,
    there are lot of changes like i observe
    1, in rebates there is no advanced rebate processing in 4.7
    2. there is no scale group field in condrecords of agrement in rebate agreement.
    3. there are lot of new reports available in SIS
    4. in sales returns process also seperate config available in 6.0
    regards,
    sk

  • What is the difference between function and method

    Hey I need help I dont know which is the difference between function and method ?
    Does anybody can ask me this question.
    Thanks

    jverd wrote:
    The first two answers were also correct.Also the blocked message, quoted here for posterity:
    "Tinkerbell" wrote:
    Methods are defined by Java whereas functions are not. ~

  • Exact difference between function and procedure

    exact difference between function and procedure(real time diff.....not like return value, dml....) and function do some work at the same time that work also do procedure..why function

    ranitB wrote:
    1. Function is called Inline a query. A return value is must.
    But, procedure may/may not contain a return value.Not true.
    A function may be called in a query providing it meets certain limitations (no DDL, or transactional statements such as commit/rollback etc.).
    A function does not have to be called from a query, it can be called from other PL/SQL code or from other external applications.
    Regular functions must return a value, though pipelined functions do not...
    SQL> CREATE OR REPLACE TYPE split_tbl IS TABLE OF VARCHAR2(32767);
      2  /
    Type created.
    SQL> CREATE OR REPLACE FUNCTION split (p_list VARCHAR2, p_delim VARCHAR2:=' ') RETURN SPLIT_TBL PIPELINED IS
      2      l_idx    PLS_INTEGER;
      3      l_list   VARCHAR2(32767) := p_list;
      4      l_value  VARCHAR2(32767);
      5    BEGIN
      6      LOOP
      7        l_idx := INSTR(l_list, p_delim);
      8        IF l_idx > 0 THEN
      9          PIPE ROW(SUBSTR(l_list, 1, l_idx-1));
    10          l_list := SUBSTR(l_list, l_idx+LENGTH(p_delim));
    11        ELSE
    12          PIPE ROW(l_list);
    13          EXIT;
    14        END IF;
    15      END LOOP;
    16      RETURN;
    17    END SPLIT;
    18  /
    Function created.
    SQL> SELECT column_value
      2  FROM TABLE(split('FRED,JIM,BOB,TED,MARK',','));
    COLUMN_VALUE
    FRED
    JIM
    BOB
    TED
    MARK... whilst the definition of the function shows a return type, the return statement inside the function simply returns, without a value. That's because the data is passed back through a special "pipeline", and you can write code to show that the data is available to a query as soon as it's piped, and before the function has completed (reached the return statement) if you like.
    A procedure does not return a value (And no an OUT parameter is not a "returned" value, it's a writeable parameter, there's a difference)
    2. There are some limitations in functions which is possbl through procedures.
    Like - Oracle doesn't support DML in functions called in Select queries (using PRAGMA AUTONOMOUS_TRANSACTION will help).Not strictly true. and SQL query is considered to be DML, so a function could perform a query and then be used inside another query...
    SQL> ed
    Wrote file afiedt.buf
      1  create or replace function f_dname(p_deptno in number) return varchar2 is
      2    v_dname varchar2(10);
      3  begin
      4    select dname into v_dname
      5    from   dept
      6    where  deptno = p_deptno;
      7    return v_dname;
      8* end;
    SQL> /
    Function created.
    SQL> ed
    Wrote file afiedt.buf
      1* select empno, ename, f_dname(deptno) as dname from emp
    SQL> /
         EMPNO ENAME      DNAME
          7369 SMITH      RESEARCH
          7499 ALLEN      SALES
          7521 WARD       SALES
          7566 JONES      RESEARCH
          7654 MARTIN     SALES
          7698 BLAKE      SALES
          7782 CLARK      ACCOUNTING
          7788 SCOTT      RESEARCH
          7839 KING       ACCOUNTING
          7844 TURNER     SALES
          7876 ADAMS      RESEARCH
          7900 JAMES      SALES
          7902 FORD       RESEARCH
          7934 MILLER     ACCOUNTING
    14 rows selected.It's been discussed many times on the forum... my favourite here...
    {message:id=1668675}
    Edited by: BluShadow on 17-Sep-2012 09:22

  • Whats the difference between the module WS-SVC-WISM2-1-K9(=) and WS-SVC-WISM2-HA-K9

    whats the difference between the module WS-SVC-WISM2-1-K9(=) and WS-SVC-WISM2-HA-K9 ?
    and difference betwenn WS-SVC-WISM2-HA-K9 and WS-SVC-WISM2HA-K9= ?
    Thanks.
    Reference:
    http://www.cisco.com/c/en/us/products/switches/catalyst-6500-series-switches/relevant-interfaces-and-modules.html#aism

    Hey Gary,
    Please refrain from double posting the same subject matter.
    https://supportforums.cisco.com/message/3353771#3353771

Maybe you are looking for

  • AS 2.0 Problems

    hi guys I am hoping some one can help me out here. I'm building my portfolio/resume in Flash, and i am having a real big headach getting teh actionscript to navigat from one frame to another with the buttons. i.e the stop(); code works fine on its ow

  • Powerbook G4 as Media/Backup Server

    After a lot of research I still haven't figured out a plan that will suit my needs.  Im hoping someone here may be able to help out.  I have an old Powerbook G4 1Ghz with 1gig RAM running OS 10.3.9.  I don't use this machine currently, though it runs

  • Extra space after top navigation & images not appearing

    On this website www.actionmarketers.com/cch.html, I am unable to view the images when the website is uploaded to the server, and also an extra space appears after the navigation bar in Firefox (not IE). Ideas?

  • Installation error while Installation of NW 2004S SR2(PI 7.0)

    Hi SAPStars, I'm getting error at 35 Phase "Start Java Engine" Can I know to how do I need to set the virtual memory, Can this error occur due to Virtual memory settings, In our case we have three drives C drive 20 GB for OS and D drive 60 GB for SAP

  • Edge Animate and IE9 Bug

    Hello, I have a pretty cool game that I have created for a client using Adobe Edge Animate CC (version:3.0.0.322.27519). This game works great on Firefox and Chrome and IE10. However, This game does not work on IE9. Only a white screen appears.I have