SAP Tutorials Blog


 

 


DATA(date4conversion) = CONV d( '20240202' ).

DATA conv_date_str TYPE string.

DATA conv_date_d TYPE d.

DATA date_format TYPE cl_abap_datfm=>ty_datfm.

TYPES: BEGIN OF date_ty_s,

          ext_date TYPE string,

          format   TYPE c LENGTH 1,

          int_date TYPE d,

        END OF date_ty_s.

DATA date_tab TYPE TABLE OF date_ty_s WITH EMPTY KEY.


"Conversion of d (internal) to string (external time format)

DO 7 TIMES.

  TRY.

      cl_abap_datfm=>conv_date_int_to_ext(

        EXPORTING im_datint    = date4conversion

                  im_datfmdes  = SWITCH #( sy-index

                                            WHEN 1 THEN cl_abap_datfm=>get_datfm( )

                                            WHEN 2 THEN '1'

                                            WHEN 3 THEN '2'

                                            WHEN 4 THEN '3'

                                            WHEN 5 THEN '6'

                                            WHEN 6 THEN 'A'

                                            WHEN 7 THEN 'C' )

        IMPORTING ex_datext    = conv_date_str

                  ex_datfmused = date_format  ).

      date_tab = VALUE #( BASE date_tab ( ext_date = conv_date_str format = date_format ) ).

    CATCH cx_abap_datfm_format_unknown.

  ENDTRY.

ENDDO.


"Conversion of string (external) to d (internal time format)

LOOP AT date_tab REFERENCE INTO DATA(ref_date).

  TRY.

      cl_abap_datfm=>conv_date_ext_to_int(

        EXPORTING im_datext    = ref_date->ext_date

                  im_datfmdes  = ref_date->format

        IMPORTING ex_datint    = conv_date_d

                  ex_datfmused = date_format ).

      ref_date->int_date = conv_date_d.

    CATCH cx_abap_datfm_no_date cx_abap_datfm_invalid_date 

          cx_abap_datfm_format_unknown cx_abap_datfm_ambiguous.

  ENDTRY.

ENDLOOP.


Serkan AKKAVAK

Computer Engineer BSc

Head of SAP & Software Department

Contact : serkurumsal@yandex.com