From 5182ed6213522a6429930baf8a69884803476d53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20G=C3=BCnter?= Date: Thu, 23 Jan 2025 12:10:56 +0100 Subject: [PATCH 1/2] Patch: fix 'invalid filename' error if filename is empty (#7126) Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com> --- src/ui/pages/zcl_abapgit_gui_page_patch.clas.abap | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ui/pages/zcl_abapgit_gui_page_patch.clas.abap b/src/ui/pages/zcl_abapgit_gui_page_patch.clas.abap index 9391f8a5a..922f9e049 100644 --- a/src/ui/pages/zcl_abapgit_gui_page_patch.clas.abap +++ b/src/ui/pages/zcl_abapgit_gui_page_patch.clas.abap @@ -528,7 +528,10 @@ CLASS zcl_abapgit_gui_page_patch IMPLEMENTATION. lv_patched TYPE abap_bool, lv_is_patch_possible TYPE abap_bool. - lv_patched = get_diff_object( iv_filename )->is_line_patched( iv_index ). + " In case an object is falsely detected as changed, filename is empty and there's no diff object + IF iv_filename IS NOT INITIAL. + lv_patched = get_diff_object( iv_filename )->is_line_patched( iv_index ). + ENDIF. lv_is_patch_possible = is_patch_line_possible( is_diff_line ). From c08d33bb4a643e5022b2b2c0192379715a8ffd24 Mon Sep 17 00:00:00 2001 From: Fabian Lupa Date: Thu, 23 Jan 2025 21:23:25 +0100 Subject: [PATCH 2/2] Enable ABAP Language Version support for DDLS (#7134) Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com> --- src/objects/zcl_abapgit_object_ddls.clas.abap | 59 +++++++++++++------ 1 file changed, 40 insertions(+), 19 deletions(-) diff --git a/src/objects/zcl_abapgit_object_ddls.clas.abap b/src/objects/zcl_abapgit_object_ddls.clas.abap index e91b09de8..063a003a4 100644 --- a/src/objects/zcl_abapgit_object_ddls.clas.abap +++ b/src/objects/zcl_abapgit_object_ddls.clas.abap @@ -276,11 +276,12 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION. lx_error TYPE REF TO cx_root. FIELD-SYMBOLS: - TYPE any, - TYPE any, - TYPE any, - TYPE any, - TYPE any. + TYPE any, + TYPE any, + TYPE any, + TYPE any, + TYPE any, + TYPE any. TRY. CREATE DATA lr_data TYPE ('DDDDLSRCV'). @@ -293,6 +294,11 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION. ASSERT sy-subrc = 0. = mo_files->read_string( 'asddls' ). + ASSIGN COMPONENT 'ABAP_LANGUAGE_VERSION' OF STRUCTURE TO . + IF sy-subrc = 0. + set_abap_language_version( CHANGING cv_abap_language_version = ). + ENDIF. + CALL METHOD ('CL_DD_DDL_HANDLER_FACTORY')=>('CREATE') RECEIVING handler = lo_ddl. @@ -310,12 +316,22 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION. ASSERT sy-subrc = 0. = ms_item-obj_name. - CALL METHOD lo_ddl->('IF_DD_DDL_HANDLER~SAVE') - EXPORTING - name = ms_item-obj_name - put_state = 'N' - ddddlsrcv_wa = - baseinfo_string = . + TRY. + CALL METHOD lo_ddl->('IF_DD_DDL_HANDLER~SAVE') + EXPORTING + name = ms_item-obj_name + put_state = 'N' + ddddlsrcv_wa = + baseinfo_string = + save_language_version = abap_true. + CATCH cx_sy_dyn_call_param_not_found. + CALL METHOD lo_ddl->('IF_DD_DDL_HANDLER~SAVE') + EXPORTING + name = ms_item-obj_name + put_state = 'N' + ddddlsrcv_wa = + baseinfo_string = . + ENDTRY. ELSE. CALL METHOD lo_ddl->('IF_DD_DDL_HANDLER~SAVE') EXPORTING @@ -447,13 +463,14 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION. lt_clr_comps TYPE STANDARD TABLE OF fieldname WITH DEFAULT KEY, lx_error TYPE REF TO cx_root. - FIELD-SYMBOLS: TYPE any, - TYPE any, - LIKE LINE OF lt_clr_comps, - TYPE ANY TABLE, - TYPE any, - TYPE any, - TYPE any. + FIELD-SYMBOLS: TYPE any, + TYPE any, + LIKE LINE OF lt_clr_comps, + TYPE ANY TABLE, + TYPE any, + TYPE any, + TYPE any, + TYPE any. TRY. @@ -506,12 +523,16 @@ CLASS zcl_abapgit_object_ddls IMPLEMENTATION. zcx_abapgit_exception=>raise_with_text( lx_error ). ENDTRY. + ASSIGN COMPONENT 'ABAP_LANGUAGE_VERSION' OF STRUCTURE TO . + IF sy-subrc = 0. + clear_abap_language_version( CHANGING cv_abap_language_version = ). + ENDIF. + APPEND 'AS4USER' TO lt_clr_comps. APPEND 'AS4DATE' TO lt_clr_comps. APPEND 'AS4TIME' TO lt_clr_comps. APPEND 'ACTFLAG' TO lt_clr_comps. APPEND 'CHGFLAG' TO lt_clr_comps. - APPEND 'ABAP_LANGUAGE_VERSION' TO lt_clr_comps. APPEND 'ABAP_LANGU_VERSION' TO lt_clr_comps. LOOP AT lt_clr_comps ASSIGNING .