We have a requirement to restrict the users to change the condition price on standard PO. e.g. NB.
All condition price should get from condition and PR. As I know, it can use Field selections then assign the EFB function to each users who need to be controlled. Unfortunately, even if we just assign the Field selection for specified type of PO. EFB function will apply the restriction to all types of PO not only the standard PO. Of course, we can control the standard PO which get the price from condition and source list. But, the problem is we how to deal with consumable PR and PO? Valuation price on consumable PR is estimate and there is no fixed vendor or condition record. Maybe we need to just the price on consumable PO finally. Can anyone help on this? Many thanks.
You've the following options,
1) Restrict processing manually by making the setting of the corresponding condition type.
However, for consumable purchase you'll use only manual pricing condition type PBXX.
2) Create Variant groups and assigning users : You've to use this function and make the condition tab details as Output only (Visible but can't process).
3) You may also use BAdI ME_PROCESS_PO_CUST and restrict users from processing the conditions manually specific to any document type (Eg: NB).
I think you will have to go for development. I think you can use the BAdI ME_PROCESS_PO_CUST, process FIELDSELECTION_HEADER for this purpose. There you can check the order type (call IM_HEADER->GET_DATA to obtain all header fields) and then influence the field selection for the metafield mmmfd_item_conditions in the parameter table CH_FIELDSELECTION.
If this metafield is not available in CH_FIELDSELECTION, you may try the method FIELDSELECTION_ITEM in the same BAdI.