What is the Difference 'VOFM' and 'User-Exit' ?

What is the Difference 'VOFM' and 'User-Exit' ?

If you need to implement any of these User exits, you first create a project for the user exit, then assign the user exit(s) to your project. Then you write the coding for the user exit, and finally activate the project.
For general information about user exits, in the R/3 Library, go to Basis components and look at the Enhancements section. In addition there is detailed information about each user exit that you can access when you assign it to your project (see below).
Activities
Start by creating your project.
1. Enter a name for your project.
2. Select Modification -> Create.
3. Enter a short text for your project and select save.
Next assign the user exit to your project.
4. Select Components.
5. Enter the name(s) of the user exits you want to implement.
6. Select SAP documentation, if you want detailed information on this user exit.
7. Select save.
8. Select back.
Next make your coding modifications.
9. Select enhancement components.
10. Select change.
11. Select the user exit you want to write code for.
12. Select the include zxpbco01.
The system will then prompt you to create this include, and you can continue to write your coding in it.
Next activate your project.
13. Return to the initial screen and select activate project.
Routines
Routines are short sub-programs that carry out various checks during document processing. In the SD module, you can create and process routines for copying requirements, data transfer, requirements and formulas using transaction VOFM. Besides the routines delivered to you with the system, you can create your own individual routines.
Transaction VOFM allows you to follow a standardized procedure for creating routines. The name ranges are predefined for routines delivered to you with the system and for routines created by the customer. This name convention guarantees that your own routines are not overwritten during a Release upgrade.
Copying requirements and data transfer
The routines for coying requirements and data transfer are defined for the document types sales orders, deliveries, billing documents, sales activities, as well as for texts. You specify copying requirements and the data transfers when defining the document flow for each document type. You enter the routines for texts in the access sequences for texts.
o Copying requirements determine which data is copied during the copying of documents. A copying requirement could define, for example, that the same customer must appear in the document header when you copy an inquiry to a quotation.
o Routines for data transfer make a detailed control of the copying of fields possible. A data transfer could define, for example, that particular item fields can only be copied in combination with other particular fields and can only be copied into contracts or credit and debit memos.
Requirements and formulas
Routines for requirements and formulas are used for functions using the condition technique. You enter these routines in the pricing procedure or the condition types. Requirements are also used for statistics.
o A requirement in pricing can determine that an access is dependent on a particular precondition. It can carry out a check of the document currency, for example, and, depending on whether it is a foreign or the local currency, allow or deny the access.
o Formulas are used in pricing to define various factors for pricing. Formulas are defined for scale base value, condition base value, condition amount, group key, and rounding rules. The formula for a rounding rule could define, for example, that all calculated amounts are rounded to two places behind the decimal point during a price change of the condition record. The formula for a condition base value could define, that the header discount is distributed among the order items according to volume an not value of the item, as is the case in the standard SAP R/3 System.
Creating routines
There are two methods to create a routine
1. Creating by overwriting
When using this method, a note appears as a commentary in the routine to be newly created.
2. Creating
When creating a new routine, an ABAP with internal number assignment is created.
You always have to activate a new routine before using it. Each routine for requirements and formulas, copying requirements and data transfers is stored in a separate program. For each new routine an entry is added in table TFRM and TFRMT. For each routine, a long text can be stored as a text module.
Most routines must be changed in client 000. Transaction VOFM can be transported as XPRAs, which means that after the import all routines can be activated.
Name ranges for routines
The standard routines are to be within the number range 001-599 (for 2 digit formula numbers, 01-49)
The user routines are to be within the number range 600-999 (for 2 digit formula numbers, 50-99).

Similar Messages

  • What's the difference KB2483139 and KB974587?

    All,
    I have a qeustion about the language pack, what's the difference KB2483139 and
    KB974587 ? for difference windows platform?
    Thanks.

     Hi, Arnavsharma,
    Thanks a lot for your reply, now My server is Windows 2008 R2 SP1, now which link for download the language pack,please advise,
    Best Regards,
    Kenneth

  • What is the difference Photoshop and Photoshop Extended with respect to registry and files

    Can someone please help with the difference between Photoshop and Photoshop Extended with respect to files installed or Windows registry.I am aware of the difference in Features.I am not concern about the difference in Features.

    True

  • What is the difference Item and Header condition?

    In Condition type screen, inside Control data1 section there are two fields Header Condition and Item condition. What is the relevance of these two fields and what is the diference between them?
    Thanks In Advance
    Prakash

    HI
    Header condition as the name suggests is a condition type which is applied at the header level only. The header condition is always manual and no condition record can be maintained for this. There is no access sequence for the header condition. When you select a header condition in a sales order in pricing and give the rate for the same then this rate will be applicable for the whole document that is for all the items. In some cases it works proportionately. Like suppose you have header freight condition type 'HD00'. You have multiple line items in the sales order. When you give a rate for the same then it will be distributed proportionately among the line items depending upon the weight or basic price.
    Std SAP header condition types:
    HA00 - Percentage discount
    HB00 - Discount (Value)
    HD00 - Freight
    HM00 - Order value
    RD00 - Weight discount
    ITEM CONDTION:
    Item conditions as the name suggests are given at the item level only. In the same sales order if there are 2 line items then, for the line item 10, the condition types may be different and for the line item 20 there may be different condition types. Like for eg: Discounts, say material discount 'K004". This condition type may be applicable for line item 10 and for the line item 20, it may not be applicable.
    Std SAP item condition types:
    PR00 - basic price
    K007 - customer discount
    K005 - customer/material discount
    KF00 - freight
    So basically, header condition applies to all line items in the document and the item conditions are applicable at the line item level.
    When you double click on a condition type in t.code V/06, there in the section "Changes which can be made" here you will see options like:
    header condition - if you tick the condition type becomes header condition
    Item condition - if you tick this then condition type becomes item condition.
    manual entries
    delete
    amount / percent
    value
    qty relation
    calculation type
    If a condition type is applicable for all items in the document then it is better to select the condition type as header as it will save the item.Reward points if solution helps.

  • What is the difference iWeb and Homepage

    I'm trying to back up everything I had published to my iDisk (over several years) before installing Lion. The Gallery files were easy. But I'm confused about iWeb and a folder called "HomePage." The movies I had on iWeb...I could see and download. However, older movies are in a folder called HomePage. If I click on these older movies, I get a Quicktime Question mark symbol. For example, older movie 1 is located at: http://homepage.mac.com/username/iMovieTheater22.html and I cannot see it or download it. New movies, seem to be located in a different place, for example: http://web.me.com/username/myname/Austin_is_4!.html
    Am I just out of luck?
    Is there any way to retrieve the old movies?
    Possibly worth noting...the old movies were probably published on an old MBP.

    Homepage was Apple's early website hosting effort and that has been discontinued for quite a while now. The files created for the Homepage websites will reside on your iDisk in the iDisk/Sites folder. 
    Mount your iDisk on the Desktop and go to the Web folder.  There will be the html files for the various websites and pages.  The photo and video files used in those sites should be located in the Pictures and Movies folders.
    For MobileMe websites all files for them will be inside folders in the iDisk/Web/Sites folder.
    OT

  • What's the difference between v('user') and v('app_user')?

    Hi there,
    It seems the results are the same, both return the application user name, any insight?
    select v('user') from dual;
    select v('app_user') from dual;
    Thanks,
    Ben

    Doesn't matter. I prefer v('APP_USER') because it's less similar to the database 'USER' pseudocolumn.
    No, we're not going to get rid of either one -- Application Express must remain backward-compatible.
    Scott

  • What's the difference between | and ||

    I have three strings and if even one of them is null (s1 == null), I need to do something. So I have this:
    if( s1 == null | s2 == null | s3 == null)
       //action code
    }Yet the action code is occuring even if none of the strings are null.

    Try to run this code:
    public static void main(String[] args) {
      String s = null;
      if (s == null || s.equals("blah"))
        System.out.println("without exception");
    }And now try this:
    public static void main(String[] args) {
      String s = null;
      if (s == null | s.equals("blah"))
        System.out.println("with exception");
    }Try to understand why these two cases are different, and what�s going on.

  • What's the difference JavaFX and JSP/servlet?

    Can JavaFX build web applications like JSP/servlet? Does Java have other technology to build web applications? thanks

    JavaFX compares more to Flash and Silverlight and in that more to Silverlight than to Flash.
    There are plenty of frameworks built on top of the Servlet specification that allow you to build web applications, each with a different approach and target application. Notable examples are JSF (and its extension libraries Richfaces, Icefaces, Tomahawk and Primefaces), Wicket, Struts 2, Spring 3 and Play framework. With Flexive you even have a complete CMS built on top of JSF technology.
    A cool bit of technology for JavaFX is Flamingo, which couples a JavaFX frontend to a web based backend, effectively allowing you to "pop out" a website from the browser.
    http://exadel.org/flamingo

  • What is the difference HRPY_RGDIR and CU of PCL2?

    Hi experts.
    I just wonder why there are two diffenet tables that cotains the payroll directory information.
    Do they have exactly the same data?
    Thanks for your times.

    Hi,
    HRPY_RGDIR is more an information table on the payroll run , void run, off cycle details,date time of run, etc in a single view. It is more quick reference at high level.Used by the function or in some reports.
    The PCL2 is the cluster table, it has all the cluster details like payroll, time, 3PR and other schema related program log. The Key in the table is used to read the payroll result(RT,BT,..) or other date using the respective function modules. This is more lower level data and used in the programming.
    Thanks,
    Amosha

  • What is the difference between C user & S user

    Thanks in advance!!

    Hi
    Check the below link. It may helps you.
    http://help.sap.com/saphelp_nwce10/helpdata/en/4e/225b42eeb66255e10000000a155106/content.htm
    Regards,
    Srinivas.

  • What's the difference between MacBook Pro 13" and MacBook Pro 13" retina?

    I want to purchase a MacBook 13" but not sure which one to buy
    Pro or retina
    What's the differences?
    And
    What one should I buy and why?

    Some reading for you;
    http://www.digitaltrends.com/computing/13-inch-macbook-pro-vs-13-inch-macbook-pr o-with-retina/#!M6CRphttp://

  • What is the difference between bfs and bfq ??

    I read a lot of good things about BFS for desktops and I wanted to give it a try, so I installed a linux-ck kernel for core2 from repo-ck (what I'm using).
    I checked what I/O schedulers I had with the command "dmesg | grep scheduler" and found out I could choose between bfs and bfq...I have no idea what is the difference..and having trouble finding a clear answer ..

    If you want to use BFQ:
    https://wiki.archlinux.org/index.php/li … _Scheduler
    I have no idea if this would be a good idea with an SSD though.  As the above posts already indicated, BFS and BFQ share two thirds of their acronyms, that's it.  They are entirely different things - and different "types" of things at that.  You do not chose between them.  You can chose between BFS and CFS for your process scheduler - and using linux-ck means you chose BFS.  You can also chose between BFQ and other I/O schedulers like CFQ, NOOP, and others.
    Last edited by Trilby (2013-02-10 20:27:37)

  • Diff b/w "Customer exits" and "User-exit"

    Hi,
    What is the difference b/w customer exits and user-exit and also please explain me what are the various types of customer and user-exits.
    Thanks in advance.
    Ramana

    Hi,
    Types of Exits
    There are several different types of customer 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 item’s 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 screen’s 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 pulldown 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’.
    <b>User exits:</b>
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/abap/abap-code-samples/userexits%20in%20a%20transaction.doc
    In order to find out the user exits for any tcode,
    1. get the developement class of the tcode from SE93.
    2. Now goto transaction SMOD and press F4,
    3. give in the Deve class in the dev class and Press ENTER
    this will show u the exits for any tcode.
    or execute this report
    http://www.erpgenie.com/sap/abap/code/abap26.htm
    which gives the list of exits for a tcode
    http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec079f5db911d295ae0000e82de14a/frameset.htm
    For information on Exits, check these links
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sapgenie.com/abap/code/abap26.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    http://www.easymarketplace.de/userexit.php
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sappoint.com/abap/userexit.pdfUser-Exit
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.ficoexpertonline.com/downloads/User%20ExitsWPedit.doc
    http://www.easymarketplace.de/userexit.php
    http://help.sap.com/saphelp_nw04/helpdata/en/c8/1975cc43b111d1896f0000e8322d00/content.htm
    Check out these links too...
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sapgenie.com/abap/code/abap26.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    http://www.easymarketplace.de/userexit.php
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sappoint.com/abap/userexit.pdfUser-Exit
    http://www.planetsap.com/userexit_main_page.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    USER EXITS
    https://forums.sdn.sap.com/click.jspa?searchID=672084&messageID=312792
    https://forums.sdn.sap.com/click.jspa?searchID=672084&messageID=1320078
    https://forums.sdn.sap.com/click.jspa?searchID=672084&messageID=2669896
    ****Reward points if helpful.
    All the best

  • What is the difference between customer exits and user exits?

    hello friends,
    what is the difference between customer exits and user exits?

    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 SAP’s 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 SAP’s 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 item’s 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 screen’s 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 company’s 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. 
    In 4.6c, you can use "RSMODPRF" program to create field exits.
    An example of a user exits :-
    MODULE user_exit_0001 INPUT 
        CASE okcode.
            WHEN 'BACK OR EXIT'.
                CASE sy-dynnr.
                        WHEN '100'.
                             SET SCREEN 0.
                             LEAVE SCREEN.
                        WHEN '200'.
                             SET SCREEN 100.
                             LEAVE SCREEN.
                 ENDCASE.
          ENDCASE.

  • 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

Maybe you are looking for