mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 11:46:38 +08:00
Update zabapgit.abap
This commit is contained in:
parent
9a741afbba
commit
d2a94a0b5d
482
zabapgit.abap
482
zabapgit.abap
|
@ -96,6 +96,11 @@ TYPES: BEGIN OF st_comment,
|
|||
comment TYPE string,
|
||||
END OF st_comment.
|
||||
|
||||
TYPES: BEGIN OF st_item,
|
||||
obj_type TYPE tadir-object,
|
||||
obj_name TYPE tadir-obj_name,
|
||||
END OF st_item.
|
||||
|
||||
CONSTANTS: gc_commit TYPE t_type VALUE 'commit', "#EC NOTEXT
|
||||
gc_tree TYPE t_type VALUE 'tree', "#EC NOTEXT
|
||||
gc_ref_d TYPE t_type VALUE 'ref_d', "#EC NOTEXT
|
||||
|
@ -1038,17 +1043,25 @@ ENDCLASS. "lcl_diff IMPLEMENTATION
|
|||
CLASS lcl_serialize_common DEFINITION ABSTRACT.
|
||||
|
||||
PROTECTED SECTION.
|
||||
CLASS-METHODS: xml_to_file IMPORTING iv_obj_name TYPE tadir-obj_name
|
||||
io_xml TYPE REF TO lcl_xml
|
||||
CLASS-METHODS: xml_to_file IMPORTING is_item TYPE st_item
|
||||
io_xml TYPE REF TO lcl_xml
|
||||
RETURNING value(rs_file) TYPE st_file
|
||||
RAISING lcx_exception.
|
||||
|
||||
CLASS-METHODS: read_xml IMPORTING iv_obj_name TYPE tadir-obj_name
|
||||
CLASS-METHODS: read_xml IMPORTING is_item TYPE st_item
|
||||
it_files TYPE tt_files
|
||||
RETURNING value(ro_xml) TYPE REF TO lcl_xml
|
||||
RAISING lcx_exception.
|
||||
|
||||
CLASS-DATA: gv_type TYPE tadir-object VALUE ''.
|
||||
CLASS-METHODS: read_abap IMPORTING is_item TYPE st_item
|
||||
it_files TYPE tt_files
|
||||
CHANGING ct_abap TYPE STANDARD TABLE
|
||||
RAISING lcx_exception.
|
||||
|
||||
CLASS-METHODS: abap_to_file IMPORTING is_item TYPE st_item
|
||||
it_abap TYPE STANDARD TABLE
|
||||
RETURNING value(rs_file) TYPE st_file
|
||||
RAISING lcx_exception.
|
||||
|
||||
ENDCLASS. "lcl_serialize_common DEFINITION
|
||||
|
||||
|
@ -1059,6 +1072,40 @@ ENDCLASS. "lcl_serialize_common DEFINITION
|
|||
*----------------------------------------------------------------------*
|
||||
CLASS lcl_serialize_common IMPLEMENTATION.
|
||||
|
||||
METHOD read_abap.
|
||||
|
||||
DATA: lv_filename TYPE string,
|
||||
lv_abap TYPE string.
|
||||
|
||||
FIELD-SYMBOLS: <ls_abap> LIKE LINE OF it_files.
|
||||
|
||||
|
||||
lv_filename = is_item-obj_name && '.' && is_item-obj_type && '.abap'. "#EC NOTEXT
|
||||
TRANSLATE lv_filename TO LOWER CASE.
|
||||
READ TABLE it_files ASSIGNING <ls_abap> WITH KEY filename = lv_filename.
|
||||
IF sy-subrc <> 0.
|
||||
_raise 'abap not found'.
|
||||
ENDIF.
|
||||
lv_abap = lcl_convert=>xstring_to_string_utf8( <ls_abap>-data ).
|
||||
|
||||
SPLIT lv_abap AT gc_newline INTO TABLE ct_abap.
|
||||
|
||||
ENDMETHOD. "read_abap
|
||||
|
||||
METHOD abap_to_file.
|
||||
|
||||
DATA: lv_source TYPE string.
|
||||
|
||||
|
||||
CONCATENATE LINES OF it_abap INTO lv_source SEPARATED BY gc_newline.
|
||||
CLEAR rs_file.
|
||||
rs_file-path = '/'.
|
||||
CONCATENATE is_item-obj_name '.' is_item-obj_type '.abap' INTO rs_file-filename. "#EC NOTEXT
|
||||
TRANSLATE rs_file-filename TO LOWER CASE.
|
||||
rs_file-data = lcl_convert=>string_to_xstring_utf8( lv_source ).
|
||||
|
||||
ENDMETHOD. "abap_to_file
|
||||
|
||||
METHOD read_xml.
|
||||
|
||||
DATA: lv_filename TYPE string,
|
||||
|
@ -1067,7 +1114,7 @@ CLASS lcl_serialize_common IMPLEMENTATION.
|
|||
FIELD-SYMBOLS: <ls_xml> LIKE LINE OF it_files.
|
||||
|
||||
|
||||
lv_filename = iv_obj_name && '.' && gv_type && '.xml'. "#EC NOTEXT
|
||||
lv_filename = is_item-obj_name && '.' && is_item-obj_type && '.xml'. "#EC NOTEXT
|
||||
TRANSLATE lv_filename TO LOWER CASE.
|
||||
READ TABLE it_files ASSIGNING <ls_xml> WITH KEY filename = lv_filename.
|
||||
IF sy-subrc <> 0.
|
||||
|
@ -1087,13 +1134,9 @@ CLASS lcl_serialize_common IMPLEMENTATION.
|
|||
DATA: lv_xml TYPE string.
|
||||
|
||||
|
||||
IF gv_type IS INITIAL.
|
||||
_raise 'gv_type empty'.
|
||||
ENDIF.
|
||||
|
||||
lv_xml = io_xml->xml_render( ).
|
||||
rs_file-path = '/'.
|
||||
CONCATENATE iv_obj_name '.' gv_type '.xml' INTO rs_file-filename. "#EC NOTEXT
|
||||
CONCATENATE is_item-obj_name '.' is_item-obj_type '.xml' INTO rs_file-filename. "#EC NOTEXT
|
||||
TRANSLATE rs_file-filename TO LOWER CASE.
|
||||
rs_file-data = lcl_convert=>string_to_xstring_utf8( lv_xml ).
|
||||
|
||||
|
@ -1109,16 +1152,14 @@ ENDCLASS. "lcl_serialize_common IMPLEMENTATION
|
|||
CLASS lcl_serialize_doma DEFINITION INHERITING FROM lcl_serialize_common FINAL.
|
||||
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS: serialize IMPORTING iv_obj_name TYPE tadir-obj_name
|
||||
CLASS-METHODS: serialize IMPORTING is_item TYPE st_item
|
||||
RETURNING value(rt_files) TYPE tt_files
|
||||
RAISING lcx_exception.
|
||||
|
||||
CLASS-METHODS: deserialize IMPORTING iv_obj_name TYPE tadir-obj_name
|
||||
CLASS-METHODS: deserialize IMPORTING is_item TYPE st_item
|
||||
it_files TYPE tt_files
|
||||
RAISING lcx_exception.
|
||||
|
||||
CLASS-METHODS: class_constructor.
|
||||
|
||||
ENDCLASS. "lcl_serialize_doma DEFINITION
|
||||
|
||||
*----------------------------------------------------------------------*
|
||||
|
@ -1128,10 +1169,6 @@ ENDCLASS. "lcl_serialize_doma DEFINITION
|
|||
*----------------------------------------------------------------------*
|
||||
CLASS lcl_serialize_doma IMPLEMENTATION.
|
||||
|
||||
METHOD class_constructor.
|
||||
gv_type = 'DOMA'.
|
||||
ENDMETHOD. "class_constructor
|
||||
|
||||
METHOD serialize.
|
||||
|
||||
DATA: lv_name TYPE ddobjname,
|
||||
|
@ -1141,7 +1178,7 @@ CLASS lcl_serialize_doma IMPLEMENTATION.
|
|||
lo_xml TYPE REF TO lcl_xml.
|
||||
|
||||
|
||||
lv_name = iv_obj_name.
|
||||
lv_name = is_item-obj_name.
|
||||
|
||||
CALL FUNCTION 'DDIF_DOMA_GET'
|
||||
EXPORTING
|
||||
|
@ -1167,8 +1204,8 @@ CLASS lcl_serialize_doma IMPLEMENTATION.
|
|||
lo_xml->structure_add( ls_dd01v ).
|
||||
lo_xml->table_add( lt_dd07v ).
|
||||
|
||||
ls_file = xml_to_file( iv_obj_name = iv_obj_name
|
||||
io_xml = lo_xml ).
|
||||
ls_file = xml_to_file( is_item = is_item
|
||||
io_xml = lo_xml ).
|
||||
APPEND ls_file TO rt_files.
|
||||
|
||||
ENDMETHOD. "serialize
|
||||
|
@ -1180,8 +1217,8 @@ CLASS lcl_serialize_doma IMPLEMENTATION.
|
|||
lt_dd07v TYPE dd07v_tab.
|
||||
|
||||
|
||||
lo_xml = read_xml( iv_obj_name = iv_obj_name
|
||||
it_files = it_files ).
|
||||
lo_xml = read_xml( is_item = is_item
|
||||
it_files = it_files ).
|
||||
|
||||
lo_xml->structure_read( CHANGING cg_structure = ls_dd01v ).
|
||||
lo_xml->table_read( CHANGING ct_table = lt_dd07v ).
|
||||
|
@ -1200,16 +1237,14 @@ ENDCLASS. "lcl_serialize_doma IMPLEMENTATION
|
|||
CLASS lcl_serialize_dtel DEFINITION INHERITING FROM lcl_serialize_common FINAL.
|
||||
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS: serialize IMPORTING iv_obj_name TYPE tadir-obj_name
|
||||
CLASS-METHODS: serialize IMPORTING is_item TYPE st_item
|
||||
RETURNING value(rt_files) TYPE tt_files
|
||||
RAISING lcx_exception.
|
||||
|
||||
CLASS-METHODS: deserialize IMPORTING iv_obj_name TYPE tadir-obj_name
|
||||
CLASS-METHODS: deserialize IMPORTING is_item TYPE st_item
|
||||
it_files TYPE tt_files
|
||||
RAISING lcx_exception.
|
||||
|
||||
CLASS-METHODS: class_constructor.
|
||||
|
||||
ENDCLASS. "lcl_serialize_dtel DEFINITION
|
||||
|
||||
*----------------------------------------------------------------------*
|
||||
|
@ -1219,10 +1254,6 @@ ENDCLASS. "lcl_serialize_dtel DEFINITION
|
|||
*----------------------------------------------------------------------*
|
||||
CLASS lcl_serialize_dtel IMPLEMENTATION.
|
||||
|
||||
METHOD class_constructor.
|
||||
gv_type = 'DTEL'.
|
||||
ENDMETHOD. "class_constructor
|
||||
|
||||
METHOD serialize.
|
||||
|
||||
DATA: lv_name TYPE ddobjname,
|
||||
|
@ -1232,7 +1263,7 @@ CLASS lcl_serialize_dtel IMPLEMENTATION.
|
|||
lo_xml TYPE REF TO lcl_xml.
|
||||
|
||||
|
||||
lv_name = iv_obj_name.
|
||||
lv_name = is_item-obj_name.
|
||||
|
||||
CALL FUNCTION 'DDIF_DTEL_GET'
|
||||
EXPORTING
|
||||
|
@ -1257,8 +1288,8 @@ CLASS lcl_serialize_dtel IMPLEMENTATION.
|
|||
lo_xml->structure_add( ls_dd04v ).
|
||||
lo_xml->structure_add( ls_tpara ).
|
||||
|
||||
ls_file = xml_to_file( iv_obj_name = iv_obj_name
|
||||
io_xml = lo_xml ).
|
||||
ls_file = xml_to_file( is_item = is_item
|
||||
io_xml = lo_xml ).
|
||||
APPEND ls_file TO rt_files.
|
||||
|
||||
ENDMETHOD. "serialize
|
||||
|
@ -1270,8 +1301,8 @@ CLASS lcl_serialize_dtel IMPLEMENTATION.
|
|||
ls_tpara TYPE tpara.
|
||||
|
||||
|
||||
lo_xml = read_xml( iv_obj_name = iv_obj_name
|
||||
it_files = it_files ).
|
||||
lo_xml = read_xml( is_item = is_item
|
||||
it_files = it_files ).
|
||||
|
||||
lo_xml->structure_read( CHANGING cg_structure = ls_dd04v ).
|
||||
lo_xml->structure_read( CHANGING cg_structure = ls_tpara ).
|
||||
|
@ -1290,16 +1321,14 @@ ENDCLASS. "lcl_serialize_dtel IMPLEMENTATION
|
|||
CLASS lcl_serialize_clas DEFINITION INHERITING FROM lcl_serialize_common FINAL.
|
||||
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS: serialize IMPORTING iv_obj_name TYPE tadir-obj_name
|
||||
CLASS-METHODS: serialize IMPORTING is_item TYPE st_item
|
||||
RETURNING value(rt_files) TYPE tt_files
|
||||
RAISING lcx_exception.
|
||||
|
||||
CLASS-METHODS: deserialize IMPORTING iv_obj_name TYPE tadir-obj_name
|
||||
CLASS-METHODS: deserialize IMPORTING is_item TYPE st_item
|
||||
it_files TYPE tt_files
|
||||
RAISING lcx_exception.
|
||||
|
||||
CLASS-METHODS: class_constructor.
|
||||
|
||||
ENDCLASS. "lcl_serialize_dtel DEFINITION
|
||||
|
||||
*----------------------------------------------------------------------*
|
||||
|
@ -1309,18 +1338,17 @@ ENDCLASS. "lcl_serialize_dtel DEFINITION
|
|||
*----------------------------------------------------------------------*
|
||||
CLASS lcl_serialize_clas IMPLEMENTATION.
|
||||
|
||||
METHOD class_constructor.
|
||||
gv_type = 'CLAS'.
|
||||
ENDMETHOD. "class_constructor
|
||||
|
||||
METHOD serialize.
|
||||
|
||||
DATA: lo_source TYPE REF TO cl_oo_source,
|
||||
lt_source TYPE seop_source_string,
|
||||
ls_clskey TYPE seoclskey.
|
||||
DATA: lo_source TYPE REF TO cl_oo_source,
|
||||
lt_source TYPE seop_source_string,
|
||||
ls_vseoclass TYPE vseoclass,
|
||||
ls_file TYPE st_file,
|
||||
lo_xml TYPE REF TO lcl_xml,
|
||||
ls_clskey TYPE seoclskey.
|
||||
|
||||
|
||||
ls_clskey-clsname = iv_obj_name.
|
||||
ls_clskey-clsname = is_item-obj_name.
|
||||
|
||||
CREATE OBJECT lo_source
|
||||
EXPORTING
|
||||
|
@ -1328,18 +1356,71 @@ CLASS lcl_serialize_clas IMPLEMENTATION.
|
|||
EXCEPTIONS
|
||||
class_not_existing = 1
|
||||
OTHERS = 2.
|
||||
IF sy-subrc <> 0.
|
||||
IF sy-subrc = 1.
|
||||
RETURN.
|
||||
ELSEIF sy-subrc <> 0.
|
||||
_raise 'error from CL_OO_SOURCE'.
|
||||
ENDIF.
|
||||
lo_source->read( ).
|
||||
lt_source = lo_source->get_old_source( ).
|
||||
* todo, text elements?
|
||||
* todo, local classes in class
|
||||
|
||||
_raise 'todo'.
|
||||
CALL FUNCTION 'SEO_CLASS_GET'
|
||||
EXPORTING
|
||||
clskey = ls_clskey
|
||||
version = seoc_version_active
|
||||
IMPORTING
|
||||
class = ls_vseoclass
|
||||
EXCEPTIONS
|
||||
not_existing = 1
|
||||
deleted = 2
|
||||
is_interface = 3
|
||||
model_only = 4
|
||||
OTHERS = 5.
|
||||
IF sy-subrc <> 0.
|
||||
_raise 'error rom seo_class_get'.
|
||||
ENDIF.
|
||||
|
||||
CLEAR: ls_vseoclass-uuid,
|
||||
ls_vseoclass-author,
|
||||
ls_vseoclass-createdon,
|
||||
ls_vseoclass-changedby,
|
||||
ls_vseoclass-changedon.
|
||||
|
||||
CREATE OBJECT lo_xml.
|
||||
lo_xml->structure_add( ls_vseoclass ).
|
||||
ls_file = xml_to_file( is_item = is_item
|
||||
io_xml = lo_xml ).
|
||||
APPEND ls_file TO rt_files.
|
||||
|
||||
ls_file = abap_to_file( is_item = is_item
|
||||
it_abap = lt_source ).
|
||||
APPEND ls_file TO rt_files.
|
||||
|
||||
ENDMETHOD. "serialize
|
||||
|
||||
METHOD deserialize.
|
||||
|
||||
DATA: ls_vseoclass TYPE vseoclass,
|
||||
lt_source TYPE seop_source_string,
|
||||
lo_xml TYPE REF TO lcl_xml.
|
||||
|
||||
|
||||
* fm SEO_CLASS_CREATE_F_DATA
|
||||
* CL_OO_SOURCE ?
|
||||
lo_xml = read_xml( is_item = is_item
|
||||
it_files = it_files ).
|
||||
lo_xml->structure_read( CHANGING cg_structure = ls_vseoclass ).
|
||||
|
||||
read_abap( EXPORTING is_item = is_item
|
||||
it_files = it_files
|
||||
CHANGING ct_abap = lt_source ).
|
||||
|
||||
BREAK-POINT.
|
||||
|
||||
_raise 'todo'.
|
||||
|
||||
ENDMETHOD. "deserialize
|
||||
|
||||
ENDCLASS. "lcl_serialize_CLAS IMPLEMENTATION
|
||||
|
@ -1352,16 +1433,14 @@ ENDCLASS. "lcl_serialize_CLAS IMPLEMENTATION
|
|||
CLASS lcl_serialize_fugr DEFINITION INHERITING FROM lcl_serialize_common FINAL.
|
||||
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS: serialize IMPORTING iv_obj_name TYPE tadir-obj_name
|
||||
CLASS-METHODS: serialize IMPORTING is_item TYPE st_item
|
||||
RETURNING value(rt_files) TYPE tt_files
|
||||
RAISING lcx_exception.
|
||||
|
||||
CLASS-METHODS: deserialize IMPORTING iv_obj_name TYPE tadir-obj_name
|
||||
CLASS-METHODS: deserialize IMPORTING is_item TYPE st_item
|
||||
it_files TYPE tt_files
|
||||
RAISING lcx_exception.
|
||||
|
||||
CLASS-METHODS: class_constructor.
|
||||
|
||||
ENDCLASS. "lcl_serialize_dtel DEFINITION
|
||||
|
||||
*----------------------------------------------------------------------*
|
||||
|
@ -1371,10 +1450,6 @@ ENDCLASS. "lcl_serialize_dtel DEFINITION
|
|||
*----------------------------------------------------------------------*
|
||||
CLASS lcl_serialize_fugr IMPLEMENTATION.
|
||||
|
||||
METHOD class_constructor.
|
||||
gv_type = 'FUGR'.
|
||||
ENDMETHOD. "class_constructor
|
||||
|
||||
METHOD serialize.
|
||||
_raise 'todo'.
|
||||
ENDMETHOD. "serialize
|
||||
|
@ -1393,16 +1468,14 @@ ENDCLASS. "lcl_serialize_FUGR IMPLEMENTATION
|
|||
CLASS lcl_serialize_tabl DEFINITION INHERITING FROM lcl_serialize_common FINAL.
|
||||
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS: serialize IMPORTING iv_obj_name TYPE tadir-obj_name
|
||||
CLASS-METHODS: serialize IMPORTING is_item TYPE st_item
|
||||
RETURNING value(rt_files) TYPE tt_files
|
||||
RAISING lcx_exception.
|
||||
|
||||
CLASS-METHODS: deserialize IMPORTING iv_obj_name TYPE tadir-obj_name
|
||||
CLASS-METHODS: deserialize IMPORTING is_item TYPE st_item
|
||||
it_files TYPE tt_files
|
||||
RAISING lcx_exception.
|
||||
|
||||
CLASS-METHODS: class_constructor.
|
||||
|
||||
ENDCLASS. "lcl_serialize_dtel DEFINITION
|
||||
|
||||
*----------------------------------------------------------------------*
|
||||
|
@ -1412,10 +1485,6 @@ ENDCLASS. "lcl_serialize_dtel DEFINITION
|
|||
*----------------------------------------------------------------------*
|
||||
CLASS lcl_serialize_tabl IMPLEMENTATION.
|
||||
|
||||
METHOD class_constructor.
|
||||
gv_type = 'TABL'.
|
||||
ENDMETHOD. "class_constructor
|
||||
|
||||
METHOD serialize.
|
||||
_raise 'todo'.
|
||||
ENDMETHOD. "serialize
|
||||
|
@ -1434,16 +1503,14 @@ ENDCLASS. "lcl_serialize_TABL IMPLEMENTATION
|
|||
CLASS lcl_serialize_msag DEFINITION INHERITING FROM lcl_serialize_common FINAL.
|
||||
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS: serialize IMPORTING iv_obj_name TYPE tadir-obj_name
|
||||
CLASS-METHODS: serialize IMPORTING is_item TYPE st_item
|
||||
RETURNING value(rt_files) TYPE tt_files
|
||||
RAISING lcx_exception.
|
||||
|
||||
CLASS-METHODS: deserialize IMPORTING iv_obj_name TYPE tadir-obj_name
|
||||
CLASS-METHODS: deserialize IMPORTING is_item TYPE st_item
|
||||
it_files TYPE tt_files
|
||||
RAISING lcx_exception.
|
||||
|
||||
CLASS-METHODS: class_constructor.
|
||||
|
||||
ENDCLASS. "lcl_serialize_dtel DEFINITION
|
||||
|
||||
*----------------------------------------------------------------------*
|
||||
|
@ -1453,10 +1520,6 @@ ENDCLASS. "lcl_serialize_dtel DEFINITION
|
|||
*----------------------------------------------------------------------*
|
||||
CLASS lcl_serialize_msag IMPLEMENTATION.
|
||||
|
||||
METHOD class_constructor.
|
||||
gv_type = 'MSAG'.
|
||||
ENDMETHOD. "class_constructor
|
||||
|
||||
METHOD serialize.
|
||||
_raise 'todo'.
|
||||
ENDMETHOD. "serialize
|
||||
|
@ -1475,16 +1538,14 @@ ENDCLASS. "lcl_serialize_MSAG IMPLEMENTATION
|
|||
CLASS lcl_serialize_tran DEFINITION INHERITING FROM lcl_serialize_common FINAL.
|
||||
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS: serialize IMPORTING iv_obj_name TYPE tadir-obj_name
|
||||
CLASS-METHODS: serialize IMPORTING is_item TYPE st_item
|
||||
RETURNING value(rt_files) TYPE tt_files
|
||||
RAISING lcx_exception.
|
||||
|
||||
CLASS-METHODS: deserialize IMPORTING iv_obj_name TYPE tadir-obj_name
|
||||
CLASS-METHODS: deserialize IMPORTING is_item TYPE st_item
|
||||
it_files TYPE tt_files
|
||||
RAISING lcx_exception.
|
||||
|
||||
CLASS-METHODS: class_constructor.
|
||||
|
||||
ENDCLASS. "lcl_serialize_dtel DEFINITION
|
||||
|
||||
*----------------------------------------------------------------------*
|
||||
|
@ -1494,10 +1555,6 @@ ENDCLASS. "lcl_serialize_dtel DEFINITION
|
|||
*----------------------------------------------------------------------*
|
||||
CLASS lcl_serialize_tran IMPLEMENTATION.
|
||||
|
||||
METHOD class_constructor.
|
||||
gv_type = 'TRAN'.
|
||||
ENDMETHOD. "class_constructor
|
||||
|
||||
METHOD serialize.
|
||||
_raise 'todo'.
|
||||
ENDMETHOD. "serialize
|
||||
|
@ -1516,16 +1573,14 @@ ENDCLASS. "lcl_serialize_TRAN IMPLEMENTATION
|
|||
CLASS lcl_serialize_prog DEFINITION INHERITING FROM lcl_serialize_common FINAL.
|
||||
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS: serialize IMPORTING iv_obj_name TYPE tadir-obj_name
|
||||
CLASS-METHODS: serialize IMPORTING is_item TYPE st_item
|
||||
RETURNING value(rt_files) TYPE tt_files
|
||||
RAISING lcx_exception.
|
||||
|
||||
CLASS-METHODS: deserialize IMPORTING iv_obj_name TYPE tadir-obj_name
|
||||
CLASS-METHODS: deserialize IMPORTING is_item TYPE st_item
|
||||
it_files TYPE tt_files
|
||||
RAISING lcx_exception.
|
||||
|
||||
CLASS-METHODS: class_constructor.
|
||||
|
||||
|
||||
PRIVATE SECTION.
|
||||
CLASS-METHODS: serialize_dynpros IMPORTING iv_program_name TYPE programm
|
||||
|
@ -1537,7 +1592,7 @@ CLASS lcl_serialize_prog DEFINITION INHERITING FROM lcl_serialize_common FINAL.
|
|||
|
||||
CLASS-METHODS: deserialize_abap IMPORTING iv_obj_name TYPE tadir-obj_name
|
||||
io_xml TYPE REF TO lcl_xml
|
||||
iv_abap TYPE string
|
||||
it_source TYPE abaptxt255_tab
|
||||
RAISING lcx_exception.
|
||||
|
||||
CLASS-METHODS exists IMPORTING iv_obj_name TYPE tadir-obj_name
|
||||
|
@ -1552,10 +1607,6 @@ ENDCLASS. "lcl_serialize_prog DEFINITION
|
|||
*----------------------------------------------------------------------*
|
||||
CLASS lcl_serialize_prog IMPLEMENTATION.
|
||||
|
||||
METHOD class_constructor.
|
||||
gv_type = 'PROG'.
|
||||
ENDMETHOD. "class_constructor
|
||||
|
||||
METHOD serialize.
|
||||
|
||||
* todo, more symmetry, serialize vs deserialize
|
||||
|
@ -1568,13 +1619,12 @@ CLASS lcl_serialize_prog IMPLEMENTATION.
|
|||
lo_xml TYPE REF TO lcl_xml.
|
||||
|
||||
|
||||
lv_program_name = iv_obj_name.
|
||||
lv_program_name = is_item-obj_name.
|
||||
|
||||
IF exists( lv_program_name ) = abap_false.
|
||||
_raise 'not found in progdir'.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
|
||||
CALL FUNCTION 'RPY_PROGRAM_READ'
|
||||
EXPORTING
|
||||
program_name = lv_program_name
|
||||
|
@ -1616,17 +1666,12 @@ CLASS lcl_serialize_prog IMPLEMENTATION.
|
|||
ENDIF.
|
||||
|
||||
|
||||
ls_file = xml_to_file( iv_obj_name = iv_obj_name
|
||||
io_xml = lo_xml ).
|
||||
ls_file = xml_to_file( is_item = is_item
|
||||
io_xml = lo_xml ).
|
||||
APPEND ls_file TO rt_files.
|
||||
|
||||
|
||||
CONCATENATE LINES OF lt_source INTO lv_source SEPARATED BY gc_newline.
|
||||
CLEAR ls_file.
|
||||
ls_file-path = '/'.
|
||||
CONCATENATE lv_program_name '.' gv_type '.abap' INTO ls_file-filename. "#EC NOTEXT
|
||||
TRANSLATE ls_file-filename TO LOWER CASE.
|
||||
ls_file-data = lcl_convert=>string_to_xstring_utf8( lv_source ).
|
||||
ls_file = abap_to_file( is_item = is_item
|
||||
it_abap = lt_source ).
|
||||
APPEND ls_file TO rt_files.
|
||||
|
||||
ENDMETHOD. "lif_serialize~serialize
|
||||
|
@ -1699,25 +1744,19 @@ CLASS lcl_serialize_prog IMPLEMENTATION.
|
|||
|
||||
DATA: lv_filename TYPE string,
|
||||
lo_xml TYPE REF TO lcl_xml,
|
||||
lv_abap TYPE string.
|
||||
|
||||
FIELD-SYMBOLS: <ls_abap> LIKE LINE OF it_files.
|
||||
lt_source TYPE abaptxt255_tab.
|
||||
|
||||
|
||||
lo_xml = read_xml( iv_obj_name = iv_obj_name
|
||||
it_files = it_files ).
|
||||
lo_xml = read_xml( is_item = is_item
|
||||
it_files = it_files ).
|
||||
|
||||
lv_filename = iv_obj_name && '.prog.abap'. "#EC NOTEXT
|
||||
TRANSLATE lv_filename TO LOWER CASE.
|
||||
READ TABLE it_files ASSIGNING <ls_abap> WITH KEY filename = lv_filename.
|
||||
IF sy-subrc <> 0.
|
||||
_raise 'PROG, abap not found'.
|
||||
ENDIF.
|
||||
lv_abap = lcl_convert=>xstring_to_string_utf8( <ls_abap>-data ).
|
||||
read_abap( EXPORTING is_item = is_item
|
||||
it_files = it_files
|
||||
CHANGING ct_abap = lt_source ).
|
||||
|
||||
deserialize_abap( iv_obj_name = iv_obj_name
|
||||
deserialize_abap( iv_obj_name = is_item-obj_name
|
||||
io_xml = lo_xml
|
||||
iv_abap = lv_abap ).
|
||||
it_source = lt_source ).
|
||||
|
||||
deserialize_dynpros( lo_xml ).
|
||||
|
||||
|
@ -1777,21 +1816,20 @@ CLASS lcl_serialize_prog IMPLEMENTATION.
|
|||
|
||||
METHOD deserialize_abap.
|
||||
|
||||
DATA: lt_source TYPE TABLE OF abaptxt255,
|
||||
ls_progdir TYPE progdir,
|
||||
DATA: ls_progdir TYPE progdir,
|
||||
ls_progdir_new TYPE progdir.
|
||||
|
||||
|
||||
io_xml->structure_read( CHANGING cg_structure = ls_progdir ).
|
||||
|
||||
SPLIT iv_abap AT gc_newline INTO TABLE lt_source.
|
||||
|
||||
|
||||
IF exists( iv_obj_name ) = abap_true.
|
||||
CALL FUNCTION 'RPY_PROGRAM_UPDATE'
|
||||
EXPORTING
|
||||
program_name = ls_progdir-name
|
||||
TABLES
|
||||
source_extended = lt_source
|
||||
source_extended = it_source
|
||||
EXCEPTIONS
|
||||
cancelled = 1
|
||||
permission_error = 2
|
||||
|
@ -1813,7 +1851,7 @@ CLASS lcl_serialize_prog IMPLEMENTATION.
|
|||
program_type = ls_progdir-subc
|
||||
title_string = 'todo'
|
||||
TABLES
|
||||
source_extended = lt_source
|
||||
source_extended = it_source
|
||||
EXCEPTIONS
|
||||
already_exists = 1
|
||||
cancelled = 2
|
||||
|
@ -1876,8 +1914,7 @@ ENDCLASS. "lcl_serialize_prog IMPLEMENTATION
|
|||
CLASS lcl_serialize DEFINITION FINAL.
|
||||
|
||||
PUBLIC SECTION.
|
||||
CLASS-METHODS serialize IMPORTING iv_obj_type TYPE tadir-object
|
||||
iv_obj_name TYPE tadir-obj_name
|
||||
CLASS-METHODS serialize IMPORTING is_item TYPE st_item
|
||||
RETURNING value(rt_files) TYPE tt_files
|
||||
RAISING lcx_exception.
|
||||
|
||||
|
@ -1910,23 +1947,23 @@ CLASS lcl_serialize IMPLEMENTATION.
|
|||
DATA: lt_files TYPE tt_files.
|
||||
|
||||
|
||||
CASE iv_obj_type.
|
||||
CASE is_item-obj_type.
|
||||
WHEN 'PROG'.
|
||||
rt_files = lcl_serialize_prog=>serialize( iv_obj_name ).
|
||||
rt_files = lcl_serialize_prog=>serialize( is_item ).
|
||||
WHEN 'DOMA'.
|
||||
rt_files = lcl_serialize_doma=>serialize( iv_obj_name ).
|
||||
rt_files = lcl_serialize_doma=>serialize( is_item ).
|
||||
WHEN 'DTEL'.
|
||||
rt_files = lcl_serialize_dtel=>serialize( iv_obj_name ).
|
||||
rt_files = lcl_serialize_dtel=>serialize( is_item ).
|
||||
WHEN 'CLAS'.
|
||||
rt_files = lcl_serialize_clas=>serialize( iv_obj_name ).
|
||||
rt_files = lcl_serialize_clas=>serialize( is_item ).
|
||||
WHEN 'FUGR'.
|
||||
rt_files = lcl_serialize_fugr=>serialize( iv_obj_name ).
|
||||
rt_files = lcl_serialize_fugr=>serialize( is_item ).
|
||||
WHEN 'TABL'.
|
||||
rt_files = lcl_serialize_tabl=>serialize( iv_obj_name ).
|
||||
rt_files = lcl_serialize_tabl=>serialize( is_item ).
|
||||
WHEN 'TRAN'.
|
||||
rt_files = lcl_serialize_tran=>serialize( iv_obj_name ).
|
||||
rt_files = lcl_serialize_tran=>serialize( is_item ).
|
||||
WHEN 'MSAG'.
|
||||
rt_files = lcl_serialize_msag=>serialize( iv_obj_name ).
|
||||
rt_files = lcl_serialize_msag=>serialize( is_item ).
|
||||
WHEN OTHERS.
|
||||
_raise 'Serialize, unknown type'.
|
||||
ENDCASE.
|
||||
|
@ -1947,6 +1984,7 @@ CLASS lcl_serialize IMPLEMENTATION.
|
|||
lt_files TYPE tt_files,
|
||||
ls_result LIKE LINE OF rt_results,
|
||||
lv_type TYPE string,
|
||||
ls_item TYPE st_item,
|
||||
lv_ext TYPE string.
|
||||
|
||||
FIELD-SYMBOLS: <ls_file> LIKE LINE OF it_files,
|
||||
|
@ -1966,8 +2004,18 @@ CLASS lcl_serialize IMPLEMENTATION.
|
|||
ls_result-obj_type = lv_type.
|
||||
ls_result-obj_name = lv_pre.
|
||||
|
||||
lt_files = serialize( iv_obj_type = ls_result-obj_type
|
||||
iv_obj_name = ls_result-obj_name ).
|
||||
CLEAR ls_item.
|
||||
ls_item-obj_type = lv_type.
|
||||
ls_item-obj_name = lv_pre.
|
||||
|
||||
lt_files = serialize( ls_item ).
|
||||
|
||||
IF lt_files[] IS INITIAL.
|
||||
* item does not exist locally
|
||||
ls_result-filename = <ls_file>-filename.
|
||||
APPEND ls_result TO rt_results.
|
||||
CONTINUE. " current loop
|
||||
ENDIF.
|
||||
|
||||
LOOP AT lt_files ASSIGNING <ls_gen>.
|
||||
ls_result-filename = <ls_gen>-filename.
|
||||
|
@ -1989,6 +2037,7 @@ CLASS lcl_serialize IMPLEMENTATION.
|
|||
|
||||
DATA: lv_pre TYPE tadir-obj_name,
|
||||
lv_type TYPE string,
|
||||
ls_item TYPE st_item,
|
||||
lv_ext TYPE string.
|
||||
|
||||
FIELD-SYMBOLS: <ls_file> LIKE LINE OF it_files.
|
||||
|
@ -2003,23 +2052,35 @@ CLASS lcl_serialize IMPLEMENTATION.
|
|||
CONTINUE. " current loop
|
||||
ENDIF.
|
||||
|
||||
CLEAR ls_item.
|
||||
ls_item-obj_type = lv_type.
|
||||
ls_item-obj_name = lv_pre.
|
||||
|
||||
CASE lv_type.
|
||||
WHEN 'PROG'.
|
||||
lcl_serialize_prog=>deserialize( it_files = it_files iv_obj_name = lv_pre ).
|
||||
lcl_serialize_prog=>deserialize( is_item = ls_item
|
||||
it_files = it_files ).
|
||||
WHEN 'DOMA'.
|
||||
lcl_serialize_doma=>deserialize( it_files = it_files iv_obj_name = lv_pre ).
|
||||
lcl_serialize_doma=>deserialize( is_item = ls_item
|
||||
it_files = it_files ).
|
||||
WHEN 'DTEL'.
|
||||
lcl_serialize_dtel=>deserialize( it_files = it_files iv_obj_name = lv_pre ).
|
||||
lcl_serialize_dtel=>deserialize( is_item = ls_item
|
||||
it_files = it_files ).
|
||||
WHEN 'CLAS'.
|
||||
lcl_serialize_clas=>deserialize( it_files = it_files iv_obj_name = lv_pre ).
|
||||
lcl_serialize_clas=>deserialize( is_item = ls_item
|
||||
it_files = it_files ).
|
||||
WHEN 'FUGR'.
|
||||
lcl_serialize_fugr=>deserialize( it_files = it_files iv_obj_name = lv_pre ).
|
||||
lcl_serialize_fugr=>deserialize( is_item = ls_item
|
||||
it_files = it_files ).
|
||||
WHEN 'TABL'.
|
||||
lcl_serialize_tabl=>deserialize( it_files = it_files iv_obj_name = lv_pre ).
|
||||
lcl_serialize_tabl=>deserialize( is_item = ls_item
|
||||
it_files = it_files ).
|
||||
WHEN 'TRAN'.
|
||||
lcl_serialize_tran=>deserialize( it_files = it_files iv_obj_name = lv_pre ).
|
||||
lcl_serialize_tran=>deserialize( is_item = ls_item
|
||||
it_files = it_files ).
|
||||
WHEN 'MSAG'.
|
||||
lcl_serialize_msag=>deserialize( it_files = it_files iv_obj_name = lv_pre ).
|
||||
lcl_serialize_msag=>deserialize( is_item = ls_item
|
||||
it_files = it_files ).
|
||||
WHEN OTHERS.
|
||||
_raise 'deserialize, unknown type'.
|
||||
ENDCASE.
|
||||
|
@ -3705,10 +3766,10 @@ CLASS lcl_gui DEFINITION FINAL.
|
|||
RAISING lcx_exception.
|
||||
|
||||
CLASS-METHODS: render_header
|
||||
RETURNING value(rv_html) TYPE string.
|
||||
RETURNING value(rv_html) TYPE string.
|
||||
|
||||
CLASS-METHODS: render_footer
|
||||
RETURNING value(rv_html) TYPE string.
|
||||
RETURNING value(rv_html) TYPE string.
|
||||
|
||||
CLASS-METHODS: install
|
||||
RAISING lcx_exception.
|
||||
|
@ -3730,8 +3791,9 @@ CLASS lcl_gui DEFINITION FINAL.
|
|||
is_repo TYPE st_repo
|
||||
RAISING lcx_exception.
|
||||
|
||||
CLASS-METHODS render_diff IMPORTING is_result TYPE st_result
|
||||
it_diffs TYPE tt_diffs.
|
||||
CLASS-METHODS render_diff
|
||||
IMPORTING is_result TYPE st_result
|
||||
it_diffs TYPE tt_diffs.
|
||||
|
||||
CLASS-METHODS: struct_encode
|
||||
IMPORTING ig_structure1 TYPE any
|
||||
|
@ -3772,6 +3834,7 @@ CLASS lcl_gui IMPLEMENTATION.
|
|||
|
||||
DATA: lt_remote TYPE tt_files,
|
||||
lt_local TYPE tt_files,
|
||||
ls_item TYPE st_item,
|
||||
lt_diffs TYPE tt_diffs.
|
||||
|
||||
FIELD-SYMBOLS: <ls_remote> LIKE LINE OF lt_remote,
|
||||
|
@ -3781,8 +3844,11 @@ CLASS lcl_gui IMPLEMENTATION.
|
|||
lcl_porcelain=>pull( EXPORTING is_repo = is_repo
|
||||
IMPORTING et_files = lt_remote ).
|
||||
|
||||
lt_local = lcl_serialize=>serialize( iv_obj_type = is_result-obj_type
|
||||
iv_obj_name = is_result-obj_name ).
|
||||
CLEAR ls_item.
|
||||
ls_item-obj_type = is_result-obj_type.
|
||||
ls_item-obj_name = is_result-obj_name.
|
||||
|
||||
lt_local = lcl_serialize=>serialize( ls_item ).
|
||||
|
||||
READ TABLE lt_remote ASSIGNING <ls_remote>
|
||||
WITH KEY filename = is_result-filename.
|
||||
|
@ -3928,6 +3994,7 @@ CLASS lcl_gui IMPLEMENTATION.
|
|||
DATA: lv_branch TYPE t_sha1,
|
||||
lt_results TYPE tt_results,
|
||||
lt_push TYPE tt_files,
|
||||
ls_item TYPE st_item,
|
||||
ls_comment TYPE st_comment,
|
||||
lt_files TYPE tt_files.
|
||||
|
||||
|
@ -3941,8 +4008,11 @@ CLASS lcl_gui IMPLEMENTATION.
|
|||
|
||||
CLEAR lt_files[].
|
||||
LOOP AT lt_results ASSIGNING <ls_result> WHERE match = abap_false.
|
||||
lt_files = lcl_serialize=>serialize( iv_obj_type = <ls_result>-obj_type
|
||||
iv_obj_name = <ls_result>-obj_name ).
|
||||
CLEAR ls_item.
|
||||
ls_item-obj_type = <ls_result>-obj_type.
|
||||
ls_item-obj_name = <ls_result>-obj_name.
|
||||
|
||||
lt_files = lcl_serialize=>serialize( ls_item ).
|
||||
APPEND LINES OF lt_files TO lt_push.
|
||||
ENDLOOP.
|
||||
|
||||
|
@ -4027,6 +4097,7 @@ CLASS lcl_gui IMPLEMENTATION.
|
|||
ENDIF.
|
||||
|
||||
rv_string = cl_http_utility=>if_http_utility~fields_to_string( lt_fields ).
|
||||
|
||||
ENDMETHOD. "encode_struct
|
||||
|
||||
METHOD on_event.
|
||||
|
@ -4078,8 +4149,7 @@ CLASS lcl_gui IMPLEMENTATION.
|
|||
METHOD add.
|
||||
|
||||
DATA: lt_files TYPE tt_files,
|
||||
lv_obj_type TYPE tadir-object,
|
||||
lv_obj_name TYPE tadir-obj_name,
|
||||
ls_item TYPE st_item,
|
||||
ls_comment TYPE st_comment,
|
||||
lv_euobj_id TYPE euobj-id,
|
||||
lv_branch TYPE t_sha1,
|
||||
|
@ -4133,23 +4203,22 @@ CLASS lcl_gui IMPLEMENTATION.
|
|||
|
||||
READ TABLE lt_spopli ASSIGNING <ls_spopli> WITH KEY selflag = abap_true.
|
||||
ASSERT sy-subrc = 0.
|
||||
lv_obj_type = <ls_spopli>-varoption.
|
||||
ls_item-obj_type = <ls_spopli>-varoption.
|
||||
|
||||
lv_euobj_id = lv_obj_type.
|
||||
lv_euobj_id = ls_item-obj_type.
|
||||
CALL FUNCTION 'REPOSITORY_INFO_SYSTEM_F4'
|
||||
EXPORTING
|
||||
object_type = lv_euobj_id
|
||||
suppress_selection = abap_true
|
||||
IMPORTING
|
||||
object_name_selected = lv_obj_name
|
||||
object_name_selected = ls_item-obj_name
|
||||
EXCEPTIONS
|
||||
cancel = 01.
|
||||
IF sy-subrc = 1.
|
||||
RETURN.
|
||||
ENDIF.
|
||||
|
||||
lt_files = lcl_serialize=>serialize( iv_obj_type = lv_obj_type
|
||||
iv_obj_name = lv_obj_name ).
|
||||
lt_files = lcl_serialize=>serialize( ls_item ).
|
||||
|
||||
ls_comment = popup_comment( ).
|
||||
IF ls_comment IS INITIAL.
|
||||
|
@ -4470,9 +4539,6 @@ ENDFORM. "run
|
|||
CLASS lcl_abap_unit DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FINAL.
|
||||
|
||||
PRIVATE SECTION.
|
||||
METHODS repository_foobar FOR TESTING RAISING lcx_exception.
|
||||
METHODS repository_mousechase FOR TESTING RAISING lcx_exception.
|
||||
METHODS repository_dicing FOR TESTING RAISING lcx_exception.
|
||||
|
||||
METHODS encode_decode_tree FOR TESTING RAISING lcx_exception.
|
||||
METHODS encode_decode_commit FOR TESTING RAISING lcx_exception.
|
||||
|
@ -4485,11 +4551,6 @@ CLASS lcl_abap_unit DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT FI
|
|||
METHODS repo_url FOR TESTING RAISING lcx_exception.
|
||||
METHODS repo_error FOR TESTING.
|
||||
|
||||
CLASS-METHODS compare IMPORTING is_repo TYPE st_repo
|
||||
RAISING lcx_exception.
|
||||
CLASS-METHODS http_fetch IMPORTING iv_url TYPE string
|
||||
RETURNING value(rv_data) TYPE xstring.
|
||||
|
||||
ENDCLASS. "test DEFINITION
|
||||
*----------------------------------------------------------------------*
|
||||
* CLASS test IMPLEMENTATION
|
||||
|
@ -4699,93 +4760,4 @@ CLASS lcl_abap_unit IMPLEMENTATION.
|
|||
|
||||
ENDMETHOD. "commit_encode_decode
|
||||
|
||||
METHOD http_fetch.
|
||||
|
||||
DATA: li_client TYPE REF TO if_http_client,
|
||||
lv_code TYPE i.
|
||||
|
||||
cl_http_client=>create_by_url(
|
||||
EXPORTING
|
||||
url = iv_url
|
||||
IMPORTING
|
||||
client = li_client ).
|
||||
|
||||
li_client->send( ).
|
||||
li_client->receive( ).
|
||||
li_client->response->get_status(
|
||||
IMPORTING
|
||||
code = lv_code ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
exp = 200
|
||||
act = lv_code ).
|
||||
|
||||
rv_data = li_client->response->get_data( ).
|
||||
|
||||
ENDMETHOD. "http_fetch
|
||||
|
||||
METHOD compare.
|
||||
|
||||
DATA: lv_url TYPE string,
|
||||
lv_data TYPE xstring,
|
||||
lt_files TYPE tt_files.
|
||||
|
||||
FIELD-SYMBOLS: <ls_file> LIKE LINE OF lt_files.
|
||||
|
||||
|
||||
lcl_porcelain=>pull( EXPORTING is_repo = is_repo
|
||||
IMPORTING et_files = lt_files ).
|
||||
|
||||
cl_abap_unit_assert=>assert_not_initial( lt_files ).
|
||||
|
||||
LOOP AT lt_files ASSIGNING <ls_file>.
|
||||
lv_url =
|
||||
'https://raw.githubusercontent.com' &&
|
||||
lcl_url=>path_name( is_repo-url ) &&
|
||||
'/master' &&
|
||||
<ls_file>-path &&
|
||||
<ls_file>-filename. "#EC NOTEXT
|
||||
|
||||
lv_data = http_fetch( lv_url ).
|
||||
|
||||
cl_abap_unit_assert=>assert_equals(
|
||||
exp = <ls_file>-data
|
||||
act = lv_data ).
|
||||
ENDLOOP.
|
||||
|
||||
ENDMETHOD. "compare
|
||||
|
||||
METHOD repository_foobar.
|
||||
|
||||
DATA: ls_repo TYPE st_repo.
|
||||
|
||||
ls_repo-url = 'https://github.com/larshp/Foobar.git'. "#EC NOTEXT
|
||||
ls_repo-branch_name = 'refs/heads/master'. "#EC NOTEXT
|
||||
|
||||
compare( ls_repo ).
|
||||
|
||||
ENDMETHOD. "test_minus_ten_percent
|
||||
|
||||
METHOD repository_mousechase.
|
||||
|
||||
DATA: ls_repo TYPE st_repo.
|
||||
|
||||
ls_repo-url = 'https://github.com/larshp/MouseChase.git'. "#EC NOTEXT
|
||||
ls_repo-branch_name = 'refs/heads/master'. "#EC NOTEXT
|
||||
|
||||
compare( ls_repo ).
|
||||
|
||||
ENDMETHOD. "larshp_mousechase
|
||||
|
||||
METHOD repository_dicing.
|
||||
|
||||
DATA: ls_repo TYPE st_repo.
|
||||
|
||||
ls_repo-url = 'https://github.com/larshp/Dicing.git'. "#EC NOTEXT
|
||||
ls_repo-branch_name = 'refs/heads/master'. "#EC NOTEXT
|
||||
|
||||
compare( ls_repo ).
|
||||
|
||||
ENDMETHOD. "larshp_dicing
|
||||
|
||||
ENDCLASS. "lcl_abap_unit IMPLEMENTATION
|
||||
|
|
Loading…
Reference in New Issue
Block a user