DEBUGGER R/3 Básico UDERSON LUIS

Documentos relacionados
Criando uma tabela Z com Elementos de Dados e Domínios UDERSON LUIS

Alterando valor de uma tabela Z ou Standard - Uderson Luis. Sumario:

NF-E FATURA SEM DECOOPLE UDERSON LUIS FERMINO

NOVA VERSÃO SAFE DOC MANUAL

OPERADORES LÓGICOS E RELACIONAIS UDERSON LUIS

Tutorial do aluno Ambiente Virtual de Aprendizagem (AVA) Rede e-tec Brasil

Assessoria Técnica de Tecnologia da Informação - ATTI. Projeto de Informatização da. Secretaria Municipal de Saúde do. Município de São Paulo

,QVWDODomR. Dê um duplo clique para abrir o Meu Computador. Dê um duplo clique para abrir o Painel de Controle. Para Adicionar ou Remover programas

Manual de Utilização. Ao acessar o endereço chegaremos a seguinte página de entrada: Tela de Abertura do Sistema

UTILIZAÇÃO DE RECURSOS AVANÇADOS DO EXCEL EM FINANÇAS (PARTE III): GERENCIAMENTO DE CENÁRIOS

Inclusão de Validação Biométrica

CRIAÇÃO DE TABELAS NO ACCESS. Criação de Tabelas no Access

Aula 11: Desvios e Laços

Aula Extra. Depurador Code::Blocks. Monitoria de Introdução à Programação

REITORA Ulrika Arns. VICE-REITOR Almir Barros da Silva Santos Neto. DIRETOR DO NTIC Leonardo Bidese de Pinho

Administração Portal Controle Público

ÁREA DO PROFESSOR (TUTOR)

Registro de Retenções Tributárias e Pagamentos

1.0 Informações de hardware

Sistema de Gestão Avícola SYSAVES. O sistema SYSAVES controla todo o processo, desde a saída dos

Banco de Dados. Banco de Dados Parte 2. Alcides Pamplona Alcides Pamplona Linguagem de Programação CESBD 2010

HEMOVIDA (CICLO DO SANGUE - Gerenciamento de estoque para grandes eventos)

PDE INTERATIVO MANUAL DE CADASTRO E GERENCIAMENTO DE USUÁRIOS

Conhecendo o Delphi 2010

PLANILHA DE NIVELAMENTO

epucc.com.br SAIBA COMO INCLUIR INFORMAÇÕES DE COLABORADORES, CENTROS DE CUSTO E RATEIO DE DESPESAS

Manual de Operações do Painel Administrativo do site

Manual do Usuário CMS WordPress MU Versão atual: 2.8

SISTEMA CAÇA-TALENTOS MANUAL DE OPERAÇÃO PERFIL SECRETARIA

MANUAL DO CLIENTE FINAL ALTERAÇÕES BÁSICAS NO PRODUTO SITE ACESSANDO O PAINEL _ 1 EDITANDO TEXTOS _ 2 TROCANDO IMAGENS 4 INSERINDO VIDEOS 7

Manual Candidato Edital Público. Manual de Utilização de Inscrição On-Line em Edital Público

FastCube 2.0 Programmer Manual

Laboratório opcional: Backup de dados e restauração no Windows 7

MANUAL DE INSTALAÇÃO SAT DIMEP PDV CAKE

Anexação de tabelas, inserção de pontos, geração de polígonos e cálculo de áreas em ArcView

Associação de dados cartográficos a alfanuméricos no MapInfo

RENOVAÇÃO DE MATRÍCULAS via Controle Acadêmico de Graduação-CAGr

Tutorial. Georreferenciamento de Imagens. versão /08/2008. Autores: Rafael Bellucci Moretti, Vitor Pires Vencovsky

REITORA Ulrika Arns. VICE-REITOR Almir Barros da Silva Santos Neto. DIRETOR DO NTIC Leonardo Bidese de Pinho

Sumário. CEAD - FACEL Manual do Aluno, 02

e Autorizador Odontológico

PROCEDIMENTO INSTALAÇÃO SINAI ALUGUEL

ROTEIRO PARA REGISTRO NO CONTAS ONLINE Programa Caminho da Escola Parte I Execução Financeira Data de atualização: 21/6/2012

Manual Para Peticionamento Online

IBRX Sistemas Eletrônicos. Manual técnico. Configuração: IBRX Módulo portão Rev O IBRX Portão funciona em 4 tipos de conexão:

Adicionar uma figura, como um botão Submeter, a um formulário

Sistema NetConta I - Guia de Referência Rápida

Fundamentos de Informática. Tiago Alves de Oliveira

Cheque Recebimentos com múltiplos cheques

MANUAL DO SISTEMA TRT-5 PRESTADOR MÉDICO

aplicação arquivo Condições Gerais de Utilização

O sistema gestor já contem uma estrutura completa de categorias que são transferidas automaticamente para cada empresa nova cadastrada.

PREFEITURA DO MUNICÍPIO DE PORTO VELHO SECRETARIA MUNICIPAL DE ADMINISTRAÇÃO SEMAD DEPARTAMENTO DE RECURSOS DA TECNOLOGIA DA INFORMAÇÃO DRTI

Configuração para Uso do Tablet no GigaChef e Outros Dispositivos

a) O Word é um editor de TEXTOS. Com ele é possível digitar cartas, currículos e trabalhos escolares.

Conteúdo programático

Como devo fazer para me inscrever nos ambientes virtuais?

MANUAL DO USUÁRIO PRINTDIAG CHIPTRONIC ELETRÔNICA DO BRASIL

Prova de Fundamentos de Bancos de Dados 1 a Prova

Inteligência Artificial

Manual de instalação do Microsoft SQL Server 2008 R2 Express no Windows 10

COMO CRIAR UM PEDIDO DE COMPRAS

Portal de Sistemas Integrados. Manual do Usuário. Versão: 1.0

TI 06 Técnicas de Informática - P2 2012/S1 Laboratório Informática Word e PowerPoint

1 Visão Geral. 2 Instalação e Primeira Utilização. Manual de Instalação do Gold Pedido

Av. Padre Claret, 146 Conj. 503 Centro Esteio/ RS Fone/ Fax: (51)

Gerenciador de Ambiente Laboratorial - GAL Manual do Usuário Módulo Controle de Qualidade Analítico

TUTORIAL PARA O GESTOR MUNICIPAL

Rateio por Despesas por Contas Contábeis

APOSTILA DE INFORMÁTICA WORD PAD E TECLADO

LINGUAGEM SQL Linguagem usada em SGBD para: Definir estrutura de dados; Modificar dados em um banco de dados; Especificar restrições de segurança; Rea

Módulo Odontologia. Sumário. Odontologia

Disciplina: Unidade III: Prof.: Período:

PROGRAMAÇÃO DE COMPUTADORES

MANUAL DO PROFESSOR. - Inscrições Colégios. Colégios Participantes de Temporadas anteriores:

Os passos a seguir servirão de guia para utilização da funcionalidade Acordo Financeiro do TOTVS Gestão Financeira.

Disponibilizada a rotina Vale Presente (LOJA830) no módulo Controle de Lojas (SIGALOJA), assim como já é utilizada no módulo Front Loja (SIGAFRT).

UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais

SISVAN WEB. Informações Gerais para Navegar no Acesso Restrito

CRIANDO UM MODELO ESTRUTURAL EM REVIT STRUCTURE

Capítulo 9 - Imagens. Imagens

SISTEMA DE RECURSOS HUMANOS. RH Online

SISTEMA QUADRO DE ESTOQUE ON-LINE MANUAL DE OPERAÇÃO

-Entre no menu Cadastros / Terceiros/Optantes -Insira os dados do Empregado ou Fornecedor / clique em Gravar

GUIA DO USUÁRIO PARECERISTA GECi Gerenciador de Eventos Científicos

Criar e formatar relatórios

Microsoft PowerPoint

Oracle Database 10g: Fundamentos de SQL e PL/SQL

Agendando um Horário

Módulo e-rede Magento v1.0. Manual de. Instalação do Módulo. estamos todos ligados

ACCESS ) Introdução. 2) Abrindo um banco de dados. 3) A Janela do Access-2007

1. IDENTIFICAÇÃO FUNDAÇÃO FIAT SAÚDE E BEM ESTAR

Manual Webmail GUIA GERAL UNIVERSIDADE TECNOLÓGIA FEDERAL DO PARANÁ DIRETORIA DE GESTÃO DE TECNOLOGIA DA INFORMAÇÃO - DIRGTI 2015

Gestão de Sistemas Operacionais I

Apontamento técnico No. 5, Fevereiro de 2014 Como pedir apoio através do Ajuda Online do CAICC

Transcrição:

Sumario Este artigo descreve a execução de programa em modo DEBUGGER, descrevendo os passos necessários para encontrar valores de variáveis, tabelas, estruturas. Sobre o Autor: Uderson Luis Fermino, formado em Ciências da Computação pela Faculdade de Pesquisa e Ensino IPEP, atua no mercado a 2 anos como desenvolvedor Java nas plataformas: (J2SE, J2EE e J2ME), com participação em grandes projetos envolvendo estas tecnologias. É consultor ABAP com experiências em REPORT, ALV (GRID, LIST, BLOCK, OO, TREE, HIERARQUICK), IDOC, ALE, ONLINE, SAPSCRIPT, SMARTFORM, NETWEAVER (JCO, BSP, WebDynpro). Email: Uderson@gmail.com

DEBUGGER ABAP Debug é o ato de corrigir erros,dentro de um determinado artefato, onde este artefato pode ser um simples ou complexo programa. O Debug é usado para verificar e visualizar instruções códigos-a-codigo. O abap é uma linguagem puramente interpretada, todos os módulos da linguagem são interpretados, onde é a principal ferramenta de trabalho aos programadores abap, está tarefa de codificação facilita a customização do sistema em tempo real. Para chamar o debugger do SAP (R/3) basta inserir o /h como uma transação. Verifica a barra de status. A partir deste momento o mode debugger do SAP está em funcionamento, em qualquer transação, que estivermos, poderemos visualizar código-a-codigo, o que o compilador, ABAP está interpretando. Iremos DEBUGAR a partir do código abaixo: Entre na transação SE38 crie um programa executável de aplicação desconhecida. De o Nome de ZFUNCIONARIO e siga o exemplo da figura:

Copie este código para dentro do EDITOR *&---------------------------------------------------------------------* *& Report ZFUNCIONARIO * *& * *&---------------------------------------------------------------------* *& * *& * *&---------------------------------------------------------------------* REPORT ZFUNCIONARIO. TABLES: ZFUNCIONARIO. BREAK-POINT. DATA: BEGIN OF T_ZFUNCIONARIO OCCURS 0, MATRICULA LIKE ZFUNCIONARIO-MATRICULA, NOME LIKE ZFUNCIONARIO-NOME, DATANASCIMENTO LIKE ZFUNCIONARIO-DATANASCIMENTO, RG LIKE ZFUNCIONARIO-RG, CPF LIKE ZFUNCIONARIO-CPF, END OF T_ZFUNCIONARIO. SELECTION-SCREEN BEGIN OF BLOCK bl001 WITH FRAME. PARAMETER: P_MATRI LIKE ZFUNCIONARIO-MATRICULA OBLIGATORY. PARAMETER: P_NOME LIKE ZFUNCIONARIO-NOME OBLIGATORY. PARAMETER: P_DATNA LIKE ZFUNCIONARIO-DATANASCIMENTO OBLIGATORY. PARAMETER: P_RG LIKE ZFUNCIONARIO-RG OBLIGATORY. PARAMETER: P_CPF LIKE ZFUNCIONARIO-CPF OBLIGATORY. SELECTION-SCREEN END OF BLOCK bl001. T_ZFUNCIONARIO-MATRICULA = P_MATRI. T_ZFUNCIONARIO-NOME = P_NOME. T_ZFUNCIONARIO-DATANASCIMENTO = P_DATNA. T_ZFUNCIONARIO-RG = P_RG.

T_ZFUNCIONARIO-CPF APPEND T_ZFUNCIONARIO. = P_CPF. MOVE: T_ZFUNCIONARIO-MATRICULA TO ZFUNCIONARIO-MATRICULA, T_ZFUNCIONARIO-NOME TO ZFUNCIONARIO-NOME, T_ZFUNCIONARIO-DATANASCIMENTO TO ZFUNCIONARIO-DATANASCIMENTO, T_ZFUNCIONARIO-RG TO ZFUNCIONARIO-RG, T_ZFUNCIONARIO-CPF TO ZFUNCIONARIO-CPF. INSERT ZFUNCIONARIO. IF SY-SUBRC = '0'. COMMIT WORK. MESSAGE I368(00) WITH 'DADOS SALVOS COM SUCESSO'. ELSE. ROLLBACK WORK. MESSAGE I368(00) WITH 'ERRO AO SALVAR DADOS'. ENDIF. CLEAR: T_ZFUNCIONARIO, T_ZFUNCIONARIO[]. SELECT MATRICULA NOME DATANASCIMENTO RG CPF FROM ZFUNCIONARIO INTO TABLE T_ZFUNCIONARIO. LOOP AT T_ZFUNCIONARIO. WRITE: / ' ', T_ZFUNCIONARIO-MATRICULA, ' ', T_ZFUNCIONARIO-NOME, ' ', T_ZFUNCIONARIO-DATANASCIMENTO, ' ', T_ZFUNCIONARIO-RG, ' ', T_ZFUNCIONARIO-CPF, ' '. ULINE. ENDLOOP. Após ter copiado o código, clique em DIRETO ou F8. (Lembre-se de SALVAR, CHECAR e ATIVAR). Logo em seguida aparecera a seguinte tela:

Preencha os campos conforme a figura a baixo ou a tabela Matricula 123456789 Nome Teste de Debug Data de Nascimento 17.05.2007 Rg 2233445 CPF 21177889900654534322 Após ter preenchido, insira o código /N, na caixa de transações: Verifica a barra de status. Clique em executar, e siga passo a passo este HowTo.

Observe, que tem um ponteiro no primeiro código do programa, e o editor encontre-se em modo não editavel. Passo 2: Tecle uma vez F5, observe que o ponteiro irá para o comando BREAK-POINT, este comando é usado, para parar uma determinada instrução e mostrar está em modo debug,

Observe que o comando não parou na linha TABLES: ZFUNCIONARIO, pois esta é uma instrução interna do abap. Tecle F5 e observe que o ponteiro irá direto para o comando de atribuição: T_ZFUNCIONARIO-MATRICULA = P_MATRI. Observe que no modo Debug a seguinte tela: Nesta tela que poderemos EXIBIR e MODIFICAR valores das variáveis em tempo de execução do programa, Lembre-se estamos em modo debug onde cada comando segue passo a passo o que pedimos. Antes de prosseguir clique sobre os objetos: P_MATRI, P_NOME, P_DATNAS, como segue a figura.

Observe que os valores destes objetos podem ser visualizados na tela: Para limpar os campos de visualização clique na lixeira, é CAMPO será limpa, a limpeza não é feita no objeto e sim no campo de visualização, logo a frente, será mostrado como limpara ou alterar o valor do objeto. Fincado:

Observer que o ponteiro está apontado ainda para o objeto T_ZFUNCIONARIO-MATRICULA valor 0000000000123456789. = P_MATRI., onde P_MATRI contem o Clique sobre o objeto T_ZFUNCIONARIO-MATRICULA e observe que o valor de P_MATR, ainda não foi atribuído ao objeto T_ZFUNCIONARIO-MATRICULA. Tecle F5, e observe que agora o objeto T_ZFUNCIONARIO-MATRICULA contem o mesmo valor de P_MATRI. Para treinar, faça os mesmos passos, para os objetos : T_ZFUNCIONARIO-NOME = P_NOME. T_ZFUNCIONARIO-DATANASCIMENTO = P_DATNA. T_ZFUNCIONARIO-RG = P_RG. T_ZFUNCIONARIO-CPF = P_CPF.

Siga os passos até que o ponteiro fique apontado sobre o comando: APPEND T_ZFUNCIONARIO. Antes de prosseguir limpe todos os campos: Ainda com o ponteiro, apontado ao comando APPEND, clique duas vezes sobre a tabela interna T_ZFUNCIONARIO. Observe que no campo de exibição e modificação de variáveis e objetos apareceu a linha. Para ver os valores da tabela clique sobre o ícone:

Observe que os campos de exibição e modificação mudaram: Pois agora estamos em estrutura multidimensional, cujo o formato é uma estrutua de tabela, onde cada campo contem um determinado tamanho de armazenamento de dado. O ABAP trata todas as tabelas tanto tabelas internas como tabelas reais(chamadas de tabelas standard ou tabelas Z) iguais, onde todas as tabelas contem uma HEADER LINE. HEADER LINE Toda tabela manipulada, dentro do sap é criada uma HeaderLine, que é um vetor de dado do tipo de uma tupla,de uma determinada tabela, a Header Line é uma copia dos dados do registro em que o ponteiro, está posicionado no momento, uma header line pode ser visualizada claramente dentro de um loop HeaderLine da TabelaX Matnr Datnam Nome Descrição 00001 10.10.2000 Cana de Açúcar Matéria Prima LOOP AT TabelaX Matnr Datnam Nome Descrição 00001 10.10.2000 Cana de Açúcar Matéria Prima 00002 14.12.2006 Álcool Matéria Prima 00003 20.25.2000 Gasolina Matéria Prima

ENDLOOP 00004 11.09.1997 Óleo Diesel Matéria Prima 00005 13.08.2005 BioDiesel Matéria Prima HeaderLine da TabelaX Matnr Datnam Nome Descrição 00002 14.12.2006 Álcool Matéria Prima LOOP AT TabelaX ENDLOOP Matnr Datnam Nome Descrição 00001 10.10.2000 Cana de Açúcar Matéria Prima 00002 14.12.2006 Álcool Matéria Prima 00003 20.25.2000 Gasolina Matéria Prima 00004 11.09.1997 Óleo Diesel Matéria Prima 00005 13.08.2005 BioDiesel Matéria Prima HeaderLine da TabelaX Matnr Datnam Nome Descrição 00003 20.25.2000 Gasolina Matéria Prima LOOP AT TabelaX ENDLOOP Matnr Datnam Nome Descrição 00001 10.10.2000 Cana de Açúcar Matéria Prima 00002 14.12.2006 Álcool Matéria Prima 00003 20.25.2000 Gasolina Matéria Prima 00004 11.09.1997 Óleo Diesel Matéria Prima 00005 13.08.2005 BioDiesel Matéria Prima Observação: LOOP AT O Comando LOOP AT... ENDLOOP. Serve para andar em cada registro de uma tabela interna, podendo alterar, excluir, incluir dados nos campos deste registro, atual, o exemplo acima mostra o LOOP AT, em uma tabela interna, chamada de TabelaX, Cada iteração em um registro, a HeaderLine é modificado para a posição atual, do LOOP AT, a variável SY-TABIX, é a variável, que armazena o numero atual da iteração. O ícone chapéu é a indicação da tabela

Somente os dados estarão dentro da tabela interna T_ZFUNCIONARIO quando o comando APPEND for passado. Tecle F5 Veja que a tabela agora conte registros; A HEADERLINE esta com o valor e a tabela interna também.

Agora a tabela interna conte valores, neste caso apenas um registro, porem mais a frente a tabela interna terá mais de um registro. valor, O ponteiro está apontado sobre o comando MOVE, onde está movendo cada Diretamente a HeaderLine da Tabela ZFUNCIONARIO. Antes de prosseguir clique duas vezes sobre a tabela real ZFUNCIONARO. Veja que novamente mudou os campos de EXIBIÇÃO E MODIFICAÇÃO:

Observe que cada vez que o ponteiro mover dentro do comando Move será adcionado um valor dentro do campo selecionado da figura. Observe que determinados comandos não é possível verificar seu dados internos. Tecle F5, até apontar no comando: CLEAR: T_ZFUNCIONARIO, T_ZFUNCIONARIO[].

O comando clear como o próprio nome diz, serve para limpar campos de variáveis, tabelas internas e headerline, a Sintaxe é: CLEAR: TABELA_INTERNA CLEAR: TABELA_INTERNA[] = Limpa a Header Line de uma tabela Interna = Limpa a tabela interna sem limpar a Header Line Antes de prosseguir clique duas vezes sobre a tabela interna T_ZFUNCIONARIO. Observe que podemos ver os valores da HeaderLine e da Tabela Interna, tecle F5 para prosseguir o ponteiro, e observe que os valores foram excluídos da HeaderLine e da Tabela:

Estes valores com 0 (Zeros), são valores Default que os tipos de dados primitivos possuem. O ponteiro agora está sobre o comando select, onde será inserido valores na tabela interna T_ZFUNCIONARIO novamente. Antes de prossegui com o ponteiro clique duas vezes da tabela interna que está dentro do select: Observe que a tabela interna e a sua HeaderLine, não contem valores.

Tecle F5. Observe que agora a tabela interna contem diverso registros, pois todos os registros que estava na tabela real ZFUNCIONARIO, foi passado para está tabela. está. Agora muita atenção pois a parte mais cautelosa deste HowTo com certeza é Mova a tela para baixo, conforme indicado pela cor VERMELHA, até que a visualização do código fique idêntico a figura, observe que o ponteiro está apontando o comando LOOP é no fim da tela temos a finalização do comando LOOP com a instrução ENDLOOP.

Observe que a HeaderLine está vazia, mais a cada iteração um determinado registro será colocado na HeaderLine, o ponteiro de registro é interno da tabela não conseguimos visualizar ele, somente visualizamos o registro atual na HeaderLine. Tecle F5 para prosseguir e observe a HeaderLine.

Observe que a HeaderLine contem o mesmo valor do registro 1, pois é a primeira iteração, o comando write, escreve os valores da HeaderLine, A variável de controle de iteração é SY-TABIX. Tecle F5 até que o ponteiro aponte a instrução ENDLOOP, como é uma iteração o ponteiro apontará ao prosseguir, teclando F5 para o comando LOOP AT tabela_interna, internamente ele verifica será mais registros, caso contem registro ele entra dentro do loop, e assim por diante observer que sempre a HeaderLine armazena os valores do registro atual, A assim até o fim dos ultimo registro, quando não ter mais registro o ponteiro apontara para o próximo comando, caso exista mais comando depois do comando LOOP...ENDLOOP. Estes são os passos básicos do MODO DEBBUGER da linguagem ABAP, mais passos a seguir, porem serão apenas descritos a segui, sem exemplificação de seu usos. Mudar valor da variável, objetos, antes de inserir ou antes de escrever, ou antes de executar a instrução que fará a leitura deste dado: use o lápis, basta modificar o valor no campo de inserção de dado e clicar no lápis que o valor será alterado, use antes de alguma instrução usar o valor atual, pois se o valor for modificado após alguma instrução ter utilizado o valor, não fará sentido alterar o mesmo.

Watchpoint: Utilizado dentro de uma estrutura de iteração (LOOP, DO, WHILE), para fazer a parada em um determinado valor, é necessário especificar o campo ou (variavel), o valor de parada e o operador lógico que usará: Exemplo: Clique duas vezes sobre o campo da tabela interna, conforme a figura: Clique em Watchpoint

Onde Programa Nome do campo = nome do programa = Nome do campo da tabela ou variável Operador relacional =Operador lógico de condição, clique sobre o MATCHCONDE date e abrirá um lista. De dois clique sobre o campo escolhido.

Campo ou valor de comparação = o valor que o campo escolhido deverá possui para fazer a parada (lembrando do operador relacional escolhido)