[ABAP] Datumsfeld auf Gültigkeit prüfen

Variante 1 (cl_reca_date)

TRY.
    cl_reca_date=>check_date( CONV d( '01.01.1999' ) ).

  CATCH cx_root INTO DATA(e1).
    WRITE: / e1->get_text( ).
ENDTRY.

TRY.
    cl_reca_date=>check_date( CONV d( '19990101' ) ).

  CATCH cx_root INTO DATA(e2).
    WRITE: / e2->get_text( ).
ENDTRY.

TRY.
    cl_reca_date=>check_date( CONV d( '1234' ) ).

  CATCH cx_root INTO DATA(e3).
    WRITE: / e3->get_text( ).
ENDTRY.

Variante 2 (cl_reca_date)

IF abap_true = cl_reca_date=>is_date_ok( id_date = sy-datum ).
  WRITE: / 'Ok.'.
ELSE.
  WRITE: / 'Fehlerhaft.'.
ENDIF.

Variante 3 (cl_rs_time_service)

IF abap_true = cl_rs_time_service=>is_valid_date( '20250131' ).
  WRITE: / 'Datum ok.'.
ELSE.
  WRITE: / 'Datum fehlerhaft.'.
ENDIF.