mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-02 04:36:49 +08:00
SSFO: do not use STTY_SR_STRING_RANGE
This commit is contained in:
parent
d426fd4540
commit
d82b9daf0e
|
@ -5,7 +5,9 @@ CLASS zcl_abapgit_object_ssfo DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
|
||||||
ALIASES mo_files FOR zif_abapgit_object~mo_files.
|
ALIASES mo_files FOR zif_abapgit_object~mo_files.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
CLASS-DATA: range_node_codes TYPE stty_sr_string_range.
|
TYPES: ty_string_range TYPE RANGE OF string.
|
||||||
|
|
||||||
|
CLASS-DATA: range_node_codes TYPE ty_string_range.
|
||||||
CONSTANTS: attrib_abapgit_leadig_spaces TYPE string VALUE 'abapgit-leadig-spaces' ##NO_TEXT.
|
CONSTANTS: attrib_abapgit_leadig_spaces TYPE string VALUE 'abapgit-leadig-spaces' ##NO_TEXT.
|
||||||
|
|
||||||
METHODS fix_ids IMPORTING ii_xml_doc TYPE REF TO if_ixml_document.
|
METHODS fix_ids IMPORTING ii_xml_doc TYPE REF TO if_ixml_document.
|
||||||
|
@ -15,7 +17,7 @@ CLASS zcl_abapgit_object_ssfo DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
|
||||||
METHODS handle_attrib_leading_spaces IMPORTING i_name TYPE string
|
METHODS handle_attrib_leading_spaces IMPORTING i_name TYPE string
|
||||||
i_node TYPE REF TO if_ixml_node
|
i_node TYPE REF TO if_ixml_node
|
||||||
CHANGING c_within_code_section TYPE abap_bool.
|
CHANGING c_within_code_section TYPE abap_bool.
|
||||||
METHODS get_range_node_codes RETURNING VALUE(e_range_node_codes) TYPE stty_sr_string_range.
|
METHODS get_range_node_codes RETURNING VALUE(e_range_node_codes) TYPE ty_string_range.
|
||||||
METHODS code_item_section_handling IMPORTING i_name TYPE string
|
METHODS code_item_section_handling IMPORTING i_name TYPE string
|
||||||
i_node TYPE REF TO if_ixml_node
|
i_node TYPE REF TO if_ixml_node
|
||||||
EXPORTING e_code_item_element TYPE REF TO if_ixml_element
|
EXPORTING e_code_item_element TYPE REF TO if_ixml_element
|
||||||
|
@ -25,7 +27,36 @@ CLASS zcl_abapgit_object_ssfo DEFINITION PUBLIC INHERITING FROM zcl_abapgit_obje
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
CLASS zcl_abapgit_object_ssfo IMPLEMENTATION.
|
|
||||||
|
CLASS ZCL_ABAPGIT_OBJECT_SSFO IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD code_item_section_handling.
|
||||||
|
CONSTANTS: node_item TYPE string VALUE 'item' ##NO_TEXT.
|
||||||
|
CONSTANTS: node_text TYPE string VALUE '#text' ##NO_TEXT.
|
||||||
|
|
||||||
|
IF i_name IN get_range_node_codes( ).
|
||||||
|
c_within_code_section = abap_true.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
IF c_within_code_section = abap_true.
|
||||||
|
IF i_name = node_item.
|
||||||
|
TRY.
|
||||||
|
e_code_item_element ?= i_node.
|
||||||
|
RETURN.
|
||||||
|
CATCH cx_sy_move_cast_error ##no_handler.
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
ELSEIF i_name NOT IN get_range_node_codes( ) AND
|
||||||
|
i_name <> node_text.
|
||||||
|
c_within_code_section = abap_false.
|
||||||
|
ENDIF.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
RAISE EXCEPTION TYPE zcx_abapgit_exception.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD fix_ids.
|
METHOD fix_ids.
|
||||||
|
|
||||||
|
@ -100,6 +131,28 @@ CLASS zcl_abapgit_object_ssfo IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD get_range_node_codes.
|
||||||
|
|
||||||
|
DATA: range_node_code TYPE sstr_sr_string_range.
|
||||||
|
|
||||||
|
IF me->range_node_codes IS INITIAL.
|
||||||
|
range_node_code-sign = 'I'.
|
||||||
|
range_node_code-option = 'EQ'.
|
||||||
|
range_node_code-low = 'CODE'.
|
||||||
|
INSERT range_node_code INTO TABLE me->range_node_codes.
|
||||||
|
range_node_code-low = 'GTYPES'.
|
||||||
|
INSERT range_node_code INTO TABLE me->range_node_codes.
|
||||||
|
range_node_code-low = 'GCODING'.
|
||||||
|
INSERT range_node_code INTO TABLE me->range_node_codes.
|
||||||
|
range_node_code-low = 'FCODING'.
|
||||||
|
INSERT range_node_code INTO TABLE me->range_node_codes.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
e_range_node_codes = me->range_node_codes.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD handle_attrib_leading_spaces.
|
METHOD handle_attrib_leading_spaces.
|
||||||
|
|
||||||
DATA element TYPE REF TO if_ixml_element.
|
DATA element TYPE REF TO if_ixml_element.
|
||||||
|
@ -153,32 +206,6 @@ CLASS zcl_abapgit_object_ssfo IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD code_item_section_handling.
|
|
||||||
CONSTANTS: node_item TYPE string VALUE 'item' ##NO_TEXT.
|
|
||||||
CONSTANTS: node_text TYPE string VALUE '#text' ##NO_TEXT.
|
|
||||||
|
|
||||||
IF i_name IN get_range_node_codes( ).
|
|
||||||
c_within_code_section = abap_true.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
IF c_within_code_section = abap_true.
|
|
||||||
IF i_name = node_item.
|
|
||||||
TRY.
|
|
||||||
e_code_item_element ?= i_node.
|
|
||||||
RETURN.
|
|
||||||
CATCH cx_sy_move_cast_error ##no_handler.
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
ELSEIF i_name NOT IN get_range_node_codes( ) AND
|
|
||||||
i_name <> node_text.
|
|
||||||
c_within_code_section = abap_false.
|
|
||||||
ENDIF.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
RAISE EXCEPTION TYPE zcx_abapgit_exception.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD zif_abapgit_object~changed_by.
|
METHOD zif_abapgit_object~changed_by.
|
||||||
|
|
||||||
SELECT SINGLE lastuser FROM stxfadm INTO rv_user
|
SELECT SINGLE lastuser FROM stxfadm INTO rv_user
|
||||||
|
@ -306,6 +333,21 @@ CLASS zcl_abapgit_object_ssfo IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD zif_abapgit_object~is_active.
|
||||||
|
|
||||||
|
DATA: ssfo_formname TYPE tdsfname.
|
||||||
|
|
||||||
|
ssfo_formname = ms_item-obj_name.
|
||||||
|
CALL FUNCTION 'SSF_STATUS_INFO'
|
||||||
|
EXPORTING
|
||||||
|
i_formname = ssfo_formname
|
||||||
|
IMPORTING
|
||||||
|
o_inactive = ms_item-inactive.
|
||||||
|
|
||||||
|
rv_active = boolc( ms_item-inactive = abap_false ).
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_object~is_locked.
|
METHOD zif_abapgit_object~is_locked.
|
||||||
|
|
||||||
rv_is_locked = exists_a_lock_entry_for( iv_lock_object = 'E_SMFORM'
|
rv_is_locked = exists_a_lock_entry_for( iv_lock_object = 'E_SMFORM'
|
||||||
|
@ -438,41 +480,4 @@ CLASS zcl_abapgit_object_ssfo IMPLEMENTATION.
|
||||||
io_xml->set_raw( li_xml_doc->get_root_element( ) ).
|
io_xml->set_raw( li_xml_doc->get_root_element( ) ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD get_range_node_codes.
|
|
||||||
|
|
||||||
DATA: range_node_code TYPE sstr_sr_string_range.
|
|
||||||
|
|
||||||
IF me->range_node_codes IS INITIAL.
|
|
||||||
range_node_code-sign = 'I'.
|
|
||||||
range_node_code-option = 'EQ'.
|
|
||||||
range_node_code-low = 'CODE'.
|
|
||||||
INSERT range_node_code INTO TABLE me->range_node_codes.
|
|
||||||
range_node_code-low = 'GTYPES'.
|
|
||||||
INSERT range_node_code INTO TABLE me->range_node_codes.
|
|
||||||
range_node_code-low = 'GCODING'.
|
|
||||||
INSERT range_node_code INTO TABLE me->range_node_codes.
|
|
||||||
range_node_code-low = 'FCODING'.
|
|
||||||
INSERT range_node_code INTO TABLE me->range_node_codes.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
e_range_node_codes = me->range_node_codes.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
|
|
||||||
METHOD zif_abapgit_object~is_active.
|
|
||||||
|
|
||||||
DATA: ssfo_formname TYPE tdsfname.
|
|
||||||
|
|
||||||
ssfo_formname = ms_item-obj_name.
|
|
||||||
CALL FUNCTION 'SSF_STATUS_INFO'
|
|
||||||
EXPORTING
|
|
||||||
i_formname = ssfo_formname
|
|
||||||
IMPORTING
|
|
||||||
o_inactive = ms_item-inactive.
|
|
||||||
|
|
||||||
rv_active = boolc( ms_item-inactive = abap_false ).
|
|
||||||
ENDMETHOD.
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user