mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
NROB: delete intervals, close #378
This commit is contained in:
parent
e136414c51
commit
9c053763b7
|
@ -13,6 +13,11 @@ CLASS lcl_object_nrob DEFINITION INHERITING FROM lcl_objects_super FINAL.
|
||||||
INTERFACES lif_object.
|
INTERFACES lif_object.
|
||||||
ALIASES mo_files FOR lif_object~mo_files.
|
ALIASES mo_files FOR lif_object~mo_files.
|
||||||
|
|
||||||
|
PRIVATE SECTION.
|
||||||
|
METHODS:
|
||||||
|
delete_intervals IMPORTING iv_object TYPE inri-object
|
||||||
|
RAISING lcx_exception.
|
||||||
|
|
||||||
ENDCLASS. "lcl_object_nrob DEFINITION
|
ENDCLASS. "lcl_object_nrob DEFINITION
|
||||||
|
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
|
@ -165,6 +170,73 @@ CLASS lcl_object_nrob IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD. "deserialize
|
ENDMETHOD. "deserialize
|
||||||
|
|
||||||
|
METHOD delete_intervals.
|
||||||
|
|
||||||
|
DATA: lv_error TYPE c LENGTH 1,
|
||||||
|
ls_error TYPE inrer,
|
||||||
|
lt_list TYPE STANDARD TABLE OF inriv WITH DEFAULT KEY,
|
||||||
|
lt_error_iv TYPE STANDARD TABLE OF inriv WITH DEFAULT KEY.
|
||||||
|
|
||||||
|
FIELD-SYMBOLS: <ls_list> LIKE LINE OF lt_list.
|
||||||
|
|
||||||
|
|
||||||
|
CALL FUNCTION 'NUMBER_RANGE_INTERVAL_LIST'
|
||||||
|
EXPORTING
|
||||||
|
object = iv_object
|
||||||
|
TABLES
|
||||||
|
interval = lt_list
|
||||||
|
EXCEPTIONS
|
||||||
|
nr_range_nr1_not_found = 1
|
||||||
|
nr_range_nr1_not_intern = 2
|
||||||
|
nr_range_nr2_must_be_space = 3
|
||||||
|
nr_range_nr2_not_extern = 4
|
||||||
|
nr_range_nr2_not_found = 5
|
||||||
|
object_not_found = 6
|
||||||
|
subobject_must_be_space = 7
|
||||||
|
subobject_not_found = 8
|
||||||
|
OTHERS = 9.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
lcx_exception=>raise( 'error from NUMBER_RANGE_INTERVAL_LIST' ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
IF lines( lt_list ) = 0.
|
||||||
|
RETURN.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
LOOP AT lt_list ASSIGNING <ls_list>.
|
||||||
|
CLEAR <ls_list>-nrlevel.
|
||||||
|
<ls_list>-procind = 'D'.
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
CALL FUNCTION 'NUMBER_RANGE_INTERVAL_UPDATE'
|
||||||
|
EXPORTING
|
||||||
|
object = iv_object
|
||||||
|
IMPORTING
|
||||||
|
error = ls_error
|
||||||
|
error_occured = lv_error
|
||||||
|
TABLES
|
||||||
|
error_iv = lt_error_iv
|
||||||
|
interval = lt_list
|
||||||
|
EXCEPTIONS
|
||||||
|
object_not_found = 1
|
||||||
|
OTHERS = 2.
|
||||||
|
IF sy-subrc <> 0 OR lv_error = abap_true.
|
||||||
|
lcx_exception=>raise( 'error from NUMBER_RANGE_INTERVAL_UPDATE' ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
CALL FUNCTION 'NUMBER_RANGE_UPDATE_CLOSE'
|
||||||
|
EXPORTING
|
||||||
|
object = iv_object
|
||||||
|
EXCEPTIONS
|
||||||
|
no_changes_made = 1
|
||||||
|
object_not_initialized = 2
|
||||||
|
OTHERS = 3.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
lcx_exception=>raise( 'error from NUMBER_RANGE_UPDATE_CLOSE' ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD lif_object~delete.
|
METHOD lif_object~delete.
|
||||||
|
|
||||||
DATA: lv_object TYPE tnro-object.
|
DATA: lv_object TYPE tnro-object.
|
||||||
|
@ -172,6 +244,8 @@ CLASS lcl_object_nrob IMPLEMENTATION.
|
||||||
|
|
||||||
lv_object = ms_item-obj_name.
|
lv_object = ms_item-obj_name.
|
||||||
|
|
||||||
|
delete_intervals( lv_object ).
|
||||||
|
|
||||||
CALL FUNCTION 'NUMBER_RANGE_OBJECT_DELETE'
|
CALL FUNCTION 'NUMBER_RANGE_OBJECT_DELETE'
|
||||||
EXPORTING
|
EXPORTING
|
||||||
language = mv_language
|
language = mv_language
|
||||||
|
|
Loading…
Reference in New Issue
Block a user