MivaScript Calculate Order Subtotal
<MvFUNCTION NAME = "Calculate_Subtotal" PARAMETERS = "order var" STANDARDOUTPUTLEVEL = "">
<MvDO FILE="{ g.Module_Library_DB }" NAME="l.orderitem_count" VALUE="{ OrderItemList_Load_Order( l.order:id, l.orderitem ) }">
<MvASSIGN NAME="l.ord_itm_pos" value=1>
<MvWHILE EXPR= "{ l.ord_itm_pos LE l.orderitem_count }">
<MvASSIGN NAME = "l.order_subtotal" VALUE= "{ l.order_subtotal + (l.orderitem[ l.ord_itm_pos ]:price * l.orderitem[ l.ord_itm_pos ]:quantity) }">
<MvDO FILE="{ g.Module_Library_DB }" NAME="l.orderoption_count" VALUE="{ OrderOptionList_Load_Line( l.orderitem[ l.ord_itm_pos ]:line_id, l.orderoption ) }">
<MvASSIGN NAME="l.ord_opt_pos" VALUE=1>
<MvWHILE EXPR= "{ l.ord_opt_pos LE l.orderoption_count }">
<MvASSIGN NAME = "l.order_subtotal" VALUE= "{ l.order_subtotal + (l.orderoption[ l.ord_opt_pos ]:price * l.orderitem[ l.ord_itm_pos ]:quantity) }">
<MvASSIGN NAME="l.ord_opt_pos" VALUE="{ l.ord_opt_pos + 1 }">
</MvWHILE>
<MvASSIGN NAME="l.ord_itm_pos" VALUE="{ l.ord_itm_pos + 1 }">
</MvWHILE>
<MvFUNCTIONRETURN VALUE = "{ l.order_subtotal }">
</MvFUNCTION>