La tabla no comienza con Z la tabla es la bsid o la bsad dependiendo de si son partidas abiertas o compensadas, lo que comienza con Z es el campo pero eso no importa así comienzan esos de las fechas, de hecho yo al igual que jaime supuse que así se calculaba la fecha ya que se seguía un patrón, pero debugueando la transacción logré llegar a esta rutina, y así es como lo puse yo en mi programa para calcularlo:
loop at it_deudor into wa_deudor.
"Obtenemos la fecha de vencimiento neto
if wa_deudor-zfbdt is initial.
wa_deudor-zfbdt = wa_deudor-bldat.
endif.
if not wa_deudor-zbd3t is initial.
refe = wa_deudor-zbd3t.
else.
if not wa_deudor-zbd2t is initial.
refe = wa_deudor-zbd2t.
else.
refe = wa_deudor-zbd1t.
endif.
endif.
if koart = 'D' and wa_deudor-shkzg = 'H'
or koart = 'K' and wa_deudor-shkzg = 'S'.
if wa_deudor-rebzg is initial.
refe = 0.
endif.
endif.
wa_deudor-faedt = wa_deudor-zfbdt + refe.
endloop
it_deudor es mi tabla interna y ps el otro es una workarea para poder tratar los registros que yo ya m traía, ya que mi tabla interna ya estaba llena solo la iteré para poder conseguir esa fecha, refe es solo una variable auxiliar de tipo p.
Saludos y espero t ayude