From ce89e75eb91004059625d44b109ff15ceb335b7f Mon Sep 17 00:00:00 2001 From: Christian Guenter Date: Wed, 13 Jun 2018 19:39:35 +0000 Subject: [PATCH] SSFO deserialization: catch cx_ssf_fb --- src/objects/zcl_abapgit_object_ssfo.clas.abap | 35 ++++++++++++------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/src/objects/zcl_abapgit_object_ssfo.clas.abap b/src/objects/zcl_abapgit_object_ssfo.clas.abap index 7645c09d0..4b0c589a8 100644 --- a/src/objects/zcl_abapgit_object_ssfo.clas.abap +++ b/src/objects/zcl_abapgit_object_ssfo.clas.abap @@ -225,7 +225,9 @@ CLASS zcl_abapgit_object_ssfo IMPLEMENTATION. lv_name TYPE string, li_iterator TYPE REF TO if_ixml_node_iterator, 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. @@ -252,21 +254,28 @@ CLASS zcl_abapgit_object_ssfo IMPLEMENTATION. tadir_insert( iv_package ). 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( ) - formname = lv_formname - language = mv_language - CHANGING sform = lo_res ). + TRY. + lo_sf->enqueue( suppress_corr_check = space + master_language = mv_language + mode = 'INSERT' + formname = lv_formname ). - lo_res->store( im_formname = lo_res->header-formname - im_language = mv_language - im_active = abap_true ). + lo_sf->xml_upload( EXPORTING dom = io_xml->get_raw( )->get_root_element( ) + formname = lv_formname + 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