Enterprise Resource Planning Blog Posts by Members
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member
3,778

Olá pessoal,

Hoje vou escrever um pouco sobre modelos de autorização. Passei por uma situação recente com essa funcionalidade e gostaria de compartilhar minha experiência.

Recentemente no espaço do SAP B1 SDK, surgiu uma questão solicitando uma ajuda para fazer uma query para modelo de autorização no nível da linha do documento. Ao ler um pouco sobre procedimento de autorização, vi em muitas outras questões nos espaços de SAP B1, comentários de que não é possível utilizar informações do nível da linha para modelos de autorização. Na empresa onde trabalho, sabia que já haviam feito modelos de autorização no nível da linha, então fui verificar esta recurso e cheguei nas seguintes considerações:

É possível usar modelos de autorização no nível da linha?

Sim, é possível.

É possível fazer uma query para modelo de autorização usando informações de cabeçalho e linha?

Sim, é possível.

Um exemplo real: Modelo de autorização para pedido de venda

Ex.: Nivel da linha

Nessa query não quero que seja permitido a efetivação de documentos que contenham alguma linha onde o desconto é maior que 20%


SELECT CASE WHEN $[$38.15.NUMBER] > 20 THEN 'TRUE' ELSE 'FALSE' END





Ex.: Nivel de cabeçalho

Nessa query não quero que seja permitido a efetivação de documentos que desconto maior que 20%


SELECT CASE WHEN $[$24.0.NUMBER] > 20 THEN 'TRUE' ELSE 'FALSE' END





Ex.: Nivel de linha e cabeçalho


Nessa query não quero que seja permitido a efetivação de documentos que contenham alguma linha onde o desconto é maior que 20% para o parceiro C00001


SELECT CASE WHEN $[$38.15.NUMBER] > 20 AND $[$4.0.0] = 'C00001'  THEN 'TRUE' ELSE 'FALSE' END


É possível agrupar valores das linhas nas queries de modelos de autorização?

Não. A query será executada uma vez para cada linha, e se alguma delas retornar 'TRUE', o procedimento será iniciado. Devido a essa execução linha a linha, não é possível a execução da funcionalidade como SUM(valor), por exemplo.

Obs.: Com alguns testes, pude notar também que a sintaxe $[TABELA.CAMPO] não funciona corretamente em modelos de autorização no nível da linha, nesse cenários que mencionei, deve sempre usar a sintaxe $[$ITEM.COL].

As informações compartilhadas foram testadas no SAP B1 9.0 PL 11 e 9.1 PL 12.

Era isso pessoal, espero que possa ser útil!

Não deixe de registrar seu feedback e compartilhar suas experiências sobre este assunto.


Atenciosamente,

Diego Lother


View Diego Lother's profile on LinkedIn

8 Comments