whileprintingrecords;
global stringvar Multiple;
global numbervar RecordCounter;
global stringvar LastMultipleDate;
global numbervar Applied;
global numbervar Total;
stringvar temp:= cstr({@HoursAbsent});
if recordcounter = 1 then
(Multiple := "No";
Applied := {@HoursAbsent};
temp := Cstr({@HoursAbsent});
Total := Total + Applied; recordcounter := recordcounter + 1; temp;)
else if (Qualify4Multiple (CDate(Previous({MCHP_ABSENCE.ABSENCEDATE})),CDate({MCHP_ABSENCE.ABSENCEDATE}))
or Previous({MCHP_ABSENCE.ABSENCEDATE}) = {MCHP_ABSENCE.ABSENCEDATE})
or InStr(GroupName ({MCHP_ABSENCE.PAYCODENAME}), "Intermittent - ")>0.00
or InStr(GroupName ({MCHP_ABSENCE.PAYCODENAME}), "FMLA - ")>0.00
or InStr(GroupName ({MCHP_ABSENCE.PAYCODENAME}), "OFLA - ")>0.00
or InStr(GroupName ({MCHP_ABSENCE.PAYCODENAME}), "OFLA-FMLA ")>0.00
then
(Multiple := "Yes"; Applied := 0; temp := "0";
if LastMultipleDate = "N/A"
then
LastMultipleDate := Cstr(previous({MCHP_ABSENCE.ABSENCEDATE}),"MM/dd/yyyy");
Total := Total + Applied;
recordcounter := recordcounter + 1;
temp;)
else
(temp := Cstr({@HoursAbsent});
Applied := {@HoursAbsent};
Total := Total + Applied;
recordcounter := recordcounter + 1;
temp; )
------------- END CODE -------------------------------------------------------------------------
Example output - specific paycode that needs set to zero, but when paycode appears first in records returned, does NOT zero out while others do:
Taken Applied Absence Code
-------------------------------------------------------
11.60 11.60 OFLA-FMLA - PA
11.60 0 OFLA-FMLA - PA