Escolar Documentos
Profissional Documentos
Cultura Documentos
º:
Tecnologia da Informação
Versão 0.1
Treinamento ABAP Básico
Data:
Fl.: 1 de 60
04/09/2011
Doc: 654015960.doc
Treinamento
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 2 de 60
Doc: 654015960.doc
ÍNDICE
1. VISÃO GERAL........................................................................................................................... 3
2. TRANSAÇÕES IMPORTANTES................................................................................................ 3
2.1 SE93............................................................................................................................................ 3
2.2 SE91............................................................................................................................................ 8
2.3 SE80.......................................................................................................................................... 12
2.4 SE38.......................................................................................................................................... 13
2.5 SU24.......................................................................................................................................... 14
4. INCLUSÃO DE AUTHORITY-CHECKS...................................................................................19
9. DEBUG..................................................................................................................................... 41
10. ST22.......................................................................................................................................... 54
11. PADRÕES................................................................................................................................ 57
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 3 de 60
Doc: 654015960.doc
1. Visão geral
2. TRANSAÇÕES IMPORTANTES
2.1 SE93
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 4 de 60
Doc: 654015960.doc
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 5 de 60
Doc: 654015960.doc
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 6 de 60
Doc: 654015960.doc
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 7 de 60
Doc: 654015960.doc
Outras informações
Pode-se descobrir qual é o programa de uma transação através da SE93
Ao invés de ter que colocar objetos de autorização dentro do programa, podemos colocá-los diretamente na
transação através da SE93, exigindo um esforço muito menor
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 8 de 60
Doc: 654015960.doc
2.2 SE91
Caso queira colocar variáveis em mensagens, utiliza-se o & ou &1, &2... até quatro variáveis.
Se for necessário utilizar uma explicação maior sobre a informação a ser passada, o é necessário
desmarcar o campo “auto-explicativo”.
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 9 de 60
Doc: 654015960.doc
Podemos chamar a mensagem com a sua classe no próprio comando, ou podemos atribuir a classe de
mensagens no programa assim não é necessário fazê-lo no comando MESSAGE.
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 10 de 60
Doc: 654015960.doc
Assim que o programa exibe a mensagem ele continua seu processamento normalmente, por isso caso haja
alguma outra mensagem depois da de sucesso, a primeira é “encoberta” pela segunda.
Assim que o programa exibe a mensagem ele espera pela ação do usuário.
Se a mensagem for utilizada em área de onde se requere a entrada de dados, ela é exibida e o campo com
a entrada fica setado.
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 11 de 60
Doc: 654015960.doc
Por exemplo, podemos gerar uma mensagem de erro e exibi-la como sucesso, ou como informação e etc...
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 12 de 60
Doc: 654015960.doc
Nesse caso a mensagem cancelaria o processamento, mas seria exibida como informação (note o texto de
erro no cabeçalho do Pop-Up).
2.3 SE80
Utilizada para visualizar, criar e modificar vários tipos de objetos, como funções, programas, tabelas,
classes, requests e etc...
Utilizando ela em um programa, podemos verificar todos os objetos do mesmo
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 13 de 60
Doc: 654015960.doc
2.4 SE38
Ela nada mais é que uma versão reduzida da SE80 utilizada apenas para programas
A partir de sua tela inicial podemos entrar diretamente no fonte do programa, em suas características,
elementos de texto e etc.
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 14 de 60
Doc: 654015960.doc
2.5 SU24
Utilizada para atribuição de objetos de autorização em transações.
Além de colocar os objetos de autorização na SE93, é necessário incluir também na SU24 para que o
pessoal do perfil consiga atribuir as autorizações.
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 15 de 60
Doc: 654015960.doc
Caso já se tenha atribuído o authority-check na SE93, basta entrar na SU24 com a transação desejada,
clicar em modificar para trazer os objetos atribuídos e salvar (as configurações já serão baixadas
diretamente da SE93).
Existem várias maneiras de tentar descobrir qual o campo de tabela está ligado a um campo de tela.
A maneira mais simples de encontrar um campo de tabela em uma tela é apertar F1 no com o cursor no
campo desejado e depois em “informações técnicas”
Vai aparecer uma subtela com todas as informações sobre o campo setado
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 16 de 60
Doc: 654015960.doc
Se de atribuição do campo for categoria “tabela transparente”, significa que o nome da tabela e do campo
são exatamente os mesmos que aparecem na tela.
Caso essa categoria for “estrutura”, significa que o campo da tela não está atribuído diretamente ao campo
da tabela e sim de uma estrutura.
Nesse caso, também podemos procurar a origem da informação pelo elemento de dados do campo.
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 17 de 60
Doc: 654015960.doc
Aparecerá uma lista com todas as tabelas que utilizam esse elemento de dados
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 18 de 60
Doc: 654015960.doc
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 19 de 60
Doc: 654015960.doc
Obs: Nem todos os matchcodes são referenciados em tabelas. Algumas estão ligadas diretamente no
domínio, outras em ajudas de pesquisa criadas na SE11
4. Inclusão de authority-checks
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 20 de 60
Doc: 654015960.doc
É Possível debugar um programa que está sendo executado por job, independente se ele ainda está sendo
executado ou não.
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 21 de 60
Doc: 654015960.doc
Caso a execução já tenha terminado, Coloque um break-point no programa, volte a SM37, clique com o
mouse no job, escreva JDBG no campo de comando e aperte ENTER.
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 22 de 60
Doc: 654015960.doc
O programa irá passar por alguns códigos Standards, mas basta apertar F8 que o cursor irá para o ponto
onde foi colocado o break.
Obs.: o que a execução de um programa já terminado faz é executá-lo novamente com os mesmos campos
de entrada enviados ao job, portanto, caso o programa tenha sido alterado, o debug também pode ter um
final diferente.
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 23 de 60
Doc: 654015960.doc
Selecione a linha com o programa que você deseja debugar e entre na guia como na figura abaixo
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 24 de 60
Doc: 654015960.doc
Clique em “Sim”
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 25 de 60
Doc: 654015960.doc
Alguns requerimentos pedem que criemos programas apenas para visualizar ou atualizar alguma tabela do
SAP (geralmente uma Z).
Por isso existe a ferramenta de visão de atualização que é gerada automaticamente na tabela, fazendo com
que o usuário possa ter acesso a tabela pela transação SM30(ou por uma transação Z do tipo de
parâmetros, como visto acima).
Na SE11, ir em utilitários e “Gerador de atualização de tabela”.
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 26 de 60
Doc: 654015960.doc
Preencha o grupo de autorização, caso não haja, por padrão é utilizado “&NC&”, depois o grupo de funções,
pode ser algum especifico para atualizadores de tabela ou não.
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 27 de 60
Doc: 654015960.doc
Para tela única (comumente utilizada), marque “nível único” e digite o número da tela no campo “tela de
síntese”.
Podemos também pegar um número de tela proposto pelo SAP, utilizado caso o grupo de funções já exista.
Assim pegamos uma tela que ainda não foi criada no grupo.
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 28 de 60
Doc: 654015960.doc
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 29 de 60
Doc: 654015960.doc
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 30 de 60
Doc: 654015960.doc
A SM30 da tabela terá duas telas, a de síntese que é como a tela individual e a tela de detalhes
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 31 de 60
Doc: 654015960.doc
Para implementar uma nota ou mesmo visualizá-la caso não se tenha acesso ao portal da SAP, podemos
utilizar a transação SNOTE
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 32 de 60
Doc: 654015960.doc
Obs: nem todas as notas aparem para o seu usuário, por isso podemos utilizar o browser de notas para
procurar checar se a nota a ser buscada já foi baixada e qual o status.
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 33 de 60
Doc: 654015960.doc
Existem vários status das notas baixadas, podemos visualizar qual o significado de cada um pelo caminho
abaixo
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 34 de 60
Doc: 654015960.doc
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 35 de 60
Doc: 654015960.doc
Notas podem ser apenas informativas, implementadas automaticamente ou para implementação manual.
Algumas notas só podem ser implementadas, depois de outras terem sido, podemos ver se á alguma nota
como pré-requisito no documento da nota.
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 36 de 60
Doc: 654015960.doc
Caso não se saiba quais as versões de componentes instalados no SAP, basta ir no menu Sistema, depois
em Status.
Na janela que se abre, clique no botão de informações de componentes, busque o componente e veja a
release
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 37 de 60
Doc: 654015960.doc
Basta dar dois cliques em algum desses índices para ver o conteúdo completo deles
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 38 de 60
Doc: 654015960.doc
Não podemos simplesmente colocar todos os campos de uma tabela como índice por que toda vez que ela
é atualizada, o índice também é atualizado, ou seja, quanto mais índices, mas demorado é para incluir,
modificar ou apagar dados de uma tabela.
Para verificar se um índice está sendo utilizado em uma seleção, podemos usar a transação ST05
Basta clicar em “Activate Trace”, executamos o programa desejado, clicamos em “Deactivate Trace” e por
ultimo “Display trace”.
Testando no programa abaixo
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 39 de 60
Doc: 654015960.doc
Procuramos a tabela selecionada na segunda coluna, veremos o select que é feito. Basta posicionar o
cursos na linha e clicar em “Explain”. Veremos dados como processamento, tempo, índice utilizado e etc...
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 40 de 60
Doc: 654015960.doc
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 41 de 60
Doc: 654015960.doc
Caso a seleção seja feita em campos de mais de um índice, podemos escolher qual utilizar através de
“hints” do Banco de Dados
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 42 de 60
Doc: 654015960.doc
Na seleção abaixo, o índice padrão a ser acessado é o SRV, mas através do hint, podemos trocar pelo Z01
O primeiro campo depois do parêntesis é a tabela e o segundo é o nome do índice, podemos ver isso na
parte de índices da tabela na SE11(como foi visto anteriormente).
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 43 de 60
Doc: 654015960.doc
9. Debug
Há duas telas de debug a clássica e a nova, para alterar entre uma e outra, basta ir no menu “depuração” e
em mudança para ABAP debugger novo ou clássico, dependendo de onde você está.
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 44 de 60
Doc: 654015960.doc
OBS: As dicas desse manual serão passadas com base no modo novo de debug, portanto podem funcionar de maneira
diferente quando executadas no modo clássico
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 45 de 60
Doc: 654015960.doc
Chamadas do programa
Para verificar quais os pontos já foram executas, podemos verificar as chamadas do programa que fica na
aba “DESKTOP 2”.
Podemos ver no exemplo abaixo que desde o inicio do processamento o programa já passou pelo form
F_BUSCA_DADOS e depois pelo F_BUSCA_EMPREGADO (onde está atualmente).
Podemos também ver o ponto em que a chamada foi feita, basta dar dois cliques em qualquer das linhas do
quadro direito.
No exemplo vamos clicar na linha de nível 1.
Assim podemos ver por onde o programa já passou
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 46 de 60
Doc: 654015960.doc
WATCHPOINTS
No exemplo que veremos, vamos criar um watchpoint na estrutura T_SEL-LOW, para que ao apertarmos
F8, o programa pare quando a estrutura for igual a “99991231” ( 31/12/9999).
Para isso, basta clicar no botão “Watchpoint”. Abrirá uma tela nova para que ele seja criado.
Clique no botão de condição adicional e coloque = ‘99991231’.
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 47 de 60
Doc: 654015960.doc
Quando apertamos F8, vemos que o programa para logo após a instrução que preenche a variável com o
valor desejado e é mostrada a mensagem de watchpoint obtido.
Caso não se coloque nada no parâmetro de condição adicional, o watchpoint será obtido sempre que a
variável mudar de valor, independente de qual seja.
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 48 de 60
Doc: 654015960.doc
BREAKPOINTS
Além dos breakpoints comuns que são colocados clicando na linha, podemos direcioná-los para que parem
em pontos específicos, mesmo não sabendo onde eles estão no programa.
Clique no menu “Pontos de parada” e vá em “criar pontos de paradas” (ou simplesmente aperte F9).
Na primeira aba podemos indicar comandos para que sempre pare quando os comandos indicados forem
atingidos. É muito utilizado para achar mensagens(basta colocar o comando MESSAGE)
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 49 de 60
Doc: 654015960.doc
A segunda aba é usada para parar em métodos de classes(programação OO). Colocamos a classe a qual o
método pertence, depois o método e setamos se a classe é global(vista pela transação SE24), se ela foi
criada dentro de um programa ou criada dentro de outra classe.
A terceira aba é utilizada para colocar breakpoints em chamadas de funções criadas pela SE37
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 50 de 60
Doc: 654015960.doc
A última aba serve para colocar pontos de paradas em linhas especificas dentro do programa
Para verificar o valor de uma variável, basta dor dois cliques nela. Para modificar, clicamos no ícone de
lápis a direita do valor, alterar o valor e apertar ENTER
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 51 de 60
Doc: 654015960.doc
Uma tabela interna pode conter uma estrutura contida nela ou ter que trabalhar com uma estrutura
declarada separadamente.
Caso você dê dois cliques em uma tabela e apareça o ícone , significa que ela contém uma estrutura
(também chamada de cabeçalho) contida na tabela.
Assim, caso você dê dois clique no ícone, seremos levados para a visualização da tabela, e caso demos
dois clique no nome, veremos a o cabeçalho dela
Tabela com
estrutura
Tabela sem
estrutura
Visão da tabela
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 52 de 60
Doc: 654015960.doc
Visão da estrutura
No select abaixo, podemos ver que iremos selecionar todos os registros da tabela PA0465 com o campo
SUBTY igual a 0006, ENDDA igual a 31/12/9999 e PERNR igual a todos os PERNRs da tabela interna
T_PA00_01. O resultado da seleção será transferido para a tabela interna T_PA0465
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 53 de 60
Doc: 654015960.doc
Sempre que o parâmetro “FOR ALL ENTRIES IN tabela_interna” for utilizado temos que verificar se a
tabela_interna está preenchida, caso contrario serão selecionados todos os registros.
Estrutura SYST
A estrutura SYST, ou simplesmente SY é uma estrutura padrão que está disponível em qualquer programa
do SAP, nela podemos verificar o usuário de execução, tempo de sistema, código de retorno e vários
outros.
Para verificar todos os campos, podemos ir na SE11 e entrar na categoria de dados SYST.
Os campos mais utilizados são:
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 54 de 60
Doc: 654015960.doc
SY-SUBRC
O campo SUBRC da estrutura SYST é utilizado para verificar o retorno de um determinado comando.
Cada comando tem seus códigos de retorno, mas geralmente “0” significa que ele ocorreu corretamente.
Para verificar os valores SUBRC específicos de algum comando, basta apertar F1 com o cursor dentro dele
e selecionar o termo mais adequado
Uma tela se abrirá com a explicação sobre o comando requerido e também os códigos de retorno que ele
pode utilizar.
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 55 de 60
Doc: 654015960.doc
No caso do READ TABLE verificamos é “0” significa que algum registro na foi encontrado na tabela interna,
“4” e “8” não foi encontrado nada.
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 56 de 60
Doc: 654015960.doc
10. ST22
A Transação ST22 é utilizada para verificar os erros em tempo de execução (Dumps) causados pelos
programas.
Há dois botões de seleção rápida (HOJE e ONTÉM) e mais o de deleção baseada nos parâmetros da tela
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 57 de 60
Doc: 654015960.doc
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 58 de 60
Doc: 654015960.doc
Na parte de “segmento de texto fonte” podemos visualizar a parte do programa que deu erro
No caso do VDIV, vemos que ele realmente está zerado. O valor válido é sempre o da primeira linha.
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 59 de 60
Doc: 654015960.doc
11. Padrões
Transações:
Programas:
Programas que forem refeitos para melhora de performance, devem ser copiados em um novo de
forma que o antigo se mantenha utilizável para fins comparativos.
O novo programa deve seguir o padrão, mas caso já esteja no padrão o nome deve ter o sufixo _OT
Módulos:
Marcelo M bovo
Doc. n.º:
Tecnologia da Informação
Versão 0
Treinamento ABAP Básico
Data: 01/09/2011 Fl.: 60 de 60
Doc: 654015960.doc
Tipos:
RP: Report
CM: Cargas massivas (Batch Input / Direct Input, BAPI)
AC: Programa de atualização de dados
MT: Manutenção de tabelas
BI: Interface BI
Elaboração do Documento
Elaborado por: 1ª Aprovação: 2ª Aprovação:
Marcelo M bovo