downport 702

This commit is contained in:
Christian Guenter 2018-08-06 17:22:21 +00:00 committed by Lars Hvam
parent d82a02cd0e
commit 840fe06262
4 changed files with 127 additions and 46 deletions

View File

@ -61,7 +61,8 @@ CLASS zcl_abapgit_ecatt_helper IMPLEMENTATION.
CATCH cx_ecatt_apl INTO lx_ecatt. CATCH cx_ecatt_apl INTO lx_ecatt.
lv_text = lx_ecatt->get_text( ). lv_text = lx_ecatt->get_text( ).
zcx_abapgit_exception=>raise( lv_text ). zcx_abapgit_exception=>raise( lv_text ).
CATCH cx_ecatt_ui_attachment. " CATCH cx_ecatt_ui_attachment. " Doesn't exist in 702
CATCH cx_ecatt.
"will never be raised from download, when called with mv_generate_xml_no_download = 'X'. "will never be raised from download, when called with mv_generate_xml_no_download = 'X'.
ENDTRY. ENDTRY.

View File

@ -46,7 +46,11 @@ CLASS zcl_abapgit_ecatt_val_obj_down IMPLEMENTATION.
" Downport " Downport
DATA: lv_partyp TYPE string. DATA: lv_partyp TYPE string,
lo_ecatt_vo TYPE REF TO object.
FIELD-SYMBOLS: <lg_ecatt_vo> TYPE any,
<lt_params> TYPE REF TO cl_apl_ecatt_params.
load_help = im_load_help. load_help = im_load_help.
typ = im_object_type. typ = im_object_type.
@ -65,23 +69,33 @@ CLASS zcl_abapgit_ecatt_val_obj_down IMPLEMENTATION.
lv_partyp = cl_apl_ecatt_const=>params_type_par. lv_partyp = cl_apl_ecatt_const=>params_type_par.
ASSIGN ('ECATT_OBJECT') TO <lg_ecatt_vo>.
ASSERT sy-subrc = 0.
lo_ecatt_vo = <lg_ecatt_vo>.
set_attributes_to_template( ). set_attributes_to_template( ).
ecatt_vo ?= ecatt_object.
set_ecatt_impl_detail( ). set_ecatt_impl_detail( ).
set_ecatt_flags( ). set_ecatt_flags( ).
set_business_msgs( ). set_business_msgs( ).
get_general_params_data( im_params = ecatt_vo->params
ASSIGN lo_ecatt_vo->('PARAMS')
TO <lt_params>.
ASSERT sy-subrc = 0.
get_general_params_data( im_params = <lt_params>
im_ptyp = lv_partyp ). im_ptyp = lv_partyp ).
LOOP AT parm INTO wa_parm. LOOP AT parm INTO wa_parm.
set_general_params_data_to_dom( ). set_general_params_data_to_dom( ).
IF NOT wa_parm-val_type IS INITIAL. IF NOT wa_parm-val_type IS INITIAL.
set_deep_stru_to_dom( ecatt_vo->params ). set_deep_stru_to_dom( <lt_params> ).
set_deep_data_to_dom( im_params = ecatt_vo->params set_deep_data_to_dom( im_params = <lt_params>
im_pindex = wa_parm-pindex ). im_pindex = wa_parm-pindex ).
ENDIF. ENDIF.
ENDLOOP. ENDLOOP.
set_variants_to_dom( ecatt_vo->params ). set_variants_to_dom( <lt_params> ).
download_data( ). download_data( ).
@ -121,15 +135,23 @@ CLASS zcl_abapgit_ecatt_val_obj_down IMPLEMENTATION.
DATA: DATA:
lt_buss_msg_ref TYPE zif_abapgit_ecatt=>etvo_bus_msg_tabtype, lt_buss_msg_ref TYPE zif_abapgit_ecatt=>etvo_bus_msg_tabtype,
li_element TYPE REF TO if_ixml_element, li_element TYPE REF TO if_ixml_element,
li_insert_objects TYPE REF TO if_ixml_element. li_insert_objects TYPE REF TO if_ixml_element,
lo_ecatt_vo TYPE REF TO object.
FIELD-SYMBOLS: <lg_ecatt_vo> TYPE any.
ASSIGN ('ECATT_OBJECT') TO <lg_ecatt_vo>.
ASSERT sy-subrc = 0.
lo_ecatt_vo = <lg_ecatt_vo>.
li_objects_node = template_over_all->create_simple_element( li_objects_node = template_over_all->create_simple_element(
name = 'BUSINESS_MESSAGES' name = 'BUSINESS_MESSAGES'
parent = root_node ). parent = root_node ).
ecatt_vo->get_bussiness_msg( CALL METHOD lo_ecatt_vo->('GET_BUSSINESS_MSG')
IMPORTING IMPORTING
ex_buss_msg_ref = lt_buss_msg_ref ). ex_buss_msg_ref = lt_buss_msg_ref.
CALL FUNCTION 'SDIXML_DATA_TO_DOM' CALL FUNCTION 'SDIXML_DATA_TO_DOM'
EXPORTING EXPORTING
@ -147,7 +169,7 @@ CLASS zcl_abapgit_ecatt_val_obj_down IMPLEMENTATION.
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF. ENDIF.
li_insert_objects = template_over_all->find_from_name( 'BUSINESS_MESSAGES' ). li_insert_objects ?= template_over_all->find_from_name( 'BUSINESS_MESSAGES' ).
li_insert_objects->append_child( new_child = li_element ). li_insert_objects->append_child( new_child = li_element ).
@ -160,13 +182,23 @@ CLASS zcl_abapgit_ecatt_val_obj_down IMPLEMENTATION.
lv_invert_validation TYPE zif_abapgit_ecatt=>etvo_invert_validation, lv_invert_validation TYPE zif_abapgit_ecatt=>etvo_invert_validation,
lv_error_prio TYPE zif_abapgit_ecatt=>etvo_error_prio, lv_error_prio TYPE zif_abapgit_ecatt=>etvo_error_prio,
li_element TYPE REF TO if_ixml_element, li_element TYPE REF TO if_ixml_element,
li_insert_objects TYPE REF TO if_ixml_element. li_insert_objects TYPE REF TO if_ixml_element,
lo_ecatt_vo TYPE REF TO object.
FIELD-SYMBOLS: <lg_ecatt_vo> TYPE any.
li_objects_node = template_over_all->create_simple_element( li_objects_node = template_over_all->create_simple_element(
name = 'VO_FLAGS' name = 'VO_FLAGS'
parent = root_node ). parent = root_node ).
lv_invert_validation = ecatt_vo->get_invert_validation_flag( ). ASSIGN ('ECATT_OBJECT') TO <lg_ecatt_vo>.
ASSERT sy-subrc = 0.
lo_ecatt_vo = <lg_ecatt_vo>.
CALL METHOD lo_ecatt_vo->('GET_INVERT_VALIDATION_FLAG')
RECEIVING
re_invert_validation = lv_invert_validation.
CALL FUNCTION 'SDIXML_DATA_TO_DOM' CALL FUNCTION 'SDIXML_DATA_TO_DOM'
EXPORTING EXPORTING
@ -184,11 +216,13 @@ CLASS zcl_abapgit_ecatt_val_obj_down IMPLEMENTATION.
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF. ENDIF.
li_insert_objects = template_over_all->find_from_name( 'VO_FLAGS' ). li_insert_objects ?= template_over_all->find_from_name( 'VO_FLAGS' ).
li_insert_objects->append_child( new_child = li_element ). li_insert_objects->append_child( new_child = li_element ).
lv_error_prio = ecatt_vo->get_error_priority( ). CALL METHOD lo_ecatt_vo->('GET_ERROR_PRIORITY')
RECEIVING
re_error_prio = lv_error_prio.
CALL FUNCTION 'SDIXML_DATA_TO_DOM' CALL FUNCTION 'SDIXML_DATA_TO_DOM'
EXPORTING EXPORTING
@ -218,13 +252,23 @@ CLASS zcl_abapgit_ecatt_val_obj_down IMPLEMENTATION.
DATA: DATA:
ls_impl_details TYPE zif_abapgit_ecatt=>etvoimpl_det, ls_impl_details TYPE zif_abapgit_ecatt=>etvoimpl_det,
li_element TYPE REF TO if_ixml_element, li_element TYPE REF TO if_ixml_element,
li_insert_objects TYPE REF TO if_ixml_element. li_insert_objects TYPE REF TO if_ixml_element,
lo_ecatt_vo TYPE REF TO object.
FIELD-SYMBOLS: <lg_ecatt_vo> TYPE any.
li_objects_node = template_over_all->create_simple_element( li_objects_node = template_over_all->create_simple_element(
name = 'IMPL_DETAILS' name = 'IMPL_DETAILS'
parent = root_node ). parent = root_node ).
ls_impl_details = ecatt_vo->get_impl_details( ). ASSIGN ('ECATT_OBJECT') TO <lg_ecatt_vo>.
ASSERT sy-subrc = 0.
lo_ecatt_vo = <lg_ecatt_vo>.
CALL METHOD lo_ecatt_vo->('GET_IMPL_DETAILS')
RECEIVING
re_impl_details = ls_impl_details.
CALL FUNCTION 'SDIXML_DATA_TO_DOM' CALL FUNCTION 'SDIXML_DATA_TO_DOM'
EXPORTING EXPORTING

View File

@ -36,7 +36,7 @@ ENDCLASS.
CLASS ZCL_ABAPGIT_OBJECT_DEVC IMPLEMENTATION. CLASS zcl_abapgit_object_devc IMPLEMENTATION.
METHOD constructor. METHOD constructor.
@ -272,10 +272,28 @@ CLASS ZCL_ABAPGIT_OBJECT_DEVC IMPLEMENTATION.
RETURN. RETURN.
ENDIF. ENDIF.
TRY.
CALL METHOD li_package->('SET_CHANGEABLE')
EXPORTING
i_changeable = abap_true
i_suppress_dialog = abap_true " Parameter missing in 702
EXCEPTIONS
object_locked_by_other_user = 1
permission_failure = 2
object_already_changeable = 3
object_already_unlocked = 4
object_just_created = 5
object_deleted = 6
object_modified = 7
object_not_existing = 8
object_invalid = 9
unexpected_error = 10
OTHERS = 11.
CATCH cx_root.
li_package->set_changeable( li_package->set_changeable(
EXPORTING EXPORTING
i_changeable = abap_true i_changeable = abap_true
i_suppress_dialog = abap_true
EXCEPTIONS EXCEPTIONS
object_locked_by_other_user = 1 object_locked_by_other_user = 1
permission_failure = 2 permission_failure = 2
@ -288,14 +306,26 @@ CLASS ZCL_ABAPGIT_OBJECT_DEVC IMPLEMENTATION.
object_invalid = 9 object_invalid = 9
unexpected_error = 10 unexpected_error = 10
OTHERS = 11 ). OTHERS = 11 ).
ENDTRY.
IF sy-subrc <> 0. IF sy-subrc <> 0.
zcx_abapgit_exception=>raise_t100( ). zcx_abapgit_exception=>raise_t100( ).
ENDIF. ENDIF.
li_package->delete( TRY.
CALL METHOD li_package->('DELETE')
EXPORTING EXPORTING
i_suppress_dialog = abap_true i_suppress_dialog = abap_true " Parameter missing in 702
EXCEPTIONS
object_not_empty = 1
object_not_changeable = 2
object_invalid = 3
intern_err = 4
OTHERS = 5.
CATCH cx_root.
li_package->delete(
EXCEPTIONS EXCEPTIONS
object_not_empty = 1 object_not_empty = 1
object_not_changeable = 2 object_not_changeable = 2
@ -303,6 +333,8 @@ CLASS ZCL_ABAPGIT_OBJECT_DEVC IMPLEMENTATION.
intern_err = 4 intern_err = 4
OTHERS = 5 ). OTHERS = 5 ).
ENDTRY.
IF sy-subrc <> 0. IF sy-subrc <> 0.
zcx_abapgit_exception=>raise_t100( ). zcx_abapgit_exception=>raise_t100( ).
ENDIF. ENDIF.

View File

@ -303,22 +303,26 @@ CLASS zcl_abapgit_oo_class_new IMPLEMENTATION.
METHOD update_source_index. METHOD update_source_index.
CONSTANTS:
co_version_active TYPE r3state VALUE 'A', "#EC NOTEXT
co_version_inactive TYPE r3state VALUE 'I'. "#EC NOTEXT
" dynamic invocation, IF_OO_SOURCE_POS_INDEX_HELPER doesn't exist in 702. " dynamic invocation, IF_OO_SOURCE_POS_INDEX_HELPER doesn't exist in 702.
DATA li_index_helper TYPE REF TO object. DATA li_index_helper TYPE REF TO object.
TRY. TRY.
CREATE OBJECT li_index_helper TYPE cl_oo_source_pos_index_helper. CREATE OBJECT li_index_helper TYPE ('CL_OO_SOURCE_POS_INDEX_HELPER').
CALL METHOD li_index_helper->('IF_OO_SOURCE_POS_INDEX_HELPER~CREATE_INDEX_WITH_SCANNER') CALL METHOD li_index_helper->('IF_OO_SOURCE_POS_INDEX_HELPER~CREATE_INDEX_WITH_SCANNER')
EXPORTING EXPORTING
class_name = iv_clsname class_name = iv_clsname
version = if_oo_clif_source=>co_version_active version = co_version_active
scanner = io_scanner. scanner = io_scanner.
CALL METHOD li_index_helper->('IF_OO_SOURCE_POS_INDEX_HELPER~DELETE_INDEX') CALL METHOD li_index_helper->('IF_OO_SOURCE_POS_INDEX_HELPER~DELETE_INDEX')
EXPORTING EXPORTING
class_name = iv_clsname class_name = iv_clsname
version = if_oo_clif_source=>co_version_inactive. version = co_version_inactive.
CATCH cx_root. CATCH cx_root.
" it's probably okay to no update the index " it's probably okay to no update the index