Category Archives: SD User Exits

How to refrain users from changing some fields in T-code va02?

There are two ways to do this:
– Make a transaction variant thru SHD0 and assign it to your sales doc. While creating the variant you can place non-changeability ticks on specific fields. Next allow those users only to work with your transaction variant but not with the original transaction.
– You could make use of user-exit FORM USEREXIT_FIELD_MODIFICATION in include MV45AFZZ (via authorization objects, which you can assign in role customizing).
The latter is more flexible but it is not feasible if you want to place restrictions to a large amount of fields.

Suppressing Fields in Sales Order

The fields in a sales order can be made optional / mandatory by following this menu path – IMG – S&D-> Basic > Functions-> Log of incomplete Procedures =>  select the fields > from the tables and the system will check for them (OVA2/VUA2)

To make a filed entry enabled or grey (non-entry allowed):


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:

Modification group 1: Automatic modification with transaction MFAW

Modification group 2: It contains ‘LOO’ for step loop fields

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

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.

Actually suppressing fielding sales orders userwise is quite easy. We are doing it in our company. For this we use userexit FORM USEREXIT_FIELD_MODIFICATION in MV45AFZZ.

Below is the sample code



  IF sy-subrc = 0.

You place the authority check object in authorization profile in the role of the users, who should have access to the field (in this case it is VBKD-ABSSC), and there assign the corresponding fields that are to be accessed via this userexit.

Finding User Exits

Need to find user exits module-wise? Suppose we want to see the available sales module user exits. Go to transaction SE81. Click on SD, then click “edit” on the menu bar and 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)