Professional Documents
Culture Documents
Purpose
This wiki page would discuss about various Userexits relevant for SAP Sales and
Distribution module.
Introduction
An user exit is a place in a software program where a customer can arrange for
their own tailor-made program to be called. In R/3, some user exits use Include
statements to include customer program enhancements that are called from the
program. Other user exits use tables that are accessed through customization.
User exit is commonly used in SD module. There are many exits provided by SAP
in the areas of Sales, Shipping, Transportation, or Billing. Generally, user exit is
designed to make some changes when standard SAP is not capable to ful fill the
requirements. And surely, user exit is contains of some lines of code, so little
understanding of ABAP is very needed when you want to write your own exit
(especially when there is no ABAPER available. User exit
To be able to access what exits exist in each area of sales, you can go to IMG
using this path: IMG > Sales and Distribution > System Modifications > User
Exits. Here, any documentation’s for each exit available in the areas of SD that
you want to modified is explained.
For example, I want to show how to find exit available in Sales Document
Processing (contract, quotation, or sales order). Just follow the path above and
continued to expand the node User Exits in Sales > User Exits in Sales Document
Processing.
Click on icon documentation (file & spectacles) to see user exits available in Sales
Document Processing.
Click on icon file & spectacles to find user exits exist in Sales Documents
Read the list carefully, then choose the appropriate user exit you want to apply.
List of User Exits in Sales Document Processing
For this example, I used user exit MV45AFZB. Use transaction code SE38 and click
Display.
Create Implementation
Choose Type of Enhancement: Code.
Continued with Create and fill the appropriate field. Then choose Enter.
Fill the appropriate package used. Then save.
Choose the Enhancement Implementation you already created before, then click
Enter.
Customer Exits
Enhancement Description
Code
V45E0002
Data transfer in procurement elements
(PRreq., assembly)
V45L0001
SD component supplier processing (customer
enhancements)
plan
Include Routines
Include Description
MV45AOZZ
For entering additional installation-specific modules for sales
document processing
which are called up by the screen and run under PBO (Process
Before Output) prior to output of the screen.
MV45AIZZ
For entering additional installation-specific modules for sales
document processing.
These are called up by the screen and run under PAI (Process
After Input) after data input (for example, data validation).
MV45AFZZ For entering installation-specific FORM routines and for using
and user exits, which may be required and can be used if
MV45EFZ1 necessary.
For more details see Help link above.
Customer Exits
Enhancement code Description
Enhancement Description
code
SDVFX009
Billing doc. processing KIDONO (payment reference
number)
V05N0001 User Exits for Printing Billing Docs. using POR Procedure
Customer Exits
Enhancement Code Description
Enhancement Description
Code
V53C0002
W&S: RWE enhancement - shipping material type/time
slot
V02V0003
User exit for gate + matl staging area determination
(headr)
Include Routines
Include Description
MV50AFZ1 User Exits for Delivery Processing
Include Description
MV50AFZK The user exits in this include can be used to fill the condition
tables for material listing and material exclusion (KOMKG and
KOMPG) and product selection (KOMKD and KOMPD) with own
data.
MV50AFZL In delivery creation process for sales orders there is the possibility
to restrict the delivery creation to some order items. If these order
items are member of a delivery group, but not all items of this
delivery group are includes in the restriction range of the order
item numbers, you can specify in this routine what to do.
MV50AFZP
This user exit can be used to modify change mode of pricing screens
in delivery processing.
Include Routines
Include Description
Include Description
MV56AOZZ
You can include your own modules in this program, to be
processed in shipment processing screens during PBO.
MV56AIZZ
You can include your own modules in this program, to be
processed in shipment processing screens during PAI.
MV56AFZY
You can include your own FORM routines in this program. They can
contain your own adjustments for shipment processing.
MV56AFZZ
This program contains pre-defined FORM routines, in which you
can carry out your own adjustments for transportation processing.
For additional information, see SAP Help link above.
condition screen
to your
requirements by
changing the
display attributes
of the screen
fields.
This user exit is
also used in order
processing.
determined via a
condition record.
EXIT_SAPLV09A_001 You can use this user exit to control whether an address
that was entered manually and has already been used in
other documents (referenced), should be referenced
again if it changes or whether a new address should be
created (duplicated).
EXIT_SAPLV09A_002
Call up this user exit if a customer has not been
maintained in the current sales area.
EXIT_SAPLV09A_003 Use this user exit to control the origin of partners in the
partner determination procedure (origin X, Y or Z). If X, Y,
or Z has been entered in the Origin field, this user exit is
automatically called up during partner determination.
EXIT_SAPLV09A_004
Use this user exit to integrate your own check in a
program that runs before the partner is saved in the
document.
For more detailed information, see the program documentation for each of the
user exits.
User Exits For Credit Checks
If you want to carry out your own individual credit checks, that differ from those
in the standard system, you must define them in the following user exits:
User Exit LVKMPTZZ
LVKMPFZ1 USER_CREDIT_CHECK1
LVKMPFZ2 USER_CREDIT_CHECK2
LVKMPFZ3 USER_CREDIT_CHECK3
User Exit for Availability Check
User exit Include Description
RVKMPUS2
Using this user exit, you can define new forms of payment
guarantee.
User Exits for Billing Plan
User exit Include Description
RV60FUS1 SAPLV60F Billing Plan: Distribute Difference
BILLING_SCHEDULE_DELTA
For milestone billing a percentage value is fully
invoiced for each billing deadline. In the case of
deviations between
the original item value and any later changes, you can
use the user exit to determine whether the difference
should be stored in the final invoice or sent to the
next deadline.
USEREXIT_MOVE_FIELD_TO_FPLT : This user exit allows
you to create your own fields in table FPLT.
USEREXIT_MOVE_FIELD_TO_FPLA : This user exit
allows you to create your own fields in table FPLA.
USEREXIT_PRICING_PREPARE_TKOMX
This user exit is used to copy or create an additional
field in the definitive communication structure for
pricing.
The user exit is also often used to change the duration
of a billing plan deadline. You can do this by
overwriting the following fields:
tkomp-anz_tage (Number of days in a deadline)
tkomp-anz_monate (Number of months in a deadline)
tkomp-anz_jahre(Number of years in a deadline)
tkomp-anz_wochen (Number of weeks in a deadline)
RV60FUS3 SAPLV60F
Bill. Plan: Deadline Proposal From Source
USEREXIT_DATE_PROPOSAL
In the standard release deadlines are set according to
a template in the billing plan. This grid entry list sets
the deadlines for each day but you can adjust the
template with the user exit so that the grid entry list
could, for example, follow a monthly pattern instead.
Modification report for billing plan SDFPLA02 This
report enables you to update the header data for a
billing plan with the result that new billing plan
deadlines are determined and set in the billing plan.
In this way you can, for example, set the goods issue
date as the starting date for the billing plan.
Additions to billing plan with transaction SMOD
RV60FUS5
This userexit can be used to split date lines TKOMK for
Header fields
USEREXIT_FILL_VBRK_VBRP RV60AFZC
Fill in the fields in
VBRK/VBRP tables
USEREXIT_NUMBER_RANGE_INV_DATE RV60AFZC
Determine the number
RV61AFZB
range for internal
document number
User exits for printing
FV45VFZZ
USEREXIT_ADD_FIELD_TO_HEADER
USEREXIT_ADD_FIELD_TO_LINE
FV45VFZY
USEREXIT_DELIVERY_GROUPS
USEREXIT_MVERF_INIT
USEREXIT_QUOTA_KEY_VALUE
USEREXIT_AVAILABILITY_IN RV03VFZZ
USEREXIT_AVAILABILITY_OUT This user exit is used to
USEREXIT_DARA_REFRESH adjust the flow during plant
USEREXIT_PLANT_SELECTION transfer. A list of permitted
plants, where this material
is created, is determined
and checked in the standard
R/3 delivery.
A dialog box appears where
you can select the plants.
The user exits allow you to
modify the plant table
EXIT_SAPLVED4_004 General - You can use this user exit to overwrite the
standard method with which the system determines
the recipient of messages (either at sales document
level or in the customer master record). You can
define a special recipient for an incoming document
that has just been processed.
internal table.
EXIT_SAPMV45L_001
Planned delivery schedules - This user exit allows
you to process schedule lines generated
automatically in a planning delivery schedule..
EXIT_SAPMV45L_002
Planned delivery schedules - This user exit allows
you to modify the calendar used in a delivery
schedule split.
EXIT_SAPMV45A_005
For delivery orders (MAIS) - This user exit enables
you to control how the system copies packing
proposals into the outbound delivery order.
•
• USEREXIT_INV_REQ_ITEM
•
• USEREXIT_INV_REQ_ITEM_PARTNER
You can use the following user exits for resource-related billing as of Release
4.5A:
• V46H0001 enhancement
• EXIT_SAPLV46H_001
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.
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).
Depending on the number range, table TVFKD is used to set the billing date
(country-specific requirements in Italy). USEREXIT_NUMBER_RANGE is
automatically deactivated when this user exit is being applied.
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_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_007: Change the instalment plan You can use exit 007
to add information to the instalment plan parameters in the GL account item.
• EXIT_SAPLV60B_010: Item table for customer lines You can use exit 10
to influence the contents of customer lines before they are created.
With this user exit for the general billing interface, deviating address data for
different partner functions can be copied from the interface.
• USEREXIT_AVBPAK_ADD (in Include RV60AFZA)
With this user exit for the general billing interface, new partner functions can be
copied from the interface.
With this user exit for the general billing interface, a key field can be added in
the aggregated flow.
Special user exit for the general billing interface with which a key field can be
added in the aggregated flow.
User Exits For Sales Support
In Sales Support, you can use the following SAP enhancements:
• V43MLIS - Expand LIS fields for address lists. This enhancement contains the
following user exit:
• EXIT_SAPLV43M_007
• V43ADATA - Change sales activity data in dialog. This enhancement contains the
following user exit:
• EXIT_SAPMV43A_007
• CUSTOMER_FILL_1
• CUSTOMER_FILL_2