Requirement is to make FM fields already derived from PO (derivation working correctly) display only or add an error message. Easy I thought just go to config for SES and click on Additional Fields display only (Cost Center?, WBS element? there was no funds management fields available)...then after some time investigating
Have debugged the transaction and found some possibilities.
(1) BADI TR_GET_ACCNT_ASSIGN called in function FM_ACCOUNT_GET_COBL from MS_ACCOUNT_ASSIGNMENT.
(2) User Exit EXIT_SAPLFMCH_001 called in function FM_CHANGE_AA_SUBST
(3) Use FMDERIVE to somehow check the PO derivation
Just wondered if anyone had taken this further before I spend a lot more time understanding the whole process in order to achieve a small bit. Please I am a technical resource not FM specialist.
If I could understand the process flow, at least it might help me make quickest simplest solution.
You can customize the field status in tx OME9 for the relevant account assignment category.
But be aware that this customizing will be valid for all purchasing documents and transactions - not only for ML81N and the services area.
During SES postings, inheriting the FM account assignment from the reference PO is the standard and expected behaviour, so you may see that FMDERIVE is not called when the PO reduction is to be posted during ML81N. Instead, the FMAA is read from table FMIOI and fmderive is skipped in those lines (fi transaction keys KBS/WRX, for instance).
I hope this will help you