mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
more WDYN work #100
This commit is contained in:
parent
8637c9c580
commit
77dffcd538
270
zabapgit.abap
270
zabapgit.abap
|
@ -3,7 +3,7 @@ REPORT zabapgit.
|
|||
* See https://github.com/larshp/abapGit/
|
||||
|
||||
CONSTANTS: gc_xml_version TYPE string VALUE 'v0.2-alpha', "#EC NOTEXT
|
||||
gc_abap_version TYPE string VALUE 'v0.51'. "#EC NOTEXT
|
||||
gc_abap_version TYPE string VALUE 'v0.52'. "#EC NOTEXT
|
||||
|
||||
********************************************************************************
|
||||
* The MIT License (MIT)
|
||||
|
@ -4114,6 +4114,11 @@ CLASS lcl_object_wdyn DEFINITION INHERITING FROM lcl_objects_common FINAL.
|
|||
RAISING lcx_exception.
|
||||
|
||||
PRIVATE SECTION.
|
||||
|
||||
CLASS-DATA:
|
||||
gt_components TYPE TABLE OF wdy_ctlr_compo_vrs,
|
||||
gt_sources TYPE TABLE OF wdy_ctlr_compo_source_vrs.
|
||||
|
||||
CLASS-METHODS:
|
||||
get_limu_objects
|
||||
IMPORTING is_item TYPE st_item
|
||||
|
@ -4162,19 +4167,25 @@ CLASS lcl_object_wdyn IMPLEMENTATION.
|
|||
|
||||
METHOD delta_definition.
|
||||
|
||||
DATA: ls_key TYPE wdy_md_component_key,
|
||||
ls_obj_new TYPE svrs2_versionable_object,
|
||||
ls_obj_old TYPE svrs2_versionable_object.
|
||||
DATA: ls_key TYPE wdy_md_component_key,
|
||||
lv_found TYPE abap_bool,
|
||||
ls_obj_new TYPE svrs2_versionable_object,
|
||||
li_component TYPE REF TO if_wdy_md_component,
|
||||
ls_obj_old TYPE svrs2_versionable_object.
|
||||
|
||||
|
||||
ls_key-component_name = is_definition-definition-component_name.
|
||||
|
||||
SELECT COUNT(*) FROM wdy_component
|
||||
WHERE component_name = ls_key-component_name.
|
||||
IF sy-subrc <> 0.
|
||||
* create dummy if the component does not exist in system
|
||||
lv_found = cl_wdy_md_component=>check_existency( ls_key-component_name ).
|
||||
IF lv_found = abap_false.
|
||||
TRY.
|
||||
cl_wdy_md_component=>create_complete( ls_key-component_name ).
|
||||
cl_wdy_md_component=>create_complete(
|
||||
EXPORTING
|
||||
name = ls_key-component_name
|
||||
IMPORTING
|
||||
component = li_component ).
|
||||
li_component->save_to_database( ).
|
||||
li_component->unlock( ).
|
||||
CATCH cx_wdy_md_exception.
|
||||
_raise 'error creating dummy component'.
|
||||
ENDTRY.
|
||||
|
@ -4209,8 +4220,8 @@ CLASS lcl_object_wdyn IMPLEMENTATION.
|
|||
|
||||
CALL FUNCTION 'SVRS_MAKE_OBJECT_DELTA'
|
||||
EXPORTING
|
||||
obj_old = ls_obj_new
|
||||
obj_new = ls_obj_old
|
||||
obj_old = ls_obj_old
|
||||
obj_new = ls_obj_new
|
||||
CHANGING
|
||||
delta = rs_delta
|
||||
EXCEPTIONS
|
||||
|
@ -4223,13 +4234,197 @@ CLASS lcl_object_wdyn IMPLEMENTATION.
|
|||
|
||||
METHOD delta_controller.
|
||||
|
||||
_raise 'todo, delta_controller'.
|
||||
DATA: lo_controller TYPE REF TO if_wdy_md_controller,
|
||||
lv_found TYPE abap_bool,
|
||||
ls_key TYPE wdy_md_controller_key,
|
||||
ls_obj_new TYPE svrs2_versionable_object,
|
||||
ls_obj_old TYPE svrs2_versionable_object.
|
||||
|
||||
FIELD-SYMBOLS: <ls_component> LIKE LINE OF gt_components,
|
||||
<ls_source> LIKE LINE OF gt_sources.
|
||||
|
||||
|
||||
ls_key-component_name = is_controller-definition-component_name.
|
||||
ls_key-controller_name = is_controller-definition-controller_name.
|
||||
|
||||
lv_found = cl_wdy_md_controller=>check_existency(
|
||||
component_name = ls_key-component_name
|
||||
controller_name = ls_key-controller_name ).
|
||||
IF lv_found = abap_false.
|
||||
TRY.
|
||||
lo_controller ?= cl_wdy_md_controller=>create_complete(
|
||||
component_name = ls_key-component_name
|
||||
controller_name = ls_key-controller_name
|
||||
controller_type = is_controller-definition-controller_type ).
|
||||
lo_controller->save_to_database( ).
|
||||
lo_controller->unlock( ).
|
||||
CATCH cx_wdy_md_exception.
|
||||
_raise 'error creating dummy controller'.
|
||||
ENDTRY.
|
||||
ENDIF.
|
||||
|
||||
ls_obj_new-objtype = wdyn_limu_component_controller.
|
||||
ls_obj_new-objname = ls_key.
|
||||
|
||||
ls_obj_old-objtype = wdyn_limu_component_controller.
|
||||
ls_obj_old-objname = ls_key.
|
||||
|
||||
CALL FUNCTION 'WDYC_GET_OBJECT'
|
||||
EXPORTING
|
||||
controller_key = ls_key
|
||||
get_all_translations = abap_false
|
||||
TABLES
|
||||
controller_components = ls_obj_new-wdyc-ccomp
|
||||
controller_component_sources = ls_obj_new-wdyc-ccoms
|
||||
definition = ls_obj_new-wdyc-defin
|
||||
descriptions = ls_obj_new-wdyc-descr
|
||||
controller_usages = ls_obj_new-wdyc-cusag
|
||||
controller_component_texts = ls_obj_new-wdyc-ccomt
|
||||
controller_parameters = ls_obj_new-wdyc-cpara
|
||||
controller_parameter_texts = ls_obj_new-wdyc-cpart
|
||||
context_nodes = ls_obj_new-wdyc-cnode
|
||||
context_attributes = ls_obj_new-wdyc-cattr
|
||||
context_mappings = ls_obj_new-wdyc-cmapp
|
||||
controller_exceptions = ls_obj_new-wdyc-excp
|
||||
controller_exception_texts = ls_obj_new-wdyc-excpt
|
||||
fieldgroups = ls_obj_new-wdyc-fgrps.
|
||||
|
||||
|
||||
APPEND is_controller-definition TO ls_obj_old-wdyc-defin.
|
||||
|
||||
LOOP AT gt_components ASSIGNING <ls_component>
|
||||
WHERE component_name = ls_key-component_name
|
||||
AND controller_name = ls_key-controller_name.
|
||||
APPEND <ls_component> TO ls_obj_old-wdyc-ccomp.
|
||||
ENDLOOP.
|
||||
LOOP AT gt_sources ASSIGNING <ls_source>
|
||||
WHERE component_name = ls_key-component_name
|
||||
AND controller_name = ls_key-controller_name.
|
||||
APPEND <ls_source> TO ls_obj_old-wdyc-ccoms.
|
||||
ENDLOOP.
|
||||
|
||||
ls_obj_old-wdyc-descr = is_controller-descriptions.
|
||||
ls_obj_old-wdyc-cusag = is_controller-controller_usages.
|
||||
ls_obj_old-wdyc-ccomt = is_controller-controller_component_texts.
|
||||
ls_obj_old-wdyc-cpara = is_controller-controller_parameters.
|
||||
ls_obj_old-wdyc-cpart = is_controller-controller_parameter_texts.
|
||||
ls_obj_old-wdyc-cnode = is_controller-context_nodes.
|
||||
ls_obj_old-wdyc-cattr = is_controller-context_attributes.
|
||||
ls_obj_old-wdyc-cmapp = is_controller-context_mappings.
|
||||
ls_obj_old-wdyc-excp = is_controller-controller_exceptions.
|
||||
ls_obj_old-wdyc-excpt = is_controller-controller_exception_texts.
|
||||
ls_obj_old-wdyc-fgrps = is_controller-fieldgroups.
|
||||
|
||||
CALL FUNCTION 'SVRS_MAKE_OBJECT_DELTA'
|
||||
EXPORTING
|
||||
obj_old = ls_obj_old
|
||||
obj_new = ls_obj_new
|
||||
CHANGING
|
||||
delta = rs_delta
|
||||
EXCEPTIONS
|
||||
inconsistent_objects = 1.
|
||||
IF sy-subrc <> 0.
|
||||
_raise 'error from SVRS_MAKE_OBJECT_DELTA'.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD delta_view.
|
||||
|
||||
_raise 'todo, delta_view'.
|
||||
DATA: ls_key TYPE wdy_md_view_key,
|
||||
ls_obj_new TYPE svrs2_versionable_object,
|
||||
ls_obj_old TYPE svrs2_versionable_object,
|
||||
lv_found TYPE abap_bool,
|
||||
li_view TYPE REF TO if_wdy_md_abstract_view,
|
||||
lt_psmodilog TYPE TABLE OF smodilog,
|
||||
lt_psmodisrc TYPE TABLE OF smodisrc.
|
||||
|
||||
FIELD-SYMBOLS: <ls_def> LIKE LINE OF ls_obj_old-wdyv-defin.
|
||||
|
||||
|
||||
ls_key-component_name = is_view-definition-component_name.
|
||||
ls_key-view_name = is_view-definition-view_name.
|
||||
|
||||
lv_found = cl_wdy_md_abstract_view=>check_existency(
|
||||
component_name = ls_key-component_name
|
||||
name = ls_key-view_name ).
|
||||
IF lv_found = abap_false.
|
||||
TRY.
|
||||
li_view = cl_wdy_md_abstract_view=>create(
|
||||
component_name = is_view-definition-component_name
|
||||
view_name = is_view-definition-view_name
|
||||
type = is_view-definition-type ).
|
||||
li_view->save_to_database( ).
|
||||
li_view->unlock( ).
|
||||
CATCH cx_wdy_md_exception.
|
||||
_raise 'error creating dummy view'.
|
||||
ENDTRY.
|
||||
ENDIF.
|
||||
|
||||
ls_obj_new-objtype = wdyn_limu_component_view.
|
||||
ls_obj_new-objname = ls_key.
|
||||
|
||||
ls_obj_old-objtype = wdyn_limu_component_view.
|
||||
ls_obj_old-objname = ls_key.
|
||||
|
||||
CALL FUNCTION 'WDYV_GET_OBJECT'
|
||||
EXPORTING
|
||||
view_key = ls_key
|
||||
get_all_translations = abap_false
|
||||
TABLES
|
||||
definition = ls_obj_new-wdyv-defin
|
||||
descriptions = ls_obj_new-wdyv-descr
|
||||
view_containers = ls_obj_new-wdyv-vcont
|
||||
view_container_texts = ls_obj_new-wdyv-vcntt
|
||||
iobound_plugs = ls_obj_new-wdyv-ibplg
|
||||
iobound_plug_texts = ls_obj_new-wdyv-ibplt
|
||||
plug_parameters = ls_obj_new-wdyv-plpar
|
||||
plug_parameter_texts = ls_obj_new-wdyv-plprt
|
||||
ui_elements = ls_obj_new-wdyv-uiele
|
||||
ui_context_bindings = ls_obj_new-wdyv-uicon
|
||||
ui_event_bindings = ls_obj_new-wdyv-uievt
|
||||
ui_ddic_bindings = ls_obj_new-wdyv-uiddc
|
||||
ui_properties = ls_obj_new-wdyv-uiprp
|
||||
navigation_links = ls_obj_new-wdyv-navil
|
||||
navigation_target_refs = ls_obj_new-wdyv-navit
|
||||
vsh_nodes = ls_obj_new-wdyv-vshno
|
||||
vsh_placeholders = ls_obj_new-wdyv-vshpl
|
||||
viewset_properties = ls_obj_new-wdyv-views
|
||||
psmodilog = lt_psmodilog
|
||||
psmodisrc = lt_psmodisrc.
|
||||
|
||||
APPEND INITIAL LINE TO ls_obj_old-wdyv-defin ASSIGNING <ls_def>.
|
||||
MOVE-CORRESPONDING is_view-definition TO <ls_def>.
|
||||
|
||||
ls_obj_old-wdyv-descr = is_view-descriptions.
|
||||
ls_obj_old-wdyv-vcont = is_view-view_containers.
|
||||
ls_obj_old-wdyv-vcntt = is_view-view_container_texts.
|
||||
ls_obj_old-wdyv-ibplg = is_view-iobound_plugs.
|
||||
ls_obj_old-wdyv-ibplt = is_view-iobound_plug_texts.
|
||||
ls_obj_old-wdyv-plpar = is_view-plug_parameters.
|
||||
ls_obj_old-wdyv-plprt = is_view-plug_parameter_texts.
|
||||
ls_obj_old-wdyv-uiele = is_view-ui_elements.
|
||||
ls_obj_old-wdyv-uicon = is_view-ui_context_bindings.
|
||||
ls_obj_old-wdyv-uievt = is_view-ui_event_bindings.
|
||||
ls_obj_old-wdyv-uiddc = is_view-ui_ddic_bindings.
|
||||
ls_obj_old-wdyv-uiprp = is_view-ui_properties.
|
||||
ls_obj_old-wdyv-navil = is_view-navigation_links.
|
||||
ls_obj_old-wdyv-navit = is_view-navigation_target_refs.
|
||||
ls_obj_old-wdyv-vshno = is_view-vsh_nodes.
|
||||
ls_obj_old-wdyv-vshpl = is_view-vsh_placeholders.
|
||||
ls_obj_old-wdyv-views = is_view-viewset_properties.
|
||||
|
||||
CALL FUNCTION 'SVRS_MAKE_OBJECT_DELTA'
|
||||
EXPORTING
|
||||
obj_old = ls_obj_old
|
||||
obj_new = ls_obj_new
|
||||
CHANGING
|
||||
delta = rs_delta
|
||||
EXCEPTIONS
|
||||
inconsistent_objects = 1.
|
||||
IF sy-subrc <> 0.
|
||||
_raise 'error from SVRS_MAKE_OBJECT_DELTA'.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
@ -4260,8 +4455,9 @@ CLASS lcl_object_wdyn IMPLEMENTATION.
|
|||
|
||||
|
||||
ls_delta = delta_controller( is_controller ).
|
||||
ls_key-component_name = is_controller-definition-component_name.
|
||||
ls_key-controller_name = is_controller-definition-controller_name.
|
||||
|
||||
* todo, set ls_key
|
||||
cl_wdy_md_controller=>recover_version(
|
||||
EXPORTING
|
||||
controller_key = ls_key
|
||||
|
@ -4269,8 +4465,6 @@ CLASS lcl_object_wdyn IMPLEMENTATION.
|
|||
CHANGING
|
||||
corrnr = lv_corrnr ).
|
||||
|
||||
_raise 'todo, recover_controller'.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD recover_view.
|
||||
|
@ -4281,8 +4475,9 @@ CLASS lcl_object_wdyn IMPLEMENTATION.
|
|||
|
||||
|
||||
ls_delta = delta_view( is_view ).
|
||||
ls_key-component_name = is_view-definition-component_name.
|
||||
ls_key-view_name = is_view-definition-view_name.
|
||||
|
||||
* todo, set ls_key
|
||||
cl_wdy_md_abstract_view=>recover_version(
|
||||
EXPORTING
|
||||
view_key = ls_key
|
||||
|
@ -4290,8 +4485,6 @@ CLASS lcl_object_wdyn IMPLEMENTATION.
|
|||
CHANGING
|
||||
corrnr = lv_corrnr ).
|
||||
|
||||
_raise 'todo, recover_view'.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD read_controller.
|
||||
|
@ -4309,8 +4502,8 @@ CLASS lcl_object_wdyn IMPLEMENTATION.
|
|||
definition = lt_definition
|
||||
descriptions = rs_controller-descriptions
|
||||
controller_usages = rs_controller-controller_usages
|
||||
controller_components = lt_components " todo
|
||||
controller_component_sources = lt_sources " todo
|
||||
controller_components = lt_components
|
||||
controller_component_sources = lt_sources
|
||||
controller_component_texts = rs_controller-controller_component_texts
|
||||
controller_parameters = rs_controller-controller_parameters
|
||||
controller_parameter_texts = rs_controller-controller_parameter_texts
|
||||
|
@ -4327,6 +4520,9 @@ CLASS lcl_object_wdyn IMPLEMENTATION.
|
|||
_raise 'error from WDYC_GET_OBJECT'.
|
||||
ENDIF.
|
||||
|
||||
APPEND LINES OF lt_components TO gt_components.
|
||||
APPEND LINES OF lt_sources TO gt_sources.
|
||||
|
||||
READ TABLE lt_definition INDEX 1 INTO rs_controller-definition.
|
||||
IF sy-subrc <> 0.
|
||||
_raise 'WDYC, definition not found'.
|
||||
|
@ -4455,6 +4651,9 @@ CLASS lcl_object_wdyn IMPLEMENTATION.
|
|||
FIELD-SYMBOLS: <ls_object> LIKE LINE OF lt_objects.
|
||||
|
||||
|
||||
CLEAR gt_components.
|
||||
CLEAR gt_sources.
|
||||
|
||||
lt_objects = get_limu_objects( is_item ).
|
||||
|
||||
LOOP AT lt_objects ASSIGNING <ls_object>.
|
||||
|
@ -4486,6 +4685,10 @@ CLASS lcl_object_wdyn IMPLEMENTATION.
|
|||
|
||||
CREATE OBJECT lo_xml.
|
||||
lo_xml->structure_add( ls_component ).
|
||||
lo_xml->table_add( it_table = gt_components
|
||||
iv_name = 'COMPONENTS' ).
|
||||
lo_xml->table_add( it_table = gt_sources
|
||||
iv_name = 'SOURCES' ).
|
||||
ls_file = xml_to_file( is_item = is_item
|
||||
io_xml = lo_xml ).
|
||||
APPEND ls_file TO rt_files.
|
||||
|
@ -4505,18 +4708,25 @@ CLASS lcl_object_wdyn IMPLEMENTATION.
|
|||
it_files = it_files ).
|
||||
|
||||
lo_xml->structure_read( CHANGING cg_structure = ls_component ).
|
||||
lo_xml->table_read(
|
||||
EXPORTING
|
||||
iv_name = 'COMPONENTS'
|
||||
CHANGING
|
||||
ct_table = gt_components ).
|
||||
lo_xml->table_read(
|
||||
EXPORTING
|
||||
iv_name = 'SOURCES'
|
||||
CHANGING
|
||||
ct_table = gt_sources ).
|
||||
|
||||
recover_definition( ls_component-comp_metadata ).
|
||||
|
||||
* todo
|
||||
* LOOP AT ls_component-ctlr_metadata ASSIGNING <ls_controller>.
|
||||
* recover_controller( <ls_controller> ).
|
||||
* ENDLOOP.
|
||||
* LOOP AT ls_component-view_metadata ASSIGNING <ls_view>.
|
||||
* recover_view( <ls_view> ).
|
||||
* ENDLOOP.
|
||||
|
||||
* todo, source code?
|
||||
LOOP AT ls_component-ctlr_metadata ASSIGNING <ls_controller>.
|
||||
recover_controller( <ls_controller> ).
|
||||
ENDLOOP.
|
||||
LOOP AT ls_component-view_metadata ASSIGNING <ls_view>.
|
||||
recover_view( <ls_view> ).
|
||||
ENDLOOP.
|
||||
|
||||
* todo, activate
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user