mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
pretty printer, plus fix #51
This commit is contained in:
parent
f0241da370
commit
4b3a598d58
108
zabapgit.abap
108
zabapgit.abap
|
@ -3,7 +3,7 @@ REPORT zabapgit.
|
|||
* See https://github.com/larshp/abapGit/
|
||||
|
||||
CONSTANTS: gc_xml_version TYPE string VALUE 'v0.2-alpha', "#EC NOTEXT
|
||||
gc_abap_version TYPE string VALUE 'v0.14'. "#EC NOTEXT
|
||||
gc_abap_version TYPE string VALUE 'v0.15'. "#EC NOTEXT
|
||||
|
||||
********************************************************************************
|
||||
* The MIT License (MIT)
|
||||
|
@ -455,7 +455,7 @@ CLASS lcl_xml IMPLEMENTATION.
|
|||
li_elm TYPE REF TO if_ixml_element,
|
||||
lo_descr_ref TYPE REF TO cl_abap_structdescr.
|
||||
|
||||
FIELD-SYMBOLS: <lg_any> TYPE ANY,
|
||||
FIELD-SYMBOLS: <lg_any> TYPE any,
|
||||
<ls_comp> LIKE LINE OF lo_descr_ref->components.
|
||||
|
||||
|
||||
|
@ -500,7 +500,7 @@ CLASS lcl_xml IMPLEMENTATION.
|
|||
lo_data_descr TYPE REF TO cl_abap_datadescr,
|
||||
lo_table_descr TYPE REF TO cl_abap_tabledescr.
|
||||
|
||||
FIELD-SYMBOLS: <lg_line> TYPE ANY.
|
||||
FIELD-SYMBOLS: <lg_line> TYPE any.
|
||||
|
||||
|
||||
CLEAR ct_table[].
|
||||
|
@ -539,7 +539,7 @@ CLASS lcl_xml IMPLEMENTATION.
|
|||
ENDCASE.
|
||||
|
||||
IF <lg_line> IS INITIAL.
|
||||
lv_index = LINES( ct_table ).
|
||||
lv_index = lines( ct_table ).
|
||||
DELETE ct_table INDEX lv_index.
|
||||
ASSERT sy-subrc = 0.
|
||||
EXIT. " current loop
|
||||
|
@ -622,7 +622,7 @@ CLASS lcl_xml IMPLEMENTATION.
|
|||
lo_data_descr TYPE REF TO cl_abap_datadescr,
|
||||
lo_table_descr TYPE REF TO cl_abap_tabledescr.
|
||||
|
||||
FIELD-SYMBOLS: <lg_line> TYPE ANY.
|
||||
FIELD-SYMBOLS: <lg_line> TYPE any.
|
||||
|
||||
|
||||
lo_table_descr ?= cl_abap_typedescr=>describe_by_data( it_table ).
|
||||
|
@ -730,7 +730,7 @@ CLASS lcl_xml IMPLEMENTATION.
|
|||
lo_descr TYPE REF TO cl_abap_structdescr.
|
||||
|
||||
FIELD-SYMBOLS: <ls_comp> LIKE LINE OF lo_descr->components,
|
||||
<lg_any> TYPE ANY.
|
||||
<lg_any> TYPE any.
|
||||
|
||||
|
||||
lo_descr ?= cl_abap_typedescr=>describe_by_data( ig_structure ).
|
||||
|
@ -864,7 +864,7 @@ CLASS lcl_debug IMPLEMENTATION.
|
|||
CONCATENATE gv_html '<table border="1">' gc_newline INTO gv_html.
|
||||
LOOP AT it_objects ASSIGNING <ls_object>.
|
||||
|
||||
lv_len = XSTRLEN( <ls_object>-data ).
|
||||
lv_len = xstrlen( <ls_object>-data ).
|
||||
IF lv_len > 50.
|
||||
lv_len = 50.
|
||||
ENDIF.
|
||||
|
@ -1114,7 +1114,7 @@ CLASS lcl_convert IMPLEMENTATION.
|
|||
|
||||
|
||||
lv_xstring = iv_xstring.
|
||||
WHILE XSTRLEN( lv_xstring ) > 0.
|
||||
WHILE xstrlen( lv_xstring ) > 0.
|
||||
lv_x = lv_xstring(1).
|
||||
rv_i = rv_i * 256 + lv_x.
|
||||
lv_xstring = lv_xstring+1.
|
||||
|
@ -1132,7 +1132,7 @@ CLASS lcl_convert IMPLEMENTATION.
|
|||
lo_obj = cl_abap_conv_in_ce=>create(
|
||||
input = iv_data
|
||||
encoding = 'UTF-8' ).
|
||||
lv_len = XSTRLEN( iv_data ).
|
||||
lv_len = xstrlen( iv_data ).
|
||||
|
||||
lo_obj->read( EXPORTING n = lv_len
|
||||
IMPORTING data = rv_string ).
|
||||
|
@ -1172,7 +1172,7 @@ CLASS lcl_convert IMPLEMENTATION.
|
|||
lv_bits = iv_bits.
|
||||
|
||||
rv_int = 0.
|
||||
WHILE STRLEN( lv_bits ) > 0.
|
||||
WHILE strlen( lv_bits ) > 0.
|
||||
rv_int = rv_int * 2.
|
||||
IF lv_bits(1) = '1'.
|
||||
rv_int = rv_int + 1.
|
||||
|
@ -1452,7 +1452,7 @@ CLASS lcl_objects_common IMPLEMENTATION.
|
|||
ENDIF.
|
||||
|
||||
IF NOT it_tpool[] IS INITIAL.
|
||||
INSERT textpool is_progdir-name
|
||||
INSERT TEXTPOOL is_progdir-name
|
||||
FROM it_tpool
|
||||
LANGUAGE sy-langu
|
||||
STATE 'I'.
|
||||
|
@ -1683,7 +1683,7 @@ CLASS lcl_objects_common IMPLEMENTATION.
|
|||
io_xml = lo_xml ).
|
||||
ENDIF.
|
||||
|
||||
IF LINES( lt_tpool ) = 1.
|
||||
IF lines( lt_tpool ) = 1.
|
||||
READ TABLE lt_tpool INDEX 1 INTO ls_tpool.
|
||||
IF ls_tpool-id = 'R' AND ls_tpool-key = '' AND ls_tpool-length = 0.
|
||||
DELETE lt_tpool INDEX 1.
|
||||
|
@ -2450,7 +2450,7 @@ CLASS lcl_object_clas IMPLEMENTATION.
|
|||
* skip files that only contain the standard comments
|
||||
lv_found = abap_false.
|
||||
LOOP AT ct_source INTO lv_source.
|
||||
IF STRLEN( lv_source ) >= 3 AND lv_source(3) <> '*"*'.
|
||||
IF strlen( lv_source ) >= 3 AND lv_source(3) <> '*"*'.
|
||||
lv_found = abap_true.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
|
@ -2833,7 +2833,7 @@ CLASS lcl_object_clas IMPLEMENTATION.
|
|||
lv_clsname = is_item-obj_name.
|
||||
lv_cp = cl_oo_classname_service=>get_classpool_name( lv_clsname ).
|
||||
|
||||
INSERT textpool lv_cp
|
||||
INSERT TEXTPOOL lv_cp
|
||||
FROM lt_tpool
|
||||
LANGUAGE sy-langu
|
||||
STATE 'I'.
|
||||
|
@ -3274,7 +3274,7 @@ CLASS lcl_object_tabl IMPLEMENTATION.
|
|||
|
||||
CALL FUNCTION 'RS_DD_DELETE_OBJ'
|
||||
EXPORTING
|
||||
no_ask = abap_true
|
||||
no_ask = abap_false
|
||||
objname = lv_objname
|
||||
objtype = 'T'
|
||||
EXCEPTIONS
|
||||
|
@ -4197,7 +4197,7 @@ CLASS lcl_object_msag IMPLEMENTATION.
|
|||
IMPORTING
|
||||
message_id_inf = ls_inf
|
||||
TABLES
|
||||
SOURCE = lt_source
|
||||
source = lt_source
|
||||
EXCEPTIONS
|
||||
cancelled = 1
|
||||
not_found = 2
|
||||
|
@ -4710,7 +4710,7 @@ CLASS lcl_object_fugr IMPLEMENTATION.
|
|||
tables_parameter = lt_tables
|
||||
exception_list = lt_exception
|
||||
documentation = lt_documentation
|
||||
SOURCE = lt_source
|
||||
source = lt_source
|
||||
EXCEPTIONS
|
||||
error_message = 1
|
||||
function_not_found = 2
|
||||
|
@ -5292,11 +5292,11 @@ CLASS lcl_object_prog IMPLEMENTATION.
|
|||
METHOD deserialize_textpool.
|
||||
|
||||
READ TABLE it_tpool WITH KEY id = 'R' TRANSPORTING NO FIELDS.
|
||||
IF ( sy-subrc = 0 AND LINES( it_tpool ) = 1 ) OR LINES( it_tpool ) = 0.
|
||||
IF ( sy-subrc = 0 AND lines( it_tpool ) = 1 ) OR lines( it_tpool ) = 0.
|
||||
RETURN. " no action for includes
|
||||
ENDIF.
|
||||
|
||||
INSERT textpool is_item-obj_name
|
||||
INSERT TEXTPOOL is_item-obj_name
|
||||
FROM it_tpool
|
||||
LANGUAGE sy-langu
|
||||
STATE 'I'.
|
||||
|
@ -5671,7 +5671,7 @@ CLASS lcl_objects IMPLEMENTATION.
|
|||
lt_files[] = rt_files[].
|
||||
SORT lt_files BY path ASCENDING filename ASCENDING.
|
||||
DELETE ADJACENT DUPLICATES FROM lt_files COMPARING path filename.
|
||||
IF LINES( lt_files ) <> LINES( rt_files ).
|
||||
IF lines( lt_files ) <> lines( rt_files ).
|
||||
_raise 'Duplicates'.
|
||||
ENDIF.
|
||||
|
||||
|
@ -5697,7 +5697,7 @@ CLASS lcl_objects IMPLEMENTATION.
|
|||
TRANSLATE lv_pre TO UPPER CASE.
|
||||
TRANSLATE lv_type TO UPPER CASE.
|
||||
|
||||
IF lv_ext <> 'xml' OR STRLEN( lv_type ) <> 4.
|
||||
IF lv_ext <> 'xml' OR strlen( lv_type ) <> 4.
|
||||
CONTINUE. " current loop
|
||||
ENDIF.
|
||||
|
||||
|
@ -5822,7 +5822,7 @@ CLASS lcl_objects IMPLEMENTATION.
|
|||
activate_ddic_objects = abap_true
|
||||
with_popup = abap_true
|
||||
TABLES
|
||||
OBJECTS = lcl_objects_common=>gt_ddic
|
||||
objects = lcl_objects_common=>gt_ddic
|
||||
EXCEPTIONS
|
||||
excecution_error = 1
|
||||
cancelled = 2
|
||||
|
@ -5840,7 +5840,7 @@ CLASS lcl_objects IMPLEMENTATION.
|
|||
activate_ddic_objects = abap_false
|
||||
with_popup = abap_true
|
||||
TABLES
|
||||
OBJECTS = lcl_objects_common=>gt_programs
|
||||
objects = lcl_objects_common=>gt_programs
|
||||
EXCEPTIONS
|
||||
excecution_error = 1
|
||||
cancelled = 2
|
||||
|
@ -5914,7 +5914,7 @@ CLASS lcl_hash IMPLEMENTATION.
|
|||
lv_char8 TYPE c LENGTH 8.
|
||||
|
||||
|
||||
do xstrlen( iv_xstring ) times.
|
||||
DO xstrlen( iv_xstring ) TIMES.
|
||||
lv_index = sy-index - 1.
|
||||
|
||||
lv_a = ( lv_a + iv_xstring+lv_index(1) ) MOD lc_adler.
|
||||
|
@ -5964,7 +5964,7 @@ CLASS lcl_hash IMPLEMENTATION.
|
|||
lv_xstring TYPE xstring.
|
||||
|
||||
|
||||
lv_len = XSTRLEN( iv_data ).
|
||||
lv_len = xstrlen( iv_data ).
|
||||
lv_char10 = lv_len.
|
||||
CONDENSE lv_char10.
|
||||
CONCATENATE iv_type lv_char10 INTO lv_string SEPARATED BY space.
|
||||
|
@ -6084,7 +6084,7 @@ CLASS lcl_pack IMPLEMENTATION.
|
|||
_raise 'Unexpected object type while encoding pack'.
|
||||
ENDCASE.
|
||||
|
||||
lv_x4 = XSTRLEN( is_object-data ).
|
||||
lv_x4 = xstrlen( is_object-data ).
|
||||
DO 32 TIMES.
|
||||
GET BIT sy-index OF lv_x4 INTO lv_c.
|
||||
CONCATENATE lv_bits lv_c INTO lv_bits.
|
||||
|
@ -6106,10 +6106,10 @@ CLASS lcl_pack IMPLEMENTATION.
|
|||
|
||||
* convert bit string to xstring
|
||||
CLEAR lv_x.
|
||||
do strlen( lv_result ) times.
|
||||
DO strlen( lv_result ) TIMES.
|
||||
lv_offset = sy-index - 1.
|
||||
IF lv_result+lv_offset(1) = '1'.
|
||||
SET bit ( lv_offset mod 8 ) + 1 of lv_x.
|
||||
SET BIT ( lv_offset MOD 8 ) + 1 OF lv_x.
|
||||
ENDIF.
|
||||
IF ( lv_offset + 1 ) MOD 8 = 0.
|
||||
CONCATENATE rv_xstring lv_x INTO rv_xstring IN BYTE MODE.
|
||||
|
@ -6260,7 +6260,7 @@ CLASS lcl_pack IMPLEMENTATION.
|
|||
|
||||
lv_mode = 'tree'. "#EC NOTEXT
|
||||
LOOP AT lt_string ASSIGNING <lv_string>.
|
||||
lv_len = STRLEN( lv_mode ).
|
||||
lv_len = strlen( lv_mode ).
|
||||
|
||||
IF NOT lv_mode IS INITIAL AND <lv_string>(lv_len) = lv_mode.
|
||||
CASE lv_mode.
|
||||
|
@ -6293,7 +6293,7 @@ CLASS lcl_pack IMPLEMENTATION.
|
|||
ENDLOOP.
|
||||
|
||||
* strip first newline
|
||||
IF STRLEN( rs_commit-body ) >= 2.
|
||||
IF strlen( rs_commit-body ) >= 2.
|
||||
rs_commit-body = rs_commit-body+2.
|
||||
ENDIF.
|
||||
|
||||
|
@ -6381,7 +6381,7 @@ CLASS lcl_pack IMPLEMENTATION.
|
|||
delta_header( CHANGING cv_delta = lv_delta ).
|
||||
|
||||
|
||||
WHILE XSTRLEN( lv_delta ) > 0.
|
||||
WHILE xstrlen( lv_delta ) > 0.
|
||||
|
||||
lv_x = lv_delta(1).
|
||||
lv_delta = lv_delta+1.
|
||||
|
@ -6493,7 +6493,7 @@ CLASS lcl_pack IMPLEMENTATION.
|
|||
|
||||
|
||||
DO.
|
||||
IF lv_cursor >= XSTRLEN( iv_data ).
|
||||
IF lv_cursor >= xstrlen( iv_data ).
|
||||
EXIT. " current loop
|
||||
ENDIF.
|
||||
|
||||
|
@ -6548,7 +6548,7 @@ CLASS lcl_pack IMPLEMENTATION.
|
|||
lv_data = iv_data.
|
||||
|
||||
* header
|
||||
IF NOT XSTRLEN( lv_data ) > 4 OR lv_data(4) <> c_pack_start.
|
||||
IF NOT xstrlen( lv_data ) > 4 OR lv_data(4) <> c_pack_start.
|
||||
_raise 'Unexpected pack header'.
|
||||
ENDIF.
|
||||
lv_data = lv_data+4.
|
||||
|
@ -6619,7 +6619,7 @@ CLASS lcl_pack IMPLEMENTATION.
|
|||
* result when '7801'
|
||||
* compressed data might be larger than origial so add 10, adding 10 is safe
|
||||
* as package always ends with sha1 checksum
|
||||
do lv_expected + 10 times.
|
||||
DO lv_expected + 10 TIMES.
|
||||
lv_compressed_len = sy-index.
|
||||
|
||||
cl_abap_gzip=>decompress_binary(
|
||||
|
@ -6676,7 +6676,7 @@ CLASS lcl_pack IMPLEMENTATION.
|
|||
ENDDO.
|
||||
|
||||
* check SHA1 at end of pack
|
||||
lv_len = XSTRLEN( iv_data ) - 20.
|
||||
lv_len = xstrlen( iv_data ) - 20.
|
||||
lv_xstring = iv_data(lv_len).
|
||||
lv_sha1 = lcl_hash=>sha1_raw( lv_xstring ).
|
||||
IF lv_sha1 <> lv_data.
|
||||
|
@ -6700,7 +6700,7 @@ CLASS lcl_pack IMPLEMENTATION.
|
|||
|
||||
CONCATENATE rv_data c_version INTO rv_data IN BYTE MODE.
|
||||
|
||||
lv_len = LINES( it_objects ).
|
||||
lv_len = lines( it_objects ).
|
||||
lv_xstring = lcl_convert=>int_to_xstring( iv_i = lv_len
|
||||
iv_length = 4 ).
|
||||
CONCATENATE rv_data lv_xstring INTO rv_data IN BYTE MODE.
|
||||
|
@ -6972,7 +6972,7 @@ CLASS lcl_persistence IMPLEMENTATION.
|
|||
_raise 'Error from READ_TEXT'.
|
||||
ENDIF.
|
||||
|
||||
IF LINES( lt_lines ) MOD 4 <> 0.
|
||||
IF lines( lt_lines ) MOD 4 <> 0.
|
||||
* if this happens, delete text ZABAPGIT in SO10 or edit the text
|
||||
* manually, so it contains the right information
|
||||
_raise 'Persistence, text broken'.
|
||||
|
@ -7213,26 +7213,26 @@ CLASS lcl_transport IMPLEMENTATION.
|
|||
_raise 'branch empty'.
|
||||
ENDIF.
|
||||
|
||||
lv_len = STRLEN( is_repo-branch_name ).
|
||||
lv_len = strlen( is_repo-branch_name ).
|
||||
SPLIT lv_data AT gc_newline INTO TABLE lt_result.
|
||||
LOOP AT lt_result INTO lv_data.
|
||||
IF sy-tabix = 1.
|
||||
CONTINUE. " current loop
|
||||
ELSEIF sy-tabix = 2 AND STRLEN( lv_data ) > 49
|
||||
ELSEIF sy-tabix = 2 AND strlen( lv_data ) > 49
|
||||
AND lv_data+49(lv_len) = is_repo-branch_name.
|
||||
lv_hash = lv_data+8.
|
||||
EXIT. " current loop
|
||||
ELSEIF sy-tabix > 2 AND STRLEN( lv_data ) > 45
|
||||
ELSEIF sy-tabix > 2 AND strlen( lv_data ) > 45
|
||||
AND lv_data+45 = is_repo-branch_name.
|
||||
lv_hash = lv_data+4.
|
||||
EXIT. " current loop
|
||||
ELSEIF sy-tabix = 2 AND STRLEN( lv_data ) = 8 AND lv_data(8) = '00000000'.
|
||||
ELSEIF sy-tabix = 2 AND strlen( lv_data ) = 8 AND lv_data(8) = '00000000'.
|
||||
_raise 'No branches, create branch manually by adding file'.
|
||||
ENDIF.
|
||||
ENDLOOP.
|
||||
|
||||
TRANSLATE lv_hash TO UPPER CASE.
|
||||
IF STRLEN( lv_hash ) <> 40.
|
||||
IF strlen( lv_hash ) <> 40.
|
||||
_raise 'Branch not found'.
|
||||
ENDIF.
|
||||
|
||||
|
@ -7316,7 +7316,7 @@ CLASS lcl_transport IMPLEMENTATION.
|
|||
lo_obj = cl_abap_conv_in_ce=>create(
|
||||
input = lv_xstring
|
||||
encoding = 'UTF-8' ).
|
||||
lv_len = XSTRLEN( lv_xstring ).
|
||||
lv_len = xstrlen( lv_xstring ).
|
||||
|
||||
lo_obj->read( EXPORTING n = lv_len
|
||||
IMPORTING data = lv_string ).
|
||||
|
@ -7335,7 +7335,7 @@ CLASS lcl_transport IMPLEMENTATION.
|
|||
lv_pack TYPE xstring.
|
||||
|
||||
|
||||
WHILE XSTRLEN( cv_data ) >= 4.
|
||||
WHILE xstrlen( cv_data ) >= 4.
|
||||
lv_len = length_utf8_hex( cv_data ).
|
||||
|
||||
lv_contents = cv_data(lv_len).
|
||||
|
@ -7348,7 +7348,7 @@ CLASS lcl_transport IMPLEMENTATION.
|
|||
|
||||
lv_contents = lv_contents+4.
|
||||
|
||||
IF XSTRLEN( lv_contents ) > 1 AND lv_contents(1) = '01'. " band 1
|
||||
IF xstrlen( lv_contents ) > 1 AND lv_contents(1) = '01'. " band 1
|
||||
CONCATENATE lv_pack lv_contents+1 INTO lv_pack IN BYTE MODE.
|
||||
ENDIF.
|
||||
|
||||
|
@ -7418,7 +7418,7 @@ CLASS lcl_transport IMPLEMENTATION.
|
|||
lv_len TYPE i.
|
||||
|
||||
|
||||
lv_len = STRLEN( iv_string ).
|
||||
lv_len = strlen( iv_string ).
|
||||
|
||||
IF lv_len >= 255.
|
||||
_raise 'PKT, todo'.
|
||||
|
@ -8035,7 +8035,7 @@ CLASS lcl_gui IMPLEMENTATION.
|
|||
lv_string TYPE string.
|
||||
|
||||
FIELD-SYMBOLS: <ls_field> LIKE LINE OF lt_fields,
|
||||
<lg_any> TYPE ANY.
|
||||
<lg_any> TYPE any.
|
||||
|
||||
|
||||
lv_string = iv_string. " type conversion
|
||||
|
@ -8059,7 +8059,7 @@ CLASS lcl_gui IMPLEMENTATION.
|
|||
ls_field LIKE LINE OF lt_fields.
|
||||
|
||||
FIELD-SYMBOLS: <ls_comp> LIKE LINE OF lo_descr_ref->components,
|
||||
<lg_any> TYPE ANY.
|
||||
<lg_any> TYPE any.
|
||||
|
||||
|
||||
lo_descr_ref ?= cl_abap_typedescr=>describe_by_data( ig_structure1 ).
|
||||
|
@ -8175,8 +8175,8 @@ CLASS lcl_gui IMPLEMENTATION.
|
|||
SELECT * FROM tadir INTO TABLE lt_tadir
|
||||
WHERE devclass = is_repo-package. "#EC *
|
||||
|
||||
IF LINES( lt_tadir ) > 0.
|
||||
lv_count = LINES( lt_tadir ).
|
||||
IF lines( lt_tadir ) > 0.
|
||||
lv_count = lines( lt_tadir ).
|
||||
|
||||
CONCATENATE 'This will delete all objects in package' is_repo-package
|
||||
INTO lv_question
|
||||
|
@ -8418,7 +8418,7 @@ CLASS lcl_gui IMPLEMENTATION.
|
|||
rv_html = rv_html && '<br><br><br>'.
|
||||
|
||||
LOOP AT lt_repos INTO ls_repo.
|
||||
lv_f = ( sy-tabix / LINES( lt_repos ) ) * 100.
|
||||
lv_f = ( sy-tabix / lines( lt_repos ) ) * 100.
|
||||
lv_pct = lv_f.
|
||||
IF lv_pct = 100.
|
||||
lv_pct = 99.
|
||||
|
@ -8609,8 +8609,8 @@ CLASS lcl_gui IMPLEMENTATION.
|
|||
|
||||
lv_html = iv_html.
|
||||
|
||||
WHILE STRLEN( lv_html ) > 0.
|
||||
IF STRLEN( lv_html ) < 200.
|
||||
WHILE strlen( lv_html ) > 0.
|
||||
IF strlen( lv_html ) < 200.
|
||||
APPEND lv_html TO lt_data.
|
||||
CLEAR lv_html.
|
||||
ELSE.
|
||||
|
@ -8671,7 +8671,7 @@ ENDFORM. "run
|
|||
*----------------------------------------------------------------------*
|
||||
*
|
||||
*----------------------------------------------------------------------*
|
||||
CLASS lcl_abap_unit DEFINITION FOR TESTING risk level harmless duration short FINAL.
|
||||
CLASS lcl_abap_unit DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL.
|
||||
|
||||
PRIVATE SECTION.
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user