mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 11:46:38 +08:00
Merge pull request #1320 from christianguenter2/1317
Downport ECVO to 7.02
This commit is contained in:
commit
1531635314
|
@ -1,7 +1,7 @@
|
|||
CLASS zcl_abapgit_ecatt_val_obj_down DEFINITION
|
||||
PUBLIC
|
||||
INHERITING FROM cl_apl_ecatt_vo_download
|
||||
CREATE PUBLIC .
|
||||
INHERITING FROM cl_apl_ecatt_download
|
||||
CREATE PUBLIC.
|
||||
|
||||
PUBLIC SECTION.
|
||||
METHODS:
|
||||
|
@ -16,6 +16,9 @@ CLASS zcl_abapgit_ecatt_val_obj_down DEFINITION
|
|||
VALUE(rv_xml_stream_size) TYPE int4.
|
||||
|
||||
PROTECTED SECTION.
|
||||
DATA:
|
||||
li_objects_node TYPE REF TO if_ixml_element.
|
||||
|
||||
METHODS:
|
||||
download_data REDEFINITION.
|
||||
|
||||
|
@ -31,13 +34,13 @@ CLASS zcl_abapgit_ecatt_val_obj_down DEFINITION
|
|||
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS zcl_abapgit_ecatt_val_obj_down IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD download.
|
||||
|
||||
" We inherit from CL_APL_ECATT_DOWNLOAD because CL_APL_ECATT_VO_DOWNLOAD
|
||||
" doesn't exist in 702
|
||||
|
||||
" Downport
|
||||
|
||||
DATA: lv_partyp TYPE string.
|
||||
|
@ -117,10 +120,9 @@ CLASS zcl_abapgit_ecatt_val_obj_down IMPLEMENTATION.
|
|||
li_element TYPE REF TO if_ixml_element,
|
||||
li_insert_objects TYPE REF TO if_ixml_element.
|
||||
|
||||
objects_node = template_over_all->create_simple_element(
|
||||
name = 'BUSINESS_MESSAGES'
|
||||
parent = root_node ).
|
||||
|
||||
li_objects_node = template_over_all->create_simple_element(
|
||||
name = 'BUSINESS_MESSAGES'
|
||||
parent = root_node ).
|
||||
|
||||
ecatt_vo->get_bussiness_msg(
|
||||
IMPORTING
|
||||
|
@ -157,9 +159,9 @@ CLASS zcl_abapgit_ecatt_val_obj_down IMPLEMENTATION.
|
|||
li_element TYPE REF TO if_ixml_element,
|
||||
li_insert_objects TYPE REF TO if_ixml_element.
|
||||
|
||||
objects_node = template_over_all->create_simple_element(
|
||||
name = 'VO_FLAGS'
|
||||
parent = root_node ).
|
||||
li_objects_node = template_over_all->create_simple_element(
|
||||
name = 'VO_FLAGS'
|
||||
parent = root_node ).
|
||||
|
||||
lv_invert_validation = ecatt_vo->get_invert_validation_flag( ).
|
||||
|
||||
|
@ -215,9 +217,9 @@ CLASS zcl_abapgit_ecatt_val_obj_down IMPLEMENTATION.
|
|||
li_element TYPE REF TO if_ixml_element,
|
||||
li_insert_objects TYPE REF TO if_ixml_element.
|
||||
|
||||
objects_node = template_over_all->create_simple_element(
|
||||
name = 'IMPL_DETAILS'
|
||||
parent = root_node ).
|
||||
li_objects_node = template_over_all->create_simple_element(
|
||||
name = 'IMPL_DETAILS'
|
||||
parent = root_node ).
|
||||
|
||||
ls_impl_details = ecatt_vo->get_impl_details( ).
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
CLASS zcl_abapgit_ecatt_val_obj_upl DEFINITION
|
||||
PUBLIC
|
||||
INHERITING FROM cl_apl_ecatt_vo_upload
|
||||
INHERITING FROM cl_apl_ecatt_upload
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
|
@ -8,11 +8,25 @@ CLASS zcl_abapgit_ecatt_val_obj_upl DEFINITION
|
|||
METHODS:
|
||||
z_set_stream_for_upload
|
||||
IMPORTING
|
||||
im_xml TYPE xstring.
|
||||
im_xml TYPE xstring,
|
||||
|
||||
upload REDEFINITION.
|
||||
|
||||
PROTECTED SECTION.
|
||||
METHODS:
|
||||
upload_data_from_stream REDEFINITION.
|
||||
upload_data_from_stream REDEFINITION,
|
||||
|
||||
get_business_msgs_from_dom
|
||||
RAISING
|
||||
cx_ecatt_apl,
|
||||
|
||||
get_impl_detail_from_dom
|
||||
RAISING
|
||||
cx_ecatt_apl,
|
||||
|
||||
get_vo_flags_from_dom
|
||||
RAISING
|
||||
cx_ecatt_apl.
|
||||
|
||||
PRIVATE SECTION.
|
||||
DATA: mv_external_xml TYPE xstring.
|
||||
|
@ -24,6 +38,259 @@ ENDCLASS.
|
|||
CLASS zcl_abapgit_ecatt_val_obj_upl IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD get_business_msgs_from_dom.
|
||||
|
||||
" downport from CL_APL_ECATT_VO_UPLOAD
|
||||
|
||||
DATA: li_section TYPE REF TO if_ixml_element,
|
||||
lt_buss_msg_ref TYPE etvo_bus_msg_tabtype,
|
||||
lv_exception_occurred TYPE etonoff.
|
||||
|
||||
li_section = template_over_all->find_from_name_ns( 'ETVO_MSG' ).
|
||||
|
||||
IF NOT li_section IS INITIAL.
|
||||
CALL FUNCTION 'SDIXML_DOM_TO_DATA'
|
||||
EXPORTING
|
||||
data_as_dom = li_section
|
||||
IMPORTING
|
||||
dataobject = lt_buss_msg_ref
|
||||
EXCEPTIONS
|
||||
illegal_object = 1
|
||||
OTHERS = 2.
|
||||
IF sy-subrc <> 0.
|
||||
CLEAR lt_buss_msg_ref.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
|
||||
TRY.
|
||||
ecatt_vo->set_bussiness_msg( im_buss_msg_ref = lt_buss_msg_ref ).
|
||||
CATCH cx_ecatt_apl INTO exception_to_raise.
|
||||
lv_exception_occurred = 'X'.
|
||||
ENDTRY.
|
||||
|
||||
IF lv_exception_occurred = 'X'.
|
||||
raise_upload_exception( previous = exception_to_raise ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_impl_detail_from_dom.
|
||||
|
||||
" downport from CL_APL_ECATT_VO_UPLOAD
|
||||
|
||||
DATA: li_section TYPE REF TO if_ixml_element,
|
||||
ls_impl_details TYPE etvoimpl_det,
|
||||
lv_exception_occurred TYPE etonoff.
|
||||
|
||||
li_section = template_over_all->find_from_name_ns( name = 'IMPL_DET' ).
|
||||
|
||||
IF NOT li_section IS INITIAL.
|
||||
CALL FUNCTION 'SDIXML_DOM_TO_DATA'
|
||||
EXPORTING
|
||||
data_as_dom = li_section
|
||||
IMPORTING
|
||||
dataobject = ls_impl_details
|
||||
EXCEPTIONS
|
||||
illegal_object = 1
|
||||
OTHERS = 2.
|
||||
IF sy-subrc <> 0.
|
||||
CLEAR ls_impl_details.
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
|
||||
TRY.
|
||||
ecatt_vo->set_impl_details( im_impl_details = ls_impl_details ).
|
||||
CATCH cx_ecatt_apl INTO exception_to_raise.
|
||||
lv_exception_occurred = 'X'.
|
||||
ENDTRY.
|
||||
|
||||
IF lv_exception_occurred = 'X'.
|
||||
raise_upload_exception( previous = exception_to_raise ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_vo_flags_from_dom.
|
||||
|
||||
" downport from CL_APL_ECATT_VO_UPLOAD
|
||||
|
||||
DATA: li_section TYPE REF TO if_ixml_element,
|
||||
lv_error_prio TYPE etvo_error_prio,
|
||||
lv_invert_validation TYPE etvo_invert_validation,
|
||||
lv_exception_occurred TYPE etonoff.
|
||||
|
||||
li_section = template_over_all->find_from_name_ns(
|
||||
name = 'INVERT_VALIDATION' ).
|
||||
|
||||
IF NOT li_section IS INITIAL.
|
||||
CALL FUNCTION 'SDIXML_DOM_TO_DATA'
|
||||
EXPORTING
|
||||
data_as_dom = li_section
|
||||
IMPORTING
|
||||
dataobject = lv_invert_validation
|
||||
EXCEPTIONS
|
||||
illegal_object = 1
|
||||
OTHERS = 2.
|
||||
IF sy-subrc <> 0.
|
||||
CLEAR lv_invert_validation .
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
|
||||
TRY.
|
||||
ecatt_vo->set_invert_validation_flag(
|
||||
im_invert_validation = lv_invert_validation ).
|
||||
|
||||
CATCH cx_ecatt_apl INTO exception_to_raise.
|
||||
lv_exception_occurred = 'X'.
|
||||
ENDTRY.
|
||||
|
||||
li_section = template_over_all->find_from_name_ns(
|
||||
name = 'ERROR_PRIORITY' ).
|
||||
|
||||
IF NOT li_section IS INITIAL.
|
||||
CALL FUNCTION 'SDIXML_DOM_TO_DATA'
|
||||
EXPORTING
|
||||
data_as_dom = li_section
|
||||
IMPORTING
|
||||
dataobject = lv_error_prio
|
||||
EXCEPTIONS
|
||||
illegal_object = 1
|
||||
OTHERS = 2.
|
||||
IF sy-subrc <> 0.
|
||||
CLEAR lv_invert_validation .
|
||||
ENDIF.
|
||||
ENDIF.
|
||||
|
||||
TRY.
|
||||
ecatt_vo->set_error_priority(
|
||||
im_error_prio = lv_error_prio ).
|
||||
CATCH cx_ecatt_apl INTO exception_to_raise.
|
||||
lv_exception_occurred = 'X'.
|
||||
ENDTRY.
|
||||
|
||||
IF lv_exception_occurred = 'X'.
|
||||
raise_upload_exception( previous = exception_to_raise ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD upload.
|
||||
|
||||
" We inherit from CL_APL_ECATT_UPLOAD because CL_APL_ECATT_VO_UPLOAD
|
||||
" doesn't exist in 702
|
||||
|
||||
" downport from CL_APL_ECATT_VO_UPLOAD
|
||||
|
||||
"26.03.2013
|
||||
|
||||
DATA: ex TYPE REF TO cx_ecatt_apl,
|
||||
l_exists TYPE etonoff,
|
||||
l_exc_occ TYPE etonoff,
|
||||
ls_tadir TYPE tadir.
|
||||
|
||||
TRY.
|
||||
ch_object-i_devclass = ch_object-d_devclass.
|
||||
ch_object-i_akh = ch_object-d_akh.
|
||||
|
||||
super->upload(
|
||||
EXPORTING
|
||||
i_use_cts_api_2 = i_use_cts_api_2
|
||||
CHANGING
|
||||
ch_object = ch_object ).
|
||||
|
||||
upload_data_from_stream( im_xml_file = ch_object-filename ).
|
||||
CATCH cx_ecatt_apl INTO ex.
|
||||
IF template_over_all IS INITIAL.
|
||||
RAISE EXCEPTION ex.
|
||||
ELSE.
|
||||
l_exc_occ = 'X'.
|
||||
ENDIF.
|
||||
ENDTRY.
|
||||
|
||||
TRY.
|
||||
get_attributes_from_dom_new( CHANGING ch_object = ch_object ).
|
||||
CATCH cx_ecatt_apl INTO ex.
|
||||
l_exc_occ = 'X'.
|
||||
ENDTRY.
|
||||
|
||||
ecatt_vo ?= ecatt_object.
|
||||
|
||||
TRY.
|
||||
get_impl_detail_from_dom( ).
|
||||
CATCH cx_ecatt_apl INTO ex.
|
||||
l_exc_occ = 'X'.
|
||||
ENDTRY.
|
||||
|
||||
TRY.
|
||||
get_vo_flags_from_dom( ).
|
||||
CATCH cx_ecatt_apl INTO ex.
|
||||
l_exc_occ = 'X'.
|
||||
ENDTRY.
|
||||
|
||||
TRY.
|
||||
get_business_msgs_from_dom( ).
|
||||
CATCH cx_ecatt_apl INTO ex.
|
||||
l_exc_occ = 'X'.
|
||||
ENDTRY.
|
||||
|
||||
|
||||
TRY.
|
||||
get_params_from_dom_new( im_params = ecatt_vo->params ).
|
||||
CATCH cx_ecatt_apl INTO ex.
|
||||
l_exc_occ = 'X'.
|
||||
ENDTRY.
|
||||
|
||||
TRY.
|
||||
get_variants_from_dom( ecatt_vo->params ).
|
||||
CATCH cx_ecatt_apl INTO ex.
|
||||
l_exc_occ = 'X'.
|
||||
ENDTRY.
|
||||
|
||||
TRY.
|
||||
l_exists = cl_apl_ecatt_object=>existence_check_object(
|
||||
im_name = ch_object-d_obj_name
|
||||
im_version = ch_object-d_obj_ver
|
||||
im_obj_type = ch_object-s_obj_type
|
||||
im_exists_any_version = 'X' ).
|
||||
|
||||
IF l_exists EQ space.
|
||||
ecatt_vo->set_tadir_for_new_object( im_tadir_for_new_object = tadir_preset ).
|
||||
ENDIF.
|
||||
CATCH cx_ecatt.
|
||||
CLEAR l_exists.
|
||||
ENDTRY.
|
||||
|
||||
TRY.
|
||||
ecatt_vo->save( im_do_commit = 'X' ).
|
||||
CATCH cx_ecatt_apl INTO ex.
|
||||
l_exc_occ = 'X'.
|
||||
ENDTRY.
|
||||
|
||||
* get devclass from existing object
|
||||
TRY.
|
||||
cl_apl_ecatt_object=>get_tadir_entry(
|
||||
EXPORTING im_obj_name = ch_object-d_obj_name
|
||||
im_obj_type = ch_object-s_obj_type
|
||||
IMPORTING ex_tadir = ls_tadir ).
|
||||
|
||||
ch_object-d_devclass = ls_tadir-devclass.
|
||||
|
||||
CATCH cx_ecatt.
|
||||
CLEAR ls_tadir.
|
||||
ENDTRY.
|
||||
IF l_exc_occ = 'X'.
|
||||
raise_upload_exception( previous = ex ).
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD upload_data_from_stream.
|
||||
|
||||
" Downport
|
||||
|
|
Loading…
Reference in New Issue
Block a user