I recently had the requirement to activate sensitive fields for a specific vendor account group but found that there was no possible way of doing it through standard config. From what I’ve been seeing in the forums it appears SAP has no intention of changing this for the time being, and it looks like many companies have the same requirement or a similar one with with company codes.
This blog Dual Control Functionality in SAP gives us good insight on how sensitive fields work and mention that an enhancement can be done in order to make it specific for one vendor account group, but doesn’t mention how to do it. I’ve seen a lot of people asking how it can be done, so I did some work and figured out a fairly simple way to do it.
User exit MF02KFEX was defined for us, and gets called in MF02KFS0 but unfortunately it can’t do the job since the logic that checks the sensitive fields config comes after the exit.
I was able to do the trick by creating an implicit enhancement at the end of FORM SENSIBLE_AENDERUNG in MF02KFS0.
Through debugging I found that the XSENSIBEL flag controlled whether or not the popup and the confirmation process would be initiated.
With just the following code inserted at the end of the form, I was able to enable sensitive fields specifically for account group V001 (hardcoded here for this example).
IF XSENSIBEL IS NOT INITIAL AND LFA1–KTOKK NE ‘V001’.
XSENSIBEL = ”.
Note: for vendor account group you’ll be checking LFA1-KTOKK, and for company code you’ll be checking LFB1-BURKS.
Need help creating implicit enhancements? Take a look here: How To Do Implicit Enhancement – ABAP Development – SCN Wiki
Hope this helps!