То, что вы можете сделать в ABL, это вычесть даты.который дает возраст в днях.Затем вы можете разделить это на 365 и округлить, чтобы получить возраст в годах.Очевидно, что это не учитывает високосные годы, поэтому не является точным на 100%.
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.
Кроме того, если вы хотите, чтобы он был точным, включая високосные годы, вам придется работать немного усерднее.То, что я сделал здесь, это добавление количества лет к дате рождения, чтобы увидеть, уже произошел ли день рождения.Если этого не произошло, я забираю 1 год.Там, вероятно, более элегантные решения, но это сделает работу!
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.