mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 11:46:38 +08:00
support for interfaces added
This commit is contained in:
parent
7fd86139ef
commit
7d4f8cec7b
216
zabapgit.abap
216
zabapgit.abap
|
@ -1287,7 +1287,7 @@ CLASS lcl_serialize_common IMPLEMENTATION.
|
||||||
|
|
||||||
* todo, refactoring
|
* todo, refactoring
|
||||||
CASE iv_type.
|
CASE iv_type.
|
||||||
WHEN 'CLAS'.
|
WHEN 'CLAS' OR 'INTF'.
|
||||||
CALL FUNCTION 'RS_INACTIVE_OBJECTS_IN_OBJECT'
|
CALL FUNCTION 'RS_INACTIVE_OBJECTS_IN_OBJECT'
|
||||||
EXPORTING
|
EXPORTING
|
||||||
obj_name = lv_obj_name
|
obj_name = lv_obj_name
|
||||||
|
@ -1679,7 +1679,7 @@ CLASS lcl_serialize_clas DEFINITION INHERITING FROM lcl_serialize_common FINAL.
|
||||||
RETURNING value(rt_source) TYPE seop_source_string
|
RETURNING value(rt_source) TYPE seop_source_string
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
CLASS-METHODS serialize_xml IMPORTING is_clskey TYPE seoclskey
|
CLASS-METHODS serialize_xml IMPORTING is_item TYPE st_item
|
||||||
RETURNING value(ro_xml) TYPE REF TO lcl_xml
|
RETURNING value(ro_xml) TYPE REF TO lcl_xml
|
||||||
RAISING lcx_exception.
|
RAISING lcx_exception.
|
||||||
|
|
||||||
|
@ -1892,39 +1892,41 @@ CLASS lcl_serialize_clas IMPLEMENTATION.
|
||||||
it_abap = lt_source ).
|
it_abap = lt_source ).
|
||||||
APPEND ls_file TO rt_files.
|
APPEND ls_file TO rt_files.
|
||||||
|
|
||||||
lt_source = serialize_locals_def( ls_clskey ).
|
IF is_item-obj_type = 'CLAS'.
|
||||||
IF NOT lt_source[] IS INITIAL.
|
lt_source = serialize_locals_def( ls_clskey ).
|
||||||
ls_file = abap_to_file( is_item = is_item
|
IF NOT lt_source[] IS INITIAL.
|
||||||
iv_extra = 'locals_def'
|
ls_file = abap_to_file( is_item = is_item
|
||||||
it_abap = lt_source ). "#EC NOTEXT
|
iv_extra = 'locals_def'
|
||||||
APPEND ls_file TO rt_files.
|
it_abap = lt_source ). "#EC NOTEXT
|
||||||
|
APPEND ls_file TO rt_files.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
lt_source = serialize_locals_imp( ls_clskey ).
|
||||||
|
IF NOT lt_source[] IS INITIAL.
|
||||||
|
ls_file = abap_to_file( is_item = is_item
|
||||||
|
iv_extra = 'locals_imp'
|
||||||
|
it_abap = lt_source ). "#EC NOTEXT
|
||||||
|
APPEND ls_file TO rt_files.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
lt_source = serialize_testclasses( ls_clskey ).
|
||||||
|
IF NOT lt_source[] IS INITIAL.
|
||||||
|
ls_file = abap_to_file( is_item = is_item
|
||||||
|
iv_extra = 'testclasses'
|
||||||
|
it_abap = lt_source ). "#EC NOTEXT
|
||||||
|
APPEND ls_file TO rt_files.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
lt_source = serialize_macros( ls_clskey ).
|
||||||
|
IF NOT lt_source[] IS INITIAL.
|
||||||
|
ls_file = abap_to_file( is_item = is_item
|
||||||
|
iv_extra = 'macros'
|
||||||
|
it_abap = lt_source ). "#EC NOTEXT
|
||||||
|
APPEND ls_file TO rt_files.
|
||||||
|
ENDIF.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
lt_source = serialize_locals_imp( ls_clskey ).
|
lo_xml = serialize_xml( is_item ).
|
||||||
IF NOT lt_source[] IS INITIAL.
|
|
||||||
ls_file = abap_to_file( is_item = is_item
|
|
||||||
iv_extra = 'locals_imp'
|
|
||||||
it_abap = lt_source ). "#EC NOTEXT
|
|
||||||
APPEND ls_file TO rt_files.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
lt_source = serialize_testclasses( ls_clskey ).
|
|
||||||
IF NOT lt_source[] IS INITIAL.
|
|
||||||
ls_file = abap_to_file( is_item = is_item
|
|
||||||
iv_extra = 'testclasses'
|
|
||||||
it_abap = lt_source ). "#EC NOTEXT
|
|
||||||
APPEND ls_file TO rt_files.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
lt_source = serialize_macros( ls_clskey ).
|
|
||||||
IF NOT lt_source[] IS INITIAL.
|
|
||||||
ls_file = abap_to_file( is_item = is_item
|
|
||||||
iv_extra = 'macros'
|
|
||||||
it_abap = lt_source ). "#EC NOTEXT
|
|
||||||
APPEND ls_file TO rt_files.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
lo_xml = serialize_xml( ls_clskey ).
|
|
||||||
ls_file = xml_to_file( is_item = is_item
|
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.
|
||||||
|
@ -1938,23 +1940,27 @@ CLASS lcl_serialize_clas IMPLEMENTATION.
|
||||||
lt_tpool TYPE textpool_table,
|
lt_tpool TYPE textpool_table,
|
||||||
lv_object TYPE dokhl-object,
|
lv_object TYPE dokhl-object,
|
||||||
lv_state TYPE dokhl-dokstate,
|
lv_state TYPE dokhl-dokstate,
|
||||||
|
ls_vseointerf TYPE vseointerf,
|
||||||
|
ls_clskey TYPE seoclskey,
|
||||||
lt_lines TYPE tlinetab.
|
lt_lines TYPE tlinetab.
|
||||||
|
|
||||||
|
|
||||||
CALL FUNCTION 'SEO_CLASS_GET'
|
ls_clskey-clsname = is_item-obj_name.
|
||||||
|
|
||||||
|
CALL FUNCTION 'SEO_CLIF_GET'
|
||||||
EXPORTING
|
EXPORTING
|
||||||
clskey = is_clskey
|
cifkey = ls_clskey
|
||||||
version = seoc_version_active
|
version = seoc_version_active
|
||||||
IMPORTING
|
IMPORTING
|
||||||
class = ls_vseoclass
|
class = ls_vseoclass
|
||||||
|
interface = ls_vseointerf
|
||||||
EXCEPTIONS
|
EXCEPTIONS
|
||||||
not_existing = 1
|
not_existing = 1
|
||||||
deleted = 2
|
deleted = 2
|
||||||
is_interface = 3
|
model_only = 3
|
||||||
model_only = 4
|
OTHERS = 4.
|
||||||
OTHERS = 5.
|
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc <> 0.
|
||||||
_raise 'error from seo_class_get'.
|
_raise 'error from seo_clif_get'.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
CLEAR: ls_vseoclass-uuid,
|
CLEAR: ls_vseoclass-uuid,
|
||||||
|
@ -1964,16 +1970,29 @@ CLASS lcl_serialize_clas IMPLEMENTATION.
|
||||||
ls_vseoclass-changedon,
|
ls_vseoclass-changedon,
|
||||||
ls_vseoclass-r3release.
|
ls_vseoclass-r3release.
|
||||||
|
|
||||||
|
CLEAR: ls_vseointerf-uuid,
|
||||||
|
ls_vseointerf-author,
|
||||||
|
ls_vseointerf-createdon,
|
||||||
|
ls_vseointerf-changedby,
|
||||||
|
ls_vseointerf-changedon,
|
||||||
|
ls_vseointerf-r3release.
|
||||||
|
|
||||||
CREATE OBJECT ro_xml.
|
CREATE OBJECT ro_xml.
|
||||||
ro_xml->structure_add( ls_vseoclass ).
|
|
||||||
|
|
||||||
|
CASE is_item-obj_type.
|
||||||
|
WHEN 'CLAS'.
|
||||||
|
ro_xml->structure_add( ls_vseoclass ).
|
||||||
|
|
||||||
lv_cp = cl_oo_classname_service=>get_classpool_name( is_clskey-clsname ).
|
lv_cp = cl_oo_classname_service=>get_classpool_name( ls_clskey-clsname ).
|
||||||
READ TEXTPOOL lv_cp INTO lt_tpool LANGUAGE sy-langu. "#EC CI_READ_REP
|
READ TEXTPOOL lv_cp INTO lt_tpool LANGUAGE sy-langu. "#EC CI_READ_REP
|
||||||
ro_xml->table_add( lt_tpool ).
|
ro_xml->table_add( lt_tpool ).
|
||||||
|
WHEN 'INTF'.
|
||||||
|
ro_xml->structure_add( ls_vseointerf ).
|
||||||
|
WHEN OTHERS.
|
||||||
|
ASSERT 1 = 1 + 1.
|
||||||
|
ENDCASE.
|
||||||
|
|
||||||
|
lv_object = ls_clskey-clsname.
|
||||||
lv_object = is_clskey-clsname.
|
|
||||||
CALL FUNCTION 'DOCU_GET'
|
CALL FUNCTION 'DOCU_GET'
|
||||||
EXPORTING
|
EXPORTING
|
||||||
id = 'CL'
|
id = 'CL'
|
||||||
|
@ -2013,8 +2032,10 @@ CLASS lcl_serialize_clas IMPLEMENTATION.
|
||||||
it_files = it_files
|
it_files = it_files
|
||||||
io_xml = lo_xml ).
|
io_xml = lo_xml ).
|
||||||
|
|
||||||
deserialize_textpool( is_item = is_item
|
IF is_item-obj_type = 'CLAS'.
|
||||||
io_xml = lo_xml ).
|
deserialize_textpool( is_item = is_item
|
||||||
|
io_xml = lo_xml ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
deserialize_docu( is_item = is_item
|
deserialize_docu( is_item = is_item
|
||||||
io_xml = lo_xml ).
|
io_xml = lo_xml ).
|
||||||
|
@ -2082,6 +2103,7 @@ CLASS lcl_serialize_clas IMPLEMENTATION.
|
||||||
METHOD deserialize_abap.
|
METHOD deserialize_abap.
|
||||||
|
|
||||||
DATA: ls_vseoclass TYPE vseoclass,
|
DATA: ls_vseoclass TYPE vseoclass,
|
||||||
|
ls_vseointerf TYPE vseointerf,
|
||||||
lt_source TYPE seop_source_string,
|
lt_source TYPE seop_source_string,
|
||||||
lo_source TYPE REF TO cl_oo_source,
|
lo_source TYPE REF TO cl_oo_source,
|
||||||
lt_locals_def TYPE seop_source_string,
|
lt_locals_def TYPE seop_source_string,
|
||||||
|
@ -2091,8 +2113,6 @@ CLASS lcl_serialize_clas IMPLEMENTATION.
|
||||||
ls_clskey TYPE seoclskey.
|
ls_clskey TYPE seoclskey.
|
||||||
|
|
||||||
|
|
||||||
io_xml->structure_read( CHANGING cg_structure = ls_vseoclass ).
|
|
||||||
|
|
||||||
read_abap( EXPORTING is_item = is_item
|
read_abap( EXPORTING is_item = is_item
|
||||||
it_files = it_files
|
it_files = it_files
|
||||||
CHANGING ct_abap = lt_source ).
|
CHANGING ct_abap = lt_source ).
|
||||||
|
@ -2124,40 +2144,69 @@ CLASS lcl_serialize_clas IMPLEMENTATION.
|
||||||
ls_clskey-clsname = is_item-obj_name.
|
ls_clskey-clsname = is_item-obj_name.
|
||||||
|
|
||||||
|
|
||||||
|
CASE is_item-obj_type.
|
||||||
|
WHEN 'CLAS'.
|
||||||
|
io_xml->structure_read( CHANGING cg_structure = ls_vseoclass ).
|
||||||
|
|
||||||
CALL FUNCTION 'SEO_CLASS_CREATE_COMPLETE'
|
CALL FUNCTION 'SEO_CLASS_CREATE_COMPLETE'
|
||||||
EXPORTING
|
EXPORTING
|
||||||
overwrite = seox_true
|
overwrite = seox_true
|
||||||
CHANGING
|
CHANGING
|
||||||
class = ls_vseoclass
|
class = ls_vseoclass
|
||||||
EXCEPTIONS
|
EXCEPTIONS
|
||||||
existing = 1
|
existing = 1
|
||||||
is_interface = 2
|
is_interface = 2
|
||||||
db_error = 3
|
db_error = 3
|
||||||
component_error = 4
|
component_error = 4
|
||||||
no_access = 5
|
no_access = 5
|
||||||
other = 6
|
other = 6
|
||||||
OTHERS = 7.
|
OTHERS = 7.
|
||||||
IF sy-subrc <> 0.
|
IF sy-subrc <> 0.
|
||||||
_raise 'error from SEO_CLASS_CREATE_COMPLETE'.
|
_raise 'error from SEO_CLASS_CREATE_COMPLETE'.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
CALL FUNCTION 'SEO_CLASS_GENERATE_LOCALS'
|
WHEN 'INTF'.
|
||||||
EXPORTING
|
io_xml->structure_read( CHANGING cg_structure = ls_vseointerf ).
|
||||||
clskey = ls_clskey
|
|
||||||
force = seox_true
|
CALL FUNCTION 'SEO_INTERFACE_CREATE_COMPLETE'
|
||||||
locals_def = lt_locals_def
|
EXPORTING
|
||||||
locals_imp = lt_locals_imp
|
overwrite = seox_true
|
||||||
locals_mac = lt_locals_mac
|
CHANGING
|
||||||
locals_testclasses = lt_testclasses
|
interface = ls_vseointerf
|
||||||
EXCEPTIONS
|
EXCEPTIONS
|
||||||
not_existing = 1
|
existing = 1
|
||||||
model_only = 2
|
is_class = 2
|
||||||
locals_not_generated = 3
|
db_error = 3
|
||||||
locals_not_initialised = 4
|
component_error = 4
|
||||||
OTHERS = 5.
|
no_access = 5
|
||||||
IF sy-subrc <> 0.
|
other = 6
|
||||||
_raise 'error from generate_locals'.
|
OTHERS = 7.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
_raise 'Error from SEO_INTERFACE_CREATE_COMPLETE'.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
WHEN OTHERS.
|
||||||
|
ASSERT 1 = 1 + 1.
|
||||||
|
ENDCASE.
|
||||||
|
|
||||||
|
IF is_item-obj_type = 'CLAS'.
|
||||||
|
CALL FUNCTION 'SEO_CLASS_GENERATE_LOCALS'
|
||||||
|
EXPORTING
|
||||||
|
clskey = ls_clskey
|
||||||
|
force = seox_true
|
||||||
|
locals_def = lt_locals_def
|
||||||
|
locals_imp = lt_locals_imp
|
||||||
|
locals_mac = lt_locals_mac
|
||||||
|
locals_testclasses = lt_testclasses
|
||||||
|
EXCEPTIONS
|
||||||
|
not_existing = 1
|
||||||
|
model_only = 2
|
||||||
|
locals_not_generated = 3
|
||||||
|
locals_not_initialised = 4
|
||||||
|
OTHERS = 5.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
_raise 'error from generate_locals'.
|
||||||
|
ENDIF.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
CREATE OBJECT lo_source
|
CREATE OBJECT lo_source
|
||||||
|
@ -3819,7 +3868,7 @@ CLASS lcl_serialize IMPLEMENTATION.
|
||||||
rt_files = lcl_serialize_doma=>serialize( is_item ).
|
rt_files = lcl_serialize_doma=>serialize( is_item ).
|
||||||
WHEN 'DTEL'.
|
WHEN 'DTEL'.
|
||||||
rt_files = lcl_serialize_dtel=>serialize( is_item ).
|
rt_files = lcl_serialize_dtel=>serialize( is_item ).
|
||||||
WHEN 'CLAS'.
|
WHEN 'CLAS' OR 'INTF'.
|
||||||
rt_files = lcl_serialize_clas=>serialize( is_item ).
|
rt_files = lcl_serialize_clas=>serialize( is_item ).
|
||||||
WHEN 'FUGR'.
|
WHEN 'FUGR'.
|
||||||
rt_files = lcl_serialize_fugr=>serialize( is_item ).
|
rt_files = lcl_serialize_fugr=>serialize( is_item ).
|
||||||
|
@ -3947,7 +3996,7 @@ CLASS lcl_serialize IMPLEMENTATION.
|
||||||
WHEN 'DTEL'.
|
WHEN 'DTEL'.
|
||||||
lcl_serialize_dtel=>deserialize( is_item = ls_item
|
lcl_serialize_dtel=>deserialize( is_item = ls_item
|
||||||
it_files = it_files ).
|
it_files = it_files ).
|
||||||
WHEN 'CLAS'.
|
WHEN 'CLAS' OR 'INTF'.
|
||||||
lcl_serialize_clas=>deserialize( is_item = ls_item
|
lcl_serialize_clas=>deserialize( is_item = ls_item
|
||||||
it_files = it_files ).
|
it_files = it_files ).
|
||||||
WHEN 'FUGR'.
|
WHEN 'FUGR'.
|
||||||
|
@ -6217,6 +6266,7 @@ CLASS lcl_gui IMPLEMENTATION.
|
||||||
_add 'DTEL Data Element'.
|
_add 'DTEL Data Element'.
|
||||||
_add 'DOMA Domain'.
|
_add 'DOMA Domain'.
|
||||||
_add 'CLAS Class'.
|
_add 'CLAS Class'.
|
||||||
|
_add 'INTF Interface'.
|
||||||
_add 'TABL Table/Structure'.
|
_add 'TABL Table/Structure'.
|
||||||
_add 'TTYP Table Type'.
|
_add 'TTYP Table Type'.
|
||||||
_add 'VIEW View'.
|
_add 'VIEW View'.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user