I'm sorry, the code should have been:
Whileprintingrecords;
numbervar COM;
if {@margin by grouptest} > 0 then
(
If COM + (({@COMSALESREP%} * {#rate by group test} * {@COMTERMCONV} *{@COMPOFITMARGIN%}) + ({@display chargerate max}/2)) >= 4000 then
(
COM := 4000;
(({@COMSALESREP%} * {#rate by group test} * {@COMTERMCONV} *{@COMPOFITMARGIN%}) + ({@display chargerate max}/2));
)
Else
(
COM := COM +(({@COMSALESREP%} * {#rate by group test} * {@COMTERMCONV} *{@COMPOFITMARGIN%}) + ({@display chargerate max}/2));
(({@COMSALESREP%} * {#rate by group test} * {@COMTERMCONV} *{@COMPOFITMARGIN%}) + ({@display chargerate max}/2));
)
)
Else if {@margin by grouptest} <= 0 then
(
COM := COM +(({@COMSALESREP%} * {#rate by group test} * {@COMTERMCONV} * {@COMPOFITMARGIN%}));
(({@COMSALESREP%} * {#rate by group test} * {@COMTERMCONV} * {@COMPOFITMARGIN%}));
)
-Abhilash