Financial Management Blogs by Members
Dive into a treasure trove of SAP financial management wisdom shared by a vibrant community of bloggers. Submit a blog post of your own to share knowledge.
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member

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



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

E, clique no botão Ativar.

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

Confirme a ativação para todos objetos referidos.

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


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


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



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

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.


O resultado será apresentado...


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_header-LIFNR ).
  lo_context->set_value( iv_name = 'J_1BMATUSE' ia_value = ls_item-J_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_item-mwskz = 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).


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!

1 Comment