It is not uncommon that the use of the field Maximum Stock Level in the MRP1 tab in the Material Master leads to misinterpretations. This field can only be properly used together with lot-sizing procedure HB: Replenishment up to maximum stock level. This is commonly used for tanker planning where storage is limited to the tank capacity. This lot sizing can be used in conjunction with re-order point planning or MRP. It cannot be properly used independent of lot sizing HB as a procurement ceiling (see my suggestion at the end of this post for a way to address this).
Planning Type PD: MRP
The system will create a requisition for the size of the remaining capacity of the tank OR if the requirement in a period exceeds the remaining tank capacity it will take the real requirement. MRP gives priority to giving the planner a balanced planning overview. It is up to the planner how to handle the storage shortage.
Planning Type VB/VM: Re-order point excl external requirements
Lot size = max stock level – current stock – existing fixed receipts
Planning Type V1/V2: Re-order point incl external requirements
Slightly more complex, this is a two step approach:
1) Lot size = max stock level – current stock – existing fixed receipts
2) Lot size = Re-order point – Total requirements in lead time – current stock – existing fixed receipts
Whichever of the two is the highest will be the quantity proposed.
Order ceiling
Some customers prefer to stick to exact lot sizing and want to use the maximum stock level as a ceiling. SAP does not support this. There is a work-around for this by using the coverage profile. Whenever a requisition exceeds the max stock level in the coverage profile MRP will issue a warning (25). This can be used to avoid exceeding the tank capacity if you align this indicator with the tank capacity. Since the coverage profile is based on historical average demand, this method can only be used if your average demand is stable.
If you like this post, you may also like:

Hi Kowboy. I think V1/V2 should be incl. ext. requirement. VB/VM should be excl. ext. requirement. If so, the approach you described also alternate right.