lc_range_num LIKE inri-nrrangenr VALUE '01'.
DATA: lv_nextnum TYPE i.
BREAK-POINT.
CALL FUNCTION 'NUMBER_RANGE_ENQUEUE'
EXPORTING
object = lc_rangeobj
EXCEPTIONS
foreign_lock = 1
object_not_found = 2
system_failure = 3
OTHERS = 4.
IF sy-subrc NE 0.
** mensagem e086 com 'Erro de bloqueio' sy-subrc.
ENDIF.
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
nr_range_nr = lc_range_num
object = lc_rangeobj
* QUANTIDADE = '1'
* SUBOBJETO = ' '
* ATÉ ANO = '0000'
* IGNORAR BUFFER = ' '
IMPORTING
number = lv_nextnum " Número gerado pelo objeto Gerador de Faixa
* QUANTIDADE =
* CÓDIGO DE RETORNO = lv_returncode
EXCEPTIONS
interval_not_found = 1
number_range_not_intern = 2
object_not_found = 3
quantity_is_0 = 4
quantity_is_not_1 = 5
interval_overflow = 6
buffer_overflow = 7
OTHERS = 8.
IF sy-subrc <> 0.
* MENSAGEM ID SY-MSGID TIPO SY-MSGTY NÚMERO SY-MSGNO
* COM SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'NUMBER_RANGE_DEQUEUE'
EXPORTING
object = lc_rangeobj.
IF sy-subrc <> 0.
MENSAGEM ID sy-msgid TIPO sy-msgty NÚMERO sy-msgno
COM sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
DATA(lv_new_nextnum) = lv_nextnum.