Ну что-то типа такой программки, скопируй себе и посмотри как она отрабатывает. В общем сначала выбираем все документы изменений, ключ change_ind = 'U', а потом уже смотрим что это за изменение. В твоем случае это поле ZTERM. Кстати, изменений может быть несколько, но при такой сортировке, первая выбранная запись именно то что тебе надо.
DATA: i_cdhdr LIKE cdhdr,
l_value_new LIKE cdpos-value_new,
l_value_old LIKE cdpos-value_old.
SELECT objectclas
objectid
changenr
username "Код пользователя ввевшего код
udate "Дата ввода кода
utime "Время ввода кода
INTO CORRESPONDING FIELDS OF i_cdhdr
FROM cdhdr WHERE objectclas = 'EINKBELEG' AND
objectid = '4500011870' AND
change_ind = 'U'
ORDER BY username udate DESCENDING utime DESCENDING.
WRITE: / i_cdhdr.
SELECT value_new value_old
INTO (l_value_new, l_value_old)
FROM cdpos
WHERE objectclas = i_cdhdr-objectclas AND
objectid = i_cdhdr-objectid AND
changenr = i_cdhdr-changenr AND
tabname = 'EKKO' AND
fname = 'ZTERM'.
WRITE: / l_value_new(5), l_value_old(5).
ENDSELECT.
ENDSELECT.
PS: Опять же, специалисты по SQL, может через группировки смогут это дело оптимизировать.