diff --git a/src/objects/aff/zcl_abapgit_object_common_aff.clas.abap b/src/objects/aff/zcl_abapgit_object_common_aff.clas.abap index e811b0af6..9349e3c42 100644 --- a/src/objects/aff/zcl_abapgit_object_common_aff.clas.abap +++ b/src/objects/aff/zcl_abapgit_object_common_aff.clas.abap @@ -617,7 +617,10 @@ CLASS zcl_abapgit_object_common_aff IMPLEMENTATION. RECEIVING result = lv_json_as_xstring. - lv_json_as_xstring_wo_alv = remove_abap_language_version( lv_json_as_xstring ). + " Only remove ABAP language version if repository is set to ignore it + IF ms_item-abap_language_version = zcl_abapgit_abap_language_vers=>c_no_abap_language_version. + lv_json_as_xstring_wo_alv = remove_abap_language_version( lv_json_as_xstring ). + ENDIF. zif_abapgit_object~mo_files->add_raw( iv_ext = 'json' diff --git a/src/objects/zcl_abapgit_objects_super.clas.abap b/src/objects/zcl_abapgit_objects_super.clas.abap index 24d4347eb..2c7c55d41 100644 --- a/src/objects/zcl_abapgit_objects_super.clas.abap +++ b/src/objects/zcl_abapgit_objects_super.clas.abap @@ -100,7 +100,7 @@ CLASS zcl_abapgit_objects_super IMPLEMENTATION. " Used during serializing of objects IF ms_item-abap_language_version <> zcl_abapgit_abap_language_vers=>c_any_abap_language_version. - " ABAP language is defined in repo setting so there's no need to serialize it + " ABAP language version is defined in repo setting so there's no need to serialize it CLEAR cv_abap_language_version. ENDIF. @@ -302,7 +302,7 @@ CLASS zcl_abapgit_objects_super IMPLEMENTATION. " Used during deserializing of objects IF ms_item-abap_language_version <> zcl_abapgit_abap_language_vers=>c_any_abap_language_version. - " ABAP language is defined in repo setting so set it accordingly + " ABAP language version is defined in repo setting so set it accordingly cv_abap_language_version = ms_item-abap_language_version. ENDIF. diff --git a/src/repo/zif_abapgit_dot_abapgit.intf.abap b/src/repo/zif_abapgit_dot_abapgit.intf.abap index 8bf4ef03a..4efa71d27 100644 --- a/src/repo/zif_abapgit_dot_abapgit.intf.abap +++ b/src/repo/zif_abapgit_dot_abapgit.intf.abap @@ -34,7 +34,8 @@ INTERFACE zif_abapgit_dot_abapgit PUBLIC. standard TYPE string VALUE 'standard', key_user TYPE string VALUE 'keyUser', cloud_development TYPE string VALUE 'cloudDevelopment', - undefined TYPE string VALUE 'undefined', + ignore TYPE string VALUE 'ignore', + undefined TYPE string VALUE 'undefined', " any END OF c_abap_language_version. ENDINTERFACE. diff --git a/src/ui/pages/zcl_abapgit_gui_page_addofflin.clas.abap b/src/ui/pages/zcl_abapgit_gui_page_addofflin.clas.abap index a69bd2a28..44774200c 100644 --- a/src/ui/pages/zcl_abapgit_gui_page_addofflin.clas.abap +++ b/src/ui/pages/zcl_abapgit_gui_page_addofflin.clas.abap @@ -164,6 +164,9 @@ CLASS zcl_abapgit_gui_page_addofflin IMPLEMENTATION. )->option( iv_label = 'Any' iv_value = '' + )->option( + iv_label = 'Ignore' + iv_value = zif_abapgit_dot_abapgit=>c_abap_language_version-ignore )->option( iv_label = 'Standard' iv_value = zif_abapgit_dot_abapgit=>c_abap_language_version-standard diff --git a/src/ui/pages/zcl_abapgit_gui_page_addonline.clas.abap b/src/ui/pages/zcl_abapgit_gui_page_addonline.clas.abap index 0b2dcad9e..91a2e44bb 100644 --- a/src/ui/pages/zcl_abapgit_gui_page_addonline.clas.abap +++ b/src/ui/pages/zcl_abapgit_gui_page_addonline.clas.abap @@ -179,6 +179,9 @@ CLASS zcl_abapgit_gui_page_addonline IMPLEMENTATION. )->option( iv_label = 'Any' iv_value = '' + )->option( + iv_label = 'Ignore' + iv_value = zif_abapgit_dot_abapgit=>c_abap_language_version-ignore )->option( iv_label = 'Standard' iv_value = zif_abapgit_dot_abapgit=>c_abap_language_version-standard diff --git a/src/ui/pages/zcl_abapgit_gui_page_sett_repo.clas.abap b/src/ui/pages/zcl_abapgit_gui_page_sett_repo.clas.abap index cb6121fad..337dbe1b8 100644 --- a/src/ui/pages/zcl_abapgit_gui_page_sett_repo.clas.abap +++ b/src/ui/pages/zcl_abapgit_gui_page_sett_repo.clas.abap @@ -209,6 +209,9 @@ CLASS zcl_abapgit_gui_page_sett_repo IMPLEMENTATION. )->option( iv_label = 'Any (Object-specific ABAP Language Version)' iv_value = '' + )->option( + iv_label = 'Ignore (ABAP Language Version not serialized)' + iv_value = zif_abapgit_dot_abapgit=>c_abap_language_version-ignore )->option( iv_label = 'Standard ABAP' iv_value = zif_abapgit_dot_abapgit=>c_abap_language_version-standard diff --git a/src/utils/zcl_abapgit_abap_language_vers.clas.abap b/src/utils/zcl_abapgit_abap_language_vers.clas.abap index 52e2445e6..ba8cdec7d 100644 --- a/src/utils/zcl_abapgit_abap_language_vers.clas.abap +++ b/src/utils/zcl_abapgit_abap_language_vers.clas.abap @@ -5,8 +5,10 @@ CLASS zcl_abapgit_abap_language_vers DEFINITION PUBLIC SECTION. - CONSTANTS c_any_abap_language_version TYPE zif_abapgit_aff_types_v1=>ty_abap_language_version VALUE '*'. - CONSTANTS c_feature_flag TYPE string VALUE 'ALAV'. + CONSTANTS: + c_any_abap_language_version TYPE zif_abapgit_aff_types_v1=>ty_abap_language_version VALUE '*', + c_no_abap_language_version TYPE zif_abapgit_aff_types_v1=>ty_abap_language_version VALUE '-', + c_feature_flag TYPE string VALUE 'ALAV'. METHODS constructor IMPORTING @@ -191,6 +193,8 @@ CLASS zcl_abapgit_abap_language_vers IMPLEMENTATION. rv_abap_language_version = zif_abapgit_aff_types_v1=>co_abap_language_version_src-key_user. WHEN zif_abapgit_dot_abapgit=>c_abap_language_version-cloud_development. rv_abap_language_version = zif_abapgit_aff_types_v1=>co_abap_language_version_src-cloud_development. + WHEN c_no_abap_language_version. + rv_abap_language_version = c_no_abap_language_version. WHEN OTHERS. " undefined or feature off rv_abap_language_version = c_any_abap_language_version. ENDCASE.