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,
|
comment TYPE string,
|
||||||
END OF st_comment.
|
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
|
CONSTANTS: gc_commit TYPE t_type VALUE 'commit', "#EC NOTEXT
|
||||||
gc_tree TYPE t_type VALUE 'tree', "#EC NOTEXT
|
gc_tree TYPE t_type VALUE 'tree', "#EC NOTEXT
|
||||||
gc_ref_d TYPE t_type VALUE 'ref_d', "#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.
|
CLASS lcl_serialize_common DEFINITION ABSTRACT.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
CLASS-METHODS: xml_to_file IMPORTING iv_obj_name TYPE tadir-obj_name
|
CLASS-METHODS: xml_to_file IMPORTING is_item TYPE st_item
|
||||||
io_xml TYPE REF TO lcl_xml
|
io_xml TYPE REF TO lcl_xml
|
||||||
RETURNING value(rs_file) TYPE st_file
|
RETURNING value(rs_file) TYPE st_file
|
||||||
RAISING lcx_exception.
|
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
|
it_files TYPE tt_files
|
||||||
RETURNING value(ro_xml) TYPE REF TO lcl_xml
|
RETURNING value(ro_xml) TYPE REF TO lcl_xml
|
||||||
RAISING lcx_exception.
|
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
|
ENDCLASS. "lcl_serialize_common DEFINITION
|
||||||
|
|
||||||
|
@ -1059,6 +1072,40 @@ ENDCLASS. "lcl_serialize_common DEFINITION
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
CLASS lcl_serialize_common IMPLEMENTATION.
|
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.
|
METHOD read_xml.
|
||||||
|
|
||||||
DATA: lv_filename TYPE string,
|
DATA: lv_filename TYPE string,
|
||||||
|
@ -1067,7 +1114,7 @@ CLASS lcl_serialize_common IMPLEMENTATION.
|
||||||
FIELD-SYMBOLS: <ls_xml> LIKE LINE OF it_files.
|
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.
|
TRANSLATE lv_filename TO LOWER CASE.
|
||||||
READ TABLE it_files ASSIGNING <ls_xml> WITH KEY filename = lv_filename.
|
READ TABLE it_files ASSIGNING <ls_xml> WITH KEY filename = lv_filename.
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc <> 0.
|
||||||
|
@ -1087,13 +1134,9 @@ CLASS lcl_serialize_common IMPLEMENTATION.
|
||||||
DATA: lv_xml TYPE string.
|
DATA: lv_xml TYPE string.
|
||||||
|
|
||||||
|
|
||||||
IF gv_type IS INITIAL.
|
|
||||||
_raise 'gv_type empty'.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
lv_xml = io_xml->xml_render( ).
|
lv_xml = io_xml->xml_render( ).
|
||||||
rs_file-path = '/'.
|
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.
|
TRANSLATE rs_file-filename TO LOWER CASE.
|
||||||
rs_file-data = lcl_convert=>string_to_xstring_utf8( lv_xml ).
|
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.
|
CLASS lcl_serialize_doma DEFINITION INHERITING FROM lcl_serialize_common FINAL.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
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
|
RETURNING value(rt_files) TYPE tt_files
|
||||||
RAISING lcx_exception.
|
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
|
it_files TYPE tt_files
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS: class_constructor.
|
|
||||||
|
|
||||||
ENDCLASS. "lcl_serialize_doma DEFINITION
|
ENDCLASS. "lcl_serialize_doma DEFINITION
|
||||||
|
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
|
@ -1128,10 +1169,6 @@ ENDCLASS. "lcl_serialize_doma DEFINITION
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
CLASS lcl_serialize_doma IMPLEMENTATION.
|
CLASS lcl_serialize_doma IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD class_constructor.
|
|
||||||
gv_type = 'DOMA'.
|
|
||||||
ENDMETHOD. "class_constructor
|
|
||||||
|
|
||||||
METHOD serialize.
|
METHOD serialize.
|
||||||
|
|
||||||
DATA: lv_name TYPE ddobjname,
|
DATA: lv_name TYPE ddobjname,
|
||||||
|
@ -1141,7 +1178,7 @@ CLASS lcl_serialize_doma IMPLEMENTATION.
|
||||||
lo_xml TYPE REF TO lcl_xml.
|
lo_xml TYPE REF TO lcl_xml.
|
||||||
|
|
||||||
|
|
||||||
lv_name = iv_obj_name.
|
lv_name = is_item-obj_name.
|
||||||
|
|
||||||
CALL FUNCTION 'DDIF_DOMA_GET'
|
CALL FUNCTION 'DDIF_DOMA_GET'
|
||||||
EXPORTING
|
EXPORTING
|
||||||
|
@ -1167,8 +1204,8 @@ CLASS lcl_serialize_doma IMPLEMENTATION.
|
||||||
lo_xml->structure_add( ls_dd01v ).
|
lo_xml->structure_add( ls_dd01v ).
|
||||||
lo_xml->table_add( lt_dd07v ).
|
lo_xml->table_add( lt_dd07v ).
|
||||||
|
|
||||||
ls_file = xml_to_file( iv_obj_name = iv_obj_name
|
ls_file = xml_to_file( is_item = is_item
|
||||||
io_xml = lo_xml ).
|
io_xml = lo_xml ).
|
||||||
APPEND ls_file TO rt_files.
|
APPEND ls_file TO rt_files.
|
||||||
|
|
||||||
ENDMETHOD. "serialize
|
ENDMETHOD. "serialize
|
||||||
|
@ -1180,8 +1217,8 @@ CLASS lcl_serialize_doma IMPLEMENTATION.
|
||||||
lt_dd07v TYPE dd07v_tab.
|
lt_dd07v TYPE dd07v_tab.
|
||||||
|
|
||||||
|
|
||||||
lo_xml = read_xml( iv_obj_name = iv_obj_name
|
lo_xml = read_xml( is_item = is_item
|
||||||
it_files = it_files ).
|
it_files = it_files ).
|
||||||
|
|
||||||
lo_xml->structure_read( CHANGING cg_structure = ls_dd01v ).
|
lo_xml->structure_read( CHANGING cg_structure = ls_dd01v ).
|
||||||
lo_xml->table_read( CHANGING ct_table = lt_dd07v ).
|
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.
|
CLASS lcl_serialize_dtel DEFINITION INHERITING FROM lcl_serialize_common FINAL.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
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
|
RETURNING value(rt_files) TYPE tt_files
|
||||||
RAISING lcx_exception.
|
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
|
it_files TYPE tt_files
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS: class_constructor.
|
|
||||||
|
|
||||||
ENDCLASS. "lcl_serialize_dtel DEFINITION
|
ENDCLASS. "lcl_serialize_dtel DEFINITION
|
||||||
|
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
|
@ -1219,10 +1254,6 @@ ENDCLASS. "lcl_serialize_dtel DEFINITION
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
CLASS lcl_serialize_dtel IMPLEMENTATION.
|
CLASS lcl_serialize_dtel IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD class_constructor.
|
|
||||||
gv_type = 'DTEL'.
|
|
||||||
ENDMETHOD. "class_constructor
|
|
||||||
|
|
||||||
METHOD serialize.
|
METHOD serialize.
|
||||||
|
|
||||||
DATA: lv_name TYPE ddobjname,
|
DATA: lv_name TYPE ddobjname,
|
||||||
|
@ -1232,7 +1263,7 @@ CLASS lcl_serialize_dtel IMPLEMENTATION.
|
||||||
lo_xml TYPE REF TO lcl_xml.
|
lo_xml TYPE REF TO lcl_xml.
|
||||||
|
|
||||||
|
|
||||||
lv_name = iv_obj_name.
|
lv_name = is_item-obj_name.
|
||||||
|
|
||||||
CALL FUNCTION 'DDIF_DTEL_GET'
|
CALL FUNCTION 'DDIF_DTEL_GET'
|
||||||
EXPORTING
|
EXPORTING
|
||||||
|
@ -1257,8 +1288,8 @@ CLASS lcl_serialize_dtel IMPLEMENTATION.
|
||||||
lo_xml->structure_add( ls_dd04v ).
|
lo_xml->structure_add( ls_dd04v ).
|
||||||
lo_xml->structure_add( ls_tpara ).
|
lo_xml->structure_add( ls_tpara ).
|
||||||
|
|
||||||
ls_file = xml_to_file( iv_obj_name = iv_obj_name
|
ls_file = xml_to_file( is_item = is_item
|
||||||
io_xml = lo_xml ).
|
io_xml = lo_xml ).
|
||||||
APPEND ls_file TO rt_files.
|
APPEND ls_file TO rt_files.
|
||||||
|
|
||||||
ENDMETHOD. "serialize
|
ENDMETHOD. "serialize
|
||||||
|
@ -1270,8 +1301,8 @@ CLASS lcl_serialize_dtel IMPLEMENTATION.
|
||||||
ls_tpara TYPE tpara.
|
ls_tpara TYPE tpara.
|
||||||
|
|
||||||
|
|
||||||
lo_xml = read_xml( iv_obj_name = iv_obj_name
|
lo_xml = read_xml( is_item = is_item
|
||||||
it_files = it_files ).
|
it_files = it_files ).
|
||||||
|
|
||||||
lo_xml->structure_read( CHANGING cg_structure = ls_dd04v ).
|
lo_xml->structure_read( CHANGING cg_structure = ls_dd04v ).
|
||||||
lo_xml->structure_read( CHANGING cg_structure = ls_tpara ).
|
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.
|
CLASS lcl_serialize_clas DEFINITION INHERITING FROM lcl_serialize_common FINAL.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
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
|
RETURNING value(rt_files) TYPE tt_files
|
||||||
RAISING lcx_exception.
|
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
|
it_files TYPE tt_files
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS: class_constructor.
|
|
||||||
|
|
||||||
ENDCLASS. "lcl_serialize_dtel DEFINITION
|
ENDCLASS. "lcl_serialize_dtel DEFINITION
|
||||||
|
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
|
@ -1309,18 +1338,17 @@ ENDCLASS. "lcl_serialize_dtel DEFINITION
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
CLASS lcl_serialize_clas IMPLEMENTATION.
|
CLASS lcl_serialize_clas IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD class_constructor.
|
|
||||||
gv_type = 'CLAS'.
|
|
||||||
ENDMETHOD. "class_constructor
|
|
||||||
|
|
||||||
METHOD serialize.
|
METHOD serialize.
|
||||||
|
|
||||||
DATA: lo_source TYPE REF TO cl_oo_source,
|
DATA: lo_source TYPE REF TO cl_oo_source,
|
||||||
lt_source TYPE seop_source_string,
|
lt_source TYPE seop_source_string,
|
||||||
ls_clskey TYPE seoclskey.
|
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
|
CREATE OBJECT lo_source
|
||||||
EXPORTING
|
EXPORTING
|
||||||
|
@ -1328,18 +1356,71 @@ CLASS lcl_serialize_clas IMPLEMENTATION.
|
||||||
EXCEPTIONS
|
EXCEPTIONS
|
||||||
class_not_existing = 1
|
class_not_existing = 1
|
||||||
OTHERS = 2.
|
OTHERS = 2.
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc = 1.
|
||||||
|
RETURN.
|
||||||
|
ELSEIF sy-subrc <> 0.
|
||||||
_raise 'error from CL_OO_SOURCE'.
|
_raise 'error from CL_OO_SOURCE'.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
lo_source->read( ).
|
lo_source->read( ).
|
||||||
lt_source = lo_source->get_old_source( ).
|
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
|
ENDMETHOD. "serialize
|
||||||
|
|
||||||
METHOD deserialize.
|
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'.
|
_raise 'todo'.
|
||||||
|
|
||||||
ENDMETHOD. "deserialize
|
ENDMETHOD. "deserialize
|
||||||
|
|
||||||
ENDCLASS. "lcl_serialize_CLAS IMPLEMENTATION
|
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.
|
CLASS lcl_serialize_fugr DEFINITION INHERITING FROM lcl_serialize_common FINAL.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
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
|
RETURNING value(rt_files) TYPE tt_files
|
||||||
RAISING lcx_exception.
|
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
|
it_files TYPE tt_files
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS: class_constructor.
|
|
||||||
|
|
||||||
ENDCLASS. "lcl_serialize_dtel DEFINITION
|
ENDCLASS. "lcl_serialize_dtel DEFINITION
|
||||||
|
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
|
@ -1371,10 +1450,6 @@ ENDCLASS. "lcl_serialize_dtel DEFINITION
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
CLASS lcl_serialize_fugr IMPLEMENTATION.
|
CLASS lcl_serialize_fugr IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD class_constructor.
|
|
||||||
gv_type = 'FUGR'.
|
|
||||||
ENDMETHOD. "class_constructor
|
|
||||||
|
|
||||||
METHOD serialize.
|
METHOD serialize.
|
||||||
_raise 'todo'.
|
_raise 'todo'.
|
||||||
ENDMETHOD. "serialize
|
ENDMETHOD. "serialize
|
||||||
|
@ -1393,16 +1468,14 @@ ENDCLASS. "lcl_serialize_FUGR IMPLEMENTATION
|
||||||
CLASS lcl_serialize_tabl DEFINITION INHERITING FROM lcl_serialize_common FINAL.
|
CLASS lcl_serialize_tabl DEFINITION INHERITING FROM lcl_serialize_common FINAL.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
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
|
RETURNING value(rt_files) TYPE tt_files
|
||||||
RAISING lcx_exception.
|
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
|
it_files TYPE tt_files
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS: class_constructor.
|
|
||||||
|
|
||||||
ENDCLASS. "lcl_serialize_dtel DEFINITION
|
ENDCLASS. "lcl_serialize_dtel DEFINITION
|
||||||
|
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
|
@ -1412,10 +1485,6 @@ ENDCLASS. "lcl_serialize_dtel DEFINITION
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
CLASS lcl_serialize_tabl IMPLEMENTATION.
|
CLASS lcl_serialize_tabl IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD class_constructor.
|
|
||||||
gv_type = 'TABL'.
|
|
||||||
ENDMETHOD. "class_constructor
|
|
||||||
|
|
||||||
METHOD serialize.
|
METHOD serialize.
|
||||||
_raise 'todo'.
|
_raise 'todo'.
|
||||||
ENDMETHOD. "serialize
|
ENDMETHOD. "serialize
|
||||||
|
@ -1434,16 +1503,14 @@ ENDCLASS. "lcl_serialize_TABL IMPLEMENTATION
|
||||||
CLASS lcl_serialize_msag DEFINITION INHERITING FROM lcl_serialize_common FINAL.
|
CLASS lcl_serialize_msag DEFINITION INHERITING FROM lcl_serialize_common FINAL.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
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
|
RETURNING value(rt_files) TYPE tt_files
|
||||||
RAISING lcx_exception.
|
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
|
it_files TYPE tt_files
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS: class_constructor.
|
|
||||||
|
|
||||||
ENDCLASS. "lcl_serialize_dtel DEFINITION
|
ENDCLASS. "lcl_serialize_dtel DEFINITION
|
||||||
|
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
|
@ -1453,10 +1520,6 @@ ENDCLASS. "lcl_serialize_dtel DEFINITION
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
CLASS lcl_serialize_msag IMPLEMENTATION.
|
CLASS lcl_serialize_msag IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD class_constructor.
|
|
||||||
gv_type = 'MSAG'.
|
|
||||||
ENDMETHOD. "class_constructor
|
|
||||||
|
|
||||||
METHOD serialize.
|
METHOD serialize.
|
||||||
_raise 'todo'.
|
_raise 'todo'.
|
||||||
ENDMETHOD. "serialize
|
ENDMETHOD. "serialize
|
||||||
|
@ -1475,16 +1538,14 @@ ENDCLASS. "lcl_serialize_MSAG IMPLEMENTATION
|
||||||
CLASS lcl_serialize_tran DEFINITION INHERITING FROM lcl_serialize_common FINAL.
|
CLASS lcl_serialize_tran DEFINITION INHERITING FROM lcl_serialize_common FINAL.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
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
|
RETURNING value(rt_files) TYPE tt_files
|
||||||
RAISING lcx_exception.
|
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
|
it_files TYPE tt_files
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS: class_constructor.
|
|
||||||
|
|
||||||
ENDCLASS. "lcl_serialize_dtel DEFINITION
|
ENDCLASS. "lcl_serialize_dtel DEFINITION
|
||||||
|
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
|
@ -1494,10 +1555,6 @@ ENDCLASS. "lcl_serialize_dtel DEFINITION
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
CLASS lcl_serialize_tran IMPLEMENTATION.
|
CLASS lcl_serialize_tran IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD class_constructor.
|
|
||||||
gv_type = 'TRAN'.
|
|
||||||
ENDMETHOD. "class_constructor
|
|
||||||
|
|
||||||
METHOD serialize.
|
METHOD serialize.
|
||||||
_raise 'todo'.
|
_raise 'todo'.
|
||||||
ENDMETHOD. "serialize
|
ENDMETHOD. "serialize
|
||||||
|
@ -1516,16 +1573,14 @@ ENDCLASS. "lcl_serialize_TRAN IMPLEMENTATION
|
||||||
CLASS lcl_serialize_prog DEFINITION INHERITING FROM lcl_serialize_common FINAL.
|
CLASS lcl_serialize_prog DEFINITION INHERITING FROM lcl_serialize_common FINAL.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
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
|
RETURNING value(rt_files) TYPE tt_files
|
||||||
RAISING lcx_exception.
|
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
|
it_files TYPE tt_files
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS: class_constructor.
|
|
||||||
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
CLASS-METHODS: serialize_dynpros IMPORTING iv_program_name TYPE programm
|
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
|
CLASS-METHODS: deserialize_abap IMPORTING iv_obj_name TYPE tadir-obj_name
|
||||||
io_xml TYPE REF TO lcl_xml
|
io_xml TYPE REF TO lcl_xml
|
||||||
iv_abap TYPE string
|
it_source TYPE abaptxt255_tab
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS exists IMPORTING iv_obj_name TYPE tadir-obj_name
|
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.
|
CLASS lcl_serialize_prog IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD class_constructor.
|
|
||||||
gv_type = 'PROG'.
|
|
||||||
ENDMETHOD. "class_constructor
|
|
||||||
|
|
||||||
METHOD serialize.
|
METHOD serialize.
|
||||||
|
|
||||||
* todo, more symmetry, serialize vs deserialize
|
* todo, more symmetry, serialize vs deserialize
|
||||||
|
@ -1568,13 +1619,12 @@ CLASS lcl_serialize_prog IMPLEMENTATION.
|
||||||
lo_xml TYPE REF TO lcl_xml.
|
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.
|
IF exists( lv_program_name ) = abap_false.
|
||||||
_raise 'not found in progdir'.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
|
||||||
CALL FUNCTION 'RPY_PROGRAM_READ'
|
CALL FUNCTION 'RPY_PROGRAM_READ'
|
||||||
EXPORTING
|
EXPORTING
|
||||||
program_name = lv_program_name
|
program_name = lv_program_name
|
||||||
|
@ -1616,17 +1666,12 @@ CLASS lcl_serialize_prog IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
|
||||||
ls_file = xml_to_file( iv_obj_name = iv_obj_name
|
ls_file = xml_to_file( is_item = is_item
|
||||||
io_xml = lo_xml ).
|
io_xml = lo_xml ).
|
||||||
APPEND ls_file TO rt_files.
|
APPEND ls_file TO rt_files.
|
||||||
|
|
||||||
|
ls_file = abap_to_file( is_item = is_item
|
||||||
CONCATENATE LINES OF lt_source INTO lv_source SEPARATED BY gc_newline.
|
it_abap = lt_source ).
|
||||||
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 ).
|
|
||||||
APPEND ls_file TO rt_files.
|
APPEND ls_file TO rt_files.
|
||||||
|
|
||||||
ENDMETHOD. "lif_serialize~serialize
|
ENDMETHOD. "lif_serialize~serialize
|
||||||
|
@ -1699,25 +1744,19 @@ CLASS lcl_serialize_prog IMPLEMENTATION.
|
||||||
|
|
||||||
DATA: lv_filename TYPE string,
|
DATA: lv_filename TYPE string,
|
||||||
lo_xml TYPE REF TO lcl_xml,
|
lo_xml TYPE REF TO lcl_xml,
|
||||||
lv_abap TYPE string.
|
lt_source TYPE abaptxt255_tab.
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_abap> LIKE LINE OF it_files.
|
|
||||||
|
|
||||||
|
|
||||||
lo_xml = read_xml( iv_obj_name = iv_obj_name
|
lo_xml = read_xml( is_item = is_item
|
||||||
it_files = it_files ).
|
it_files = it_files ).
|
||||||
|
|
||||||
lv_filename = iv_obj_name && '.prog.abap'. "#EC NOTEXT
|
read_abap( EXPORTING is_item = is_item
|
||||||
TRANSLATE lv_filename TO LOWER CASE.
|
it_files = it_files
|
||||||
READ TABLE it_files ASSIGNING <ls_abap> WITH KEY filename = lv_filename.
|
CHANGING ct_abap = lt_source ).
|
||||||
IF sy-subrc <> 0.
|
|
||||||
_raise 'PROG, abap not found'.
|
|
||||||
ENDIF.
|
|
||||||
lv_abap = lcl_convert=>xstring_to_string_utf8( <ls_abap>-data ).
|
|
||||||
|
|
||||||
deserialize_abap( iv_obj_name = iv_obj_name
|
deserialize_abap( iv_obj_name = is_item-obj_name
|
||||||
io_xml = lo_xml
|
io_xml = lo_xml
|
||||||
iv_abap = lv_abap ).
|
it_source = lt_source ).
|
||||||
|
|
||||||
deserialize_dynpros( lo_xml ).
|
deserialize_dynpros( lo_xml ).
|
||||||
|
|
||||||
|
@ -1777,21 +1816,20 @@ CLASS lcl_serialize_prog IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD deserialize_abap.
|
METHOD deserialize_abap.
|
||||||
|
|
||||||
DATA: lt_source TYPE TABLE OF abaptxt255,
|
DATA: ls_progdir TYPE progdir,
|
||||||
ls_progdir TYPE progdir,
|
|
||||||
ls_progdir_new TYPE progdir.
|
ls_progdir_new TYPE progdir.
|
||||||
|
|
||||||
|
|
||||||
io_xml->structure_read( CHANGING cg_structure = ls_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.
|
IF exists( iv_obj_name ) = abap_true.
|
||||||
CALL FUNCTION 'RPY_PROGRAM_UPDATE'
|
CALL FUNCTION 'RPY_PROGRAM_UPDATE'
|
||||||
EXPORTING
|
EXPORTING
|
||||||
program_name = ls_progdir-name
|
program_name = ls_progdir-name
|
||||||
TABLES
|
TABLES
|
||||||
source_extended = lt_source
|
source_extended = it_source
|
||||||
EXCEPTIONS
|
EXCEPTIONS
|
||||||
cancelled = 1
|
cancelled = 1
|
||||||
permission_error = 2
|
permission_error = 2
|
||||||
|
@ -1813,7 +1851,7 @@ CLASS lcl_serialize_prog IMPLEMENTATION.
|
||||||
program_type = ls_progdir-subc
|
program_type = ls_progdir-subc
|
||||||
title_string = 'todo'
|
title_string = 'todo'
|
||||||
TABLES
|
TABLES
|
||||||
source_extended = lt_source
|
source_extended = it_source
|
||||||
EXCEPTIONS
|
EXCEPTIONS
|
||||||
already_exists = 1
|
already_exists = 1
|
||||||
cancelled = 2
|
cancelled = 2
|
||||||
|
@ -1876,8 +1914,7 @@ ENDCLASS. "lcl_serialize_prog IMPLEMENTATION
|
||||||
CLASS lcl_serialize DEFINITION FINAL.
|
CLASS lcl_serialize DEFINITION FINAL.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
CLASS-METHODS serialize IMPORTING iv_obj_type TYPE tadir-object
|
CLASS-METHODS serialize IMPORTING is_item TYPE st_item
|
||||||
iv_obj_name TYPE tadir-obj_name
|
|
||||||
RETURNING value(rt_files) TYPE tt_files
|
RETURNING value(rt_files) TYPE tt_files
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
@ -1910,23 +1947,23 @@ CLASS lcl_serialize IMPLEMENTATION.
|
||||||
DATA: lt_files TYPE tt_files.
|
DATA: lt_files TYPE tt_files.
|
||||||
|
|
||||||
|
|
||||||
CASE iv_obj_type.
|
CASE is_item-obj_type.
|
||||||
WHEN 'PROG'.
|
WHEN 'PROG'.
|
||||||
rt_files = lcl_serialize_prog=>serialize( iv_obj_name ).
|
rt_files = lcl_serialize_prog=>serialize( is_item ).
|
||||||
WHEN 'DOMA'.
|
WHEN 'DOMA'.
|
||||||
rt_files = lcl_serialize_doma=>serialize( iv_obj_name ).
|
rt_files = lcl_serialize_doma=>serialize( is_item ).
|
||||||
WHEN 'DTEL'.
|
WHEN 'DTEL'.
|
||||||
rt_files = lcl_serialize_dtel=>serialize( iv_obj_name ).
|
rt_files = lcl_serialize_dtel=>serialize( is_item ).
|
||||||
WHEN 'CLAS'.
|
WHEN 'CLAS'.
|
||||||
rt_files = lcl_serialize_clas=>serialize( iv_obj_name ).
|
rt_files = lcl_serialize_clas=>serialize( is_item ).
|
||||||
WHEN 'FUGR'.
|
WHEN 'FUGR'.
|
||||||
rt_files = lcl_serialize_fugr=>serialize( iv_obj_name ).
|
rt_files = lcl_serialize_fugr=>serialize( is_item ).
|
||||||
WHEN 'TABL'.
|
WHEN 'TABL'.
|
||||||
rt_files = lcl_serialize_tabl=>serialize( iv_obj_name ).
|
rt_files = lcl_serialize_tabl=>serialize( is_item ).
|
||||||
WHEN 'TRAN'.
|
WHEN 'TRAN'.
|
||||||
rt_files = lcl_serialize_tran=>serialize( iv_obj_name ).
|
rt_files = lcl_serialize_tran=>serialize( is_item ).
|
||||||
WHEN 'MSAG'.
|
WHEN 'MSAG'.
|
||||||
rt_files = lcl_serialize_msag=>serialize( iv_obj_name ).
|
rt_files = lcl_serialize_msag=>serialize( is_item ).
|
||||||
WHEN OTHERS.
|
WHEN OTHERS.
|
||||||
_raise 'Serialize, unknown type'.
|
_raise 'Serialize, unknown type'.
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
|
@ -1947,6 +1984,7 @@ CLASS lcl_serialize IMPLEMENTATION.
|
||||||
lt_files TYPE tt_files,
|
lt_files TYPE tt_files,
|
||||||
ls_result LIKE LINE OF rt_results,
|
ls_result LIKE LINE OF rt_results,
|
||||||
lv_type TYPE string,
|
lv_type TYPE string,
|
||||||
|
ls_item TYPE st_item,
|
||||||
lv_ext TYPE string.
|
lv_ext TYPE string.
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_file> LIKE LINE OF it_files,
|
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_type = lv_type.
|
||||||
ls_result-obj_name = lv_pre.
|
ls_result-obj_name = lv_pre.
|
||||||
|
|
||||||
lt_files = serialize( iv_obj_type = ls_result-obj_type
|
CLEAR ls_item.
|
||||||
iv_obj_name = ls_result-obj_name ).
|
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>.
|
LOOP AT lt_files ASSIGNING <ls_gen>.
|
||||||
ls_result-filename = <ls_gen>-filename.
|
ls_result-filename = <ls_gen>-filename.
|
||||||
|
@ -1989,6 +2037,7 @@ CLASS lcl_serialize IMPLEMENTATION.
|
||||||
|
|
||||||
DATA: lv_pre TYPE tadir-obj_name,
|
DATA: lv_pre TYPE tadir-obj_name,
|
||||||
lv_type TYPE string,
|
lv_type TYPE string,
|
||||||
|
ls_item TYPE st_item,
|
||||||
lv_ext TYPE string.
|
lv_ext TYPE string.
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_file> LIKE LINE OF it_files.
|
FIELD-SYMBOLS: <ls_file> LIKE LINE OF it_files.
|
||||||
|
@ -2003,23 +2052,35 @@ CLASS lcl_serialize IMPLEMENTATION.
|
||||||
CONTINUE. " current loop
|
CONTINUE. " current loop
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
CLEAR ls_item.
|
||||||
|
ls_item-obj_type = lv_type.
|
||||||
|
ls_item-obj_name = lv_pre.
|
||||||
|
|
||||||
CASE lv_type.
|
CASE lv_type.
|
||||||
WHEN 'PROG'.
|
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'.
|
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'.
|
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'.
|
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'.
|
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'.
|
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'.
|
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'.
|
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.
|
WHEN OTHERS.
|
||||||
_raise 'deserialize, unknown type'.
|
_raise 'deserialize, unknown type'.
|
||||||
ENDCASE.
|
ENDCASE.
|
||||||
|
@ -3705,10 +3766,10 @@ CLASS lcl_gui DEFINITION FINAL.
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS: render_header
|
CLASS-METHODS: render_header
|
||||||
RETURNING value(rv_html) TYPE string.
|
RETURNING value(rv_html) TYPE string.
|
||||||
|
|
||||||
CLASS-METHODS: render_footer
|
CLASS-METHODS: render_footer
|
||||||
RETURNING value(rv_html) TYPE string.
|
RETURNING value(rv_html) TYPE string.
|
||||||
|
|
||||||
CLASS-METHODS: install
|
CLASS-METHODS: install
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
@ -3730,8 +3791,9 @@ CLASS lcl_gui DEFINITION FINAL.
|
||||||
is_repo TYPE st_repo
|
is_repo TYPE st_repo
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS render_diff IMPORTING is_result TYPE st_result
|
CLASS-METHODS render_diff
|
||||||
it_diffs TYPE tt_diffs.
|
IMPORTING is_result TYPE st_result
|
||||||
|
it_diffs TYPE tt_diffs.
|
||||||
|
|
||||||
CLASS-METHODS: struct_encode
|
CLASS-METHODS: struct_encode
|
||||||
IMPORTING ig_structure1 TYPE any
|
IMPORTING ig_structure1 TYPE any
|
||||||
|
@ -3772,6 +3834,7 @@ CLASS lcl_gui IMPLEMENTATION.
|
||||||
|
|
||||||
DATA: lt_remote TYPE tt_files,
|
DATA: lt_remote TYPE tt_files,
|
||||||
lt_local TYPE tt_files,
|
lt_local TYPE tt_files,
|
||||||
|
ls_item TYPE st_item,
|
||||||
lt_diffs TYPE tt_diffs.
|
lt_diffs TYPE tt_diffs.
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_remote> LIKE LINE OF lt_remote,
|
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
|
lcl_porcelain=>pull( EXPORTING is_repo = is_repo
|
||||||
IMPORTING et_files = lt_remote ).
|
IMPORTING et_files = lt_remote ).
|
||||||
|
|
||||||
lt_local = lcl_serialize=>serialize( iv_obj_type = is_result-obj_type
|
CLEAR ls_item.
|
||||||
iv_obj_name = is_result-obj_name ).
|
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>
|
READ TABLE lt_remote ASSIGNING <ls_remote>
|
||||||
WITH KEY filename = is_result-filename.
|
WITH KEY filename = is_result-filename.
|
||||||
|
@ -3928,6 +3994,7 @@ CLASS lcl_gui IMPLEMENTATION.
|
||||||
DATA: lv_branch TYPE t_sha1,
|
DATA: lv_branch TYPE t_sha1,
|
||||||
lt_results TYPE tt_results,
|
lt_results TYPE tt_results,
|
||||||
lt_push TYPE tt_files,
|
lt_push TYPE tt_files,
|
||||||
|
ls_item TYPE st_item,
|
||||||
ls_comment TYPE st_comment,
|
ls_comment TYPE st_comment,
|
||||||
lt_files TYPE tt_files.
|
lt_files TYPE tt_files.
|
||||||
|
|
||||||
|
@ -3941,8 +4008,11 @@ CLASS lcl_gui IMPLEMENTATION.
|
||||||
|
|
||||||
CLEAR lt_files[].
|
CLEAR lt_files[].
|
||||||
LOOP AT lt_results ASSIGNING <ls_result> WHERE match = abap_false.
|
LOOP AT lt_results ASSIGNING <ls_result> WHERE match = abap_false.
|
||||||
lt_files = lcl_serialize=>serialize( iv_obj_type = <ls_result>-obj_type
|
CLEAR ls_item.
|
||||||
iv_obj_name = <ls_result>-obj_name ).
|
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.
|
APPEND LINES OF lt_files TO lt_push.
|
||||||
ENDLOOP.
|
ENDLOOP.
|
||||||
|
|
||||||
|
@ -4027,6 +4097,7 @@ CLASS lcl_gui IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
rv_string = cl_http_utility=>if_http_utility~fields_to_string( lt_fields ).
|
rv_string = cl_http_utility=>if_http_utility~fields_to_string( lt_fields ).
|
||||||
|
|
||||||
ENDMETHOD. "encode_struct
|
ENDMETHOD. "encode_struct
|
||||||
|
|
||||||
METHOD on_event.
|
METHOD on_event.
|
||||||
|
@ -4078,8 +4149,7 @@ CLASS lcl_gui IMPLEMENTATION.
|
||||||
METHOD add.
|
METHOD add.
|
||||||
|
|
||||||
DATA: lt_files TYPE tt_files,
|
DATA: lt_files TYPE tt_files,
|
||||||
lv_obj_type TYPE tadir-object,
|
ls_item TYPE st_item,
|
||||||
lv_obj_name TYPE tadir-obj_name,
|
|
||||||
ls_comment TYPE st_comment,
|
ls_comment TYPE st_comment,
|
||||||
lv_euobj_id TYPE euobj-id,
|
lv_euobj_id TYPE euobj-id,
|
||||||
lv_branch TYPE t_sha1,
|
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.
|
READ TABLE lt_spopli ASSIGNING <ls_spopli> WITH KEY selflag = abap_true.
|
||||||
ASSERT sy-subrc = 0.
|
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'
|
CALL FUNCTION 'REPOSITORY_INFO_SYSTEM_F4'
|
||||||
EXPORTING
|
EXPORTING
|
||||||
object_type = lv_euobj_id
|
object_type = lv_euobj_id
|
||||||
suppress_selection = abap_true
|
suppress_selection = abap_true
|
||||||
IMPORTING
|
IMPORTING
|
||||||
object_name_selected = lv_obj_name
|
object_name_selected = ls_item-obj_name
|
||||||
EXCEPTIONS
|
EXCEPTIONS
|
||||||
cancel = 01.
|
cancel = 01.
|
||||||
IF sy-subrc = 1.
|
IF sy-subrc = 1.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
lt_files = lcl_serialize=>serialize( iv_obj_type = lv_obj_type
|
lt_files = lcl_serialize=>serialize( ls_item ).
|
||||||
iv_obj_name = lv_obj_name ).
|
|
||||||
|
|
||||||
ls_comment = popup_comment( ).
|
ls_comment = popup_comment( ).
|
||||||
IF ls_comment IS INITIAL.
|
IF ls_comment IS INITIAL.
|
||||||
|
@ -4470,9 +4539,6 @@ 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.
|
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_tree FOR TESTING RAISING lcx_exception.
|
||||||
METHODS encode_decode_commit 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_url FOR TESTING RAISING lcx_exception.
|
||||||
METHODS repo_error FOR TESTING.
|
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
|
ENDCLASS. "test DEFINITION
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
* CLASS test IMPLEMENTATION
|
* CLASS test IMPLEMENTATION
|
||||||
|
@ -4699,93 +4760,4 @@ CLASS lcl_abap_unit IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD. "commit_encode_decode
|
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
|
ENDCLASS. "lcl_abap_unit IMPLEMENTATION
|
||||||
|
|
Loading…
Reference in New Issue
Block a user