mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 04:08:27 +08:00
lcl_convert to global class #1061
This commit is contained in:
parent
41634c0535
commit
641025f907
168
src/utils/zcl_abapgit_convert.clas.abap
Normal file
168
src/utils/zcl_abapgit_convert.clas.abap
Normal file
|
@ -0,0 +1,168 @@
|
||||||
|
CLASS zcl_abapgit_convert DEFINITION
|
||||||
|
PUBLIC
|
||||||
|
CREATE PUBLIC .
|
||||||
|
|
||||||
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
CLASS-METHODS bitbyte_to_int
|
||||||
|
IMPORTING
|
||||||
|
!iv_bits TYPE clike
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_int) TYPE i .
|
||||||
|
CLASS-METHODS x_to_bitbyte
|
||||||
|
IMPORTING
|
||||||
|
!iv_x TYPE x
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_bitbyte) TYPE zif_abapgit_definitions=>ty_bitbyte .
|
||||||
|
CLASS-METHODS string_to_xstring_utf8
|
||||||
|
IMPORTING
|
||||||
|
!iv_string TYPE string
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_xstring) TYPE xstring .
|
||||||
|
CLASS-METHODS xstring_to_string_utf8
|
||||||
|
IMPORTING
|
||||||
|
!iv_data TYPE xstring
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_string) TYPE string .
|
||||||
|
CLASS-METHODS xstring_to_int
|
||||||
|
IMPORTING
|
||||||
|
!iv_xstring TYPE xstring
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_i) TYPE i
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception .
|
||||||
|
CLASS-METHODS int_to_xstring4
|
||||||
|
IMPORTING
|
||||||
|
!iv_i TYPE i
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_xstring) TYPE xstring .
|
||||||
|
CLASS-METHODS split_string
|
||||||
|
IMPORTING
|
||||||
|
!iv_string TYPE string
|
||||||
|
RETURNING
|
||||||
|
VALUE(rt_lines) TYPE string_table .
|
||||||
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CLASS ZCL_ABAPGIT_CONVERT IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD bitbyte_to_int.
|
||||||
|
|
||||||
|
DATA: lv_bits TYPE string.
|
||||||
|
|
||||||
|
|
||||||
|
lv_bits = iv_bits.
|
||||||
|
|
||||||
|
rv_int = 0.
|
||||||
|
WHILE strlen( lv_bits ) > 0.
|
||||||
|
rv_int = rv_int * 2.
|
||||||
|
IF lv_bits(1) = '1'.
|
||||||
|
rv_int = rv_int + 1.
|
||||||
|
ENDIF.
|
||||||
|
lv_bits = lv_bits+1.
|
||||||
|
ENDWHILE.
|
||||||
|
|
||||||
|
ENDMETHOD. "bitbyte_to_int
|
||||||
|
|
||||||
|
|
||||||
|
METHOD int_to_xstring4.
|
||||||
|
* returns xstring of length 4 containing the integer value iv_i
|
||||||
|
|
||||||
|
DATA: lv_x TYPE x LENGTH 4.
|
||||||
|
|
||||||
|
|
||||||
|
lv_x = iv_i.
|
||||||
|
rv_xstring = lv_x.
|
||||||
|
|
||||||
|
ENDMETHOD. "int_to_xstring
|
||||||
|
|
||||||
|
|
||||||
|
METHOD split_string.
|
||||||
|
|
||||||
|
FIND FIRST OCCURRENCE OF cl_abap_char_utilities=>cr_lf IN iv_string.
|
||||||
|
|
||||||
|
" Convert string into table depending on separator type CR_LF vs. LF
|
||||||
|
IF sy-subrc = 0.
|
||||||
|
SPLIT iv_string AT cl_abap_char_utilities=>cr_lf INTO TABLE rt_lines.
|
||||||
|
ELSE.
|
||||||
|
SPLIT iv_string AT cl_abap_char_utilities=>newline INTO TABLE rt_lines.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDMETHOD. "split_string
|
||||||
|
|
||||||
|
|
||||||
|
METHOD string_to_xstring_utf8.
|
||||||
|
|
||||||
|
DATA: lo_obj TYPE REF TO cl_abap_conv_out_ce.
|
||||||
|
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
lo_obj = cl_abap_conv_out_ce=>create( encoding = 'UTF-8' ).
|
||||||
|
|
||||||
|
lo_obj->convert( EXPORTING data = iv_string
|
||||||
|
IMPORTING buffer = rv_xstring ).
|
||||||
|
|
||||||
|
CATCH cx_parameter_invalid_range
|
||||||
|
cx_sy_codepage_converter_init
|
||||||
|
cx_sy_conversion_codepage
|
||||||
|
cx_parameter_invalid_type. "#EC NO_HANDLER
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
ENDMETHOD. "string_to_xstring_utf8
|
||||||
|
|
||||||
|
|
||||||
|
METHOD xstring_to_int.
|
||||||
|
|
||||||
|
DATA: lv_xstring TYPE xstring,
|
||||||
|
lv_x TYPE x.
|
||||||
|
|
||||||
|
|
||||||
|
lv_xstring = iv_xstring.
|
||||||
|
WHILE xstrlen( lv_xstring ) > 0.
|
||||||
|
lv_x = lv_xstring(1).
|
||||||
|
rv_i = rv_i * 256 + lv_x.
|
||||||
|
lv_xstring = lv_xstring+1.
|
||||||
|
ENDWHILE.
|
||||||
|
|
||||||
|
ENDMETHOD. "xstring_to_int
|
||||||
|
|
||||||
|
|
||||||
|
METHOD xstring_to_string_utf8.
|
||||||
|
|
||||||
|
DATA: lv_len TYPE i,
|
||||||
|
lo_obj TYPE REF TO cl_abap_conv_in_ce.
|
||||||
|
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
lo_obj = cl_abap_conv_in_ce=>create(
|
||||||
|
input = iv_data
|
||||||
|
encoding = 'UTF-8' ).
|
||||||
|
lv_len = xstrlen( iv_data ).
|
||||||
|
|
||||||
|
lo_obj->read( EXPORTING n = lv_len
|
||||||
|
IMPORTING data = rv_string ).
|
||||||
|
|
||||||
|
CATCH cx_parameter_invalid_range
|
||||||
|
cx_sy_codepage_converter_init
|
||||||
|
cx_sy_conversion_codepage
|
||||||
|
cx_parameter_invalid_type. "#EC NO_HANDLER
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
ENDMETHOD. "xstring_to_string_utf8
|
||||||
|
|
||||||
|
|
||||||
|
METHOD x_to_bitbyte.
|
||||||
|
|
||||||
|
DATA: lv_b TYPE n.
|
||||||
|
|
||||||
|
CLEAR rv_bitbyte.
|
||||||
|
|
||||||
|
DO 8 TIMES.
|
||||||
|
GET BIT sy-index OF iv_x INTO lv_b.
|
||||||
|
CONCATENATE rv_bitbyte lv_b INTO rv_bitbyte.
|
||||||
|
ENDDO.
|
||||||
|
|
||||||
|
ENDMETHOD. "x_to_bitbyte
|
||||||
|
ENDCLASS.
|
66
src/utils/zcl_abapgit_convert.clas.testclasses.abap
Normal file
66
src/utils/zcl_abapgit_convert.clas.testclasses.abap
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
*----------------------------------------------------------------------*
|
||||||
|
* CLASS ltcl_convert DEFINITION
|
||||||
|
*----------------------------------------------------------------------*
|
||||||
|
*
|
||||||
|
*----------------------------------------------------------------------*
|
||||||
|
CLASS ltcl_convert DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL.
|
||||||
|
|
||||||
|
PRIVATE SECTION.
|
||||||
|
METHODS convert_int FOR TESTING RAISING zcx_abapgit_exception.
|
||||||
|
METHODS split_string FOR TESTING.
|
||||||
|
|
||||||
|
ENDCLASS. "ltcl_convert DEFINITION
|
||||||
|
|
||||||
|
*----------------------------------------------------------------------*
|
||||||
|
* CLASS ltcl_convert IMPLEMENTATION
|
||||||
|
*----------------------------------------------------------------------*
|
||||||
|
*
|
||||||
|
*----------------------------------------------------------------------*
|
||||||
|
CLASS ltcl_convert IMPLEMENTATION.
|
||||||
|
|
||||||
|
METHOD convert_int.
|
||||||
|
|
||||||
|
DATA: lv_xstring TYPE xstring,
|
||||||
|
lv_input TYPE i,
|
||||||
|
lv_result TYPE i.
|
||||||
|
|
||||||
|
|
||||||
|
DO 1000 TIMES.
|
||||||
|
lv_input = sy-index.
|
||||||
|
lv_xstring = zcl_abapgit_convert=>int_to_xstring4( lv_input ).
|
||||||
|
lv_result = zcl_abapgit_convert=>xstring_to_int( lv_xstring ).
|
||||||
|
|
||||||
|
cl_abap_unit_assert=>assert_equals(
|
||||||
|
exp = lv_input
|
||||||
|
act = lv_result ).
|
||||||
|
ENDDO.
|
||||||
|
|
||||||
|
ENDMETHOD. "convert_int
|
||||||
|
|
||||||
|
METHOD split_string.
|
||||||
|
|
||||||
|
DATA: lt_act TYPE string_table,
|
||||||
|
lt_exp TYPE string_table.
|
||||||
|
|
||||||
|
APPEND 'ABC' TO lt_exp.
|
||||||
|
APPEND '123' TO lt_exp.
|
||||||
|
|
||||||
|
" Case 1. String separated by CRLF
|
||||||
|
lt_act = zcl_abapgit_convert=>split_string( 'ABC' && cl_abap_char_utilities=>cr_lf && '123' ).
|
||||||
|
|
||||||
|
cl_abap_unit_assert=>assert_equals( exp = lt_exp
|
||||||
|
act = lt_act
|
||||||
|
msg = ' Error during string split: CRLF' ).
|
||||||
|
|
||||||
|
CLEAR: lt_act.
|
||||||
|
|
||||||
|
" Case 2. String separated by LF
|
||||||
|
lt_act = zcl_abapgit_convert=>split_string( 'ABC' && cl_abap_char_utilities=>newline && '123' ).
|
||||||
|
|
||||||
|
cl_abap_unit_assert=>assert_equals( exp = lt_exp
|
||||||
|
act = lt_act
|
||||||
|
msg = ' Error during string split: LF' ).
|
||||||
|
|
||||||
|
ENDMETHOD. "split_string.
|
||||||
|
|
||||||
|
ENDCLASS. "ltcl_convert IMPLEMENTATION
|
19
src/utils/zcl_abapgit_convert.clas.xml
Normal file
19
src/utils/zcl_abapgit_convert.clas.xml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||||
|
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||||
|
<asx:values>
|
||||||
|
<VSEOCLASS>
|
||||||
|
<CLSNAME>ZCL_ABAPGIT_CONVERT</CLSNAME>
|
||||||
|
<VERSION>1</VERSION>
|
||||||
|
<LANGU>E</LANGU>
|
||||||
|
<DESCRIPT>Convert</DESCRIPT>
|
||||||
|
<EXPOSURE>2</EXPOSURE>
|
||||||
|
<STATE>1</STATE>
|
||||||
|
<CLSCCINCL>X</CLSCCINCL>
|
||||||
|
<FIXPT>X</FIXPT>
|
||||||
|
<UNICODE>X</UNICODE>
|
||||||
|
<WITH_UNIT_TESTS>X</WITH_UNIT_TESTS>
|
||||||
|
</VSEOCLASS>
|
||||||
|
</asx:values>
|
||||||
|
</asx:abap>
|
||||||
|
</abapGit>
|
|
@ -94,7 +94,7 @@ CLASS lcl_dot_abapgit IMPLEMENTATION.
|
||||||
ls_data TYPE ty_dot_abapgit.
|
ls_data TYPE ty_dot_abapgit.
|
||||||
|
|
||||||
|
|
||||||
lv_xml = lcl_convert=>xstring_to_string_utf8( iv_xstr ).
|
lv_xml = zcl_abapgit_convert=>xstring_to_string_utf8( iv_xstr ).
|
||||||
|
|
||||||
ls_data = from_xml( lv_xml ).
|
ls_data = from_xml( lv_xml ).
|
||||||
|
|
||||||
|
@ -110,7 +110,7 @@ CLASS lcl_dot_abapgit IMPLEMENTATION.
|
||||||
|
|
||||||
lv_xml = to_xml( ms_data ).
|
lv_xml = to_xml( ms_data ).
|
||||||
|
|
||||||
rv_xstr = lcl_convert=>string_to_xstring_utf8( lv_xml ).
|
rv_xstr = zcl_abapgit_convert=>string_to_xstring_utf8( lv_xml ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
|
@ -256,13 +256,13 @@ CLASS lcl_git_transport IMPLEMENTATION.
|
||||||
lv_cmd_pkt = lcl_git_utils=>pkt_string( lv_line ).
|
lv_cmd_pkt = lcl_git_utils=>pkt_string( lv_line ).
|
||||||
|
|
||||||
lv_buffer = lv_cmd_pkt && '0000'.
|
lv_buffer = lv_cmd_pkt && '0000'.
|
||||||
lv_tmp = lcl_convert=>string_to_xstring_utf8( lv_buffer ).
|
lv_tmp = zcl_abapgit_convert=>string_to_xstring_utf8( lv_buffer ).
|
||||||
|
|
||||||
CONCATENATE lv_tmp iv_pack INTO lv_xstring IN BYTE MODE.
|
CONCATENATE lv_tmp iv_pack INTO lv_xstring IN BYTE MODE.
|
||||||
|
|
||||||
lv_xstring = lo_client->send_receive_close( lv_xstring ).
|
lv_xstring = lo_client->send_receive_close( lv_xstring ).
|
||||||
|
|
||||||
lv_string = lcl_convert=>xstring_to_string_utf8( lv_xstring ).
|
lv_string = zcl_abapgit_convert=>xstring_to_string_utf8( lv_xstring ).
|
||||||
IF NOT lv_string CP '*unpack ok*'.
|
IF NOT lv_string CP '*unpack ok*'.
|
||||||
zcx_abapgit_exception=>raise( 'unpack not ok' ).
|
zcx_abapgit_exception=>raise( 'unpack not ok' ).
|
||||||
ELSEIF lv_string CP '*pre-receive hook declined*'.
|
ELSEIF lv_string CP '*pre-receive hook declined*'.
|
||||||
|
@ -368,7 +368,7 @@ CLASS lcl_git_transport IMPLEMENTATION.
|
||||||
&& '0009done' && zif_abapgit_definitions=>gc_newline.
|
&& '0009done' && zif_abapgit_definitions=>gc_newline.
|
||||||
|
|
||||||
lv_xstring = lo_client->send_receive_close(
|
lv_xstring = lo_client->send_receive_close(
|
||||||
lcl_convert=>string_to_xstring_utf8( lv_buffer ) ).
|
zcl_abapgit_convert=>string_to_xstring_utf8( lv_buffer ) ).
|
||||||
|
|
||||||
parse( IMPORTING ev_pack = lv_pack
|
parse( IMPORTING ev_pack = lv_pack
|
||||||
CHANGING cv_data = lv_xstring ).
|
CHANGING cv_data = lv_xstring ).
|
||||||
|
@ -494,19 +494,19 @@ CLASS lcl_git_pack IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
lv_x = cv_data(1).
|
lv_x = cv_data(1).
|
||||||
lv_bitbyte = lcl_convert=>x_to_bitbyte( lv_x ).
|
lv_bitbyte = zcl_abapgit_convert=>x_to_bitbyte( lv_x ).
|
||||||
|
|
||||||
cv_data = cv_data+1.
|
cv_data = cv_data+1.
|
||||||
lv_length_bits = lv_bitbyte+4.
|
lv_length_bits = lv_bitbyte+4.
|
||||||
|
|
||||||
WHILE lv_bitbyte(1) <> '0'.
|
WHILE lv_bitbyte(1) <> '0'.
|
||||||
lv_x = cv_data(1).
|
lv_x = cv_data(1).
|
||||||
lv_bitbyte = lcl_convert=>x_to_bitbyte( lv_x ).
|
lv_bitbyte = zcl_abapgit_convert=>x_to_bitbyte( lv_x ).
|
||||||
cv_data = cv_data+1.
|
cv_data = cv_data+1.
|
||||||
CONCATENATE lv_bitbyte+1 lv_length_bits INTO lv_length_bits.
|
CONCATENATE lv_bitbyte+1 lv_length_bits INTO lv_length_bits.
|
||||||
ENDWHILE.
|
ENDWHILE.
|
||||||
|
|
||||||
ev_length = lcl_convert=>bitbyte_to_int( lv_length_bits ).
|
ev_length = zcl_abapgit_convert=>bitbyte_to_int( lv_length_bits ).
|
||||||
|
|
||||||
ENDMETHOD. "get_length
|
ENDMETHOD. "get_length
|
||||||
|
|
||||||
|
@ -530,7 +530,7 @@ CLASS lcl_git_pack IMPLEMENTATION.
|
||||||
ASSERT NOT <ls_node>-sha1 IS INITIAL.
|
ASSERT NOT <ls_node>-sha1 IS INITIAL.
|
||||||
|
|
||||||
CONCATENATE <ls_node>-chmod <ls_node>-name INTO lv_string SEPARATED BY space.
|
CONCATENATE <ls_node>-chmod <ls_node>-name INTO lv_string SEPARATED BY space.
|
||||||
lv_xstring = lcl_convert=>string_to_xstring_utf8( lv_string ).
|
lv_xstring = zcl_abapgit_convert=>string_to_xstring_utf8( lv_string ).
|
||||||
|
|
||||||
lv_hex20 = to_upper( <ls_node>-sha1 ).
|
lv_hex20 = to_upper( <ls_node>-sha1 ).
|
||||||
CONCATENATE rv_data lv_xstring lc_null lv_hex20 INTO rv_data IN BYTE MODE.
|
CONCATENATE rv_data lv_xstring lc_null lv_hex20 INTO rv_data IN BYTE MODE.
|
||||||
|
@ -582,7 +582,7 @@ CLASS lcl_git_pack IMPLEMENTATION.
|
||||||
|
|
||||||
CONCATENATE lv_string zif_abapgit_definitions=>gc_newline is_commit-body INTO lv_string.
|
CONCATENATE lv_string zif_abapgit_definitions=>gc_newline is_commit-body INTO lv_string.
|
||||||
|
|
||||||
rv_data = lcl_convert=>string_to_xstring_utf8( lv_string ).
|
rv_data = zcl_abapgit_convert=>string_to_xstring_utf8( lv_string ).
|
||||||
|
|
||||||
ENDMETHOD. "encode_commit
|
ENDMETHOD. "encode_commit
|
||||||
|
|
||||||
|
@ -592,7 +592,7 @@ CLASS lcl_git_pack IMPLEMENTATION.
|
||||||
lv_bitbyte TYPE zif_abapgit_definitions=>ty_bitbyte.
|
lv_bitbyte TYPE zif_abapgit_definitions=>ty_bitbyte.
|
||||||
|
|
||||||
|
|
||||||
lv_bitbyte = lcl_convert=>x_to_bitbyte( iv_x ).
|
lv_bitbyte = zcl_abapgit_convert=>x_to_bitbyte( iv_x ).
|
||||||
lv_char3 = lv_bitbyte+1.
|
lv_char3 = lv_bitbyte+1.
|
||||||
|
|
||||||
CASE lv_char3.
|
CASE lv_char3.
|
||||||
|
@ -623,7 +623,7 @@ CLASS lcl_git_pack IMPLEMENTATION.
|
||||||
FIELD-SYMBOLS: <lv_string> LIKE LINE OF lt_string.
|
FIELD-SYMBOLS: <lv_string> LIKE LINE OF lt_string.
|
||||||
|
|
||||||
|
|
||||||
lv_string = lcl_convert=>xstring_to_string_utf8( iv_data ).
|
lv_string = zcl_abapgit_convert=>xstring_to_string_utf8( iv_data ).
|
||||||
|
|
||||||
SPLIT lv_string AT zif_abapgit_definitions=>gc_newline INTO TABLE lt_string.
|
SPLIT lv_string AT zif_abapgit_definitions=>gc_newline INTO TABLE lt_string.
|
||||||
|
|
||||||
|
@ -683,13 +683,13 @@ CLASS lcl_git_pack IMPLEMENTATION.
|
||||||
DO.
|
DO.
|
||||||
lv_x = cv_delta(1).
|
lv_x = cv_delta(1).
|
||||||
cv_delta = cv_delta+1.
|
cv_delta = cv_delta+1.
|
||||||
lv_bitbyte = lcl_convert=>x_to_bitbyte( lv_x ).
|
lv_bitbyte = zcl_abapgit_convert=>x_to_bitbyte( lv_x ).
|
||||||
CONCATENATE lv_bitbyte+1 lv_bits INTO lv_bits.
|
CONCATENATE lv_bitbyte+1 lv_bits INTO lv_bits.
|
||||||
IF lv_bitbyte(1) = '0'.
|
IF lv_bitbyte(1) = '0'.
|
||||||
EXIT. " current loop
|
EXIT. " current loop
|
||||||
ENDIF.
|
ENDIF.
|
||||||
ENDDO.
|
ENDDO.
|
||||||
ev_header = lcl_convert=>bitbyte_to_int( lv_bits ).
|
ev_header = zcl_abapgit_convert=>bitbyte_to_int( lv_bits ).
|
||||||
|
|
||||||
ENDMETHOD. "delta_header
|
ENDMETHOD. "delta_header
|
||||||
|
|
||||||
|
@ -851,7 +851,7 @@ CLASS lcl_git_pack IMPLEMENTATION.
|
||||||
lv_len = lv_cursor - lv_start.
|
lv_len = lv_cursor - lv_start.
|
||||||
lv_xstring = iv_data+lv_start(lv_len).
|
lv_xstring = iv_data+lv_start(lv_len).
|
||||||
|
|
||||||
lv_string = lcl_convert=>xstring_to_string_utf8( lv_xstring ).
|
lv_string = zcl_abapgit_convert=>xstring_to_string_utf8( lv_xstring ).
|
||||||
SPLIT lv_string AT space INTO lv_chmod lv_name.
|
SPLIT lv_string AT space INTO lv_chmod lv_name.
|
||||||
|
|
||||||
lv_offset = lv_cursor + 1.
|
lv_offset = lv_cursor + 1.
|
||||||
|
@ -942,7 +942,7 @@ CLASS lcl_git_pack IMPLEMENTATION.
|
||||||
|
|
||||||
* number of objects
|
* number of objects
|
||||||
lv_xstring = lv_data(4).
|
lv_xstring = lv_data(4).
|
||||||
lv_objects = lcl_convert=>xstring_to_int( lv_xstring ).
|
lv_objects = zcl_abapgit_convert=>xstring_to_int( lv_xstring ).
|
||||||
lv_data = lv_data+4.
|
lv_data = lv_data+4.
|
||||||
|
|
||||||
|
|
||||||
|
@ -1050,7 +1050,7 @@ CLASS lcl_git_pack IMPLEMENTATION.
|
||||||
|
|
||||||
CONCATENATE rv_data c_version INTO rv_data IN BYTE MODE.
|
CONCATENATE rv_data c_version INTO rv_data IN BYTE MODE.
|
||||||
|
|
||||||
lv_xstring = lcl_convert=>int_to_xstring4( lines( it_objects ) ).
|
lv_xstring = zcl_abapgit_convert=>int_to_xstring4( lines( it_objects ) ).
|
||||||
CONCATENATE rv_data lv_xstring INTO rv_data IN BYTE MODE.
|
CONCATENATE rv_data lv_xstring INTO rv_data IN BYTE MODE.
|
||||||
|
|
||||||
lv_objects_total = lines( it_objects ).
|
lv_objects_total = lines( it_objects ).
|
||||||
|
|
|
@ -347,7 +347,7 @@ CLASS lcl_http_digest IMPLEMENTATION.
|
||||||
lv_hash TYPE xstring.
|
lv_hash TYPE xstring.
|
||||||
|
|
||||||
|
|
||||||
lv_xstr = lcl_convert=>string_to_xstring_utf8( iv_data ).
|
lv_xstr = zcl_abapgit_convert=>string_to_xstring_utf8( iv_data ).
|
||||||
|
|
||||||
CALL FUNCTION 'CALCULATE_HASH_FOR_RAW'
|
CALL FUNCTION 'CALCULATE_HASH_FOR_RAW'
|
||||||
EXPORTING
|
EXPORTING
|
||||||
|
|
|
@ -151,8 +151,8 @@ CLASS lcl_news IMPLEMENTATION.
|
||||||
RETURN. " Internal format of program version is not correct -> abort parsing
|
RETURN. " Internal format of program version is not correct -> abort parsing
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
lv_string = lcl_convert=>xstring_to_string_utf8( iv_rawdata ).
|
lv_string = zcl_abapgit_convert=>xstring_to_string_utf8( iv_rawdata ).
|
||||||
lt_lines = lcl_convert=>split_string( lv_string ).
|
lt_lines = zcl_abapgit_convert=>split_string( lv_string ).
|
||||||
mt_log = parse( it_lines = lt_lines iv_current_version = mv_current_version ).
|
mt_log = parse( it_lines = lt_lines iv_current_version = mv_current_version ).
|
||||||
|
|
||||||
READ TABLE mt_log INTO ls_log_line INDEX 1.
|
READ TABLE mt_log INTO ls_log_line INDEX 1.
|
||||||
|
|
|
@ -413,7 +413,7 @@ CLASS lcl_object_wapa IMPLEMENTATION.
|
||||||
DATA: lv_string TYPE string.
|
DATA: lv_string TYPE string.
|
||||||
|
|
||||||
|
|
||||||
lv_string = lcl_convert=>xstring_to_string_utf8( iv_content ).
|
lv_string = zcl_abapgit_convert=>xstring_to_string_utf8( iv_content ).
|
||||||
|
|
||||||
SPLIT lv_string AT zif_abapgit_definitions=>gc_newline INTO TABLE rt_content.
|
SPLIT lv_string AT zif_abapgit_definitions=>gc_newline INTO TABLE rt_content.
|
||||||
|
|
||||||
|
@ -438,7 +438,7 @@ CLASS lcl_object_wapa IMPLEMENTATION.
|
||||||
|
|
||||||
CONCATENATE LINES OF lt_content INTO lv_string SEPARATED BY zif_abapgit_definitions=>gc_newline RESPECTING BLANKS.
|
CONCATENATE LINES OF lt_content INTO lv_string SEPARATED BY zif_abapgit_definitions=>gc_newline RESPECTING BLANKS.
|
||||||
|
|
||||||
rv_content = lcl_convert=>string_to_xstring_utf8( lv_string ).
|
rv_content = zcl_abapgit_convert=>string_to_xstring_utf8( lv_string ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
|
@ -347,7 +347,7 @@ CLASS lcl_objects_files IMPLEMENTATION.
|
||||||
read_file( EXPORTING iv_filename = lv_filename
|
read_file( EXPORTING iv_filename = lv_filename
|
||||||
IMPORTING ev_data = lv_data ).
|
IMPORTING ev_data = lv_data ).
|
||||||
|
|
||||||
rv_string = lcl_convert=>xstring_to_string_utf8( lv_data ).
|
rv_string = zcl_abapgit_convert=>xstring_to_string_utf8( lv_data ).
|
||||||
|
|
||||||
ENDMETHOD. "read_string
|
ENDMETHOD. "read_string
|
||||||
|
|
||||||
|
@ -369,7 +369,7 @@ CLASS lcl_objects_files IMPLEMENTATION.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
lv_abap = lcl_convert=>xstring_to_string_utf8( lv_data ).
|
lv_abap = zcl_abapgit_convert=>xstring_to_string_utf8( lv_data ).
|
||||||
|
|
||||||
SPLIT lv_abap AT zif_abapgit_definitions=>gc_newline INTO TABLE rt_abap.
|
SPLIT lv_abap AT zif_abapgit_definitions=>gc_newline INTO TABLE rt_abap.
|
||||||
|
|
||||||
|
@ -388,7 +388,7 @@ CLASS lcl_objects_files IMPLEMENTATION.
|
||||||
ls_file-path = '/'.
|
ls_file-path = '/'.
|
||||||
ls_file-filename = filename( iv_extra = iv_extra
|
ls_file-filename = filename( iv_extra = iv_extra
|
||||||
iv_ext = 'abap' ). "#EC NOTEXT
|
iv_ext = 'abap' ). "#EC NOTEXT
|
||||||
ls_file-data = lcl_convert=>string_to_xstring_utf8( lv_source ).
|
ls_file-data = zcl_abapgit_convert=>string_to_xstring_utf8( lv_source ).
|
||||||
|
|
||||||
APPEND ls_file TO mt_files.
|
APPEND ls_file TO mt_files.
|
||||||
|
|
||||||
|
@ -402,7 +402,7 @@ CLASS lcl_objects_files IMPLEMENTATION.
|
||||||
ls_file-path = '/'.
|
ls_file-path = '/'.
|
||||||
ls_file-filename = filename( iv_extra = iv_extra
|
ls_file-filename = filename( iv_extra = iv_extra
|
||||||
iv_ext = iv_ext ). "#EC NOTEXT
|
iv_ext = iv_ext ). "#EC NOTEXT
|
||||||
ls_file-data = lcl_convert=>string_to_xstring_utf8( iv_string ).
|
ls_file-data = zcl_abapgit_convert=>string_to_xstring_utf8( iv_string ).
|
||||||
|
|
||||||
APPEND ls_file TO mt_files.
|
APPEND ls_file TO mt_files.
|
||||||
|
|
||||||
|
@ -427,7 +427,7 @@ CLASS lcl_objects_files IMPLEMENTATION.
|
||||||
WITH '<?xml version="1.0" encoding="utf-8"?>'.
|
WITH '<?xml version="1.0" encoding="utf-8"?>'.
|
||||||
ASSERT sy-subrc = 0.
|
ASSERT sy-subrc = 0.
|
||||||
|
|
||||||
ls_file-data = lcl_convert=>string_to_xstring_utf8( lv_xml ).
|
ls_file-data = zcl_abapgit_convert=>string_to_xstring_utf8( lv_xml ).
|
||||||
|
|
||||||
APPEND ls_file TO mt_files.
|
APPEND ls_file TO mt_files.
|
||||||
|
|
||||||
|
@ -445,7 +445,7 @@ CLASS lcl_objects_files IMPLEMENTATION.
|
||||||
read_file( EXPORTING iv_filename = lv_filename
|
read_file( EXPORTING iv_filename = lv_filename
|
||||||
IMPORTING ev_data = lv_data ).
|
IMPORTING ev_data = lv_data ).
|
||||||
|
|
||||||
lv_xml = lcl_convert=>xstring_to_string_utf8( lv_data ).
|
lv_xml = zcl_abapgit_convert=>xstring_to_string_utf8( lv_data ).
|
||||||
|
|
||||||
CREATE OBJECT ro_xml
|
CREATE OBJECT ro_xml
|
||||||
EXPORTING
|
EXPORTING
|
||||||
|
|
|
@ -590,7 +590,7 @@ CLASS lcl_objects IMPLEMENTATION.
|
||||||
IF sy-subrc = 0.
|
IF sy-subrc = 0.
|
||||||
CREATE OBJECT lo_remote_version
|
CREATE OBJECT lo_remote_version
|
||||||
EXPORTING
|
EXPORTING
|
||||||
iv_xml = lcl_convert=>xstring_to_string_utf8( ls_remote_file-data ).
|
iv_xml = zcl_abapgit_convert=>xstring_to_string_utf8( ls_remote_file-data ).
|
||||||
lo_comparison_result = io_object->compare_to_remote_version( lo_remote_version ).
|
lo_comparison_result = io_object->compare_to_remote_version( lo_remote_version ).
|
||||||
lo_comparison_result->show_confirmation_dialog( ).
|
lo_comparison_result->show_confirmation_dialog( ).
|
||||||
|
|
||||||
|
|
|
@ -170,7 +170,7 @@ CLASS lcl_tadir IMPLEMENTATION.
|
||||||
no_authority = 4
|
no_authority = 4
|
||||||
OTHERS = 5 ).
|
OTHERS = 5 ).
|
||||||
IF sy-subrc = 0.
|
IF sy-subrc = 0.
|
||||||
rv_hash = lcl_hash=>sha1_raw( lcl_convert=>string_to_xstring_utf8( lv_url ) ).
|
rv_hash = lcl_hash=>sha1_raw( zcl_abapgit_convert=>string_to_xstring_utf8( lv_url ) ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
|
@ -41,72 +41,6 @@ END-OF-DEFINITION.
|
||||||
* todo, should the tests be in the same include as the classes
|
* todo, should the tests be in the same include as the classes
|
||||||
* they are testing?
|
* they are testing?
|
||||||
|
|
||||||
*----------------------------------------------------------------------*
|
|
||||||
* CLASS ltcl_convert DEFINITION
|
|
||||||
*----------------------------------------------------------------------*
|
|
||||||
*
|
|
||||||
*----------------------------------------------------------------------*
|
|
||||||
CLASS ltcl_convert DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL.
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
|
||||||
METHODS convert_int FOR TESTING RAISING zcx_abapgit_exception.
|
|
||||||
METHODS split_string FOR TESTING.
|
|
||||||
|
|
||||||
ENDCLASS. "ltcl_convert DEFINITION
|
|
||||||
|
|
||||||
*----------------------------------------------------------------------*
|
|
||||||
* CLASS ltcl_convert IMPLEMENTATION
|
|
||||||
*----------------------------------------------------------------------*
|
|
||||||
*
|
|
||||||
*----------------------------------------------------------------------*
|
|
||||||
CLASS ltcl_convert IMPLEMENTATION.
|
|
||||||
|
|
||||||
METHOD convert_int.
|
|
||||||
|
|
||||||
DATA: lv_xstring TYPE xstring,
|
|
||||||
lv_input TYPE i,
|
|
||||||
lv_result TYPE i.
|
|
||||||
|
|
||||||
|
|
||||||
DO 1000 TIMES.
|
|
||||||
lv_input = sy-index.
|
|
||||||
lv_xstring = lcl_convert=>int_to_xstring4( lv_input ).
|
|
||||||
lv_result = lcl_convert=>xstring_to_int( lv_xstring ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals(
|
|
||||||
exp = lv_input
|
|
||||||
act = lv_result ).
|
|
||||||
ENDDO.
|
|
||||||
|
|
||||||
ENDMETHOD. "convert_int
|
|
||||||
|
|
||||||
METHOD split_string.
|
|
||||||
|
|
||||||
DATA: lt_act TYPE string_table,
|
|
||||||
lt_exp TYPE string_table.
|
|
||||||
|
|
||||||
APPEND 'ABC' TO lt_exp.
|
|
||||||
APPEND '123' TO lt_exp.
|
|
||||||
|
|
||||||
" Case 1. String separated by CRLF
|
|
||||||
lt_act = lcl_convert=>split_string( 'ABC' && cl_abap_char_utilities=>cr_lf && '123' ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals( exp = lt_exp
|
|
||||||
act = lt_act
|
|
||||||
msg = ' Error during string split: CRLF' ).
|
|
||||||
|
|
||||||
CLEAR: lt_act.
|
|
||||||
|
|
||||||
" Case 2. String separated by LF
|
|
||||||
lt_act = lcl_convert=>split_string( 'ABC' && cl_abap_char_utilities=>newline && '123' ).
|
|
||||||
|
|
||||||
cl_abap_unit_assert=>assert_equals( exp = lt_exp
|
|
||||||
act = lt_act
|
|
||||||
msg = ' Error during string split: LF' ).
|
|
||||||
|
|
||||||
ENDMETHOD. "split_string.
|
|
||||||
|
|
||||||
ENDCLASS. "ltcl_convert IMPLEMENTATION
|
|
||||||
|
|
||||||
CLASS ltcl_critical_tests DEFINITION FINAL FOR TESTING.
|
CLASS ltcl_critical_tests DEFINITION FINAL FOR TESTING.
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
@ -298,8 +232,8 @@ CLASS ltcl_diff IMPLEMENTATION.
|
||||||
CONCATENATE LINES OF mt_new INTO lv_new SEPARATED BY zif_abapgit_definitions=>gc_newline.
|
CONCATENATE LINES OF mt_new INTO lv_new SEPARATED BY zif_abapgit_definitions=>gc_newline.
|
||||||
CONCATENATE LINES OF mt_old INTO lv_old SEPARATED BY zif_abapgit_definitions=>gc_newline.
|
CONCATENATE LINES OF mt_old INTO lv_old SEPARATED BY zif_abapgit_definitions=>gc_newline.
|
||||||
|
|
||||||
lv_xnew = lcl_convert=>string_to_xstring_utf8( lv_new ).
|
lv_xnew = zcl_abapgit_convert=>string_to_xstring_utf8( lv_new ).
|
||||||
lv_xold = lcl_convert=>string_to_xstring_utf8( lv_old ).
|
lv_xold = zcl_abapgit_convert=>string_to_xstring_utf8( lv_old ).
|
||||||
|
|
||||||
CREATE OBJECT lo_diff
|
CREATE OBJECT lo_diff
|
||||||
EXPORTING
|
EXPORTING
|
||||||
|
@ -977,7 +911,7 @@ CLASS ltcl_git_pack_decode_commit IMPLEMENTATION.
|
||||||
DATA: lv_xstr TYPE xstring.
|
DATA: lv_xstr TYPE xstring.
|
||||||
|
|
||||||
|
|
||||||
lv_xstr = lcl_convert=>string_to_xstring_utf8( mv_str ).
|
lv_xstr = zcl_abapgit_convert=>string_to_xstring_utf8( mv_str ).
|
||||||
|
|
||||||
ms_raw = lcl_git_pack=>decode_commit( lv_xstr ).
|
ms_raw = lcl_git_pack=>decode_commit( lv_xstr ).
|
||||||
|
|
||||||
|
|
|
@ -79,166 +79,6 @@ CLASS lcl_state IMPLEMENTATION.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
*----------------------------------------------------------------------*
|
|
||||||
* CLASS lcl_convert DEFINITION
|
|
||||||
*----------------------------------------------------------------------*
|
|
||||||
*
|
|
||||||
*----------------------------------------------------------------------*
|
|
||||||
CLASS lcl_convert DEFINITION FINAL.
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
|
||||||
CLASS-METHODS bitbyte_to_int
|
|
||||||
IMPORTING iv_bits TYPE clike
|
|
||||||
RETURNING VALUE(rv_int) TYPE i.
|
|
||||||
|
|
||||||
CLASS-METHODS x_to_bitbyte
|
|
||||||
IMPORTING iv_x TYPE x
|
|
||||||
RETURNING VALUE(rv_bitbyte) TYPE zif_abapgit_definitions=>ty_bitbyte.
|
|
||||||
|
|
||||||
CLASS-METHODS string_to_xstring_utf8
|
|
||||||
IMPORTING iv_string TYPE string
|
|
||||||
RETURNING VALUE(rv_xstring) TYPE xstring.
|
|
||||||
|
|
||||||
CLASS-METHODS xstring_to_string_utf8
|
|
||||||
IMPORTING iv_data TYPE xstring
|
|
||||||
RETURNING VALUE(rv_string) TYPE string.
|
|
||||||
|
|
||||||
CLASS-METHODS xstring_to_int
|
|
||||||
IMPORTING iv_xstring TYPE xstring
|
|
||||||
RETURNING VALUE(rv_i) TYPE i
|
|
||||||
RAISING zcx_abapgit_exception.
|
|
||||||
|
|
||||||
CLASS-METHODS int_to_xstring4
|
|
||||||
IMPORTING iv_i TYPE i
|
|
||||||
RETURNING VALUE(rv_xstring) TYPE xstring.
|
|
||||||
|
|
||||||
CLASS-METHODS split_string
|
|
||||||
IMPORTING iv_string TYPE string
|
|
||||||
RETURNING VALUE(rt_lines) TYPE string_table.
|
|
||||||
|
|
||||||
ENDCLASS. "lcl_convert DEFINITION
|
|
||||||
|
|
||||||
*----------------------------------------------------------------------*
|
|
||||||
* CLASS lcl_convert IMPLEMENTATION
|
|
||||||
*----------------------------------------------------------------------*
|
|
||||||
*
|
|
||||||
*----------------------------------------------------------------------*
|
|
||||||
CLASS lcl_convert IMPLEMENTATION.
|
|
||||||
|
|
||||||
METHOD int_to_xstring4.
|
|
||||||
* returns xstring of length 4 containing the integer value iv_i
|
|
||||||
|
|
||||||
DATA: lv_x TYPE x LENGTH 4.
|
|
||||||
|
|
||||||
|
|
||||||
lv_x = iv_i.
|
|
||||||
rv_xstring = lv_x.
|
|
||||||
|
|
||||||
ENDMETHOD. "int_to_xstring
|
|
||||||
|
|
||||||
METHOD xstring_to_int.
|
|
||||||
|
|
||||||
DATA: lv_xstring TYPE xstring,
|
|
||||||
lv_x TYPE x.
|
|
||||||
|
|
||||||
|
|
||||||
lv_xstring = iv_xstring.
|
|
||||||
WHILE xstrlen( lv_xstring ) > 0.
|
|
||||||
lv_x = lv_xstring(1).
|
|
||||||
rv_i = rv_i * 256 + lv_x.
|
|
||||||
lv_xstring = lv_xstring+1.
|
|
||||||
ENDWHILE.
|
|
||||||
|
|
||||||
ENDMETHOD. "xstring_to_int
|
|
||||||
|
|
||||||
METHOD xstring_to_string_utf8.
|
|
||||||
|
|
||||||
DATA: lv_len TYPE i,
|
|
||||||
lo_obj TYPE REF TO cl_abap_conv_in_ce.
|
|
||||||
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
lo_obj = cl_abap_conv_in_ce=>create(
|
|
||||||
input = iv_data
|
|
||||||
encoding = 'UTF-8' ).
|
|
||||||
lv_len = xstrlen( iv_data ).
|
|
||||||
|
|
||||||
lo_obj->read( EXPORTING n = lv_len
|
|
||||||
IMPORTING data = rv_string ).
|
|
||||||
|
|
||||||
CATCH cx_parameter_invalid_range
|
|
||||||
cx_sy_codepage_converter_init
|
|
||||||
cx_sy_conversion_codepage
|
|
||||||
cx_parameter_invalid_type. "#EC NO_HANDLER
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
ENDMETHOD. "xstring_to_string_utf8
|
|
||||||
|
|
||||||
METHOD string_to_xstring_utf8.
|
|
||||||
|
|
||||||
DATA: lo_obj TYPE REF TO cl_abap_conv_out_ce.
|
|
||||||
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
lo_obj = cl_abap_conv_out_ce=>create( encoding = 'UTF-8' ).
|
|
||||||
|
|
||||||
lo_obj->convert( EXPORTING data = iv_string
|
|
||||||
IMPORTING buffer = rv_xstring ).
|
|
||||||
|
|
||||||
CATCH cx_parameter_invalid_range
|
|
||||||
cx_sy_codepage_converter_init
|
|
||||||
cx_sy_conversion_codepage
|
|
||||||
cx_parameter_invalid_type. "#EC NO_HANDLER
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
ENDMETHOD. "string_to_xstring_utf8
|
|
||||||
|
|
||||||
METHOD bitbyte_to_int.
|
|
||||||
|
|
||||||
DATA: lv_bits TYPE string.
|
|
||||||
|
|
||||||
|
|
||||||
lv_bits = iv_bits.
|
|
||||||
|
|
||||||
rv_int = 0.
|
|
||||||
WHILE strlen( lv_bits ) > 0.
|
|
||||||
rv_int = rv_int * 2.
|
|
||||||
IF lv_bits(1) = '1'.
|
|
||||||
rv_int = rv_int + 1.
|
|
||||||
ENDIF.
|
|
||||||
lv_bits = lv_bits+1.
|
|
||||||
ENDWHILE.
|
|
||||||
|
|
||||||
ENDMETHOD. "bitbyte_to_int
|
|
||||||
|
|
||||||
METHOD x_to_bitbyte.
|
|
||||||
|
|
||||||
DATA: lv_b TYPE n.
|
|
||||||
|
|
||||||
CLEAR rv_bitbyte.
|
|
||||||
|
|
||||||
DO 8 TIMES.
|
|
||||||
GET BIT sy-index OF iv_x INTO lv_b.
|
|
||||||
CONCATENATE rv_bitbyte lv_b INTO rv_bitbyte.
|
|
||||||
ENDDO.
|
|
||||||
|
|
||||||
ENDMETHOD. "x_to_bitbyte
|
|
||||||
|
|
||||||
METHOD split_string.
|
|
||||||
|
|
||||||
FIND FIRST OCCURRENCE OF cl_abap_char_utilities=>cr_lf IN iv_string.
|
|
||||||
|
|
||||||
" Convert string into table depending on separator type CR_LF vs. LF
|
|
||||||
IF sy-subrc = 0.
|
|
||||||
SPLIT iv_string AT cl_abap_char_utilities=>cr_lf INTO TABLE rt_lines.
|
|
||||||
ELSE.
|
|
||||||
SPLIT iv_string AT cl_abap_char_utilities=>newline INTO TABLE rt_lines.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD. "split_string
|
|
||||||
|
|
||||||
ENDCLASS. "lcl_convert IMPLEMENTATION
|
|
||||||
|
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
* CLASS lcl_hash DEFINITION
|
* CLASS lcl_hash DEFINITION
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
|
@ -355,7 +195,7 @@ CLASS lcl_hash IMPLEMENTATION.
|
||||||
lv_char10 = lv_len.
|
lv_char10 = lv_len.
|
||||||
CONDENSE lv_char10.
|
CONDENSE lv_char10.
|
||||||
CONCATENATE iv_type lv_char10 INTO lv_string SEPARATED BY space.
|
CONCATENATE iv_type lv_char10 INTO lv_string SEPARATED BY space.
|
||||||
lv_xstring = lcl_convert=>string_to_xstring_utf8( lv_string ).
|
lv_xstring = zcl_abapgit_convert=>string_to_xstring_utf8( lv_string ).
|
||||||
|
|
||||||
lv_string = lv_xstring.
|
lv_string = lv_xstring.
|
||||||
CONCATENATE lv_string '00' INTO lv_string.
|
CONCATENATE lv_string '00' INTO lv_string.
|
||||||
|
@ -584,8 +424,8 @@ CLASS lcl_diff IMPLEMENTATION.
|
||||||
lv_old TYPE string.
|
lv_old TYPE string.
|
||||||
|
|
||||||
|
|
||||||
lv_new = lcl_convert=>xstring_to_string_utf8( iv_new ).
|
lv_new = zcl_abapgit_convert=>xstring_to_string_utf8( iv_new ).
|
||||||
lv_old = lcl_convert=>xstring_to_string_utf8( iv_old ).
|
lv_old = zcl_abapgit_convert=>xstring_to_string_utf8( iv_old ).
|
||||||
|
|
||||||
SPLIT lv_new AT zif_abapgit_definitions=>gc_newline INTO TABLE et_new.
|
SPLIT lv_new AT zif_abapgit_definitions=>gc_newline INTO TABLE et_new.
|
||||||
SPLIT lv_old AT zif_abapgit_definitions=>gc_newline INTO TABLE et_old.
|
SPLIT lv_old AT zif_abapgit_definitions=>gc_newline INTO TABLE et_old.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user