quinta-feira, 25 de abril de 2019

Business Transaction Events ( BTE ) - FIBF

*  Bom dia pessoal, iremos falar hoje sobre uma negocio que é usado no
* modulo de FI, a não muito famosa BTE ( Business Transaction Events ).
*  BTE são funções pré definidas e chamadas pelo standard, são pré definidas
* para que saibamos a assinatura ( parametros de importação e Expostação ),
*  Bom.... Vamos colocando a mão na massa e durante as ações eu vou
* tentando explicar, lembrando que o comentario de vocês ajuda muito
* a melhorar o Post caso necessario.

*  Primeiro passo, como tudo na vida, antes de implementar a BTE temos que
* saber o que vamos fazer que será necessario uma BTE, faremos uma coisa
* bem simples, iremos atualizar um campo da linha de documento contabil (BSEG)
* no momento da gravação. Agora sabendo o que vamos fazer, vamos para a
* transação 'FIBF' e entramos no Menu 'Ambiente / Sistemas Info ( Processos ).




*  Vamos colocar o 'Tipo de atributo' igual a 'A' ( Componente de aplicação )



*  Vamos trabalhar com '00001430 MODIFICAR DOCUMENTO:substit.campo cab./linha'
* clicando na Botão 'Interface' conseguimos ver a assinatura e clicando no
* botão 'Modulo de função modelo'... você pode não acreditar, mas irá
* mostrar uma função que podemos usar como modelo ( rsrs ).






*  Após criamos um grupo de função, criaremos uma função com copia na função
* modelo e vamos mudar o valor do campo 'T_BKPFSUB-BKTXT' da estrutura
* 'BKPF_SUBST', coloquem mais condições dentro da função como user ou numero
* material, centro e essas coisas pois todas as gravações feita na BSEG irá
* passar nessa BTE.

*  Feito isso agora temos que configurar para que o standard passe na sua BTE,
* teremos que voltar na transação 'FIBF' e ir no menu
* 'Configurações/Produtos/... de um cliente '.




*  Aqui iremos criar um produto para vincular com o processo '00001430' e
* definir nossa função criada como a padrão. Não esqueçam de 'Flagar' a
* coluna 'A' ( Ativar ) para que seja ativo seu produto.




*  Com o Produto criado e a função criadas vamos vincular tudo com o processo
* '00001430' indo no menu 'Configurações/Modulo de processo/... de um cliente'.






* Agora é só ver a mágica acontecer. Coloquem um ponto de parada na sua função,
* modifiquem um documento no FB02 ( Exemplo ) e veja seu codigo trabalhando,
* reparem que na pilha do Debbug a função que chamou a sua função, se for BTE,
* essa função irá sempre começar com 'OPEN_FI_PERFORM_' ou 'OUTBOUND_CALL_'.
*  Lembrando, 'Com grandes poderes, vem grandes responsabilidades', esse 
processo chamara sua função sempre que tiver uma modificação na BSEG, 
portanto, façam isso de modo controlado.



*  Espero que eu tenha agregado algo pra vocês que não conheciam esse 
* procedimento, e pra quem conhecia e eu tenha esquecido de algo fica os
* comentarios disponivel.
* Lembrando que o processo de configuração da Função no processo e a criação 
* do produto é um passo Funcional, mas não custa nada sabermos como trabalhar 
* nisso e ajudar eles. Vlw... S2.

5 comentários:

  1. Nossa, achei um doc de 2012 sobre BTE aqui na minha pastinha de tutoriais haha engraçado que isso é maior velho e até agora nunca precisei usar...
    Valeu pelo post!

    ResponderExcluir
  2. Boa tarde Mauro, tem como fazer um post sobre a passagem de parâmetro para uma transação como a 'SOST'. Como fazer um CALL TRANSACTION 'SOST' passando descrição e data.

    ResponderExcluir
  3. Fabiano, acho que conversei contigo sobre isso via msg, mas podemos conversar sobre encontrar uma melhor solução, afinal não me parece a melhor forma fazer um 'CALL TRANSACTION' na SOST. Me manda um e-mail que podemos tentar desenhar uma solução melhor caso não tenha resolvido ainda. maurinho.programacao@gmail.com. =)

    ResponderExcluir
  4. Boa tarde Mauro, já foi resolvido com sua dica sim. Obrigado.

    ResponderExcluir