SSFO deserialization: catch cx_ssf_fb

This commit is contained in:
Christian Guenter 2018-06-13 19:39:35 +00:00
parent 0634c60e5d
commit ce89e75eb9

View File

@ -225,7 +225,9 @@ CLASS zcl_abapgit_object_ssfo IMPLEMENTATION.
lv_name TYPE string, lv_name TYPE string,
li_iterator TYPE REF TO if_ixml_node_iterator, li_iterator TYPE REF TO if_ixml_node_iterator,
lo_sf TYPE REF TO cl_ssf_fb_smart_form, lo_sf TYPE REF TO cl_ssf_fb_smart_form,
lo_res TYPE REF TO cl_ssf_fb_smart_form. lo_res TYPE REF TO cl_ssf_fb_smart_form,
lx_error TYPE REF TO cx_ssf_fb,
lv_text TYPE string.
CREATE OBJECT lo_sf. CREATE OBJECT lo_sf.
@ -252,21 +254,28 @@ CLASS zcl_abapgit_object_ssfo IMPLEMENTATION.
tadir_insert( iv_package ). tadir_insert( iv_package ).
lv_formname = ms_item-obj_name. lv_formname = ms_item-obj_name.
lo_sf->enqueue( suppress_corr_check = space
master_language = mv_language
mode = 'INSERT'
formname = lv_formname ).
lo_sf->xml_upload( EXPORTING dom = io_xml->get_raw( )->get_root_element( ) TRY.
formname = lv_formname lo_sf->enqueue( suppress_corr_check = space
language = mv_language master_language = mv_language
CHANGING sform = lo_res ). mode = 'INSERT'
formname = lv_formname ).
lo_res->store( im_formname = lo_res->header-formname lo_sf->xml_upload( EXPORTING dom = io_xml->get_raw( )->get_root_element( )
im_language = mv_language formname = lv_formname
im_active = abap_true ). language = mv_language
CHANGING sform = lo_res ).
lo_sf->dequeue( lv_formname ). lo_res->store( im_formname = lo_res->header-formname
im_language = mv_language
im_active = abap_true ).
lo_sf->dequeue( lv_formname ).
CATCH cx_ssf_fb INTO lx_error.
lv_text = lx_error->get_text( ).
zcx_abapgit_exception=>raise( |{ ms_item-obj_type } { ms_item-obj_name }: { lv_text } | ).
ENDTRY.
ENDMETHOD. "deserialize ENDMETHOD. "deserialize