mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
Consideration of ABAP Language Version (#1567)
* Consideration of ABAP Language Version * update * Update zcl_abapgit_object_fugr.clas.abap
This commit is contained in:
parent
5e824d7b62
commit
513fe052bb
|
@ -77,7 +77,7 @@ CLASS zcl_abapgit_object_fugr DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
METHODS are_exceptions_class_based
|
METHODS are_exceptions_class_based
|
||||||
IMPORTING
|
IMPORTING
|
||||||
iv_function_name TYPE rs38l_fnam
|
!iv_function_name TYPE rs38l_fnam
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_return) TYPE abap_bool
|
VALUE(rv_return) TYPE abap_bool
|
||||||
RAISING
|
RAISING
|
||||||
|
@ -97,14 +97,18 @@ CLASS zcl_abapgit_object_fugr DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
|
||||||
VALUE(rv_any_function_module_locked) TYPE abap_bool
|
VALUE(rv_any_function_module_locked) TYPE abap_bool
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
|
METHODS get_abap_version
|
||||||
|
IMPORTING
|
||||||
|
!io_xml TYPE REF TO zcl_abapgit_xml_input
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_abap_version) TYPE progdir-uccheck
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception .
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS zcl_abapgit_object_fugr IMPLEMENTATION.
|
CLASS ZCL_ABAPGIT_OBJECT_FUGR IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD are_exceptions_class_based.
|
METHOD are_exceptions_class_based.
|
||||||
|
@ -281,9 +285,10 @@ CLASS zcl_abapgit_object_fugr IMPLEMENTATION.
|
||||||
lv_namespace TYPE rs38l-namespace,
|
lv_namespace TYPE rs38l-namespace,
|
||||||
lv_areat TYPE tlibt-areat,
|
lv_areat TYPE tlibt-areat,
|
||||||
lv_stext TYPE tftit-stext,
|
lv_stext TYPE tftit-stext,
|
||||||
lv_group TYPE rs38l-area.
|
lv_group TYPE rs38l-area,
|
||||||
|
lv_abap_version TYPE trdir-uccheck.
|
||||||
|
|
||||||
|
lv_abap_version = get_abap_version( io_xml ).
|
||||||
lv_complete = ms_item-obj_name.
|
lv_complete = ms_item-obj_name.
|
||||||
|
|
||||||
CALL FUNCTION 'FUNCTION_INCLUDE_SPLIT'
|
CALL FUNCTION 'FUNCTION_INCLUDE_SPLIT'
|
||||||
|
@ -319,6 +324,7 @@ CLASS zcl_abapgit_object_fugr IMPLEMENTATION.
|
||||||
short_text = lv_stext
|
short_text = lv_stext
|
||||||
namespace = lv_namespace
|
namespace = lv_namespace
|
||||||
devclass = iv_package
|
devclass = iv_package
|
||||||
|
unicode_checks = lv_abap_version
|
||||||
EXCEPTIONS
|
EXCEPTIONS
|
||||||
name_already_exists = 1
|
name_already_exists = 1
|
||||||
name_not_correct = 2
|
name_not_correct = 2
|
||||||
|
@ -365,6 +371,39 @@ CLASS zcl_abapgit_object_fugr IMPLEMENTATION.
|
||||||
ENDMETHOD. "functions
|
ENDMETHOD. "functions
|
||||||
|
|
||||||
|
|
||||||
|
METHOD get_abap_version.
|
||||||
|
|
||||||
|
DATA: lt_includes TYPE rso_t_objnm,
|
||||||
|
ls_progdir TYPE ty_progdir,
|
||||||
|
lo_xml TYPE REF TO zcl_abapgit_xml_input.
|
||||||
|
|
||||||
|
FIELD-SYMBOLS: <lv_include> LIKE LINE OF lt_includes.
|
||||||
|
|
||||||
|
io_xml->read( EXPORTING iv_name = 'INCLUDES'
|
||||||
|
CHANGING cg_data = lt_includes ).
|
||||||
|
|
||||||
|
LOOP AT lt_includes ASSIGNING <lv_include>.
|
||||||
|
|
||||||
|
lo_xml = mo_files->read_xml( <lv_include> ).
|
||||||
|
|
||||||
|
lo_xml->read( EXPORTING iv_name = 'PROGDIR'
|
||||||
|
CHANGING cg_data = ls_progdir ).
|
||||||
|
|
||||||
|
IF rv_abap_version IS INITIAL.
|
||||||
|
rv_abap_version = ls_progdir-uccheck.
|
||||||
|
ELSEIF rv_abap_version NE ls_progdir-uccheck.
|
||||||
|
*** All includes need to have the same ABAP language version
|
||||||
|
zcx_abapgit_exception=>raise( 'different ABAP Language Versions' ).
|
||||||
|
ENDIF.
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
IF rv_abap_version IS INITIAL.
|
||||||
|
rv_abap_version = 'X'.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD includes.
|
METHOD includes.
|
||||||
|
|
||||||
TYPES: BEGIN OF ty_reposrc,
|
TYPES: BEGIN OF ty_reposrc,
|
||||||
|
@ -443,6 +482,69 @@ CLASS zcl_abapgit_object_fugr IMPLEMENTATION.
|
||||||
ENDMETHOD. "includes
|
ENDMETHOD. "includes
|
||||||
|
|
||||||
|
|
||||||
|
METHOD is_any_function_module_locked.
|
||||||
|
|
||||||
|
DATA: lt_functions TYPE zcl_abapgit_object_fugr=>ty_rs38l_incl_tt.
|
||||||
|
|
||||||
|
FIELD-SYMBOLS: <ls_function> TYPE rs38l_incl.
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
lt_functions = functions( ).
|
||||||
|
CATCH zcx_abapgit_exception.
|
||||||
|
RETURN.
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
LOOP AT lt_functions ASSIGNING <ls_function>.
|
||||||
|
|
||||||
|
IF exists_a_lock_entry_for( iv_lock_object = 'ESFUNCTION'
|
||||||
|
iv_argument = |{ <ls_function>-funcname }| ) = abap_true.
|
||||||
|
rv_any_function_module_locked = abap_true.
|
||||||
|
EXIT.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD is_any_include_locked.
|
||||||
|
|
||||||
|
DATA: lt_includes TYPE rso_t_objnm.
|
||||||
|
FIELD-SYMBOLS: <lv_include> TYPE sobj_name.
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
lt_includes = includes( ).
|
||||||
|
CATCH zcx_abapgit_exception.
|
||||||
|
RETURN.
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
LOOP AT lt_includes ASSIGNING <lv_include>.
|
||||||
|
|
||||||
|
IF exists_a_lock_entry_for( iv_lock_object = 'ESRDIRE'
|
||||||
|
iv_argument = |{ <lv_include> }| ) = abap_true.
|
||||||
|
rv_is_any_include_locked = abap_true.
|
||||||
|
EXIT.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD is_function_group_locked.
|
||||||
|
|
||||||
|
DATA: lv_object TYPE eqegraarg .
|
||||||
|
|
||||||
|
lv_object = |FG{ ms_item-obj_name }|.
|
||||||
|
OVERLAY lv_object WITH ' '.
|
||||||
|
lv_object = lv_object && '*'.
|
||||||
|
|
||||||
|
rv_is_functions_group_locked = exists_a_lock_entry_for( iv_lock_object = 'EEUDB'
|
||||||
|
iv_argument = lv_object ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD main_name.
|
METHOD main_name.
|
||||||
|
|
||||||
DATA: lv_area TYPE rs38l-area,
|
DATA: lv_area TYPE rs38l-area,
|
||||||
|
@ -812,6 +914,26 @@ CLASS zcl_abapgit_object_fugr IMPLEMENTATION.
|
||||||
ENDMETHOD. "zif_abapgit_object~has_changed_since
|
ENDMETHOD. "zif_abapgit_object~has_changed_since
|
||||||
|
|
||||||
|
|
||||||
|
METHOD zif_abapgit_object~is_locked.
|
||||||
|
|
||||||
|
DATA: lv_program TYPE program.
|
||||||
|
|
||||||
|
lv_program = main_name( ).
|
||||||
|
|
||||||
|
IF is_function_group_locked( ) = abap_true
|
||||||
|
OR is_any_include_locked( ) = abap_true
|
||||||
|
OR is_any_function_module_locked( ) = abap_true
|
||||||
|
OR is_any_dynpro_locked( lv_program ) = abap_true
|
||||||
|
OR is_cua_locked( lv_program ) = abap_true
|
||||||
|
OR is_text_locked( lv_program ) = abap_true.
|
||||||
|
|
||||||
|
rv_is_locked = abap_true.
|
||||||
|
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_object~jump.
|
METHOD zif_abapgit_object~jump.
|
||||||
|
|
||||||
CALL FUNCTION 'RS_TOOL_ACCESS'
|
CALL FUNCTION 'RS_TOOL_ACCESS'
|
||||||
|
@ -862,87 +984,4 @@ CLASS zcl_abapgit_object_fugr IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD. "serialize
|
ENDMETHOD. "serialize
|
||||||
|
|
||||||
METHOD zif_abapgit_object~is_locked.
|
|
||||||
|
|
||||||
DATA: lv_program TYPE program.
|
|
||||||
|
|
||||||
lv_program = main_name( ).
|
|
||||||
|
|
||||||
IF is_function_group_locked( ) = abap_true
|
|
||||||
OR is_any_include_locked( ) = abap_true
|
|
||||||
OR is_any_function_module_locked( ) = abap_true
|
|
||||||
OR is_any_dynpro_locked( lv_program ) = abap_true
|
|
||||||
OR is_cua_locked( lv_program ) = abap_true
|
|
||||||
OR is_text_locked( lv_program ) = abap_true.
|
|
||||||
|
|
||||||
rv_is_locked = abap_true.
|
|
||||||
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD is_function_group_locked.
|
|
||||||
|
|
||||||
DATA: lv_object TYPE eqegraarg .
|
|
||||||
|
|
||||||
lv_object = |FG{ ms_item-obj_name }|.
|
|
||||||
OVERLAY lv_object WITH ' '.
|
|
||||||
lv_object = lv_object && '*'.
|
|
||||||
|
|
||||||
rv_is_functions_group_locked = exists_a_lock_entry_for( iv_lock_object = 'EEUDB'
|
|
||||||
iv_argument = lv_object ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD is_any_include_locked.
|
|
||||||
|
|
||||||
DATA: lt_includes TYPE rso_t_objnm.
|
|
||||||
FIELD-SYMBOLS: <lv_include> TYPE sobj_name.
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
lt_includes = includes( ).
|
|
||||||
CATCH zcx_abapgit_exception.
|
|
||||||
RETURN.
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
LOOP AT lt_includes ASSIGNING <lv_include>.
|
|
||||||
|
|
||||||
IF exists_a_lock_entry_for( iv_lock_object = 'ESRDIRE'
|
|
||||||
iv_argument = |{ <lv_include> }| ) = abap_true.
|
|
||||||
rv_is_any_include_locked = abap_true.
|
|
||||||
EXIT.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDLOOP.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD is_any_function_module_locked.
|
|
||||||
|
|
||||||
DATA: lt_functions TYPE zcl_abapgit_object_fugr=>ty_rs38l_incl_tt.
|
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_function> TYPE rs38l_incl.
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
lt_functions = functions( ).
|
|
||||||
CATCH zcx_abapgit_exception.
|
|
||||||
RETURN.
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
LOOP AT lt_functions ASSIGNING <ls_function>.
|
|
||||||
|
|
||||||
IF exists_a_lock_entry_for( iv_lock_object = 'ESFUNCTION'
|
|
||||||
iv_argument = |{ <ls_function>-funcname }| ) = abap_true.
|
|
||||||
rv_any_function_module_locked = abap_true.
|
|
||||||
EXIT.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDLOOP.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user