Skip to end of metadata
Go to start of metadata

Purpose

This wiki page would discuss about various Userexits relevant for SAP Sales and Distribution module.

Introduction

A 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.

Relevant Information

CMOD

Customer Exits

Include Routines

It is reserved for customers, for which you need a modification key

Sales Related Exits

Customer Exits

Enhancement Code

Description

SDAPO001

Activating Sourcing Subitem Quantity Propagation

SDTRM001

Reschedule schedule lines without a new ATP check

V45A0001

Determine alternative materials for product selection

V45A0002

Predefine sold-to party in sales document

V45A0003

Collector for customer function modulpool MV45A

V45A0004

Copy packing proposal

V45E0001

Update the purchase order from the sales order

V45E0002

Data transfer in procurement elements (PRreq., assembly)

V45L0001

SD component supplier processing (customer enhancements)

V45P0001

SD customer function for cross-company code sales

V45S0001

Update sales document from configuration

V45S0003

MRP-relevance for incomplete configuration

V45S0004

Effectivity type in sales order

V45W0001

SD Service Management: Forward Contract Data to Item

V46H0001

SD Customer functions for resource-related billing

V60F0001

SD Billing plan (customer enhancement) diff. to billing plan

Include Routines

Include

Description

MV45ATZZ

For entering metadata for sales document processing

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
and
MV45EFZ1

For entering installation-specific FORM routines and for using user exits, which may
be required and can be used if necessary.

For more details see Help link above.

Billing Related Exits

Customer Exits

Enhancement code

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

Delivery related exits

Customer Exits

Enhancement Code

Description

V50PSTAT

Delivery: Item Status Calculation

V50Q0001

Delivery Monitor: User Exits for Filling Display Fields

V50R0001

Collective processing for delivery creation

V50R0002

Collective processing for delivery creation

V50R0004

Calculation of Stock for POs for Shipping Due Date List

V50S0001

User Exits for Delivery Processing

V53C0001

Rough workload calculation in time per item

V53C0002

W&S: RWE enhancement - shipping material type/time slot

V53W0001

User exits for creating picking waves

VMDE0001

Shipping Interface: Error Handling - Inbound IDoc

VMDE0002

Shipping Interface: Message PICKSD (Picking, Outbound)

VMDE0003

Shipping Interface: Message SDPICK (Picking, Inbound)

VMDE0004

Shipping Interface: Message SDPACK (Packing, Inbound)

V02V0001

Sales area determination for stock transport order

V02V0002

User exit for storage location determination

V02V0003

User exit for gate + matl staging area determination (headr)

V02V0004

User Exit for Staging Area Determination (Item)

Include Routines

Include

Description

MV50AFZ1

User Exits for Delivery Processing

MV50AFZ2

User Exit for Batch Quantity Allocation

MV50AFZ3

LIPS-KOQUI (Picking is subject to confirmation) determination

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 nubers,
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.

MV50AFZZ

Users Exit for Batch Determination; LIPS-LGORT determination

User Exits for Transportation

Include Routines

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 processsing.

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.

User Exits for Price Determination

Routine

Module Pool or
Function Group

Include

Description

USEREXIT_PRICING_PREPARE_TKOMK

SAPLV60A

RV60AFZZ

This user exit allows you to copy additional fields for pricing in the TKOMK
communication structure (header fields), which have not been provided in
the standard SAP system. These fields can also be used for pricing in the
billing document. This user exit is described in detail in the "New fields in
pricing" section.

USEREXIT_PRICING_PREPARE_TKOMP

SAPLV60A

RV60AFZZ

This user exit allows you to copy additional fields for pricing in the TKOMP
communication structure (item fields), which have not been provided in the
standard SAP system. These fields can also be used for pricing. This user
exit is described in detail in the "New fields in pricing" section.

USEREXIT_FIELD_MODIFICATION

SAPMV61A

MV61AFZA

You can use this user exit to adjust the display of individual lines in the condition
screen by changing the display attributes of the screen fields. This does not
include the display of subtotals. This user exit is also used in order processing.

USEREXIT_FIELD_MODIFIC_KZWI

SAPMV61A

MV61AFZB

You can change the display of subtotals in the condition screen by changing
the display attributes of the screen fields.
This user exit is also used in order processing.

USEREXIT_FIELD_MODIFIC_KOPF

SAPMV61A

MV61AFZB

You can adjust the display of subtotals in the condition screen to your requirements
by changing the display attributes of the screen fields.
This user exit is also used in order processing.

USEREXIT_FIELD_MODIFIC_LEER

SAPMV61A

MV61AFZB

You can adjust the display of blank lines in the condition screen to your requirements
by changing the display attributes of the screen fields.
This user exit is also used in order processing.

USEREXIT_PRICING_CHECK

SAPMV61

MV61AFZA

You can install additional checks to the standard checks of condition lines (e.g.
maximum/minimum value).

USEREXIT_PRICING_RULE

SAPLV61A

RV61AFZA

In the standard SAP system, it is predefined which condition categories and classes
can be copied or recalculated per pricing type. You can change the predefined standard
procedure for each pricing type.

USEREXIT_CHANGE_PRICING_RULE

SAPMV61A

MV61AFZA

You can use this user exit to change the pricing type that has been predefined in the
copying control table in billing.

USEREXIT_XKOMV_BEWERTEN_INIT

SAPLV61A

RV61AFZB

This field is used in the formulas and therefore initialized before the loop for the pricing
procedure starts.

USEREXIT_XKOMV_BEWERTEN_END

SAPLV61A

RV61AFZB

Within a loop for the price components during pricing, specific values can be transferred
into the communication structures in pricing to be further processed.

USEREXIT_XKOMV_ERGAENZEN

SAPLV61A

RV61AFZB

In change mode, you can change the dynamic part of the condition record (KONVD) that
is always redetermined (i.e. it is not stored in database table KONV).

USEREXIT_XKOMV_ERGAENZEN_MANU

SAPLV61A

RV61AFZB

You can use this user exit to change the ready-for-input fields of the manually entered
condition record in add mode in the condition screen.

USEREXIT_XKOMV_FUELLEN

SAPLV61A

RV61AFZB

This user exit is always called up during a redetermination of all or individual price
components. You can change the work fields of the condition line. However, this only
applies to conditions that have been determined via a condition record.

USEREXIT_XKOMV_FUELLEN_O_KONP

SAPLV61A

RV61AFZB

This user exit is always called up during a redetermination of all or individual price components.
You can change the work fields of the condition line. However, this only applies to conditions
that have been determined via a condition record. This may include subtotals, manually entered
conditions or conditions that have been calculated with a formula.

USEREXIT_PRICING_COPY

SAPLV61A

RV61AFZA

You can change the KONV fields for copied price components.

Note: as of Release 4.6A, the display of the condition screen (screen 6201) has been converted from a full screen to a subscreen. The full screen is included in the SAPMV61A module pool, the subscreen, however, in program SAPLV69A. Therefore, instead of MV61AFZA and MV61AFZB, the user exits in LV69AFZZ should be used. For reference, see OSS note 313569.

User Exits for Partner Determination

Partner determination contains the following user exits for your use

User Exit

Description

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 shold 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 ofthe 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

USEREXIT_AVAIL_CHECK_CREDIT

MV45AFZF

This user exit allows you to determine whether the system should or should not
carry out an availability check after a blocked document has been released or after
a new credit check.

User Exit for Risk Management for Receivables

User exit

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.

RV60FUS2

SAPLV60F

Billing plan: Prepare pricing

  • 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
  • User exit SDVAX001
    In the standard release the billing plan type is determined from the item category of the sales document and set in the billing plan.
    You can also use the user exit to determine the billing plan type dependent on data from the order header, order item, etc.
  • User exit V60F0001
    This user exit is for changing the deviating billing date (FPLT-AFDAT).

RV60FUS4

SAPLV60F

field preparation field selection for screen

RV60FUS5

 

This userexit can be used to split date lines TKOMK for Header fields

RV60FUST

 

User Part for Billing Plan - Data Definition

Additional User Exits in Billing Document

User exit

Include

Description

USEREXIT_FILL_VBRK_VBRP

RV60AFZC

Fill in the fields in VBRK/VBRP tables

USEREXIT_NUMBER_RANGE_INV_DATE

RV60AFZC
RV61AFZB

Determine the number range for internal document number
User exits for printing

User Exits For Product Allocation Processing*

User exit

Include

Description

SDQUX0001

 

Function module exit for enhanced check in SD product allocation

User Exits For Availability Check

User exit

Include

Description

USEREXIT_PLANT_SELECTION

RV03VFZZ

The user exits named here are planned for projects that are to be carried out in agreement
with SAP development as they may only be used in consultation with SAP. SAP provides no
guarantee if they are used without our advice in program is an exception to this rule

USEREXIT_ADD_FIELD_TO_HEADER
USEREXIT_ADD_FIELD_TO_LINE

FV45VFZZ

 

USEREXIT_DELIVERY_GROUPS
USEREXIT_MVERF_INIT
USEREXIT_QUOTA_KEY_VALUE

FV45VFZY

 

USEREXIT_AVAILABILITY_IN
USEREXIT_AVAILABILITY_OUT
USEREXIT_DARA_REFRESH
USEREXIT_PLANT_SELECTION

RV03VFZZ

This user exit is used to adjust the flow during plant 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
so that plant selection takes place in advance for every flagged selection and a dialog box
becomes unnecessary.

User Exits For Component Supply Processing

User exit

Include

Description

USEREXIT_CHECK_VBLB-USR01
USEREXIT_CHECK_VBLB-USR02
USEREXIT_CHECK_VBLB-USR03
USEREXIT_CHECK_VBLB-USR04
USEREXIT_CHECK_VBLB-USR05

MV45AFZC

These user exits are available for checking customer reserve fields from VBLB-USR01 to
VBLB-USR05. The reserve fields are used in the component supplier industry. The system
calls them in the screen flow logic for header data in forecast and JIT delivery schedules

Function module V450001 is available as an SAP extension for the component supplier industry. It contains the following user exits:

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.

EXIT_SAPLV45L_001

 

For delivery schedules - The system checks an incoming delivery schedule against the current/old delivery schedule to determine if there are any differences.

EXIT_SAPLV45L_002

 

For delivery schedules - With this user exit, you can change the VBLB structure (sales document: delivery schedule data), before the system copies delivery schedule data to the corresponding 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.

EXIT_SAPLVED4_001
EXIT_SAPLVED4_002
EXIT_SAPLVED4_003
EXIT_SAPLVED4_005
EXIT_SAPLVED4_006

 

For delivery orders (MAIS) - These user exits allow you to change the workflow parameters for processing inbound EDI messages.

EXIT_SAPLVED4_001
EXIT_SAPLVED4_005
EXIT_SAPLVED4_006

 

For the self-billing procedure - You can use these user exits for the standard self-billing procedure.

EXIT_SAPLVED5_002
EXIT_SAPLVED5_003
EXIT_SAPLVED5_004

 

For the self-billing procedure -You can use these user exits for the self-billing procedure with invoice creation.

User Exits For Resource-Related Billing
You can use the following user exits for resource-related billing before Release 4.5A:

  • RV45HFZZ enhancement
    • 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
    • EXIT_SAPLV46H_002User 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. User Exits For General Billing Interface
  • USEREXIT_AVBPAK_CPD (in Include RV60AFZB)

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.

  • USEREXIT_XVBAPF_KEY (in Include RV60AFZA)

With this user exit for the general billing interface, a key field can be added in the aggregrated flow.

  • USEREXIT_XVBAPF_KEY_CANC (in Include RV60AFZA)

Special user exit for the general billing interface with which a key field can be added in the aggregrated flow.
  User Exits For Sales Support
In Sales Support, you can use the following SAP enhancements:

  • MCV2001 - Expand LIS fields for sales activities/sales promotions. This enhancement contains the following user exit:
    • EXIT_SAPLMCV2_001
  • V43MLIS - Expand LIS fields for address lists. This enhancement contains the following user exit:
    • EXIT_SAPLV43M_007
  • V43K0001 - Enhancement for linking to calendar. This enhancement contains the following user exit:
    • EXIT_SAPLV43K_001
  • V43ADATA - Change sales activity data in dialog. This enhancement contains the following user exit:
    • EXIT_SAPMV43A_007

User Exits For Lists

User Exits in Program RVKPR002 (Customer Expected Price)

RVKPRFZ1

This allows the list structure of individual fields to be filled on header and item levels.

RVKPRFZ2

This allows the sort sequence for the first issue of the list to be defined.

RVKPRFZ1

This allows you to deposit your own user codes.

RVKPRFZ1

This allows you to create your own list headings.

There are two additional user exits for listing sales documents, which influence the way in which the communication structure is filled. These user exits do not affect the structure of the list but the way in which the data is transferred and how the new additional fields are filled.

  • CUSTOMER_FILL_1
  • CUSTOMER_FILL_2

User Exits for Payment Cards

Include MV45AFZH contains the user exit AUTHORIZATION_VALUE_SPLIT.
You can use this user exit to initiate the system to create several authorizations in the sales order at the same time. This might be appropriate when different shipping points are assigned to the items and therefore several shipments will be created for a sales order.

More information can be found here:

  1. Guest

    The document is very comprhensive and closedly related to us.

  2. Guest

    THIS DOCUMENT IS VERY HELP FULL TO ALL, PLEASE ADD SOME MORE TOPICS

    ALL THE BEST

    THANKS