segunda-feira, 13 de março de 2017

Debuggando processo em UPDATE TASK e SM13

REPORT update_task.
*--------------------------------------------------------------------*
*  Fala Galera, hoje vou mostrar como faz para debuggar processos em
* Update Task. Funções que são executadas em update Task são reservadas
* e são somentes processadas quando executada o commando 'COMMIT WORK',
* esse comando irá processar tudo pue ficou na pilha pra ser processado
* depois. Vamos lá.
* Observações : Estarei realizando essa demonstração com vocês com uma
* função muito importante de atualização de dados da Nota fiscal, mas
* logo no começo dela já tem uma validação do campo DOC_NUMBER, portanto
* não alimente esse campo, para não ter problemas de atualizar algo que
* não deveria.

*  Primeiramente para usar uma função em 'update task', a mesma, tem que
* ser uma função de atualização.




*  Agora coloque o código abaixo e vamos pros testes.
*  Primeira coisa que devemos fazer quando parar no primeiro 'break' e ir
* no menu 'Configurações->Modificar Configurações/Perfil Depurador' e entrar
* nessa janela abaixo



* 'Flag' o campo 'Depur. Atualização'.






  DATA :
    lv_doc_number TYPE j_1bnfdoc-docnum,
    ls_doc_header TYPE j_1bnfdoc.

  DATA :
    lt_doc_partner    TYPE TABLE OF j_1bnfnad,
    lt_doc_item       TYPE TABLE OF j_1bnflin,
    lt_doc_item_tax   TYPE TABLE OF j_1bnfstx,
    lt_doc_header_msg TYPE TABLE OF j_1bnfftx,
    lt_doc_refer_msg  TYPE TABLE OF j_1bnfref.

BREAK-POINT.

  CALL FUNCTION 'J_1B_NF_DOCUMENT_UPDATE' IN UPDATE TASK
    EXPORTING
      doc_number     lv_doc_number
      doc_header     ls_doc_header
    TABLES
      doc_partner    lt_doc_partner
      doc_item       lt_doc_item
      doc_item_tax   lt_doc_item_tax
      doc_header_msg lt_doc_header_msg
      doc_refer_msg  lt_doc_refer_msg.

  MESSAGE 'Processado, agora vai rodar a função em "UPDATE TASK"' TYPE 'I'.

  COMMIT WORK.



*  Agora entra o outra dica que gostaria de dar, lembrando, conforme minha
* observação antes de tudo, o campo 'DOC_NUMBER' não vai estar preenchido,
* portanto vai dar um erro, mas como o processo foi executado em 'UPDATE TASK',
* alem de você receber a mensagem de erro você vai receber um email no
* 'Business WorkPlace' do seu User na SAP, Transação 'SBWP', e nesse
* mesmo email será informado o problema.




*  Outra informação muito boa é que quando der esse tipo de problema de
* atualização e você não identificar qual processo no 'Update Task' for,
* sabendo que é possível ter uma pilha de funções a ser processado,
* entre na transação SM13, e visualize a função e maiores detalhe sobre
* o problema.





*  Espero ter ajudado vocês em alguma coisa e qualquer coisa estou a
* disposição no Skype ( As vezes não ) e no email ( =) ).

* Valeo

Comentários
0 Comentários

Nenhum comentário:

Postar um comentário