I have typically handled this in crystal reports in the following manner
( if {EmpBasic1.Shift} <> 3 then
{LaborDtl1.PayrollDate} = {@lastBusinessDay} to {@lastBusinessDay 2}
else
{LaborDtl1.PayrollDate}-1 = {@lastBusinessDay} to {@lastBusinessDay 2}
)