quinta-feira, 6 de novembro de 2014

Função - 'NUMBER_GET_NEXT'


*  Opa, agora que sabemos mexer com objeto de intervalo, vamos aprender
* a usar a função que informa o ultimo numero do nosso intervalo, essa
* função é a 'NUMBER_GET_NEXT'.

REPORT z_gera_serializacao.

DATA v_number TYPE char10.

START-OF-SELECTION.

* Geração do serial usando o Primeiro Range do Objeto de Intervalo
  
PERFORM f_gera_serial
    
USING '01' 'Z_DOCS'.

* Geração do serial usando o Segundo Range do Objeto de Intervalo
  
PERFORM f_gera_serial
    
USING '02' 'Z_DOCS'.



*&---------------------------------------------------------------------*
*&      Form  F_GERA_SERIAL
*&---------------------------------------------------------------------*
FORM f_gera_serial
  
USING nr_range TYPE inri-nrrangenr
        object   
TYPE inri-object .

  
CALL FUNCTION 'NUMBER_GET_NEXT'
    
EXPORTING
      nr_range_nr             
nr_range
      object                  
object
*     QUANTITY                = '1'
*     SUBOBJECT               = ' '
*     TOYEAR                  = '0000'
*     IGNORE_BUFFER           = ' '
    
IMPORTING
      
number                  v_number
*     QUANTITY                =
*     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.
    
WRITE 'Doc'v_number'Gerado, com o Range'
               nr_range'do objeto'object.
  
ENDIF.


ENDFORM.                    " F_GERA_SERIAL

* Se deu tudo certo o Log será assim .




* Valeo Galera !!!

Um comentário:

  1. Tem que lembrar que o intervalo, mesmo entre clients, tem que refazer, e não é transportável.

    ResponderExcluir