Something you can do in ABL is to subtract dates. which gives the age in days. You could then divide that by 365 and round it down to give the age in years. Obviously this doesn't take leap years into account, so isn't 100% accurate.
DEFINE VARIABLE dob AS date.
DEFINE VARIABLE age AS INTEGER.
ASSIGN
dob = 09/16/1988
age = TRUNCATE(((TODAY - 03/25/1979) / 365),0).
MESSAGE age VIEW-AS ALERT-BOX.
Alternatively, if you want it to be accurate including leap years you have to work a bit harder.
What I've done here is to add the number of years to the birth date to see if the birthday has already happened. If it hasn't then I take 1 year away. There's probably more elegant solutions, but it will do the job!
DEFINE VARIABLE dob AS date.
DEFINE VARIABLE age AS INTEGER.
DEFINE VARIABLE comp AS DATE NO-UNDO.
ASSIGN
dob = 09/16/1988.
comp = add-interval(dob,year(TODAY) - year(dob),"YEARS").
IF TODAY GT comp THEN
age = year(TODAY) - year(dob).
ELSE
age = year(TODAY) - year(dob) - 1.
MESSAGE age VIEW-AS ALERT-BOX.