VCLS handle TADIR #1565 (#1633)

VCLS handle TADIR #1565

Source code reorganized by SE80.

Changes: call to corr_insert() added, plus set rs_metadata-delete_tadir %3D abap_true.
This commit is contained in:
Lars Hvam 2018-07-14 06:50:44 +02:00 committed by GitHub
parent 1b154ccf7f
commit 3a5b2b73fb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -10,19 +10,88 @@ CLASS zcl_abapgit_object_vcls DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
ENDCLASS. ENDCLASS.
CLASS zcl_abapgit_object_vcls IMPLEMENTATION.
METHOD zif_abapgit_object~has_changed_since.
rv_changed = abap_true. CLASS ZCL_ABAPGIT_OBJECT_VCLS IMPLEMENTATION.
ENDMETHOD. "zif_abapgit_object~has_changed_since
METHOD zif_abapgit_object~changed_by. METHOD zif_abapgit_object~changed_by.
rv_user = c_user_unknown. " todo rv_user = c_user_unknown. " todo
ENDMETHOD. ENDMETHOD.
METHOD zif_abapgit_object~get_metadata.
rs_metadata = get_metadata( ). METHOD zif_abapgit_object~compare_to_remote_version.
ENDMETHOD. "zif_abapgit_object~get_metadata CREATE OBJECT ro_comparison_result TYPE zcl_abapgit_comparison_null.
ENDMETHOD.
METHOD zif_abapgit_object~delete.
* Do the same as in VIEWCLUSTER_SAVE_DEFINITION
DATA: lv_vclname TYPE vcl_name.
lv_vclname = ms_item-obj_name.
DELETE FROM vcldir WHERE vclname = lv_vclname. "#EC CI_SUBRC
DELETE FROM vcldirt WHERE vclname = lv_vclname. "#EC CI_NOFIRST "#EC CI_SUBRC
DELETE FROM vclstruc WHERE vclname = lv_vclname. "#EC CI_SUBRC
DELETE FROM vclstruct WHERE vclname = lv_vclname. "#EC CI_NOFIRST "#EC CI_SUBRC
DELETE FROM vclstrudep WHERE vclname = lv_vclname. "#EC CI_SUBRC
DELETE FROM vclmf WHERE vclname = lv_vclname. "#EC CI_SUBRC
ENDMETHOD. "delete
METHOD zif_abapgit_object~deserialize.
DATA: ls_vcldir_entry TYPE v_vcldir,
lt_vclstruc TYPE TABLE OF v_vclstruc,
lt_vclstrudep TYPE TABLE OF v_vclstdep,
lt_vclmf TYPE TABLE OF v_vclmf,
lv_objectname TYPE ob_object.
io_xml->read( EXPORTING iv_name = 'VCLDIR'
CHANGING cg_data = ls_vcldir_entry ).
io_xml->read( EXPORTING iv_name = 'VLCSTRUC_TAB'
CHANGING cg_data = lt_vclstruc ).
io_xml->read( EXPORTING iv_name = 'VCLSTRUDEP_TAB'
CHANGING cg_data = lt_vclstrudep ).
io_xml->read( EXPORTING iv_name = 'lt_vclstrudep'
CHANGING cg_data = lt_vclmf ).
ls_vcldir_entry-author = sy-uname.
CALL FUNCTION 'VIEWCLUSTER_SAVE_DEFINITION'
EXPORTING
vcldir_entry = ls_vcldir_entry
TABLES
vclstruc_tab = lt_vclstruc
vclstrudep_tab = lt_vclstrudep
vclmf_tab = lt_vclmf.
corr_insert( iv_package ).
lv_objectname = ls_vcldir_entry-vclname.
CALL FUNCTION 'OBJ_GENERATE'
EXPORTING
iv_objectname = lv_objectname
iv_objecttype = c_cluster_type
iv_maint_mode = c_mode_insert
iv_devclass = iv_package
EXCEPTIONS
illegal_call = 1
object_not_found = 2
generate_error = 3
transport_error = 4
object_enqueue_failed = 5
OTHERS = 6.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise( 'error in OBJ_GENERATE for VCLS' ).
ENDIF.
ENDMETHOD. "deserialize
METHOD zif_abapgit_object~exists. METHOD zif_abapgit_object~exists.
@ -40,6 +109,58 @@ CLASS zcl_abapgit_object_vcls IMPLEMENTATION.
ENDMETHOD. "zif_abapgit_object~exists ENDMETHOD. "zif_abapgit_object~exists
METHOD zif_abapgit_object~get_metadata.
rs_metadata = get_metadata( ).
rs_metadata-delete_tadir = abap_true.
ENDMETHOD.
METHOD zif_abapgit_object~has_changed_since.
rv_changed = abap_true.
ENDMETHOD. "zif_abapgit_object~has_changed_since
METHOD zif_abapgit_object~is_locked.
rv_is_locked = abap_false.
ENDMETHOD.
METHOD zif_abapgit_object~jump.
DATA: lv_vclname TYPE vcl_name.
lv_vclname = ms_item-obj_name.
CALL FUNCTION 'VIEWCLUSTER_MAINTENANCE_CALL'
EXPORTING
viewcluster_name = lv_vclname
maintenance_action = 'S'
EXCEPTIONS
client_reference = 1
foreign_lock = 2
viewcluster_not_found = 3
viewcluster_is_inconsistent = 4
missing_generated_function = 5
no_upd_auth = 6
no_show_auth = 7
object_not_found = 8
no_tvdir_entry = 9
no_clientindep_auth = 10
invalid_action = 11
saving_correction_failed = 12
system_failure = 13
unknown_field_in_dba_sellist = 14
missing_corr_number = 15
OTHERS = 16.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise( 'error in VIEWCLUSTER_MAINTENANCE_CALL' ).
ENDIF.
ENDMETHOD. "jump
METHOD zif_abapgit_object~serialize. METHOD zif_abapgit_object~serialize.
DATA: lv_vclname TYPE vcl_name, DATA: lv_vclname TYPE vcl_name,
@ -84,111 +205,4 @@ CLASS zcl_abapgit_object_vcls IMPLEMENTATION.
ig_data = lt_vclmf ). ig_data = lt_vclmf ).
ENDMETHOD. "serialize ENDMETHOD. "serialize
ENDCLASS.
METHOD zif_abapgit_object~deserialize.
DATA: ls_vcldir_entry TYPE v_vcldir,
lt_vclstruc TYPE TABLE OF v_vclstruc,
lt_vclstrudep TYPE TABLE OF v_vclstdep,
lt_vclmf TYPE TABLE OF v_vclmf,
lv_objectname TYPE ob_object.
io_xml->read( EXPORTING iv_name = 'VCLDIR'
CHANGING cg_data = ls_vcldir_entry ).
io_xml->read( EXPORTING iv_name = 'VLCSTRUC_TAB'
CHANGING cg_data = lt_vclstruc ).
io_xml->read( EXPORTING iv_name = 'VCLSTRUDEP_TAB'
CHANGING cg_data = lt_vclstrudep ).
io_xml->read( EXPORTING iv_name = 'lt_vclstrudep'
CHANGING cg_data = lt_vclmf ).
ls_vcldir_entry-author = sy-uname.
CALL FUNCTION 'VIEWCLUSTER_SAVE_DEFINITION'
EXPORTING
vcldir_entry = ls_vcldir_entry
TABLES
vclstruc_tab = lt_vclstruc
vclstrudep_tab = lt_vclstrudep
vclmf_tab = lt_vclmf.
lv_objectname = ls_vcldir_entry-vclname.
CALL FUNCTION 'OBJ_GENERATE'
EXPORTING
iv_objectname = lv_objectname
iv_objecttype = c_cluster_type
iv_maint_mode = c_mode_insert
iv_devclass = iv_package
EXCEPTIONS
illegal_call = 1
object_not_found = 2
generate_error = 3
transport_error = 4
object_enqueue_failed = 5
OTHERS = 6.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise( 'error in OBJ_GENERATE for VCLS' ).
ENDIF.
ENDMETHOD. "deserialize
METHOD zif_abapgit_object~delete.
* Do the same as in VIEWCLUSTER_SAVE_DEFINITION
DATA: lv_vclname TYPE vcl_name.
lv_vclname = ms_item-obj_name.
DELETE FROM vcldir WHERE vclname = lv_vclname. "#EC CI_SUBRC
DELETE FROM vcldirt WHERE vclname = lv_vclname. "#EC CI_NOFIRST "#EC CI_SUBRC
DELETE FROM vclstruc WHERE vclname = lv_vclname. "#EC CI_SUBRC
DELETE FROM vclstruct WHERE vclname = lv_vclname. "#EC CI_NOFIRST "#EC CI_SUBRC
DELETE FROM vclstrudep WHERE vclname = lv_vclname. "#EC CI_SUBRC
DELETE FROM vclmf WHERE vclname = lv_vclname. "#EC CI_SUBRC
ENDMETHOD. "delete
METHOD zif_abapgit_object~jump.
DATA: lv_vclname TYPE vcl_name.
lv_vclname = ms_item-obj_name.
CALL FUNCTION 'VIEWCLUSTER_MAINTENANCE_CALL'
EXPORTING
viewcluster_name = lv_vclname
maintenance_action = 'S'
EXCEPTIONS
client_reference = 1
foreign_lock = 2
viewcluster_not_found = 3
viewcluster_is_inconsistent = 4
missing_generated_function = 5
no_upd_auth = 6
no_show_auth = 7
object_not_found = 8
no_tvdir_entry = 9
no_clientindep_auth = 10
invalid_action = 11
saving_correction_failed = 12
system_failure = 13
unknown_field_in_dba_sellist = 14
missing_corr_number = 15
OTHERS = 16.
IF sy-subrc <> 0.
zcx_abapgit_exception=>raise( 'error in VIEWCLUSTER_MAINTENANCE_CALL' ).
ENDIF.
ENDMETHOD. "jump
METHOD zif_abapgit_object~compare_to_remote_version.
CREATE OBJECT ro_comparison_result TYPE zcl_abapgit_comparison_null.
ENDMETHOD.
METHOD zif_abapgit_object~is_locked.
rv_is_locked = abap_false.
ENDMETHOD.
ENDCLASS. "zcl_abapgit_object_vcls IMPLEMENTATION