Aqui va...
*Declare un rango para el valor que se usara como parametro de comparacion.
DATA gd_lines TYPE i.
RANGES: r_ebeln FOR bseg-ebeln.
*Despues de la tabla interna principal llene el rango que iba a utilizar.
SORT t_bseg BY ebeln.
LOOP AT t_bseg .
IF t_bseg-ebeln <> space.
MOVE 'I' TO r_ebeln-sign.
MOVE 'EQ' TO r_ebeln-option.
MOVE t_bseg-ebeln TO r_ebeln-low.
APPEND r_ebeln.
ENDIF.
ENDLOOP.
*Borre los duplicados para tener un rango hecho correctamente.
DELETE ADJACENT DUPLICATES FROM r_ebeln.
*Llene una tabla interna generada solo con los datos que ocupaba en base al rango hecho.
SELECT ebeln MAX( budat )
INTO TABLE ti_budat
FROM ekbe
WHERE ebeln IN r_ebeln
GROUP BY ebeln.
*Agregue los datos de la tabla interna con los datos especificos en la tabla interna principal.
DESCRIBE TABLE ti_budat LINES gd_lines.
IF gd_lines > 0.
LOOP AT t_bseg.
READ TABLE ti_budat WITH KEY ebeln = t_bseg-ebeln.
IF sy-subrc = 0.
t_bseg-budat = ti_eindt-eindt.
MODIFY t_bseg.
ENDIF.
ENDLOOP.
ENDIF.
y listo...