diff --git a/src/zabapgit.prog.abap b/src/zabapgit.prog.abap index 8f47e029b..b9721a9ba 100644 --- a/src/zabapgit.prog.abap +++ b/src/zabapgit.prog.abap @@ -3,7 +3,7 @@ REPORT zabapgit LINE-SIZE 100. * See http://www.abapgit.org CONSTANTS: gc_xml_version TYPE string VALUE 'v1.0.0', "#EC NOTEXT - gc_abap_version TYPE string VALUE 'v1.18.2'. "#EC NOTEXT + gc_abap_version TYPE string VALUE 'v1.18.3'. "#EC NOTEXT ******************************************************************************** * The MIT License (MIT) diff --git a/src/zabapgit_object_clas.prog.abap b/src/zabapgit_object_clas.prog.abap index f34e54856..1561da156 100644 --- a/src/zabapgit_object_clas.prog.abap +++ b/src/zabapgit_object_clas.prog.abap @@ -123,8 +123,9 @@ CLASS lcl_object_clas IMPLEMENTATION. METHOD lif_object~has_changed_since. - DATA: lv_clsname TYPE seoclsname, - lt_incl TYPE seoincl_t. + DATA: lv_clsname TYPE seoclsname, + lv_program TYPE program, + lt_incl TYPE seoincl_t. FIELD-SYMBOLS LIKE LINE OF lt_incl. @@ -132,24 +133,35 @@ CLASS lcl_object_clas IMPLEMENTATION. CASE ms_item-obj_type. WHEN 'CLAS'. - lt_incl = cl_oo_classname_service=>get_all_class_includes( lv_clsname ). + TRY. + CALL METHOD cl_oo_classname_service=>('GET_ALL_CLASS_INCLUDES') + EXPORTING + class_name = lv_clsname + RECEIVING + result = lt_incl. + CATCH cx_sy_dyn_call_illegal_method. +* method does not exist in 702, just report everything as changed + rv_changed = abap_true. + ENDTRY. + LOOP AT lt_incl ASSIGNING . + rv_changed = check_prog_changed_since( + iv_program = + iv_timestamp = iv_timestamp + iv_skip_gui = abap_true ). + IF rv_changed = abap_true. + RETURN. + ENDIF. + ENDLOOP. WHEN 'INTF'. - APPEND INITIAL LINE TO lt_incl ASSIGNING . - = cl_oo_classname_service=>get_interfacepool_name( lv_clsname ). + lv_program = cl_oo_classname_service=>get_interfacepool_name( lv_clsname ). + rv_changed = check_prog_changed_since( + iv_program = lv_program + iv_timestamp = iv_timestamp + iv_skip_gui = abap_true ). WHEN OTHERS. lcx_exception=>raise( 'class delete, unknown type' ). ENDCASE. - LOOP AT lt_incl ASSIGNING . - rv_changed = check_prog_changed_since( - iv_program = - iv_timestamp = iv_timestamp - iv_skip_gui = abap_true ). - IF rv_changed = abap_true. - RETURN. - ENDIF. - ENDLOOP. - ENDMETHOD. "lif_object~has_changed_since METHOD lif_object~get_metadata.