quarta-feira, 27 de julho de 2016

SD User exits



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:


Fonte: https://wiki.scn.sap.com/wiki/display/ERPLO/SD+User+exits

Um comentário:

  1. Hello,

    too many EXIT!!!

    we would:

    When posting document to accounting: doing a check on invoice item with price 0, if they are found terminate with error "Line without price" and do not post in accounting.

    is possible?
    how?

    many thanks

    fabio

    ResponderExcluir