convert_upper_lower

in src/zgoog_cl_content_repo_gcs.clas.abap [0:0]


  METHOD convert_upper_lower.
    DATA lv_lg       TYPE tcp0c-langu.
    DATA lv_c        TYPE tcp0c-country.
    DATA lv_m        TYPE tcp0c-modifier.
    DATA lv_codepage TYPE cpcodepage.
    DATA lo_convin   TYPE REF TO cl_abap_conv_in_ce.
    DATA lv_text     TYPE string.
    DATA lo_convout  TYPE REF TO cl_abap_conv_out_ce.

    " Get current setting
    GET LOCALE LANGUAGE lv_lg COUNTRY lv_c MODIFIER lv_m.

    lv_codepage = iv_encoding.
    set_locale_for_codepage( lv_codepage ).

    TRY.
        lo_convin = cl_abap_conv_in_ce=>create( encoding = iv_encoding
                                                input    = iv_pattern ).

        lo_convin->read( IMPORTING data = lv_text ).

        lo_convout = cl_abap_conv_out_ce=>create( encoding = iv_encoding ).

        lv_text = to_lower( lv_text ).
        lo_convout->write( data = lv_text ).
        ev_lower = lo_convout->get_buffer( ).
        lo_convout->reset( ).

        lv_text = to_upper( lv_text ).
        lo_convout->write( data = lv_text ).
        ev_upper = lo_convout->get_buffer( ).

      CATCH cx_root.
        CLEAR: ev_upper,
               ev_lower.

    ENDTRY.

    " Restore setting
    SET LOCALE LANGUAGE lv_lg COUNTRY lv_c MODIFIER lv_m.