faush: The zero response means that you IF test is evaluating false. Check this by doing 1 of 2 things.
1. Create another formula which just contains the IF test i.e.(CHART.CAACT1} = "1000" and {CHART.CAFNCT} = "00"
and {CHART.CACMPY} = "1" and {CHART.CAFND1} = "01"
Place this on your report and check that you are getting True responses when you expect them
2. Trim your strings to remove any spurious characters as in :
numbervar annual := 0;
annual := if trim((CHART.CAACT1}) = "1000" and trim({CHART.CAFNCT}) = "00"
and trim({CHART.CACMPY}) = "1" and trim({CHART.CAFND1}) = "01"
then
({CHART.CACA01} + {CHART.CACA02} + {CHART.CACA03} + {CHART.CACA04} + {CHART.CACA05} + {CHART.CACA06} + {CHART.CACA07} + {CHART.CACA08} + {CHART.CACA09} + {CHART.CACA10} + {CHART.CACA11} + {CHART.CACA12} +
{CHART.CACA13})
else
annual
You may find it easier if (CHART.CAACT1},{CHART.CAFNCT},{CHART.CACMPY},{CHART.CAFND1} will only contain numeric charcters to convert the whole thing to use numerics as in:
numbervar annual := 0;
annual := if val((CHART.CAACT1}) = 1000 and val({CHART.CAFNCT}) = 0
and val({CHART.CACMPY}) = 1 and val({CHART.CAFND1}) = 1
then
({CHART.CACA01} + {CHART.CACA02} + {CHART.CACA03} + {CHART.CACA04} + {CHART.CACA05} + {CHART.CACA06} + {CHART.CACA07} + {CHART.CACA08} + {CHART.CACA09} + {CHART.CACA10} + {CHART.CACA11} + {CHART.CACA12} +
{CHART.CACA13})
else
annual
David C. Monks
david.monks@chase-international.com
Accredited Crystal Decisions Enterprise Partner