*--------------------------------------------------------------------*
* 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