From bd7aa464d2b80755eba500133305346db935c35e Mon Sep 17 00:00:00 2001 From: mrsimpson Date: Fri, 12 Feb 2016 19:33:53 +0000 Subject: [PATCH] Removed last change timestamp as export date --- zabapgit_saplink_bridge.prog.abap | 8 +++++++- zsaplink_generic_obj.clas.abap | 12 ++++++++++-- zsaplink_generic_obj.clas.locals_def.abap | 2 ++ zsaplink_generic_obj.clas.locals_imp.abap | 15 +++++++++------ 4 files changed, 28 insertions(+), 9 deletions(-) diff --git a/zabapgit_saplink_bridge.prog.abap b/zabapgit_saplink_bridge.prog.abap index 4381e815a..b1d871d40 100644 --- a/zabapgit_saplink_bridge.prog.abap +++ b/zabapgit_saplink_bridge.prog.abap @@ -50,7 +50,13 @@ CLASS lcl_saplink_adapter IMPLEMENTATION. TRY. DATA(ixmldoc) = mo_saplink->createixmldocfromobject( ). CATCH zcx_saplink INTO DATA(lx_saplink). - RAISE EXCEPTION TYPE lcx_exception EXPORTING iv_text = lx_saplink->get_text( ). + IF lx_saplink->textid = zcx_saplink=>not_found. +* ABAPGit tries to serialize also locally non-existent objects which it found in a git repo=> +* don't create a file in this case, simply + RETURN. ">>>>>>>>>>>>>>>>>>>>>>>>> + ELSE. + RAISE EXCEPTION TYPE lcx_exception EXPORTING iv_text = lx_saplink->get_text( ). + ENDIF. ENDTRY. mo_files->add_xml( NEW lcl_xml( iv_xml = zsaplink=>convertixmldoctostring( ixmldoc ) ) ). diff --git a/zsaplink_generic_obj.clas.abap b/zsaplink_generic_obj.clas.abap index db054c9a3..5103622e7 100644 --- a/zsaplink_generic_obj.clas.abap +++ b/zsaplink_generic_obj.clas.abap @@ -15,7 +15,8 @@ CLASS zsaplink_generic_obj DEFINITION METHODS constructor IMPORTING - !name TYPE string . + !name TYPE string + include_last_changed type abap_bool OPTIONAL. METHODS checkexists REDEFINITION . @@ -52,9 +53,12 @@ CLASS zsaplink_generic_obj DEFINITION METHODS deleteobject REDEFINITION . + PRIVATE SECTION. DATA mo_xml_bridge TYPE REF TO lcl_tlogo_xml_bridge . + data include_last_changed type abap_bool. + CONSTANTS co_xml_metadata TYPE string VALUE 'objMetaData' ##NO_TEXT. METHODS get_xml_bridge @@ -121,6 +125,8 @@ CLASS ZSAPLINK_GENERIC_OBJ IMPLEMENTATION. *\---------------------------------------------------------------------/ super->constructor( name = name ). + me->include_last_changed = include_last_changed. + ENDMETHOD. @@ -191,7 +197,9 @@ CLASS ZSAPLINK_GENERIC_OBJ IMPLEMENTATION. METHOD get_xml_bridge. IF mo_xml_bridge IS INITIAL. * can't be called in the constructor as getObjectType is intended to be polymorphic - mo_xml_bridge = NEW lcl_tlogo_xml_bridge( i_tlogo = CONV #( me->getobjecttype( ) ) ). + mo_xml_bridge = NEW lcl_tlogo_xml_bridge( + i_tlogo = CONV #( me->getobjecttype( ) ) + iv_include_last_changed = me->include_last_changed ). ENDIF. ro_xml_bridge = mo_xml_bridge. diff --git a/zsaplink_generic_obj.clas.locals_def.abap b/zsaplink_generic_obj.clas.locals_def.abap index 3cd716c30..ef223eb37 100644 --- a/zsaplink_generic_obj.clas.locals_def.abap +++ b/zsaplink_generic_obj.clas.locals_def.abap @@ -29,6 +29,7 @@ CLASS lcl_rso_tlogo_xml_bridge DEFINITION METHODS constructor IMPORTING !i_tlogo TYPE rstlogo + iv_include_last_changed type abap_bool optional EXCEPTIONS tlogo_doesnt_exist . METHODS parse_xml @@ -92,6 +93,7 @@ CLASS lcl_rso_tlogo_xml_bridge DEFINITION DATA p_ts_objsl TYPE pt_ts_objsl . DATA p_ts_tlogo_tables TYPE pt_ts_tlogo_tables . DATA p_timestmp TYPE rstimestmp . + data mv_include_last_changed type abap_bool. METHODS read_tlogo_prop . ENDCLASS. diff --git a/zsaplink_generic_obj.clas.locals_imp.abap b/zsaplink_generic_obj.clas.locals_imp.abap index d31cf0f75..683e6ea74 100644 --- a/zsaplink_generic_obj.clas.locals_imp.abap +++ b/zsaplink_generic_obj.clas.locals_imp.abap @@ -143,12 +143,14 @@ WITH UNIQUE KEY num. CLEAR l_value. l_r_element_transport = l_r_document->create_element( name = l_name ). l_rc = l_r_document->append_child( l_r_element_transport ). -* XML: date (for comparison with object, last changed ) - l_name = if_rso_object_xmic=>timestmp. - GET TIME STAMP FIELD l_timestmp. - l_value = cl_rso_repository=>timestamp_to_xml( l_timestmp ). - l_r_element = l_r_document->create_simple_element( - name = l_name value = l_value parent = l_r_element_transport ). +* XML: date (for comparison with object, last changed ) - modified oj: Do not always include this element + IF mv_include_last_changed = abap_true. + l_name = if_rso_object_xmic=>timestmp. + GET TIME STAMP FIELD l_timestmp. + l_value = cl_rso_repository=>timestamp_to_xml( l_timestmp ). + l_r_element = l_r_document->create_simple_element( + name = l_name value = l_value parent = l_r_element_transport ). + ENDIF. * parse all tables of this TLOGO object LOOP AT p_ts_objsl ASSIGNING . @@ -345,6 +347,7 @@ WITH UNIQUE KEY num. p_tlogo = i_tlogo. CALL METHOD read_tlogo_prop. + mv_include_last_changed = iv_include_last_changed. ENDMETHOD. "