Definição:
Um intervalo de números é um grupo de números ao qual pertence o identificador único criado para um objeto SAP.
Por que precisamos de intervalos de números?
Sempre que um novo registro é inserido na tabela ou para identificar o registro de forma única ou simplesmente para atribuir um número ordenado, usamos intervalos de números. Os intervalos de números não são apenas valores "MAX + 1" inseridos em cada novo registro, são objetos criados usando um nome, comprimento, valor mínimo, valor máximo, etc. Existem muitas opções nos intervalos de números, como definir um aviso após certo limite, redefinir o intervalo de números após o valor máximo/cada ano, criar subobjetos para os intervalos de números, etc.
ERP VS Nuvem:
No SAP ERP, os intervalos de números podem ser criados e mantidos acessando a transação
SNRO
(Uma maneira fácil de lembrar é
SAP N
úmero
R
ango
O
bjeto).
Mas na Plataforma SAP Cloud,
Primeiro devemos criar nosso objeto de intervalo de números usando:
cl_numberrange_objects=>create().
Em seguida, devemos criar um intervalo para o objeto de intervalo de números usando: cl_numberrange_intervals=>create().
Depois, devemos usar o objeto de intervalo de números para gerar um novo número usando:
cl_numberrange_runtime=>number_get().
E atribuí-lo a uma variável local para uso.
Criando Objetos de Intervalo de Números / Intervalos:
Criar uma classe que implemente a interface: f_oo_adt_classrun e seguir o código:
...
Ativar e executar a classe uma vez, após a execução bem-sucedida, nosso objeto de intervalo de números será criado no sistema para uso.
Usando Objetos de Intervalo de Números:
Chamar o objeto de intervalo de números para gerar um novo número usando o intervalo, cada vez que um número é criado, ele será armazenado em buffer e na próxima vez que chamarmos o método, o próximo número será gerado usando o intervalo.
...
Use cl_numberrange_runtime=>number_get para gerar um novo número sempre que necessário, este método pode ser usado em qualquer classe (incluindo implementações de comportamento e entidades personalizadas) ou funções.
NB:
O conteúdo do blog é baseado puramente em minhas experiências e soluções, certifique-se de apontar erros através de comentários.