Skip to Content
avatar image
Former Member

User exit

Please guide me what is user exit which is for Sd and how can I use it

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

4 Answers

  • Aug 18, 2007 at 06:00 AM

    Hi ,

    <b>User Exits In Sales Document Processing</b>

    This IMG step describes additional installation-specific processing in sales document processing. In particular, the required INCLUDES and user exits are described.

    Involved program components

    System modifications for sales document processing affect different areas. Depending on the modification, you make the changes in the program components provided:

    • MV45ATZZ

    For entering metadata for sales document processing. User-specific metadata must start with "ZZ".

    • 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. The modules must start with "ZZ".

    • 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). The modules must start with "ZZ".

    • MV45AFZZ and MV45EFZ1

    For entering installation-specific FORM routines and for using user exits, which may be required and can be used if necessary. These program components are called up by the modules in MV45AOZZ or MV45AIZZ.

    User exits in the program MV45AFZZ

    The user exits which you can use for modifications in sales document processing are listed below.

    • USEREXIT_DELETE_DOCUMENT

    This user exit can be used for deleting data which was stored in a separate table during sales document creation, for example, if the sales document is deleted.

    For example, if an additional table is filled with the name of the person in charge (ERNAM) during order entry, this data can also be deleted after the sales order has been deleted.

    The user exit is called up at the end of the FORM routine BELEG_LOESCHEN shortly before the routine BELEG_SICHERN.

    • USEREXIT_FIELD_MODIFICATION

    This user exit can be used to modify the attributes of the screen fields.

    To do this, the screen fields are allocated to so-called modification groups 1 - 4 and can be edited together during a modification in ABAP. If a field has no field name, it cannot be allocated to a group.

    The usage of the field groups (modification group 1-4) is as follows:

    o Modification group 1: Automatic modification with transaction MFAW

    o Modification group 2: It contains 'LOO' for step loop fields

    o Modification group 3: For modifications which depend on check tables or on other fixed information

    o Modification group 4: is not used

    The FORM routine is called up for every field of a screen. If you require changes to be made, you must make them in this user exit.

    This FORM routine is called up by the module FELDAUSWAHL.

    See the Screen Painter manual for further information on structuring the interface.

    • USEREXIT_MOVE_FIELD_TO_VBAK

    Use this user exit to assign values to new fields at sales document header level. It is described in the section "Transfer of the customer master fields into the sales document".

    The user exit is called up at the end of the FORM routine VBAK_FUELLEN.

    • USEREXIT_MOVE_FIELD_TO_VBAP

    Use this user exit to assign values to new fields at sales document item level. It is described in the section "Copy customer master fields into the sales document".

    The user exit is called up at the end of the FORM routine VBAP_FUELLEN.

    • USEREXIT_MOVE_FIELD_TO_VBEP

    Use this user exit to assign values to new fields at the level of the sales document schedule lines.

    The user exit is called up at the end of the FORM routine VBEP_FUELLEN.

    • USEREXIT_MOVE_FIELD_TO_VBKD

    Use this user exit to assign values to new fields for business data of the sales document. It is described in the section "Copy customer master fields into sales document".

    The user exit is called up at the end of the FORM routine VBKD_FUELLEN.

    • USEREXIT_NUMBER_RANGE

    Use this user exit to define the number ranges for internal document number assignment depending on the required fields. For example, if you want to define the number range depending on the sales organization (VKORG) or on the selling company (VKBUR), use this user exit.

    The user exit is called up in the FORM routine BELEG_SICHERN.

    • USEREXIT_PRICING_PREPARE_TKOMK

    Use this user exit if you want to include and assign a value to an additional header field in the communication structure KOMK taken as a basis for pricing.

    • USEREXIT_PRICING_PREPARE_TKOMP

    Use this user exit if you want to include or assign a value to an additional item field in the communication structure KOMP taken as a basis for pricing.

    • USEREXIT_READ_DOCUMENT

    You use this user exit if further additional tables are to be read when importing TA01 or TA02.

    The user exit is called up at the end of the FORM routine BELEG_LESEN.

    • USEREXIT_SAVE_DOCUMENT

    Use this user exit to fill user-specific statistics update tables.

    The user exit is called up by the FORM routine BELEG-SICHERN before the COMMIT command.

    Note

    If a standard field is changed, the field r185d-dataloss is set to X. The system queries this indicator at the beginning of the safety routine. This is why this indicator must also be set during the maintenance of user-specific tables that are also to be saved.

    • USEREXIT_SAVE_DOCUMENT_PREPARE

    Use this user exit to make certain changes or checks immediately before saving a document. It is the last possibility for changing or checking a document before posting.

    The user exit is carried out at the beginning of the FORM routine BELEG_SICHERN.

    User exits in the program MV45AFZA

    • USEREXIT_MOVE_FIELD_TO_KOMKD

    Use this user exit to include or assign values to additional header fields in the communication structure KOMKD taken as a basis for the material determination. This is described in detail in the section "New fields for material determination".

    • USEREXIT_MOVE_FIELD_TO_KOMPD

    Use this user exit to include or assign values to additional item fields in the communication structure KOMPD taken as a basis for the material determination. This is described in detail in the section "New fields for material determination".

    • USEREXIT_MOVE_FIELD_TO_KOMKG

    Use this user exit to include or assign values to additional fields in the communication structure KOMKG taken as a basis for material determination and material listing. This is described in detail in the section "New fields for listing/exclusion".

    • USEREXIT_MOVE_FIELD_TO_KOMPG

    Use this user exit to include or assign values to additional fields in the communication structure KOMPG taken as a basis for material determination and material listung. This is described in detail in the section "New fields for listing/exclusion".

    • USEREXIT_REFRESH_DOCUMENT

    With this user exit, you can reset certain customer-specific fields as soon as processing of a sales document is finished and before the following document is edited.

    For example, if the credit limit of the sold-to party is read during document processing, in each case it must be reset again before processing the next document so that the credit limit is not used for the sold-to party of the following document.

    The user exit is executed when a document is saved if you leave the processing of a document with F3 or F15.

    The user exit is called up at the end of the FORM routine BELEG_INITIALISIEREN.

    User-Exits in program MV45AFZB

    • USEREXIT_CHECK_XVBAP_FOR_DELET

    In this user exit, you can enter additional data for deletion of an item. If the criteria are met, the item is not deleted (unlike in the standard system).

    • USEREXIT_CHECK_XVBEP_FOR_DELET

    In this user exit, you can enter additional data for deletion of a schedule line. If the criteria are met, the schedule line is not deleted (unlike in the standard system).

    • USEREXIT_CHECK_VBAK

    This user exit can be used to carry out additional checks (e.g. for completion) in the document header. The system could, for example, check whether certain shipping conditions are allowed for a particular customer group.

    • USEREXIT_CHECK_VBAP

    This user exit can be used to carry out additional checks (e.g. for completion) at item level.

    • USEREXIT_CHECK_VBKD

    The user exit can be used to carry out additional checks (e.g. for completion) on the business data in the order.

    • USEREXIT_CHECK_VBEP

    This user exit can be use to carry out additional checks (e.g. for completion) on the schedule line. During BOM explosion, for example, you may want certain fields to be copied from the main item to the sub-items (as for billing block in the standard system).

    • USEREXIT_CHECK_VBSN

    You can use this user exit to carry out additional checks (e.g. for completion) on the serial number.

    • USEREXIT_CHECK_XVBSN_FOR_DELET In this user exit, you can enter additional criteria for deletion of the serial number. If the criteria are met, the serial number is not deleted (unlike in the standard system).

    • USEREXIT_FILL_VBAP_FROM_HVBAP

    You can use this user exit to fill additional fields in the sub-item with data from the main item.

    • USEREXIT_MOVE_FIELD_TO_TVCOM_H

    You can use this user exit to influence text determination for header texts. For example, you can include new fields for text determination or fill fields that already exist with a new value.

    • USEREXIT_MOVE_FIELD_TO_TVCOM_I

    You can use this user exit to influence text determination for item texts. For example, you can include new fields for text determination or fill fields that already exist with a new value.

    • User-Exits for product allocation:

    The following user exits all apply to structure COBL, in which the data for account determination is copied to item level.

    o USEREXIT_MOVE_FIELD_TO_COBL

    Option to include new fields in structure COBL.

    o USEREXIT_COBL_RECEIVE_VBAK

    Option to assign values from the document header to the new fields.

    o USEREXIT_COBL_RECEIVE_VBAP

    Option to supply values from the item to the new fields.

    o USEREXIT_COBL_SEND_ITEM

    A changed field can be copied from the structure into the item. You could use the user exit to display a certain field in the account assignment block (see also MV45AFZB).

    o USEREXIT_COBL_SEND_HEADER

    A changed field can be copied from the structure to the header (see source text MV45AFZB)

    • USEREXIT_SOURCE_DETERMINATION

    You can use this user exit to determine which plant will be used for the delivery. In the standard system, the delivering plant is copied from the customer master or the customer-material info record. If you want to use a different rule, then you must enter it in this user exit.

    • USEREXIT_MOVE_FIELD_TO_ME_REQ

    With this user exit you can include additional fields for the following fields:

    o EBAN (purchase requisition)

    o EBKN (purchase requisition-account assignment)

    • USEREXIT_GET_FIELD_FROM_SDCOM

    Option to include new fields for the variant configuration. Fields that are included in structure SDCOM can be processed and then returned to the order.

    • USEREXIT_MOVE_WORKAREA_TO_SDWA

    You can use this user exit to format additional work areas for the variant configuration. You will find notes on the user exit in MV45AFZB.

    • User-Exits for first data transfer:

    The following user exits can only be used for the first data transfer.

    Note

    Only use the user exits if the names/fields do NOT have the same name.

    o USEREXIT_MOVE_FIELD_TO_VBAKKOM

    Option to include additional fields in structure VBAKKOM (communiction fields for maintaining the sales document header)

    o USEREXIT_MOVE_FIELD_TO_VBAPKOM

    Option to include additional fields in structure VBAPKOM (communication fields for maintaining a sales item)

    o USEREXIT_MOVE_FIELD_TO_VBEPKOM

    Option to include additional fields in structure VBEPKOM (communication fields for maintaining a sales document schedule line)

    • USEREXIT_MOVE_FIELD_TO_VBSN

    You can use this user exit to include fields in structure VBSN (scheduling agreement-related change status).

    • USEREXIT_MOVE_FIELD_TO_KOMKH

    You can use this user exit to include new fields for batch determination (document header).

    • USEREXIT_MOVE_FIELD_TO_KOMPH

    You can use this user exit to include new fields for batch determination (document item).

    • USEREXIT_CUST_MATERIAL_READ

    You can use this user exit to set another customer number in the customer material info record (e.g. with a customer hierarchy)

    • USEREXIT_NEW_PRICING_VBAP

    Option for entry of preconditions for carrying out pricing again (e.g. changes made to a certain item field could be used as the precondition for pricing to be carried out again). Further information in MV45AFZB.

    • USEREXIT_NEW_PRICING_VBKD

    Option for entry of preconditions for carrying out pricing again (e.g. changes to the customer group or price group could be set as the preconditions for the system to carry out pricing again). Further information in MV45AFZB.

    • User-Exits in Program MV45AFZD

    • USEREXIT_CONFIG_DATE_EXPLOSION

    The BOM is exploded in the order with the entry date. You can use this user exit to determine which data should be used to explode the BOM (explosion with required delivery date, for example).

    User exits in the program FV45EFZ1

    • USEREXIT_CHANGE_SALES_ORDER

    In the standard SAP R/3 System, the quantity and confirmed date of the sales document schedule line is changed automatically if a purchase requisition is allocated, and it or the sales document is changed (for example, quantity, date).

    If you want to change this configuration in the standard system, you can define certain requirements in order to protect your sales orders from being changed automatically. Use this user exit for this purpose. Decide at this point whether the schedule lines are to be changed.

    Regards,

    Sarosh

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Aug 19, 2007 at 03:36 AM

    hi

    User exits are provided in various places through out the system in order to allow system modifications and enhancements. User exits allow developers to access and modify program components and data objects in the standard system.

    There are 2 types of user exits

    1 user exits that use includes

    2 user exits that use tables

    goto

    <b>IMG SALES AND DISTRIBUTION SYSTEM MODIFICATIONS--USER EXITS</b>

    USER EXITS ARE AVAILABLE IN SD FOR THE FOLLOWING

    User exits for price determination

    user exits for partner determination

    userexits for credit check & risk management

    user exits in sales

    user exits for sales doc processing

    user exits for contract processing

    user exits for product allocation

    user exits for availability check

    user exits for product selection

    user exits for billing plans

    user exits for shipping

    user exits for transportation

    user exits for sales support

    and also search in this forum u will get a lot on this topic

    regards

    prashanth goud

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Aug 19, 2007 at 04:55 AM

    hi,

    A Short Tutorial on 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 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"

    <b>some more examples :</b>

    Transaction Code - VA41 Create Contract

    Exit Name Description

    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

    SDAPO001 Activating Sourcing Subitem Quantity Propagation

    Thanks

    Sadhu Kishore

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Aug 20, 2007 at 03:58 AM
    Add comment
    10|10000 characters needed characters exceeded