Conteúdo

Formas de se debugar - SM50 - Loop infinito

Muitos processos são executados em background, é como se fosse "por debaixo dos panos", e com certeza, se você é notavo, ou está com lapso de memória, já deve ter percebido que aquele ponto de parada ou até mesmo aquele BREAK-POINT forçado no código simplesmente foi ignorado. Existe uma maneira simples de resolver... Loop infinito!!! Mas cuidado, após testar não esqueça de remover o código, senão o processo nunca mais chegará ao fim.

Primeiro adicione o loop infinito no ponto onde vai iniciar seu debug, conforme abaixo. Após isto vá na SM50 e encontre seu processo. Clique em Administração > Programa > Debug. Clique em Sim na mensagem que irá aparecer. Vai cair no loop que você criou. Agora basta alterar a variável que sai do loop infinito e pronto. Continue seu debug.

REPORT ZSAPeiros.

DATA lv_break TYPE c VALUE 'X'.
TABLES mara.
DO.
  SELECT SINGLE * FROM mara.
  IF lv_break = ''.
    EXIT.
  ENDIF.
ENDDO.

--- SM50 ---

--- Seu código ---