There are two ways to restrict users for not changing some fields in T-code VA02:
- 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