ME046 is issued if PSTAT field has no E for purchasing (check MARA and MARC table, both have PSTAT field). ME046 it is a hardcoded error message.
But this PSTAT field is only checked in case the material is not a value only material (e.g. material type WERT - only possible in retail)
if you dont want allow external procurement, then OMS2 is the correct place, but it is not the view selection that restrict external procurement, it is setting for external procurement on the left. if you set this to 0 then no external procurement is allowed. the setting 1 is actually root cause for the message ME092.