how can I prevent posting material documents for articles that have base unit of measure PC and have quantity value as decimal number?
Eg. Good receipt for 0,7 PCs of TV does not make any sense.
Unfortunately, this cannot be avoided.
There are problems like the possible use of alternative units of measure, which have as an immediate consequence a situation like the following one:
A material has PC as the base unit of measure and this is set to allow 0 decimal places.
This material also has an alternative unit of measure ABC, where 3 ABC = 1 PC.
If a posting is made for 1 ABC the system will post 0,33 PC, regardless of what is set in customizing.
The SAP Note 95869 says that if the fields affected are defined as quantity field (type QUAN), it is not possible to change the number of decimal places to any other than the one defined in the ABAP/4 Data Dictionary in the domain of the field.
You can double check this point by having a look at the fields affected.
As said before, these fields are defined as quantity field (type QUAN):
In SE11, enter the Database table MSEG and click on 'Display'. Look for the field name ERFMG. You will see that, for this field ERFMG, the Data type in the ABAP Dictionary is QUAN.
Double click in the data element ERFMG. You will see here the Domain, with the following data available:
Domain name MENG13
Data type QUAN
No. of characters 13
Decimal places 3 <<<<<<
Output length 17