Code: Alles auswählen.
REPORT.
SELECT MIN( begda ) AS begda,
MAX( endda ) AS endda,
gtw
FROM zxy AS itab
WHERE begda <= '20201231' " Start nicht nach 2020
AND endda >= '20200101' " Ende nicht vor 2020
AND gtw = '2' " Vorgabe
* Es darf kein Intervall nach einer selektierten Zeile geben, die im Jahr 2020 liegt aber nach dem Beginndatum der Zeile der DB-Tabelle
AND NOT EXISTS ( SELECT * FROM zxy WHERE begda <= '20201231' " Noch in 2020
AND begda > itab~begda " Aber nach dem Intervall
AND gtw <> '2'
)
GROUP BY gtw
INTO @DATA(ls_data).
WRITE:/ ls_data-begda, ls_data-endda.
ENDSELECT.