Skip to Content
Author's profile photo Former Member

Implementando TDF – Determinar Tax Code no Pedido de Compra usando o BRF+ – PARTE 2

********** este documento é continuação de Parte 1.



Passo 26. Agora é necessário ativar todos objetos criados. Selecione a aplicação criada.

Screen Shot 2014-12-23 at 6.07.26 PM.png

E, clique no botão Ativar.

Screen Shot 2014-12-23 at 6.07.46 PM.png

Passo 27. Faça o mesmo para a função.

Screen Shot 2014-12-23 at 6.09.48 PM.png

Confirme a ativação para todos objetos referidos.

Screen Shot 2014-12-23 at 6.10.02 PM.png

Passo 28. Faça o mesmo para tabela de decisão.

Screen Shot 2014-12-23 at 6.30.37 PM.png


Passo 29. Ative também o conjunto de regras. Certifique-se que todos objetos foram ativados.

Screen Shot 2014-12-23 at 6.25.21 PM.png


Passo 30. Para testar se os objetos foram criados corretamente selecione a função e clique no botão Iniciar simulação.

Screen Shot 2014-12-23 at 7.57.15 PM.png


Passo 31. Entre com valores válidos para o seu sistema.

Screen Shot 2014-12-23 at 7.58.17 PM.png

Corra a barra de rolagem para baixo e clique no botão Executar simulação. Observe que você pode importar os dados para simular várias entradas de uma única vez.

Screen Shot 2014-12-23 at 7.58.32 PM.png


O resultado será apresentado…

Screen Shot 2014-12-23 at 8.01.45 PM.png


Passo 32. Proximo passo é implementar a BAdI ME_PROCESS_PO_CUST método PROCESS_ITEM. * Não vou descrever os passos para implementação da BAdI.


Copie o código abaixo para o método PROCESS_ITEM.

METHOD IF_EX_ME_PROCESS_PO_CUST~PROCESS_ITEM .

   DATA: ls_item TYPE mepoitem,
  ls_header TYPE mepoheader,
  lv_tax_code TYPE mwskz,
  lo_function TYPE REF TO if_fdt_function,
  lo_context TYPE REF TO if_fdt_context,
  lo_result TYPE REF TO if_fdt_result,
  lx_fdt TYPE REF TO cx_fdt.
  ls_item = im_item->get_data( ).
  ls_header = im_item->get_header( )->get_data( ).

  lo_function ?= cl_fdt_factory=>if_fdt_factory~get_instance( )->get_function( iv_id = ‘00505680545C1ED4A1F30381D419AE24’).
  TRY.
  lo_context = lo_function->get_process_context( ).

  lo_context->set_value( iv_name = ‘LIFNR’ ia_value = ls_headerLIFNR ).
  lo_context->set_value( iv_name = ‘J_1BMATUSE’ ia_value = ls_itemJ_1BMATUSE ).

  lo_function->process( EXPORTING io_context = lo_context
  IMPORTING eo_result = lo_result ).

  lo_result->get_value( IMPORTING ea_value = lv_tax_code ).

CATCH cx_fdt INTO lx_fdt.

  ENDTRY.
  ls_itemmwskz = lv_tax_code.
  im_item->set_data( im_data = ls_item ).

ENDMETHOD.                    “IF_EX_ME_PROCESS_PO_CUST~PROCESS_ITEM



Passo 33. Selecione sua função no BRFPLUS e copie o ID da função (abaixo do nome da função).

Screen Shot 2014-12-23 at 8.18.37 PM.png


Passo 34. Substitua o ID da função no método PROCESS_ITEM (destacado em vermelho).


  lo_function ?= cl_fdt_factory=>if_fdt_factory~get_instance( )->get_function( iv_id = 00505680545C1ED4A1F30381D419AE24).


Passo 35. Salve as alterações na BAdI e ative!


Agora é só testar!!!  Crie seu pedido usando um fornecedor e um material com referência aos parâmetros informados na sua tabela de decisão!



Para maiores informações sobre o BRF+ recomendo assistirem a palestra SITSP 2013: Marcelo Ramos – BRFPlus Overview – YouTube do Marcelo Ramos realizada no SITSP 2013.


Para maiores informações sobre a solução TDF, recomendo o treinamento da SAP WBRTDF – Workshop SAP TDF.


Veja também:

Naming Conventions for BRFplus – Business Rule Framework plus (BRFplus) – SAP Library

Quick Start Tutorial – Business Rule Framework plus (BRFplus) – SAP Library


BOA SORTE!

Assigned Tags

      1 Comment
      You must be Logged on to comment or reply to a post.
      Author's profile photo Silvio Miranda
      Silvio Miranda

      Configurei a determinação de IVA pro cenário aqui da empresa..

      Funcionou perfeitamente...

      Muito grato, Eduardo Chagas