Code: Alles auswählen.
* Eingangsprüfungen
IF lv_zeit_von+2(4) <> '0000'.
MESSAGE 'Bitte nur volle Stunden eingeben' TYPE 'E'.
ENDIF.
IF lv_zeit_bis2(4) <> '0000'.
MESSAGE 'Bitte nur volle Stunden eingeben' TYPE 'E'.
ENDIF.
IF lv_zeit_bis = '000000'.
MESSAGE 'Bis Zeit muss größer 00:00:00 sein' TYPE 'E'.
ENDIF.
* Startwert setzten
ls_data-datum = lv_datum_low.
ls_data-zeit_von = lv_zeit_low.
ls_data-zeit_bis = lv_zeit_low + 3600.
APPEND ls_data TO gt_data
DO.
* nächstes Intervall berechnen
ls_data-zeit_von = ls_data-zeit_bis.
ls_data-zeit_bis = ls_data-zeit_von + 3600.
* auf Datumsgrenze prüfen
IF ls_data-zeit_von = '000000'.
ls_data-datum = ls_data-datum + 1.
ENDIF.
APPEND ls_data TO gt_data.
* Ende erreicht?
IF ls_data-datum = lv_datum_high AND ls_data-zeit_bis = p_uzbis.
EXIT.
ENDIF.
ENDDO.
Eine Aufgabenbeschreibung würde das Helfen einfacher machenabap_coder hat geschrieben:Allerdings habe ich noch massive performanceprobleme, hat jemand Tipps wie ich diese lösen kann?