Implementando TDF – Determinar Tax Code no Pedido de Compra usando o BRF+ – PARTE 1
No documento Implementando TDF – Determinar Tax Code no Pedido de Compra – Tipo de condição NAVS eu demonstrei um exemplo de como fazer a determinação do IVA de MM usando o tipo de condição NAVS. Agora vou demonstrar um exemplo simples de como fazer isso através da ferramenta BRF+.
Não vou aqui me aprofundar nos recursos da ferramenta (que são muitos) ou mesmo detalhar os objetos, mas apenas demonstrar como é simples de utilizá-lo.
Este não não é um caso real e o cenário consiste em criar uma tabela de decisão no BRF+ onde o tax code será determinado conforme o fornecedor e o uso do material. Este exemplo é usado para determinar o tax code mas você pode usar o BRF+ para determinar outros campos ou mesmo fazer validações no seu pedido de compra ou outro objeto no sap como: cliente, fornecedor, ordem de vendas, etc.
* O cenário descrito neste documento não requer a licença do TDF; quanto ao uso do BRF+, este não requer licenciamento adicional visto compõe o ERP através do NetWeaver.
Veja abaixo os passos para configuração do cenário. Você irá precisar acesso de desenvolvedor para criar/alterar a BAdI no pedido de compra para chamar a função que será criada no BRF+.
Bom… vamos lá! Mão na massa!!!
Passo 1. Execute a transação BRFPLUS.
Passo 2. Selecione a opção Criar aplicação no menu Workbench.
Passo 3. Entre com as informações da sua aplicação e clique no botão Criar e navegar para o objeto.
Passo 4. Selecione a pasta Objetos contidos, selecione a Função e clique no botão Criar Objeto.
Passo 5. Entre com as informações da sua função e clique no botão Criar e navegar para o objeto.
Passo 6. Selecione a pasta Assinatura e clique no botão Inserir novo objeto dados.
Passo 7. Selecione na pasta Características de elemento, a opção Ligar a elemento Data Dictionary.
Passo 8. Entre com o elemento LIFNR e clique no botão OK.
O sistema irá complementar com os dados do elemento. Clique no botão Criar.
Confirme para gravar a função.
Passo 9. Repita os passos 6-9 e insira o elemento J_1BMATUSE e confirme para gravar as alterações.
Passo 10. Selecione a função criada, no caso Func IVA MM.
Passo 11. Clique no icone (folha) ao lado do link Ações e selecione a opção Criar…
* certifique-se de estar no modo edição (Processar).
Passo 12. Crie o elemento MWSKZ e clique no botão Criar e navegar para o objeto e confirme para salvar as alterações.
Passo 13. Selecione a função novamente e clique na aba Conjuntos de regras atribuídos.
Passo 14. Clique no botão Criar conjunto de regras e entre com as informações da regra conforme a imagem. Clique no botão Criar e navegar para o objeto e salve as alterações.
Passo 15. Selecione a regra recém criada.
Passo 16. Na aba Regras, clique no botão Inserir regra e selecione a opção Criar…
Passo 17. Entre com a descrição e clique em Se Nenhuma condição atribuida. Atribuir condição… selecione Utilizar intervalo de valores de… / Fornecedor e clique no botão OK.
Selecione a opção não é inicial. Você poderia aqui processar diretamente a tabela de decisão ou mesmo validar se o tax code já foi determinado pelo usuário.
Passo 18. Em Depois Inserir selecione a opção Processar expressão e Criar.
Passo 19. Em Tipo selecione a opção Tabela de decisões e complemente as informações conforme imagem abaixo. Confirme as alterações.
Passo 20. Na aba Coluna de condições, clique no botão Inserir coluna e selecione a opção De objetos de dados de contexto…
Passo 21. Selecione o objeto LIFNR e clique no botão Selecionar.
Repita o procedimento e inclua o objeto J_1BMATUSE; marque entrada obrigatória para os dois objetos.
Passo 22. Na aba Coluna de resultados, clique no botão Inserir coluna de objeto de dados.Clique no botão procurar e selecione o objeto MWSKZ.
Passo 23. Em detalhes clique no botão Inserir linha nova e selecione a opção Entrada direta de valor no campo do Fornecedor.
Entre com um código de fornecedor válido.
Passo 24. Complemente a tabela com os demais dados conforme seu cenário. Ou seja, aqui você estará definindo qual o IVA que deve ser retornado quando o sistema buscar pelo fornecedor e pelo uso do material.
Repare que você pode exportar/importar sua tabela de decisões para o excel. Facilitando a manutenção das regras.
Passo 25. Clique no botão Gravar.
************ devido a limitação de imagens por documento, o mesmo teve que ser dividido em partes.
Continuação aqui -> Parte 2.
Show de bola o exemplo.. testei e funcionou perfeitamente (embora as minhas telas aqui estejam um pouco diferentes da sua)... vou adaptar esse exemplo para um caso real de determinação de IVA.. valeu.. obrigado pelas dicas...!!!
Legal Silvio! Obrigado pelo feedback!
O propósito é exatamente este; que o pessoal teste as funcionalidades!
abraço
Eduardo Chagas
Fui fazer um teste no nosso ambiente de DEV e o mesmo retornou erro no ID do objeto. Existe alguma nomenclatura padrão?
Oi Jeferson Costa
Certifique se você informou na BadI o ID da função e não da aplicação ou da regra.
Veja abaixo a notação indicada.
Naming Conventions for BRFplus - Business Rule Framework plus (BRFplus) - SAP Library
Abraço
Eduardo Chagas
Eduardo,
Estou tentando fazer os steps mas na hora de criar a tabela da função estou recebendo o seguinte erro:
500 SAP Internal Server Error
ERROR: The ASSERT condition was violated. (termination: RABAX_STATE)
Sabe me dizer se é perfil isso?
Att,
Alan Oliveira
Oi Alan
Provavelmente precisa aplicar nota. Dê uma olhada no support.sap.com
Abraço
Eduardo Chagas
Obrigado Eduardo,
Realmente era uma nota, apliquei a nota 2049928 e o problema foi resolvido.
Att,
Alan Oliveira