mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
Introduce ABAP Language Version base functionality (#6346)
Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com> Co-authored-by: Lars Hvam <larshp@hotmail.com> Co-authored-by: Marc Bernard <59966492+mbtools@users.noreply.github.com>
This commit is contained in:
parent
83b554f75e
commit
e177147f10
|
@ -351,7 +351,7 @@
|
|||
"max_one_statement": true,
|
||||
"message_exists": false,
|
||||
"method_length": {
|
||||
"statements": 105,
|
||||
"statements": 110,
|
||||
"checkForms": true,
|
||||
"ignoreTestClasses": false,
|
||||
"errorWhenEmpty": false
|
||||
|
|
|
@ -628,6 +628,7 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
|
|||
DATA lo_folder_logic TYPE REF TO zcl_abapgit_folder_logic.
|
||||
DATA lo_i18n_params TYPE REF TO zcl_abapgit_i18n_params.
|
||||
DATA lo_timer TYPE REF TO zcl_abapgit_timer.
|
||||
DATA lo_abap_language_vers TYPE REF TO zcl_abapgit_abap_language_vers.
|
||||
|
||||
FIELD-SYMBOLS: <ls_result> TYPE zif_abapgit_definitions=>ty_result,
|
||||
<lv_step_id> TYPE LINE OF zif_abapgit_definitions=>ty_deserialization_step_tt,
|
||||
|
@ -684,6 +685,8 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
|
|||
ii_log->add_info( |>>> Deserializing { lines( lt_items ) } objects| ).
|
||||
ENDIF.
|
||||
|
||||
CREATE OBJECT lo_abap_language_vers.
|
||||
|
||||
lo_folder_logic = zcl_abapgit_folder_logic=>get_instance( ).
|
||||
LOOP AT lt_results ASSIGNING <ls_result>.
|
||||
li_progress->show( iv_current = sy-tabix
|
||||
|
@ -714,6 +717,9 @@ CLASS zcl_abapgit_objects IMPLEMENTATION.
|
|||
ENDIF.
|
||||
|
||||
ls_item-devclass = lv_package.
|
||||
ls_item-abap_language_version = lo_abap_language_vers->get_abap_language_vers_by_objt(
|
||||
iv_object_type = ls_item-obj_type
|
||||
iv_package = lv_package ).
|
||||
|
||||
IF <ls_result>-packmove = abap_true.
|
||||
" Move object to new package
|
||||
|
|
|
@ -76,7 +76,7 @@ CLASS zcl_abapgit_dot_abapgit DEFINITION
|
|||
zcx_abapgit_exception .
|
||||
METHODS use_lxe
|
||||
IMPORTING
|
||||
iv_yes TYPE abap_bool DEFAULT abap_undefined
|
||||
!iv_yes TYPE abap_bool DEFAULT abap_undefined
|
||||
RETURNING
|
||||
VALUE(rv_yes) TYPE abap_bool .
|
||||
METHODS get_requirements
|
||||
|
@ -86,22 +86,34 @@ CLASS zcl_abapgit_dot_abapgit DEFINITION
|
|||
IMPORTING
|
||||
!it_requirements TYPE zif_abapgit_dot_abapgit=>ty_requirement_tt .
|
||||
METHODS get_version_constant
|
||||
RETURNING VALUE(rv_version_constant) TYPE string.
|
||||
RETURNING
|
||||
VALUE(rv_version_constant) TYPE string .
|
||||
METHODS set_version_constant
|
||||
IMPORTING iv_version_constant TYPE csequence.
|
||||
IMPORTING
|
||||
!iv_version_constant TYPE csequence .
|
||||
METHODS get_abap_language_version
|
||||
RETURNING
|
||||
VALUE(rv_abap_language_version) TYPE string .
|
||||
METHODS set_abap_language_version
|
||||
IMPORTING
|
||||
!iv_abap_language_version TYPE string .
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
DATA: ms_data TYPE zif_abapgit_dot_abapgit=>ty_dot_abapgit.
|
||||
|
||||
CLASS-METHODS:
|
||||
to_xml
|
||||
IMPORTING is_data TYPE zif_abapgit_dot_abapgit=>ty_dot_abapgit
|
||||
RETURNING VALUE(rv_xml) TYPE string
|
||||
RAISING zcx_abapgit_exception,
|
||||
from_xml
|
||||
IMPORTING iv_xml TYPE string
|
||||
RETURNING VALUE(rs_data) TYPE zif_abapgit_dot_abapgit=>ty_dot_abapgit.
|
||||
DATA ms_data TYPE zif_abapgit_dot_abapgit=>ty_dot_abapgit .
|
||||
|
||||
CLASS-METHODS to_xml
|
||||
IMPORTING
|
||||
!is_data TYPE zif_abapgit_dot_abapgit=>ty_dot_abapgit
|
||||
RETURNING
|
||||
VALUE(rv_xml) TYPE string
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
CLASS-METHODS from_xml
|
||||
IMPORTING
|
||||
!iv_xml TYPE string
|
||||
RETURNING
|
||||
VALUE(rs_data) TYPE zif_abapgit_dot_abapgit=>ty_dot_abapgit .
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
@ -355,4 +367,14 @@ CLASS ZCL_ABAPGIT_DOT_ABAPGIT IMPLEMENTATION.
|
|||
rv_yes = ms_data-use_lxe.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_abap_language_version.
|
||||
rv_abap_language_version = ms_data-abap_language_version.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD set_abap_language_version.
|
||||
ms_data-abap_language_version = iv_abap_language_version.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -7,46 +7,94 @@ CLASS zcl_abapgit_repo DEFINITION
|
|||
|
||||
INTERFACES zif_abapgit_repo .
|
||||
|
||||
ALIASES ms_data FOR zif_abapgit_repo~ms_data.
|
||||
ALIASES:
|
||||
get_key FOR zif_abapgit_repo~get_key,
|
||||
get_name FOR zif_abapgit_repo~get_name,
|
||||
is_offline FOR zif_abapgit_repo~is_offline,
|
||||
get_package FOR zif_abapgit_repo~get_package,
|
||||
get_files_local FOR zif_abapgit_repo~get_files_local,
|
||||
get_files_remote FOR zif_abapgit_repo~get_files_remote,
|
||||
get_local_settings FOR zif_abapgit_repo~get_local_settings,
|
||||
refresh FOR zif_abapgit_repo~refresh,
|
||||
get_dot_abapgit FOR zif_abapgit_repo~get_dot_abapgit,
|
||||
set_dot_abapgit FOR zif_abapgit_repo~set_dot_abapgit,
|
||||
deserialize FOR zif_abapgit_repo~deserialize,
|
||||
deserialize_checks FOR zif_abapgit_repo~deserialize_checks.
|
||||
|
||||
METHODS constructor
|
||||
IMPORTING
|
||||
!is_data TYPE zif_abapgit_persistence=>ty_repo .
|
||||
ALIASES ms_data
|
||||
FOR zif_abapgit_repo~ms_data .
|
||||
ALIASES deserialize
|
||||
FOR zif_abapgit_repo~deserialize .
|
||||
ALIASES deserialize_checks
|
||||
FOR zif_abapgit_repo~deserialize_checks .
|
||||
ALIASES get_dot_abapgit
|
||||
FOR zif_abapgit_repo~get_dot_abapgit .
|
||||
ALIASES get_files_local
|
||||
FOR zif_abapgit_repo~get_files_local .
|
||||
ALIASES get_files_remote
|
||||
FOR zif_abapgit_repo~get_files_remote .
|
||||
ALIASES get_key
|
||||
FOR zif_abapgit_repo~get_key .
|
||||
ALIASES get_local_settings
|
||||
FOR zif_abapgit_repo~get_local_settings .
|
||||
ALIASES get_name
|
||||
FOR zif_abapgit_repo~get_name .
|
||||
ALIASES get_package
|
||||
FOR zif_abapgit_repo~get_package .
|
||||
ALIASES is_offline
|
||||
FOR zif_abapgit_repo~is_offline .
|
||||
ALIASES refresh
|
||||
FOR zif_abapgit_repo~refresh .
|
||||
ALIASES set_dot_abapgit
|
||||
FOR zif_abapgit_repo~set_dot_abapgit .
|
||||
|
||||
METHODS bind_listener
|
||||
IMPORTING
|
||||
!ii_listener TYPE REF TO zif_abapgit_repo_listener .
|
||||
METHODS check_and_create_package
|
||||
IMPORTING
|
||||
!iv_package TYPE devclass
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS constructor
|
||||
IMPORTING
|
||||
!is_data TYPE zif_abapgit_persistence=>ty_repo .
|
||||
METHODS create_new_log
|
||||
IMPORTING
|
||||
!iv_title TYPE string OPTIONAL
|
||||
RETURNING
|
||||
VALUE(ri_log) TYPE REF TO zif_abapgit_log .
|
||||
METHODS delete_checks
|
||||
RETURNING
|
||||
VALUE(rs_checks) TYPE zif_abapgit_definitions=>ty_delete_checks
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS get_dot_apack
|
||||
RETURNING
|
||||
VALUE(ro_dot_apack) TYPE REF TO zcl_abapgit_apack_reader .
|
||||
METHODS get_data_config
|
||||
RETURNING
|
||||
VALUE(ri_config) TYPE REF TO zif_abapgit_data_config
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS find_remote_dot_abapgit
|
||||
RETURNING
|
||||
VALUE(ro_dot) TYPE REF TO zcl_abapgit_dot_abapgit
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS get_data_config
|
||||
RETURNING
|
||||
VALUE(ri_config) TYPE REF TO zif_abapgit_data_config
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS get_dot_apack
|
||||
RETURNING
|
||||
VALUE(ro_dot_apack) TYPE REF TO zcl_abapgit_apack_reader .
|
||||
METHODS get_log
|
||||
RETURNING
|
||||
VALUE(ri_log) TYPE REF TO zif_abapgit_log .
|
||||
METHODS get_unsupported_objects_local
|
||||
RETURNING
|
||||
VALUE(rt_objects) TYPE zif_abapgit_definitions=>ty_items_tt
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS has_remote_source
|
||||
ABSTRACT
|
||||
RETURNING
|
||||
VALUE(rv_yes) TYPE abap_bool .
|
||||
METHODS refresh_local_object
|
||||
IMPORTING
|
||||
!iv_obj_type TYPE tadir-object
|
||||
!iv_obj_name TYPE tadir-obj_name
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS refresh_local_objects
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS remove_ignored_files
|
||||
CHANGING
|
||||
!ct_files TYPE zif_abapgit_git_definitions=>ty_files_tt
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS reset_status .
|
||||
METHODS set_files_remote
|
||||
IMPORTING
|
||||
!it_files TYPE zif_abapgit_git_definitions=>ty_files_tt .
|
||||
|
@ -55,10 +103,6 @@ CLASS zcl_abapgit_repo DEFINITION
|
|||
!is_settings TYPE zif_abapgit_persistence=>ty_repo-local_settings
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS has_remote_source
|
||||
ABSTRACT
|
||||
RETURNING
|
||||
VALUE(rv_yes) TYPE abap_bool .
|
||||
METHODS status
|
||||
IMPORTING
|
||||
!ii_log TYPE REF TO zif_abapgit_log OPTIONAL
|
||||
|
@ -71,39 +115,6 @@ CLASS zcl_abapgit_repo DEFINITION
|
|||
!iv_offline TYPE abap_bool
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS create_new_log
|
||||
IMPORTING
|
||||
!iv_title TYPE string OPTIONAL
|
||||
RETURNING
|
||||
VALUE(ri_log) TYPE REF TO zif_abapgit_log .
|
||||
METHODS get_log
|
||||
RETURNING
|
||||
VALUE(ri_log) TYPE REF TO zif_abapgit_log .
|
||||
METHODS refresh_local_object
|
||||
IMPORTING
|
||||
!iv_obj_type TYPE tadir-object
|
||||
!iv_obj_name TYPE tadir-obj_name
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS refresh_local_objects
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS reset_status .
|
||||
METHODS get_unsupported_objects_local
|
||||
RETURNING
|
||||
VALUE(rt_objects) TYPE zif_abapgit_definitions=>ty_items_tt
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS remove_ignored_files
|
||||
CHANGING
|
||||
ct_files TYPE zif_abapgit_git_definitions=>ty_files_tt
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS check_and_create_package
|
||||
IMPORTING
|
||||
iv_package TYPE devclass
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
PROTECTED SECTION.
|
||||
|
||||
DATA mt_local TYPE zif_abapgit_definitions=>ty_files_item_tt .
|
||||
|
@ -121,11 +132,7 @@ CLASS zcl_abapgit_repo DEFINITION
|
|||
VALUE(ro_dot) TYPE REF TO zcl_abapgit_apack_reader
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS set_dot_apack
|
||||
IMPORTING
|
||||
!io_dot_apack TYPE REF TO zcl_abapgit_apack_reader
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS reset_remote .
|
||||
METHODS set
|
||||
IMPORTING
|
||||
!iv_url TYPE zif_abapgit_persistence=>ty_repo-url OPTIONAL
|
||||
|
@ -140,32 +147,43 @@ CLASS zcl_abapgit_repo DEFINITION
|
|||
!iv_switched_origin TYPE zif_abapgit_persistence=>ty_repo-switched_origin OPTIONAL
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS reset_remote .
|
||||
PRIVATE SECTION.
|
||||
|
||||
METHODS deserialize_dot_abapgit
|
||||
CHANGING
|
||||
ct_files TYPE zif_abapgit_git_definitions=>ty_file_signatures_tt
|
||||
METHODS set_dot_apack
|
||||
IMPORTING
|
||||
!io_dot_apack TYPE REF TO zcl_abapgit_apack_reader
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
PRIVATE SECTION.
|
||||
|
||||
METHODS check_for_restart .
|
||||
METHODS check_language
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS check_write_protect
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS deserialize_data
|
||||
IMPORTING
|
||||
!is_checks TYPE zif_abapgit_definitions=>ty_deserialize_checks
|
||||
CHANGING
|
||||
!ct_files TYPE zif_abapgit_git_definitions=>ty_file_signatures_tt
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS deserialize_dot_abapgit
|
||||
CHANGING
|
||||
!ct_files TYPE zif_abapgit_git_definitions=>ty_file_signatures_tt
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS deserialize_objects
|
||||
IMPORTING
|
||||
!is_checks TYPE zif_abapgit_definitions=>ty_deserialize_checks
|
||||
!ii_log TYPE REF TO zif_abapgit_log
|
||||
CHANGING
|
||||
ct_files TYPE zif_abapgit_git_definitions=>ty_file_signatures_tt
|
||||
!ct_files TYPE zif_abapgit_git_definitions=>ty_file_signatures_tt
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
|
||||
METHODS deserialize_data
|
||||
IMPORTING
|
||||
!is_checks TYPE zif_abapgit_definitions=>ty_deserialize_checks
|
||||
METHODS normalize_local_settings
|
||||
CHANGING
|
||||
ct_files TYPE zif_abapgit_git_definitions=>ty_file_signatures_tt
|
||||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
|
||||
!cs_local_settings TYPE zif_abapgit_persistence=>ty_local_settings .
|
||||
METHODS notify_listener
|
||||
IMPORTING
|
||||
!is_change_mask TYPE zif_abapgit_persistence=>ty_repo_meta_mask
|
||||
|
@ -174,21 +192,14 @@ CLASS zcl_abapgit_repo DEFINITION
|
|||
METHODS update_last_deserialize
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS check_for_restart .
|
||||
METHODS check_write_protect
|
||||
METHODS check_abap_language_version
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS check_language
|
||||
RAISING
|
||||
zcx_abapgit_exception .
|
||||
METHODS normalize_local_settings
|
||||
CHANGING
|
||||
cs_local_settings TYPE zif_abapgit_persistence=>ty_local_settings.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS zcl_abapgit_repo IMPLEMENTATION.
|
||||
CLASS ZCL_ABAPGIT_REPO IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD bind_listener.
|
||||
|
@ -782,6 +793,7 @@ CLASS zcl_abapgit_repo IMPLEMENTATION.
|
|||
|
||||
check_write_protect( ).
|
||||
check_language( ).
|
||||
check_abap_language_version( ).
|
||||
|
||||
rs_checks = zcl_abapgit_objects=>deserialize_checks( me ).
|
||||
|
||||
|
@ -910,4 +922,19 @@ CLASS zcl_abapgit_repo IMPLEMENTATION.
|
|||
METHOD zif_abapgit_repo~set_dot_abapgit.
|
||||
set( is_dot_abapgit = io_dot_abapgit->get_data( ) ).
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD check_abap_language_version.
|
||||
|
||||
DATA lo_abapgit_abap_language_vers TYPE REF TO zcl_abapgit_abap_language_vers.
|
||||
DATA lv_text TYPE string.
|
||||
CREATE OBJECT lo_abapgit_abap_language_vers.
|
||||
|
||||
IF lo_abapgit_abap_language_vers->is_import_allowed( io_repo = me
|
||||
iv_package = ms_data-package ) = abap_false.
|
||||
lv_text = |Repository cannot be imported. | &&
|
||||
|ABAP Language Version of linked package is not compatible with repository settings.|.
|
||||
zcx_abapgit_exception=>raise( iv_text = lv_text ).
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
||||
|
|
|
@ -19,6 +19,7 @@ INTERFACE zif_abapgit_dot_abapgit PUBLIC.
|
|||
ignore TYPE STANDARD TABLE OF string WITH DEFAULT KEY,
|
||||
requirements TYPE ty_requirement_tt,
|
||||
version_constant TYPE string,
|
||||
abap_language_version TYPE string,
|
||||
END OF ty_dot_abapgit .
|
||||
|
||||
CONSTANTS:
|
||||
|
@ -26,6 +27,13 @@ INTERFACE zif_abapgit_dot_abapgit PUBLIC.
|
|||
prefix TYPE string VALUE 'PREFIX',
|
||||
full TYPE string VALUE 'FULL',
|
||||
mixed TYPE string VALUE 'MIXED',
|
||||
END OF c_folder_logic .
|
||||
END OF c_folder_logic,
|
||||
|
||||
BEGIN OF c_abap_language_version,
|
||||
standard TYPE string VALUE 'standard',
|
||||
key_user TYPE string VALUE 'keyUser',
|
||||
cloud_development TYPE string VALUE 'cloudDevelopment',
|
||||
undefined TYPE string VALUE 'undefined',
|
||||
END OF c_abap_language_version.
|
||||
|
||||
ENDINTERFACE.
|
||||
|
|
127
src/utils/zcl_abapgit_abap_language_vers.clas.abap
Normal file
127
src/utils/zcl_abapgit_abap_language_vers.clas.abap
Normal file
|
@ -0,0 +1,127 @@
|
|||
CLASS zcl_abapgit_abap_language_vers DEFINITION
|
||||
PUBLIC
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
PUBLIC SECTION.
|
||||
|
||||
METHODS get_abap_language_vers_by_objt
|
||||
IMPORTING
|
||||
!iv_object_type TYPE trobjtype
|
||||
!iv_package TYPE devclass
|
||||
RETURNING
|
||||
VALUE(rv_allowed_abap_langu_version) TYPE zif_abapgit_aff_types_v1=>ty_abap_language_version .
|
||||
METHODS is_import_allowed
|
||||
IMPORTING
|
||||
!io_repo TYPE REF TO zif_abapgit_repo
|
||||
!iv_package TYPE devclass
|
||||
RETURNING
|
||||
VALUE(rv_allowed) TYPE abap_bool .
|
||||
PROTECTED SECTION.
|
||||
PRIVATE SECTION.
|
||||
|
||||
METHODS get_abap_language_vers_by_devc
|
||||
IMPORTING
|
||||
!iv_package TYPE devclass
|
||||
RETURNING
|
||||
VALUE(rv_abap_language_version) TYPE string .
|
||||
METHODS get_abap_language_vers_by_repo
|
||||
IMPORTING
|
||||
!io_repo TYPE REF TO zif_abapgit_repo
|
||||
RETURNING
|
||||
VALUE(rv_abap_language_version) TYPE string .
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS ZCL_ABAPGIT_ABAP_LANGUAGE_VERS IMPLEMENTATION.
|
||||
|
||||
|
||||
METHOD get_abap_language_vers_by_devc.
|
||||
|
||||
DATA lv_abap_lang_version_devc TYPE string.
|
||||
DATA lo_abap_language_version_cfg TYPE REF TO object.
|
||||
|
||||
TRY.
|
||||
CREATE OBJECT lo_abap_language_version_cfg TYPE ('IF_ABAP_LANGUAGE_VERSION_CFG').
|
||||
|
||||
CALL METHOD ('CL_ABAP_LANGUAGE_VERSION_CFG')=>('GET_INSTANCE')
|
||||
RECEIVING
|
||||
ro_instance = lo_abap_language_version_cfg.
|
||||
|
||||
CALL METHOD lo_abap_language_version_cfg->('IF_ABAP_LANGUAGE_VERSION_CFG~GET_PACKAGE_DEFAULT_VERSION')
|
||||
EXPORTING
|
||||
iv_package_name = iv_package
|
||||
RECEIVING
|
||||
rv_default_language_version = lv_abap_lang_version_devc.
|
||||
|
||||
CASE lv_abap_lang_version_devc.
|
||||
WHEN zif_abapgit_aff_types_v1=>co_abap_language_version-standard.
|
||||
rv_abap_language_version = zif_abapgit_dot_abapgit=>c_abap_language_version-standard.
|
||||
WHEN zif_abapgit_aff_types_v1=>co_abap_language_version-key_user.
|
||||
rv_abap_language_version = zif_abapgit_dot_abapgit=>c_abap_language_version-key_user.
|
||||
WHEN zif_abapgit_aff_types_v1=>co_abap_language_version-cloud_development.
|
||||
rv_abap_language_version = zif_abapgit_dot_abapgit=>c_abap_language_version-cloud_development.
|
||||
WHEN OTHERS.
|
||||
rv_abap_language_version = zif_abapgit_dot_abapgit=>c_abap_language_version-undefined.
|
||||
ENDCASE.
|
||||
CATCH cx_root.
|
||||
rv_abap_language_version = zif_abapgit_dot_abapgit=>c_abap_language_version-undefined.
|
||||
ENDTRY.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_abap_language_vers_by_objt.
|
||||
|
||||
DATA lo_abap_language_version TYPE REF TO object.
|
||||
|
||||
TRY.
|
||||
|
||||
CREATE OBJECT lo_abap_language_version TYPE ('IF_ABAP_LANGUAGE_VERSION').
|
||||
|
||||
CALL METHOD ('CL_ABAP_LANGUAGE_VERSION')=>('GET_INSTANCE')
|
||||
RECEIVING
|
||||
ro_instance = lo_abap_language_version.
|
||||
|
||||
CALL METHOD lo_abap_language_version->('IF_ABAP_LANGUAGE_VERSION~GET_DEFAULT_VERSION')
|
||||
EXPORTING
|
||||
iv_object_type = iv_object_type
|
||||
iv_package_name = iv_package
|
||||
RECEIVING
|
||||
rv_default_version = rv_allowed_abap_langu_version.
|
||||
|
||||
CATCH cx_root.
|
||||
rv_allowed_abap_langu_version = zif_abapgit_aff_types_v1=>co_abap_language_version-standard.
|
||||
"to do: here we need to differentiate between source code object and non-source code objects
|
||||
ENDTRY.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD get_abap_language_vers_by_repo.
|
||||
rv_abap_language_version = io_repo->get_dot_abapgit( )->get_abap_language_version( ).
|
||||
IF rv_abap_language_version IS INITIAL.
|
||||
rv_abap_language_version = zif_abapgit_dot_abapgit=>c_abap_language_version-undefined.
|
||||
ENDIF.
|
||||
ENDMETHOD.
|
||||
|
||||
|
||||
METHOD is_import_allowed.
|
||||
|
||||
CASE get_abap_language_vers_by_repo( io_repo ).
|
||||
WHEN zif_abapgit_dot_abapgit=>c_abap_language_version-undefined.
|
||||
rv_allowed = abap_true.
|
||||
WHEN OTHERS.
|
||||
IF get_abap_language_vers_by_repo( io_repo ) = get_abap_language_vers_by_devc( iv_package ).
|
||||
rv_allowed = abap_true.
|
||||
ELSEIF
|
||||
get_abap_language_vers_by_devc( iv_package ) = zif_abapgit_dot_abapgit=>c_abap_language_version-undefined AND
|
||||
get_abap_language_vers_by_repo( io_repo ) = zif_abapgit_dot_abapgit=>c_abap_language_version-standard.
|
||||
rv_allowed = abap_true.
|
||||
ELSE.
|
||||
rv_allowed = abap_false.
|
||||
ENDIF.
|
||||
ENDCASE.
|
||||
|
||||
ENDMETHOD.
|
||||
ENDCLASS.
|
16
src/utils/zcl_abapgit_abap_language_vers.clas.xml
Normal file
16
src/utils/zcl_abapgit_abap_language_vers.clas.xml
Normal file
|
@ -0,0 +1,16 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||
<asx:values>
|
||||
<VSEOCLASS>
|
||||
<CLSNAME>ZCL_ABAPGIT_ABAP_LANGUAGE_VERS</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>abapGit - ABAP Language Version</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
|
@ -16,6 +16,7 @@ INTERFACE zif_abapgit_definitions
|
|||
srcsystem TYPE tadir-srcsystem,
|
||||
origlang TYPE tadir-masterlang,
|
||||
inactive TYPE abap_bool,
|
||||
abap_language_version TYPE zif_abapgit_aff_types_v1=>ty_abap_language_version,
|
||||
END OF ty_item .
|
||||
TYPES:
|
||||
ty_items_tt TYPE STANDARD TABLE OF ty_item WITH DEFAULT KEY .
|
||||
|
@ -470,6 +471,13 @@ INTERFACE zif_abapgit_definitions
|
|||
skip TYPE ty_method VALUE '?',
|
||||
END OF c_method .
|
||||
|
||||
CONSTANTS:
|
||||
BEGIN OF c_abap_language_version,
|
||||
standard TYPE c VALUE '',
|
||||
keyuser TYPE c VALUE '2',
|
||||
clouddevelopment TYPE c VALUE '5',
|
||||
END OF c_abap_language_version.
|
||||
|
||||
TYPES:
|
||||
ty_sap_langu_tab TYPE STANDARD TABLE OF langu WITH DEFAULT KEY.
|
||||
TYPES:
|
||||
|
|
Loading…
Reference in New Issue
Block a user