Exits in VF01

Hi All,
I need to add a date field in VF01 transaction.
Can anyone suggest which exit can i use for this? Pls explain fully as i am new to Exits.
What is the procedure to add a field and what code is to be written?
Full points will be rewarded.
Thanks in advance.
Naba.

n.saha,
These are the screen exits for VF01  map with your requirement.
V61A0001 Customer enhancement: Pricing
V60P0001 Data provision for additional fields for display in lists
V60A0001 Customer functions in the billing document
V05N0001 User Exits for Printing Billing Docs. using POR Procedure
V05I0001 User exits for billing index
SDVFX011 Userexit for the komkcv- and kompcv-structures
SDVFX010 User exit item table for the customer lines
SDVFX009 Billing doc. processing KIDONO (payment reference number)
SDVFX008 User exit: Processing of transfer structures SD-FI
SDVFX007 User exit: Billing plan during transfer to Accounting
SDVFX006 User exit tax line in transfer to accounting
SDVFX005 User exit reserves in transfer to accounting
SDVFX004 User exit G/L line in transfer to accounting
SDVFX003 User exit cash clearing in transfer to accounting
SDVFX002 User exit for A/R line in transfer to accounting
SDVFX001 User exit header line in delivery to accounting
Business Add-in
SD_CIN_LV60AU02 BADI for billing
VOR_WA_FAKTURA Billing before Goods Issue
Process...
Step by Step   user exits.
User exits
1. Introduction
2. How to find user exits
3. Using Project management of SAP Enhancements
1. Introduction
User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to
a functionmodule. The code for the function module is writeen by the developer. You are not writing
the code directly in the function module, but in the include that is implemented in the function module.
The naming standard of function modules for functionmodule exits is:  EXIT_<program name><3
digit suffix>
The call to a functionmodule exit is implemented as: CALL CUSTOMER.-FUNCTION <3 digit suffix>
Example:
The program for transaction VA01 Create salesorder is SAPMV45A
If you search for CALL CUSTOMER-FUNCTION i program SAPMV45A you will find ( Among other user
exits):
CALL CUSTOMER-FUNCTION '003'
exporting
xvbak   = vbak
xvbuk   = vbuk
xkomk   = tkomk
importing
lvf_subrc = lvf_subrc
tables
xvbfa = xvbfa
xvbap = xvbap
xvbup = xvbup.
The exit calls function module EXIT_SAPMV45A_003
2. How to find user exits
Display the program where you are searching for and exit and search for CALL CUSTOMER-EXIT
If you know the Exit name, go to transaction CMOD. Choose menu Utillities->SAP Enhancements.
Enter the exit name and press enter.
You will now come to a screen that shows the function module exits for the exit.
3. Using Project management of SAP Enhancements
We want to create a project to enahance trasnaction VA01
Go to transaction CMOD
Create a project called ZVA01
Choose the Enhancement assign radio button and press the Change button
In the first column enter V45A0002 Predefine sold-to party in sales document . Note that an
enhancement can only be used i 1 project. If the enhancement is allready in use, and error message
will be displayed
Press Save
Press Components. You can now see that enhancement uses user exit EXIT_SAPMV45A_002.
Double click on the exit.
Now the function module is displayed. Double click on include ZXVVAU04 in the function module
Insert the following code into the include: E_KUNNR = '2155'.
Activate the include program. Go back to CMOD and activate the project.
Goto transaction VA01 and craete a salesorder. Note that Sold-to-party now automatically is "2155" .
A Short Tutorial on User Exits
Content Author: Abhishek
User exits :
1. Introduction
2. How to find user exits
3. Using Project management of SAP Enhancements 
1. Introduction:
User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a functionmodule. The code for the function module is writeen by the developer. You are not writing the code directly in the function module, but in the include that is implemented in the function module.
The naming standard of function modules for functionmodule exits is: 
EXIT_<program name><3 digit suffix> 
The call to a functionmodule exit is implemented as:
CALL CUSTOMER.-FUNCTION <3 digit suffix>
Example:
The program for transaction VA01 Create salesorder is SAPMV45A
If you search for CALL CUSTOMER-FUNCTION i program
SAPMV45A you will find ( Among other user exits):
CALL CUSTOMER-FUNCTION '003'
  exporting
    xvbak   = vbak
    xvbuk   = vbuk
    xkomk   = tkomk
  importing
    lvf_subrc = lvf_subrc
  tables
    xvbfa = xvbfa
    xvbap = xvbap
    xvbup = xvbup.
The exit calls function module EXIT_SAPMV45A_003
2. How to find user exits?
Display the program where you are searching for and exit and search for CALL CUSTOMER-EXIT
If you know the Exit name, go to transaction CMOD.
Choose menu Utillities->SAP Enhancements. Enter the exit name and press enter.
You will now come to a screen that shows the function module exits for the exit.
3. Using Project management of SAP Enhancements, we want to create a project to enahance trasnaction VA01 .
- Go to transaction CMOD
- Create a project called ZVA01
- Choose the Enhancement assign radio button and press the Change button
In the first column enter V45A0002 Predefine sold-to party in sales document. 
Note that an enhancement can only be used in 1 project. If the enhancement is already in use, and error message will be displayed
Press Save
Press Components. You can now see that enhancement uses user exit EXIT_SAPMV45A_002. Double click on the exit.
Now the function module is displayed. Double click on include ZXVVAU04 in the function module
Insert the following code into the include: E_KUNNR = '2155'.
Activate the include program. Go back to CMOD and activate the project. 
Goto transaction VA01 and craete a salesorder. 
Note that Sold-to-party now automatically is "2155"
What is User Exits and Customer Exits?
Difference between user exits & customer exits:
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'.
Note that you can write any code that satisfy your needs.                                                     ****
But in this case, this was wrote as a sample code for reference sake.                                    ****
And you can test it.                                                                                ****
                         SET SCREEN 100.
                         LEAVE SCREEN.
             ENDCASE.
      ENDCASE. 
Hi
Go through this, surely it will help you,
User exits (Function module exits) are exits developed by SAP. The exit is implementerd as a call to a functionmodule. The code for the function module is writeen by the developer. You are not writing the code directly in the function module, but in the include that is implemented in the function module.
The naming standard of function modules for functionmodule exits is:
EXIT_<program name><3 digit suffix>
The call to a functionmodule exit is implemented as:
CALL CUSTOMER.-FUNCTION <3 digit suffix>
Example:
The program for transaction VA01 Create salesorder is SAPMV45A
If you search for CALL CUSTOMER-FUNCTION i program
SAPMV45A you will find ( Among other user exits):
CALL CUSTOMER-FUNCTION '003'
exporting
xvbak = vbak
xvbuk = vbuk
xkomk = tkomk
importing
lvf_subrc = lvf_subrc
tables
xvbfa = xvbfa
xvbap = xvbap
xvbup = xvbup.
The exit calls function module EXIT_SAPMV45A_003
2. How to find user exits?
Display the program where you are searching for and exit and search for CALL CUSTOMER-EXIT
If you know the Exit name, go to transaction CMOD.
Choose menu Utillities->SAP Enhancements. Enter the exit name and press enter.
You will now come to a screen that shows the function module exits for the exit.
3. Using Project management of SAP Enhancements, we want to create a project to enahance trasnaction VA01 .
- Go to transaction CMOD
- Create a project called ZVA01
- Choose the Enhancement assign radio button and press the Change button
In the first column enter V45A0002 Predefine sold-to party in sales document.
Note that an enhancement can only be used in 1 project. If the enhancement is already in use, and error message will be displayed
Press Save
Press Components. You can now see that enhancement uses user exit EXIT_SAPMV45A_002. Double click on the exit.
Now the function module is displayed. Double click on include ZXVVAU04 in the function module
Insert the following code into the include: E_KUNNR = '2155'.
Activate the include program. Go back to CMOD and activate the project.
Goto transaction VA01 and craete a salesorder.
Note that Sold-to-party now automatically is "2155"
Also Check this out--
1. Storage Location Determination at Sales Order:
You can do it through user exit... this is the exit...
USEREXIT_SOURCE_DETERMINATION (MV45AFZB)
2. Pricing Authorisation:
Refer OSS Note 105621
http://www.sapfans.com/forums/viewtopic.php?t=80256
3. Making some of the Fields as Mandatory in Customer master based on the Business Rule.
Enhancement is SAPMF02D. Activate it through CMOD. The Following are the example to stop the Customer master creation with Tax jurisdiction Code.
*& Include ZXF04U01 *
*This user exit has been written for not to save the customer master *
*to whom the Tax Juridiction code is not updated. The Export Customer *
*is exceptional. Exit written by M. Murali on 18.05.2004. *
IF i_knvv-vkorg ne '2000' .
if i_kna1-TXJCD is initial .
Message ID 'ZK' type 'E' number '005' .
endif .
endif .
4. Different Billing Document Number range based on Company code / Plant Code for the same billing type.
The Following are the example for different invoice number based on Plant.
Use the Exit RV60AFZZ.
FORM USEREXIT_NUMBER_RANGE USING US_RANGE_INTERN.
if (
xvbrk-fkart = 'ZF3' or xvbrk-fkart = 'ZF2' )
and xvbrk-vkorg = '1000'.
case xvbrp-werks.
when 'AGR'.
us_range_intern = '22'.
when 'AHD'.
us_range_intern = '28'.
Endif.
ENDFORM.
5. Changing the billing Date to Current date or Changing some of the Field values of the Billing data.
Create a Data transfer routine for the billing and do the changes what ever you want. The following are the example for changing the billing date to current date.
*& Form DATEN_KOPIEREN_611
text
FORM DATEN_KOPIEREN_611.
IF VBRK-FKDAT NE SY-DATUM .
SY-SUBRC = 0 .
MESSAGE ID 'ZSD1' TYPE 'I' NUMBER '014' .
VBRK-FKDAT = SY-DATUM .
ENDIF .
ENDFORM. "DATEN_KOPIEREN_611
Userexits are places in the SAP standard code that are designed to insert code by the customer. It happens often that some values are set by default by SAP but are not appropriate for the business
For more information on User Exits, please check this links.
http://www.easymarketplace.de/userexit.php
http://www.erpgenie.com/abap/code/abap26.htm
http://www.planetsap.com/userexit_main_page.htm
http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
http://www.sap-img.com/ab038.htm
http://www.easymarketplace.de/userexit.php
Some more information on userexits and enhancements.-----
Enhancement/Modifications
1) Execute tcode SMOD to find available enhancement/modifications.
2) Create a project for the enhancement in tcode CMOD.
3) You must activate your project first in order to hit a break-point or get into debug mode for your existing enhancements/modifications, if you do not, the best you will be able to do is step through the main program until you hit the call for that particular customer enhancement.
4) To get into debug, you can enter a hard break-point in the enhancement itself, set a soft break-point with the stop sign, or the long way, before you execute your transaction or while you are in your transaction, you can place a /h in the ok code area (this is the area of your gui where you can type in a tcode). Once you have the /h, hit enter and that will take you into debug, from there, you can do many different things to find exactly what you are looking for.
User Exits
1) Identify the main program you want to locate a user exit/debug.
2) For example, go to SE80 and do a search by program or dev class (SAPMV45A sales order or Dev Class VMOD, most SD user exits are in this dev class). In SE80 if you go by program, most user exit programs end in a 'Z' on a rare occasion 'X' or 'Y'.
3) If you are looking at including MV45AFZZ, you can see where there are different forms. These forms will get called at times within the program. If you are looking to fill the storage location on the sales order, you will probably want to take a look at the perform that fills in a field in vbap.
4) If this is what you are trying to accomplish, you will need to do the select against the config Table TVKOL based on the shipping point/plant and possibly storage condition based on your picking strategies.
5) For the debug part, you can do the same as in the enhancements/modifications but you will not need to activate any projects
PDF which is available with me Userexits in FICO. We can do the same in SD also.------
http://www.ficoexpertonline.com/downloads/User%20ExitsWPedit.doc
Go to transaction SE81.
Click on SD .
Click "edit" on the menu bar .
Choose select subtree.
Click on "information system" .
Open Environment node, customer exits, and enhancements.
Press F8 to get all the user exits for that module.
In brief: SE81->SD->Select subtree->Information System->Envir->Exit Techniques->Customers exits->enhancements->Execute(F8)
USEREXIT
Userxits allow us to add our own functionality to SAP standard program
without modifying it . These are implemented in the form of subroutines and hence are also known as FORM EXITs. The userexits are generally collected in includes and attached to the standard program by the SAP.
All Userexits start with the word USEREXIT_...
FORM USEREXIT_..
z..
ENDFORM.
The problem lies in finding the correct userexit and how to find it if one exists for the purpose. Once the correct userexit is found the necessary
customer code is inserted in the customer include starting with the z..
in the form routine.
e.g. USEREXIT_SAVE_DOCUMENT_PREPARE
Certain application like SD still provide this form of enhancement using userexit but this practice is no longer being followed for newer extensions
instead they are using EXITs which come bundeled in enhancement packages . Neverthiless existing USEREXITS will be supported by SAP an all the newer versions of SAP.
HOW TO FIND USEREXITS
Userexits can be found in number of ways:
1) To find userexits in SD module , goto object navigator(SE80) and select
development class from the list and enter VMOD in it. All of the userexits in SD are contained in the development class VMOD. Press
enter and you will find all the includes which contain userexits in SD for
different functions like PRICING, ORDER PROCESSING etc. Select the userexit according to the requirement and read the comment inserted in it
and start coding .
Some examples of userexits in SD(SALES & DISTRIBUTION ) are:
1)ADDING OF NEW FIELDS IN PRICING
In Pricing in SD the fields on the basis of which pricing is done are derived from the FIELD CATALOG which is a structure KOMG .This structure is used to transfer transaction data to the pricing procedure in SD and is also known as communication structure.This structure KOMG consists of two tables KOMK for Header related fields and KOMP for item related fields.
The fields which are not in either of the two tables KOMK and KOMP
cannot be used in pricing .Sometimes a need arises when the pricing
is to be based on some other criteria which is not present in the form of fields in either of the two tables.
This problem can be solved by using USEREXITS which are provided for pricing in SD.
Pricing takes place both when the SALES ORDER ( Transaction VA01) is created as well as when INVOICING ( Transaction VF01) is done.Hence SAP provides 2 userexits ,one for sales order processing which is
USEREXIT_PRICING_PREPARE_TKOMP or
USEREXIT_PRICING_PREPARE_TKOMK
Depending upon which table (KOMK or KOMP) the new fields were inserted we use either of the above two userexits.These userexits are found in include MV45AFZZ of the standard SAP sales order creation program SAPMV45A.
In the case of userexit which will be called when invoicing is done ,these
are provided in the include RY60AFZZ which is in the standard SAP
program SAPMV45A. The name of the userexits are same. i.e
USEREXIT_PRICING_PREPARE_TKOMP or
USEREXIT_PRICING_PREPARE_TKOMK
These userexits are used for passing the data from the communication structure to the pricing procedure, for this we have to fill the newely
created field in the communication structure KOMG for this we fill the code in the above userexit using the MOVE statement after the data that
has to be passed is taken from the database table by using the SELECT statement. The actual structure which is visible in these userexits and which is to be filled for that particular field is TKOMP or TKOMK.
Before the coding for these userexits is done ,it is necessary to create a new field in either of the two tables KOMK or KOMP .For this purpose
includes are provided in each of them .
To create the field in header data(KOMK) the include provided is KOMKAZ
and to create the field in item data(KOMP) the include provided is KOMPAZ.
One possible example for the need of creating new fields can be e.g. Frieght to be based upon transportation zone ,for this no field is available in field catalog and hence it can be created in KOMK and then above userexits can be used to fill the transportation data to it.
2)The other method of finding userexit is to find the word USEREXIT in the
associated program of the transaction for which we want to determine userexit using SE38.
3)The other method of finding userexits is to find the include in case of SD/MM applications where the userexits are located ,this can be found in the SAP reference IMG generally in the subfolder under SYSTEM MODIFICATION.
Some other examples of userexits in SD are:
USEREXIT_NUMBER_RANGE
This userexit is used to assign a different internal document number to the
sales order(VA01) when it is created depending on some criteria like a different SALES ORGANIZAION(VKORG) .
USEREXIT_SAVE_DOCUMENT_PREPARE
This userexit is used to insert the ABAP code which will be called when
the document (sales order VA01) is just about to be saved.This userexit is used generally for custom checks on different fields , to display some information before the order will be saved or for making changes to certain fields before the sales order will be saved.
Exits & Enhancements
There are mainly six types of EXITs in sap which have been collected in the form of enhancement packages and attached to standard code in SAP.
These are different from USEREXIT in the way that they are implemented
in the form of FUNCTIONs while in USEREXITS we use form routines for their implementation. These are also sometimes known as function exits .
These start from the word EXIT_ followed by the program name and then followed by a three digit number.
e.g. EXIT_SAPMV45A_002
This exit is found in SD in enhancement V45A0002.
TYPES OF EXITS
1)MENU EXITS
2)FUNCTION EXITS
3)TABLE EXITS
4)SCREEN EXITS
5)KEYWORD EXITS
6)FIELD EXITS
We use SAP transactions CMOD and SMOD to manage exits. Before implementing an exit , it is required to create the project by using CMOD
selecting the enhancement e.g. V45A0002 and selecting the component
(one which fulfills our need) i.e the exit which will be implemented in SMOD and after coding has been done the project has to be activated.
An exit can be coded only once.
FUNCTION EXITS
These are used to add functionality through ABAP code . These start from the word EXIT_programname_NNN ending in a 3 digit number. No access code is required to implement any tupe of exit including function exits.
The function exits are called from the standard SAP program in the form
of ABAP statement
CALL CUSTOMER-FUNCTION 'NNN'
This is in contrast to USEREXITs where PERFORM statement is used to call
the required userexit.
To implement the FUNCTION EXITs first of all the project is created and a suitable enhancement package is selected and from its compnents the function exit to be implemented is selected and on double clicking it the exit code will appear in ABAP EDITOR(se38) where a Z include will be found and the customer code should be entered in this include.
e.g.
ADDING A DEFAULT SOLD-TO-PARTY in Sales Order Creation
To show a default sold-to-party in this field when the user creates a sales order (VA01) we can use a function exit .This function exit is located
in enhancement no V45A0002 . Before we can choose the exit we have to
create a project in CMOD after that enter V45A0002 in the enhancement field and click on the components . In the components you will see the
exit EXIT_SAPMV45A_002 . This exit is used for our purpose.
Double clicking on this exit will takes us to function builder (SE37) . This
function exit has one exporting parameters and two importing parameters, we are interested in exporting parameter which is E_KUNNR
of type KNA1-KUNNR i.e if we move the desired customer name to this
structure(E_KUNNR) it will be shown in the field as the default value when we create the sales order.
This function also contains a customer include ZXVVA04 . This include
will be used to write our custom code .
Double clicking on this include and it will prompt us that this include does not exists do you want to create this object ,select yes and the include will be created .In this include we can write our own code that will fill the field E_KUNNR.
e.g. E_KUNNR = 301.
Activate the include and Activate the project. Now when ever the SALES ORDER will be created , sold-to-party field will come up with a predefined
customer .
FIELD EXITS
The field exits are managed,created,activated through program RSMODPRF. The field exit is associated with a data element existing in ABAP dictionary and hence to the screen field using that data element.
The format of field exit is :
FIELD_EXIT_dataelement_A-Z or 0-9
If a particular screen and program name is not specified than the field exit will effect all the screens containing that data element.
The function module associated with field exit shows two parameters
INPUT and OUTPUT. Input parameter contains the data passed to the field exit when the field exit was invoked by the R/3 , We can write our own code to change the output parameter depending upon our requirements.
Before the field exit can have any effect the system profile parameter
ABAP/FIELDEXIT in all the application servers should be set to YES
ABAP/FIELDEXIT = YES.
Don't forget to reward if useful....

Similar Messages

  • Badi/User Exit for VF01

    Hi Experts,
    Please understand my issue/requirement that, I have to make the item conditions tab in display or deactivate mode to prevent users to change or create the price or conditions while posting VF01.
    As std, system allows users to create or change the prices/qts and also add new conditions. My client needs to make it as display mode for all type of postings in VF01.
    Please guide me, how to arrive it through Exit or Enhancements.
    thanks & regards
    Sankar.

    Hi,
    Try these steps to find the BADI.
    1. Go to the TCode SE24 and enter CL_EXITHANDLER as object type.
    2. In 'Display' mode, go to 'Methods' tab.
    3. Double click the method 'Get Instance' to display it source code.
    4. Set a breakpoint on 'CALL METHOD cl_exithandler => get_class_name_by_interface'.
    5. Then run your transaction.
    6. The screen will stop at this method.
    7. Check the value of parameter 'EXIT_NAME'. It will show you the BADI for that transaction.
    These are exits in VF01.
    SDVFX001            User exit header line in delivery to accounting
    SDVFX002            User exit for A/R line in transfer to accounting
    SDVFX003            User exit cash clearing in transfer to accounting
    SDVFX004            User exit G/L line in transfer to accounting
    SDVFX005            User exit reserves in transfer to accounting
    SDVFX006            User exit tax line in transfer to accounting
    SDVFX007            User exit: Billing plan during transfer to Accounting
    SDVFX008            User exit: Processing of transfer structures SD-FI
    SDVFX009            Billing doc. processing KIDONO (payment reference number)
    SDVFX010            User exit item table for the customer lines
    SDVFX011            Userexit for the komkcv- and kompcv-structures
    V05I0001            User exits for billing index
    V05N0001            User Exits for Printing Billing Docs. using POR Procedure
    J_3RSINV            User Exits for Printing Billing Docs. using POR Procedure
    V60A0001            Customer functions in the billing document
    V60P0001            Data provision for additional fields for display in lists
    V61A0001            Customer enhancement: Pricing
    Hope this helps u.
    Thanks.

  • Customer Exit for VF01 at Saving of Document

    Hi friends,
    I need a customer exit which will execute just after saving the Billing document number in T-code VF01 and have the data of VBRK and VBRP tables. I am having a list of Exits but which exit should I use, I am not confident.
    The list is as follow.
    Enhancement
    J_3RSINV
    V61A0001                                Customer enhancement: Pricing
    V60P0001                                Data provision for additional fields for display in lists
    V60A0001                                Customer functions in the billing document
    V05N0001                                User Exits for Printing Billing Docs. using POR Procedure
    V05I0001                                User exits for billing index
    SDVFX011                                Userexit for the komkcv- and kompcv-structures
    SDVFX010                                User exit item table for the customer lines
    SDVFX009                                Billing doc. processing KIDONO (payment reference number)
    SDVFX008                                User exit: Processing of transfer structures SD-FI
    SDVFX007                                User exit: Billing plan during transfer to Accounting
    SDVFX006                                User exit tax line in transfer to accounting
    SDVFX005                                User exit reserves in transfer to accounting
    SDVFX004                                User exit G/L line in transfer to accounting
    SDVFX003                                User exit cash clearing in transfer to accounting
    SDVFX002                                User exit for A/R line in transfer to accounting
    SDVFX001                                User exit header line in delivery to accounting
    Business Add-in
    VOR_WA_FAKTURA                          Billing before Goods Issue
    SD_CIN_LV60AU02                         BADI for billing
    Please suggest any suitable way for the solution.
    Thanks in advance.
    Krishan

    hi ,
    keeep break point like break <username> in exit and check ur transaction.
    u will get the exit that is triggered during saving of transaction.
    reward points if hlpful.

  • User Exit at VF01

    Hi,
    I have business requirement, at the time of creation of billing document we need to call another Z Screen for some data selection.  Please anybody can help me which exit availabe to VF01 level and also at  VF01 Conditions level.
    Regards
    Goutham

    hi,
    pl check these enhancements with your abaper :
    V61A0001- Customer enhancement: Pricing
    V60P0001-Data provision for additional fields for display in lists
    V60A0001-Customer functions in the billing document
    regards
    sadhu kishore

  • Badi/User-Exits for VF01

    Hi expert’s,
    I need to find a User-Exit or a BADI in transaction VF01 or VF02, I have found several but I need one  “before save” or “after save”.
    Anyone knows any User-Exit or Badi for this case?
    Thanks in advance
    Nuno Rodrigues

    SDVFX007            User exit: Billing plan during transfer to Accounting                  
    SDVFX008            User exit: Processing of transfer structures SD-FI                     
    SDVFX009            Billing doc. processing KIDONO (payment reference number)              
    SDVFX010            User exit item table for the customer lines                            
    SDVFX011            Userexit for the komkcv- and kompcv-structures                         
    V05I0001            User exits for billing index                                           
    V05N0001            User Exits for Printing Billing Docs. using POR Procedure              
    V60A0001            Customer functions in the billing document                             
    V60P0001            Data provision for additional fields for display in lists              
    V61A0001            Customer enhancement: Pricing                                          
    check out which exit suits ur reqirement.

  • Screen-exit for VF01 version 4.6C

    Hi
    Is there any screen-exit available for VF01 in version 4.6C.
    Regards,
    Sam.

    Hi,
    I am not sure, whether exists aScreen exit for Billing.
    Other user Exits for billing are:
    V61A0001                     Customer enhancement: Pricing
    V60P0001                     Data provision for additional fields for display in lists
    V60A0001                     Customer functions in the billing document
    V05N0001                    User Exits for Printing Billing Docs. using POR Procedure
    V05I0001                      User exits for billing index
    SDVFX011                    Userexit for the komkcv- and kompcv-structures
    SDVFX010                     User exit item table for the customer lines
    SDVFX009              Billing doc. processing KIDONO (payment reference number)
    SDVFX008                                User exit: Processing of transfer structures SD-FI
    SDVFX007             User exit: Billing plan during transfer to Accounting
    SDVFX006                                User exit tax line in transfer to accounting
    SDVFX005                                User exit reserves in transfer to accounting
    SDVFX004                                User exit G/L line in transfer to accounting
    SDVFX003                                User exit cash clearing in transfer to accounting
    SDVFX002                                User exit for A/R line in transfer to accounting
    SDVFX001                                User exit header line in delivery to accounting
    Business Add-in
    SD_CIN_LV60AU02                         BADI for billing
    VOR_WA_FAKTURA                       Billing before Goods Issue
    regards,
    Anji

  • Exit of VF01 for field modification

    Dear All,
    I need to enable field for "Billed Quantity" in line item while doing VF01 so that user can change Quantity. what exit/enhancement will be used?. please help.
    Radsamm

    Hi Sasidhar,
    First of all I wrote my code in the user exit you told me but when I go to VF01 and try to cancel a document, this user exit doesn't work. I'm using the same code, i put a break point and it doesn't stop there...
    data l_kunnr like vbpa-kunnr.
    clear l_kunnr.
    select single kunnr
      from vbpa
        into l_kunnr
          where VBELN = vbak-vbeln
            and POSNR = '000000'
            and PARVW = 'RG'.
      SELECT SINGLE KLIMK
        INTO VBRK-ZKLIMK
          FROM KNKK
            WHERE KUNNR = l_kunnr.
      vbrk-zcarga = 'X'.
    Thanks,
    Maria

  • User Exit For VF01 VBRK-NETWR and VBRP-NETWR

    I want to change the invoice price about VF01.
    Anyone know the method?

    Transaction Code - VF01                     Create Billing Document
    Exit Name           Description
    SDVFX001            User exit header line in delivery to accounting
    SDVFX002            User exit for A/R line in transfer to accounting
    SDVFX003            User exit cash clearing in transfer to accounting
    SDVFX004            User exit G/L line in transfer to accounting
    SDVFX005            User exit reserves in transfer to accounting
    SDVFX006            User exit tax line in transfer to accounting
    SDVFX007            User exit: Billing plan during transfer to Accounting
    SDVFX008            User exit: Processing of transfer structures SD-FI
    SDVFX009            Billing doc. processing KIDONO (payment reference number)
    SDVFX010            User exit item table for the customer lines
    SDVFX011            Userexit for the komkcv- and kompcv-structures
    V05I0001            User exits for billing index
    V05N0001            User Exits for Printing Billing Docs. using POR Procedure
    V60A0001            Customer functions in the billing document
    V60P0001            Data provision for additional fields for display in lists
    V61A0001            Customer enhancement: Pricing
    J_3RSINV            Customer enhancement: Pricing
    No of Exits:         17
    USER EXIT
    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/ab038.htm
    http://help.sap.com/saphelp_46c/helpdata/en/64/72369adc56d11195100060b03c6b76/frameset.htm
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://expertanswercenter.techtarget.com/eac/knowledgebaseAnswer/0,295199,sid63_gci982756,00.html
    BAPI-step by step procedure
    http://www.sapgenie.com/abap/bapi/example.htm
    list of all BAPI's
    http://www.planetsap.com/LIST_ALL_BAPIs.htm
    Rewards if useful.........
    Minal

  • User exit for VF01(after g/l account is determined).

    I have requirement in which i have to throw an error message in VF01
    In this i need a user exit in which i can access the G/L account number and on basis of that i need to display error message.But i am not able to find out a user exit  where i can access g/l account determined by sap std code.
    The requirement is to put a validation on WBS element based on G/l account and stop billing document creation in addition to accounting doc creation.

    hi ,
                                                                                    Exit Name           Description                                                                               
    SDVFX007            User exit: Billing plan during transfer to Accounting                     
    SDVFX008            User exit: Processing of transfer structures SD-FI                        
    SDVFX009            Billing doc. processing KIDONO (payment reference number)                 
    SDVFX010            User exit item table for the customer lines                               
    SDVFX011            Userexit for the komkcv- and kompcv-structures                            
    V05I0001            User exits for billing index                                              
    V05N0001            User Exits for Printing Billing Docs. using POR Procedure                 
    V60A0001            Customer functions in the billing document                                
    V60P0001            Data provision for additional fields for display in lists                 
    V61A0001            Customer enhancement: Pricing                                                                               
    check these exits..
    regards,
    venkat.

  • Exit for vf01

    hi all
    i want an exit which can update vbrk-netwr field while processing vf01
    regards
    darshan

    Can u try EXIT_SAPLV60A_002
    else
    EXIT_SAPLV60A_001

  • Exit for VF01/VF02 when creating or changing billing document

    Hi,
    Can any one tell me which exit is triggered when we are creating or changing billing document
    (VF01/VF02).I alreay find the exits but not able to find the exact one.
    Thanks in Advance,
    regards,
    kishore.

    Hi
    Check This EXIT  available for VF01/VF02 And find Exact one
    SDVFX007 User exit: Billing plan during transfer to Accounting
    SDVFX008 User exit: Processing of transfer structures SD-FI
    SDVFX009 Billing doc. processing KIDONO (payment reference number)
    SDVFX010 User exit item table for the customer lines
    SDVFX011 Userexit for the komkcv- and kompcv-structures
    V05I0001 User exits for billing index
    V05N0001 User Exits for Printing Billing Docs. using POR Procedure
    V60A0001 Customer functions in the billing document
    V60P0001 Data provision for additional fields for display in lists
    V61A0001 Customer enhancement: Pricing
    Ranga

  • User exit for VF01

    Hi,
    I would like to give hard stop while saving a proforma invoice if there is no pricing. I have set the condition type as mandatory in the pricing procedure, but still it allows to save the proforma invoice with a warning message. This in turn gives the user to print the proforma invoice and sent to customers.
    So I would like to give a hard stop, which should not allow saving of the proforma invoice if there is no pricing record for a particular condition type.
    Can anyone tell me what user exit I need to use to give a hard stop?
    Thanks in advance.

    I think you should be able to control it using requirements at the output procedure or copy control or both levels. Check in config or check with config specialist about that possibility. VOFM is the relavant transaction.

  • Problem in user - Exit for VF01?

    Hi all,
    I have a requirement where i need to calucate the condition value for my billing document and pass the same value to Net value of the billing header also. Here there is no sales order in the flow.
    I am using the exit   USEREXIT_PRICING_PREPARE_TKOMK in the program RV60AFZZ . The calculation is working fine and the net value of the billing header is changing. But if click on any button on screen or saving the billing document the value is not saving and set back to 0?
    Please help me to resolve the problem?
    Thanks,
    Aravind.

    This may be because there are more than one entry points in exit USEREXIT_PRICING_PREPARE_TKOMK i.e the code written in this will be executed varoius time . SO, you need to code in such a way that desired code get executed only for your senario.
    As per my understanding , when you click your button  user exit USEREXIT_PRICING_PREPARE_TKOMK get executed and may be by initial quantity of some field and hence net quantity becomes zero.
    Check this by puutting a breakpoint in USEREXIT_PRICING_PREPARE_TKOMK and check when all it get executed and then ristrict its execution as per your need.
    Hope you get it.

  • User exit for vf01 for delivery date should be a current date

    Hi Experts,
                   I won t allow to save vf01 delivery date mismatch with system date. Delivery date must equal with system date. kindly give any userexit for this issue.
    regards
    G.Vendhan

    Hi Vendhan,
    Probably we are waiting for your Reply.......
    You didn't replied to MxG question.....that whether writing VF01 for delivery was a typing mistake or you actually mean it.
    Your reply will help us to answer your thread.......in case you already solved the problem by yourself.....I suggest you to close the Thread......and you may share the solution implemented/used ...so as to avoid a redundant thread creation in the future.

  • User Exit in VF01 for Tax Conditions

    Hello,
    Please inform if any user exit is available for processing Conditions (Tax) in a Sales Order.
    I'm facing a problem that while Invoicing, a certain Tax condition is not being executed.
    Thanks,
    Shalabh Jain

    HI Colleague,
    I will list the available user-exit to be used for Billing Document:
    User Exits For Billing
    USEREXIT_NUMBER_RANGE (Module pool SAPLV60A, program RV60AFZZ)
    The internal number range used in the standard system is specified in the billing type table and can be changed in this user exit. This user exit is only called when the billing documents is created.
    USEREXIT_ACCOUNT_PREP_KOMKCV (Module pool SAPLV60A, program RV60AFZZ)
    In this user exit additional fields for account determination that are not provided in the standard system are copied into communication structure KOMKCV (header fields).
    USEREXIT_ACCOUNT_PREP_KOMPCV (Module pool SAPLV60A)
    In this user exit additional fields for account determination that are not provided in the standard system are copied into communication structure KOMPCV (item fields).
    USEREXIT_NUMBER_RANGE_INV_DATE (Module pool SAPLV60A, program RV60AFZC)
    Depending on the number range, table TVFKD is used to set the billing date (country-specific requirments in Italy). USEREXIT_NUMBER_RANGE is automatically deactivated when this user exit is being applied.
    USEREXIT_FILL_VBRK_VBRP (Module pool SAPLV60A, program RV60AFZC)
    This user exit is only called when the billing document is created. It is used to provide the header and the item of the new billing document with deviating or additional data.
    USEREXIT_PRINT_ITEM (Module pool SAPLV61A, program RV61AFZB)
    Printing the item line of a billing document can be supplemented or changed.
    USEREXIT_PRINT_HEAD (Modulpool SAPLV61A, Programm RV61AFZB)
    Printing the header line of a billing document can be supplemented or changed.
    User exits in program RV60AFZD
    Short descriptions of the user exits are contained in the program:
    USEREXIT_RELI_XVBPAK_AVBPAK
    USEREXIT_NEWROLE_XVBPAK_AVBPAK
    USEREXIT_NEWROLE_XVBPAP_AVBPAK
    The following user exits are available in report SAPLV60B for transfer to accounting (function group V60B):
    EXIT_SAPLV60B_001: Change the header data in the structure acchd
    You can use this exit to influence the header information of the accounting document. For example, you can change the business transaction, "created on" date and time, the name of the person who created it or the transaction with which the document was created.
    EXIT_SAPLV60B_002: Change the customer line ACCIT
    You can use this exit to change the customer line in the accounting document. This exit is processed once the ACCIT structure is filled in with data from document header VBRK.
    EXIT_SAPLV60B_003: Change the customer line in costing
    The customer line is filled in differently for costing. You can use exit 003 to influence the ACCIT structure.
    EXIT_SAPLV60B_004: Change a GL account item ACCIT You can add information to a GL account item (such as quantity specifications) with this exit.
    EXIT_SAPLV60B_005: User exit for accruals
    Once all relevant data for accruals was entered in the GL account item, you can add to this data with this exit.
    EXIT_SAPLV60B_006: Change the control line ACCIT
    You can use exit 006 to add information to the control line.
    EXIT_SAPLV60B_007: Change the installment plan
    You can use exit 007 to add information to the installment plan
    parameters in the GL account item.
    EXIT_SAPLV60B_008: Change the transfer structure ACCCR, ACCIT and ACCHD
    After the accounting document is filled in with data, you can use exit 008 to change the document once again.
    EXIT_SAPLV60B_010: Item table for customer lines
    You can use exit 10 to influence the contents of customer lines before they are created.
    EXIT_SAPLV60B_0011: Change the parameter for cash account determination or reconciliation account determination
    You can use this exit to change inbound parameters in order to influence account determination.
    I hope that one of them could be helpful.
    Regards
    Ruy Castro

Maybe you are looking for

  • HP Color LaserJet 1215/ 1210 series

    Why does this and one other HP printer not have a driver for the MAC?? If there is going to be a driver for this model when is the MAC driver for this printer going to come out? Are there any other ways around it? I have just bought this printer only

  • Photoshop doesn't start correctly.

    After starting Photoshop (on Mac OS X 10.7.5) several messages appear "Kopieren wird vorbereitet". Then it needs a long time until the Photoshop window opens (about 5 minutes). Anton

  • Xml code for HTTP client

    Hi all can anyone send me the XML code to write in HTTP client to know the structure for a table using  a scenario. I already developed the scenario for HTTP to JDBC  just post me the XML code. Thanks and Regards Raghu.

  • Reply with different ATT address

    I have an ATT email count with sub-accounts. When I receive and email from someone addressed to one of the sub-account addresses iPhone Mail will only let me reply from my main address (I can't select the "from" address to be different). I've seen wo

  • Refund on OSX Mountain Lion?

    Hello! Help! I just (10 mins ago) bought OSX Mountain Lion from the app store, and I only bought my Macbook air a few days ago, so I assumed that it would just be free - with the up to date program. I then checked my bank and the $20.99 has come out,