Debug sap
SAP Dicas para facilitar o debug de
programas parte 1
[Link]@[Link] on06/23/20151 Comentrio
Todos que trabalham com a parte tcnica do SAP, j tiveram a
necessidade de pelo menos uma vez ou outra, efetuar o debug de
algum programa com o intuito de descobrir mais detalhes de alguma
situao que esteja ocorrendo.
Por este motivo, estarei postando uma srie de artigos sobre o tema
com dicas para auxiliar neste processo. Que as vezes pode ser
exaustivo,
moroso
e inconclusivo (principalmente
no
caso
de
programas standards).
Neste primeiro poste, estarei escrevendo sobre um excelente recurso
de
debug
(inclusive
utilizado
em
vrias
outras
IDE's
de
desenvolvimento) chamado de Watchpoint, em conjunto com uma
varivel de sistema do SAP disponvel em todos os programas.
Primeiramente, vamos entender o que seria o recurso Watchpoint.
In SAP, a watchpoint is a conditional breakpoint that is only defined in
the ABAP Debugger. It is one of the runtime utility components
provided to debug SAP application programs and serves as an
indicator to the ABAP runtime processor to interrupt further program
processing from the specified point or relation. Dynamic in nature,
watchpoints help application developers monitor the contents of
specified variables and the change of their values associated during
runtime processing.
Referncia: TechopediaAbrir numa nova janela.
Em resumo, seria uma condio de ponto de parada (breakpoint) que
s definida atravs do ABAP Debugger. Ajuda os desenvolvedores a
monitorar de forma dinmica o contedo de variveis especficas em
tempo de execuo.
Com o entendimento do recurso, vamos ao exemplo prtico...
Quando entramos na transao VL03N e informamos um nmero de
remessa inexistente, a mensagem de erro abaixo exibida:
Erro
Remessa
Erro Remessa
Digamos que eu tenha a necessidade de saber mais detalhes
da mensagem de erroVL 559. Saber qual a lgica que o programa
est executando para definir que a remessa no existe.
Para isso, antes de executar qualquer procedimento dentro da
transao VL03N, ativar o modo de debug atravs do comando /h. A
mensagem abaixo dever ser exibida:
Debug
Aps ativao do Debug, pressionar ENTER para iniciar as lgicas da
transao.
Ao abrir a tela de Debug, clicar no boto "Watchpoint" conforme
imagem abaixo:
Watchpoint
Preencher os campos de "Varivel" e "Entrada de condio livre"
conforme imagem abaixo:
Watchpoint
SY-MSGNO a varivel de sistema onde grava o nmero da
mensagem que ser exibida.
A
condio
"SY-MSGNO
'559'" diz
para
debugger
parar
(breakpoint) sempre que o valor da mensagem for igual a 559 (no
caso
nossa
mensagem
de
erro
de
remessa
inexistente)
independente do ponto do programa que estiver sendo executado.
Aps os valores serem preenchidos, clicar no boto de "Gravar" para
o Watchpoint ser criado:
Watchpoint
Aps
Watchpoint
ser
criado, pressionar F8 para
continuar
execuo do programa.
Se todos os passos anteriores foram efetuados corretamente, o
Debugger dever ser acionado conforme ilustrado abaixo:
Watchpoint
Nos informando o ponto exato em que a mensagem (exceo) foi
obtida possibilitando uma anlise mais tcnica e detalhada.
Referncia: How to analyze an error message in debugAbrir