I don't have a ready answer but right now i could think of one solution.
Add one filed on MM01 and input value for that field will be different sales order type and once you will enter the material on sales order, try to find one exit which checks for the order type in MM01.
I hope this quick one will help
KIndly maintain the material exclusion with the key combination of Sales doc type/Material in T code VB01 (B001)
Path to maintain the condition table with above combination as below
>IMG>Sales and distribution ->Basic Functions->Listing/Exclusion
If you need any further clarifications let me know
Ristriction the material on the basis of sales order type is not available,
But it is possible through round the way solution as suggested by damodar,
Through listing and Exclusion,
Create condition table >>> take ket combination Sales order type & material >>> Genrate table.
Assign this table in Access sequence BA01
Assign this access sequence in condition type for Exclision - BA01
Now maintain condition record for condition type exclusion - BA01
You will get result as you wish .
Edited by: Kapildev Farakte on Jan 15, 2010 9:28 AM
Here in the Listing and Exclusion you have to enter the Listing or Exclusion procedure for your Sales document type in SPRO
Then in VB01 maintain all the Material you want to list for that particular customer.
Now try to process the Sales order with the Material other than listed for the Customer, in the sense enter the material which was not maintained for the customer, then it will throw an error stating
the Material not listed and therefore not allowed.
This is how listing and Exclusion functionality will work
Please check and revert back