Code: Alles auswählen.
*&---------------------------------------------------------------------*
*& Form make_date_Tab
*&---------------------------------------------------------------------*
form make_date_Tab .
data r_date type sydatum.
data from_date type sydatum.
data to_date type sydatum.
* Vorsichtshalber Unter / Obergrenze
constants maxdate type sydatum value '20991231'.
constants mindate type sydatum value '19000101'.
* Kein Intervall/Einzelwerte eingegeben
if so_dat[] is initial. exit. endif.
* Ausrichten ! und Unter/Obergrenze setzen
from_date = maxdate.
to_date = mindate.
* Ermitteln kleinstes / größtes Datum
loop at so_dat.
if so_dat-low cn ' 0'.
if from_date > so_dat-low. from_date = so_dat-low. endif.
if to_date < so_dat-low. to_date = so_dat-low. endif.
endif.
if so_dat-high cn ' 0'.
if from_date > so_dat-high.from_date = so_dat-high.endif.
if to_date < so_dat-high.to_date = so_dat-high.endif.
endif.
endloop.
* Sicherung
if from_date < mindate. from_date = mindate. endif.
if to_date > maxdate. to_date = maxdate. endif.
* Anfangsdatum
r_date = from_date.
* Laufen lassen
do.
if r_Date in so_Dat.
write : / r_Date.
endif.
r_date = r_date + 1.
* Auf Obergrenze setzen
if r_date > to_date. exit. endif.
enddo.
endform. " make_date_Tab