Escolar Documentos
Profissional Documentos
Cultura Documentos
COBOL
Dicionário de Dados SE11
É onde definimos tabelas, domínios, elementos de dados, índices, etc.
Oracle
DB2
SQL Server
SE11
Dicionário de Dados
Views
EX: MDRV
SE11
Tracing ST05
Em algumas situações não conseguimos encontrar qual a tabela é utilizada para exibir
informações na tela de uma transação, por tratar-se de uma estrutura, ou então
precisamos saber como uma determinada transação compôs o valor que esta sendo
apresentado, ou até mesmo a performance de leitura de uma tabela, para isso podemos
fazer um tracing do banco de dados e mapear quais os acessos da transação ao banco
de dados durante uma determinada operação.
Tracing
Para executar uma Trace, primeiramente, deve-se clicar no botão “Activate
Trace”, e então, executar a transação ou trecho no qual deseja buscar a
informação de tabela ou dados.
A Trace estará ativada, então qualquer ação realizada no SAP, seja execução
de transações ou em transações, estará gravando quais SQL são lidas.
Tracing
Execute a transação ou processo do qual deseja encontrar a tabela, neste
exemplo usaremos as XD03.
Tracing
Logo após executar o trecho desejado, clique em “Desactivate” para parar o
registro e em “Display Trace”. Surgirá uma janela com as restrições de período
e tabelas, então em Ok.
Tracing
Uma lista com todas tabelas executadas na Trace serão listadas, selecionando
uma linha e indo em GoTo->Display ABAP Source é possível ir para o código
onde trecho é utilizado.
Programas
Um programa ABAP por ser criado, editado ou exibido através das transações
SE38 ou SE80.
SE38
Programas
Um programa ABAP por estar atribuído a uma transação para execução pelo
usuário e pode ser visualizada pela SE93 ou acessado através da própria
transação no Menu Sistema->Status. Neste também pode ser visualizada a
Tela inicialização atribuída.
SE93
Programas
Através da SE38 e em exibir lista de objetos é possível visualizar toda a
composição de um programa ABAP.
SE38 /
SE80
Programas SE38
ALV
Existem várias maneiras de um ALV ser gerado, o mais comum é através do
comando: CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY’ ou através de
Programas Orientados a Objetos.
Mensagens
Mensagens - Na Classe de mensagem ZSD numero 000 temos a seguinte
mensagem: Apontamento de produção na ordem & maior ou igual a
quantidade.
No programa vemos uma sintaxe semelhante à abaixo:
MESSAGE E000 with ‘10’.
Onde o “E” significa: E = Erro
000 = número da mensagem
‘10’ = esse valor é substitui o “&” da mensagem contida na classe.
SE91
Comandos ABAP
Toda ação que será executada por programa são realizados através de
comandos. No entanto, há a necessidade de declarações de valores em
objetos para manipulação da informação, isto é, variáveis, tabelas, internas,...
• Principais Comandos:
Data Submit:
Tables Perform
Constant Call Screen
Range Call Function
Select Call Transaction
Read Table Commit and Wait
Loop
Insert/Modify
Delete
Append
Write
Comandos ABAP
• Valor de Retorno:
SYST – SY: Estrutura com valores de retorno do Sistema. Os comandos SY mais usuais
são:
SY-SUBRC: Retorna o valor execução de comandos ABAP. Sendo 0 quando o retorno é
verdadeiro, isto é, correto. Diferente de 0 valor falso, isto é, incorreto
SY-UCOMM: Retorna o comando de interação do usuário.
Transportes
Repositório de Objetos
Transportes
Ambientes
Transportes
SE09
Change Request
Transportes
SE09
Log de Transporte
Transportes
SE80
Versões de um objeto ABAP
Transportes
SE80
Versões de um objeto ABAP
Transportes
SE80
Comparando versões entre ambientes – DEV X QAS
Transportes
SE80
Comparando versões entre ambientes – DEV X PRD
Funções SE37
Funções são pequenos programas utilizados por vários programas para executar
determinadas tarefas, tais como, validar uma informação, executar determinado calculo e
retornar o valor, ect.
Tipos de Funções:
Módulo de Função Normal
Módulo de Acesso Remoto (RFC).
BAPI
Funções SE37
O Sistema SAP permite fazer a inserção códigos do cliente em alguns trechos de códigos
standard, são as chamadas Exits ou ampliações. Estas podem ser utilizadas para
modificação de dados, inserção de novos dados, inclusão de novas telas com chamadas
em transações standard, validar informações e outras funcionalidades atendem as
necessidade do cliente.
Principais tipos de Ampliações:
• User-Exits CMOD, SMOD,
• Field-Exits SE18, SE19 e
• Badis SE20.
Ampliações SE24
Business Add-Ins(BADI)
CL_EXITHANDLER=>GET_INSTANCE
Ampliações
Como localizar uma Exit? Pode-se localizar uma Exit através do SPRO, em cada modulo
tem a opção abaixo, ou ainda existe alguns programas Z’s que facilitam a localização.
Exemplo: Z_FIND_USEREXIT (o código fonte deste programa pode ser encontrado
facilmente na web).
Ampliações
Enhencement Point – São ponto dentro do código standard, que a SAP permite a
customização.
Para visualizar os pontos de ampliações disponíveis em uma include standard acessar a
transação SE38 clicar em em seguida -> Processar -> Operações de Ampliação ->
Visualizar pontos de Ampliação Implícito.
Onde mostrar as setinhas são os pontos possíveis para ampliações.
Carga de Dados (CALL TRANSACTION)
Tento esses pontos na transação SHDB será gerado o mapeamento, conforme abaixo,
vamos alterar a descrição de um material na MM02.
Transação SHDB, clicamos em nova gravação, e preenchemos o nome do registro e a
transação que utilizaremos para gravar
Carga de Dados (CALL TRANSACTION)
SHDB – Exemplo:
Carga de Dados (CALL TRANSACTION)
A transação irá gerar a tela abaixo onde temos em vermelho o nome do programa e a
tela, e temos em preto o nome do campo contido na tela juntamente com o valor do
campo durante a gravação
Carga de Dados (BAPI)
BAPI são funções criadas pela SAP que executam determinadas ações:
Exemplo:
BAPI_MATERIAL_SAVEDATA – Cadastra o material no SAP.
BAPI_SALESORDER_CREATEFROMDATA – Cria Ordem de Vendas.
Carga de Dados (BAPI)
BAPI
Debug
Esta ferramenta é muito importante na busca de erros, para encontrar valores
de variáveis ou tabelas dentro do código executado, facilitando nas alterações.
Existem várias formas de entrar no modo de depuração, o principal deles é o
comando /h na barra de comando durante a execução do programa. Outra
forma é diretamente dentro do código do programa.
SE38
Debug
Debug
Dentro do código é possível criar pontos de parada clicando na barra lateral ou
clicando em F9 e para torná-los fixos basta salvá-los. A través da seleção de
ponto de parada F9 é possível incluir pontos de parada múltiplo em
comandos(Message), performs, funções, ... Por meio do CTRL+F é possível
buscar variáveis e dados necessários.
Debug
É possível verificar o conteúdo das variáveis selecionadas, variáveis locais e
globais.
Os detalhes das variáveis podem ser visualizados clicando duas vezes nela e
seu valor alterado. Esta ferramenta é excelente para execução de testes com
valores diferentes.
Debug
Detalhes do debug
Durante o debug é possível ter informações do programa, include e evento em
processamento, retorno de execução e índice de tabelas internas. Também é
possível posicionar a tela no local onde o cursor esta executando.
Comandos
[FUNCTION]
Command=/H
Title=Debugger
Type=SystemCommand
C:\Users\DIEGO\
Desktop\Debug_popup.txt
Debug
Debug em Background
Para depurar um programa em Background, basta selecionar o Job e inserir o
código JDBG na barra de comando.
Debug
Watch Point
É uma tipo de ponto de parada, no entanto, busca uma condição lógica, isto é,
busca variáveis ou atribuições. Por exemplo, variável X ou variável X = 2. É
uma excelente forma de busca quando se possui a variável a ser buscada.
Objetivo
Informações para análise de impacto
Descrição do Processo
Regras de Negócio
Transações Envolvidas
Mapeamento dos campos (Tabelas / Estruturas)
Layouts de entrada e saída (Telas / Relatórios)
Parâmetros de Seleção
Dados para Testes e resultado esperado
Validações de campos com devidas mensagens
Seguir a lógica.
Outros Assuntos
• Tabelas Internas
Tabelas Internas
Neste exemplo está sendo lida a tabela interna TI_FLIGHT, seu conteúdo está
sendo armazenado na estrutura E_FLIGHT, e os valores estão sendo escritos
em tela.
Tabelas Internas
Principais operações com uma tabela interna
• Conceito IMPORTANTE
Estas alterações são feitas por funções chamadas BAPI (Business Aplication
Programing Interface).
As BAPIs são mantidas pela SAP, e contemplam todas as regras de negócio.
Caso a tabela em questão não possua uma BAPI, o consultor funcional deve gravar
uma sequência de passos de utilização de alguma transação que atualize esta
tabela, e passar para o consultor ABAP providenciar a implementação.
Exercícios
• Meu primeiro programa. Hello World!...
Acesse o editor ABAP (SE38) e codifique um programa executável (Report)
.
Dúvidas?