Didn't make a difference. Perhaps because I have the ROUND function within a CREATE?
I use the exact same syntax in a rule without CREATE and the rounding takes place as expected. In the following case it doesn't work. Pending.Amount will contain the number with no rounding if I remove the ROUND statement. With the ROUND statement Pending.Amount ends up as zero. Every thing else ends up as expected in either case, with or without ROUND.
IF NSCPers.Reenroll WAS CHANGED TO 'Yes' AND EXISTS FeeTable WHERE (FeeTable.Type=NSCPers.MemberType) Then
FIND FeeTable WHERE NSCPers.MemberType=FeeTable.Type
CREATE Pending WITH
Pending.MemberType=NSCPers.MemberType,
Pending.Type=NSCPers.MemberStatus,
Pending.SocialSecurityNumber=NSCPers.SocialSecurityNumber,
Pending.LastFour=CHARS_FROM_RIGHT(NSCPers.SocialSecurityNumber,4),
Pending.UnitCode=NSCPers.UnitCode,
Pending.Amount=FeeTable.Amount*NSCPers.MonthsToEnroll,
Pending.Amount=ROUND(Pending.Amount,0),
Pending.Date=CURRENT_DATE,
Pending.LastName=NSCPers.LastName,
Pending.FirstName=NSCPers.FirstName,
Pending.BirthDate=NSCPers.BirthDate,
Pending.ExpireDate=NSCPers.ExpireDate,
Pending.Rank=NSCPers.Rank,
Pending.Paid = 'N',
Pending.Type='R'