SlideShare una empresa de Scribd logo
1 de 283
ABAP - Advanced Business Application Programming
Academia ABAP
13/01/2014
Marcos Aurélio Paixão
ABAP - Advanced Business Application Programming
Agenda
• Objetivos do treinamento;
• Cronograma de atividades;
• Sobre a SAP;
• ERP (Enterprise Resource Planning);
• SAP ECC (ERP Central Components);
• Módulos SAP;
• ABAP (Advanced Business Application
Programming).
ABAP - Advanced Business Application Programming
Objetivos do treinamento
• Conhecer a linguagem de
programação ABAP;
• Pré-requisitos:
–Conhecimentos básicos aplicados em
lógica de programação;
–Conhecimento em linguagem SQL;
ABAP - Advanced Business Application Programming
Cronograma de atividades
• Segundas, quartas e sextas-feiras;
• De 19:00 às 22:00;
• A partir de 13/01/2014 a 10/02/2014.
ABAP - Advanced Business Application Programming
Sobre a SAP
• Os primeiros passos foram dados em
1972 por cinco engenheiros, ex-
funcionários da IBM na cidade de
Mannheim, na Alemanha;
• Decidiram a empresa de
desenvolvimento de sistemas: a SAP-
AG;
• Tinham a visão de desenvolver um
software aplicativo padrão para
processos de negócios em tempo real;
ABAP - Advanced Business Application Programming
Sobre a SAP
• A sigla SAP é uma abreviação, em
língua alemã, para o acrônimo
Sistemas, Aplicativos e Produtos para
Processamento de Dados em
português;
• AG é a abreviatura utilizada na
Alemanha para empresas do tipo
S/A.
ABAP - Advanced Business Application Programming
Sobre a SAP
• Em 1995, a SAP AG tinha mais de 6.600
colaboradores ao redor do mundo;
• Nesse mesmo ano, a SAP liderava o
mercado de softwares para ambiente
cliente/servidor;
• Nessa época, ocupava a quinta posição
no ranking das empresas de software no
mundo;
ABAP - Advanced Business Application Programming
Sobre a SAP
• Hoje, mais de 183.000 empresas
possuem o produto da SAP
implementado;
• Em 1995, com a chegada ao país, a
SAP Brasil tornou-se uma das
maiores subsidiárias no mundo.
ABAP - Advanced Business Application Programming
Sobre a SAP
ABAP - Advanced Business Application Programming
ERP (Enterprise Resource Planning)
• ERP é uma abreviação em língua
inglesa para o acrônimo
Planejamento dos Recursos
Empresariais;
• Por vezes, é citado como SIGE, ou
Sistema de Informações Gerenciais
em diversas literaturas em português;
ABAP - Advanced Business Application Programming
Arquitetura do SAP ECC
ABAP - Advanced Business Application Programming
Estrutura do Servidor de Aplicações
ABAP - Advanced Business Application Programming
Módulos SAP
ABAP - Advanced Business Application Programming
Módulos SAP
• Sales & Distribution
– Gerenciamento integrado
de todas tarefas para
vendas, faturamento e
expedição.
• Materials Management
– O processo completo de
compras, com suporte
integrado de resultados e
planejamento de produção.
ABAP - Advanced Business Application Programming
Módulos SAP
• Production Planning
–O sistema de PCP
ajustável para todos os
tipos de produção com
suporte integrado de
resultados e do
gerenciamento de
compras.
ABAP - Advanced Business Application Programming
Módulos SAP
• Quality Management
– O sistema para o controle
da qualidade assegurada
em todas as áreas da
cadeia logística.
• Plant Maintenance
– A solução independente de
indústria para a
administração da
manutenção de sistemas
produtivos.
ABAP - Advanced Business Application Programming
Módulos SAP
• Human Resources
Management
– Processamento integrado de
administração RH,
gerenciamento de tempo e
despesas de viagens e folha de
pagamento;
– Planejamento organizacional,
posicionamento,
desenvolvimento educacional e
controle do custo de pessoal em
um sistema totalmente integrado.
ABAP - Advanced Business Application Programming
Módulos SAP
• Financial Accounting
–Uma ampla visão do
desempenho que inclui
gerenciamento de caixa,
banco eletrônico,
controladoria financeira,
orçamento de caixa e
consolidação.
ABAP - Advanced Business Application Programming
Módulos SAP
• Controlling
–Contabilidade de custos,
desde a contabilidade de
centros de custos e de
elementos de custos até a
análise de lucratividade.
ABAP - Advanced Business Application Programming
Módulos SAP
• Asset Management
–O gerenciamento
completo de todos os
ativos fixos, desde da
contabilidade tradicional
de ativos e gerenciamento
técnico de ativos até a
controladoria de
investimentos.
ABAP - Advanced Business Application Programming
Módulos SAP
• Project Information
System
–A integração de todas as
áreas de serviços para o
planejamento de projetos,
processamento e
controle.
ABAP - Advanced Business Application Programming
Módulos SAP
• Business Workflow
–Definição de processos
de negócios, com
procedimentos de
aprovação envolvendo
simples liberação de
releases até atividades
mais complexas utilizadas
em processos industriais.
ABAP - Advanced Business Application Programming
Módulos SAP
• Executive Information
System
–Acesso rápido aos dados,
fatos e representações
gráficas para decisões
gerenciais.
ABAP - Advanced Business Application Programming
Linguagem de Programação ABAP
ABAP - Advanced Business Application Programming
Estrutura: ABAP Work Process
ABAP - Advanced Business Application Programming
Estrutura das Aplicações
ABAP - Advanced Business Application Programming
Sintaxe ABAP
• O código de um programa ABAP
consiste de comentários e
declarações da linguagem;
• Declarações ABAP começam sempre
com uma palavra-chave da
linguagem e são sempre finalizadas
com um ponto final “ . “;
ABAP - Advanced Business Application Programming
Sintaxe ABAP
• As declarações podem conter várias
linhas sendo que cada linha pode
conter várias declarações;
ABAP - Advanced Business Application Programming
Instruções ABAP
• Declarativas;
• Modularização;
• Controle;
• Chamada;
• Operacionais;
• Banco de Dados.
ABAP - Advanced Business Application Programming
Instruções ABAP
• Declarativas:
Essas instruções definem os tipos de
dados ou declaram objetos de dados
que são usados ​​por outras declarações
em um programa ou rotina.
–Ex: TYPES, DATA, TABLES.
ABAP - Advanced Business Application Programming
Instruções ABAP
• Modularização:
Definem o processamento de instruções em
bloco e são subdividas em:
– Eventos:
• são utilizados quando da execução de um
bloco em eventos definidos.
Ex: AT-SELECTION SCREEN, START-OF-SELECTION
– Definição de keywords:
• São utilizadas na definição de subrotinas ou
módulos de funções.
Ex: FUNCTION, FORM, MODULE.
ABAP - Advanced Business Application Programming
Instruções ABAP
• Controle:
Utilizados para o processamento em
bloco de acordo com certas condições.
–Ex: IF, WHILE, DO, CASE.
ABAP - Advanced Business Application Programming
Instruções ABAP
• Chamada:
Utilizados para a chamada de blocos ou
funções previamente escritas.
–Ex: PERFORM, CALL, SUBMIT,
LEAVE TO.
ABAP - Advanced Business Application Programming
Instruções ABAP
• Operacional:
São utilizadas para a manipulação de
dados de estruturas declarativas.
–Ex: WRITE, MOVE, ADD.
ABAP - Advanced Business Application Programming
Instruções ABAP
• Banco de dados:
Estas instruções usam a interface de
banco de dados para acessar as
tabelas do banco de dados central. Elas
são subdivididas em duas categorias:
–Open SQL
–Native SQL
ABAP - Advanced Business Application Programming
Instruções ABAP
• Open SQL:
Subconjunto da linguagem padrão
SQL92, que contém apenas a
linguagem de manipulação de dados
(DML). A interface de banco de dados
converte a instrução Open SQL para os
comandos relevantes do banco mais
relevante.
–Ex: SELECT, INSERT, DELETE.
ABAP - Advanced Business Application Programming
Instruções ABAP
• Native SQL:
São passadas diretamente da interface
de banco de dados para o banco sem
conversão.
Permite aproveitar benefícios do banco
de dados utilizado nas empresas,
incluindo a linguagem de definição de
dados (DDL).
–Ex: CREATE TABLE, CREATE INDEX.
ABAP - Advanced Business Application Programming
Tipos de dados
• Os tipos de dados podem ser dividos
em três categorias:
–Elementares
• Tamanho fixo;
• Tamanho variável.
–Referência;
–Complexos.
ABAP - Advanced Business Application Programming
Tipos Elementares (Tamanho Fixo)
Cód. Descrição
TEXTO
C Caracter
N Caracter Numérico
D Data
T Tempo
NUMÉRICO
I Inteiro
F Ponto flutuante
P Número empacotado
HEXADECIMAL
X Campo “Byte”
ABAP - Advanced Business Application Programming
Tipos Elementares (Tamanho Variável)
Cód. Descrição
STRING
STRING String a ser alocada na atribuição
XTRINGS Utilizadas para strings no formato byte
ABAP - Advanced Business Application Programming
Hierarquia (Tipos de Objetos)
ABAP - Advanced Business Application Programming
Hierarquia (Tipos de Objetos)
ABAP - Advanced Business Application Programming
Hierarquia (Tipos de Objetos)
ABAP - Advanced Business Application Programming
Tipos Complexos
• Tipos complexos são feitos de outros
tipos. Eles permitem gerenciar e
processar dados com um único nome.
• Não existem tipos complexos
predefinidos em ABAP, os quais devem
ser definidos nas aplicações ou no
dicionário ABAP.
• Os tipos estruturados são divididos entre
Estruturas e Tabelas Internas.
ABAP - Advanced Business Application Programming
Tipos Complexos: Estruturas
• Uma estrutura é uma seqüência de
quaisquer tipos elementares, tipos de
referência ou tipos de dados
complexos.
• As estruturas podem ser agrupadas
entre duas categorias:
–Nested and non-nested structures;
–Flat and deep structures.
ABAP - Advanced Business Application Programming
Tipos Complexos: Tabelas Internas
• Tabelas internas consistem em uma
série de linhas com um mesmo tipo de
dados.
– O tipo de linha, o qual pode ser de
quaisquer tipos elementares, tipos de
referência ou tipos de dados complexos;
– As chaves identificam as linhas da tabela,
podendo ser feitas com os campos
elementares na linha e podem ser de
restrição única ou não única.
ABAP - Advanced Business Application Programming
Tipos de Dados Complexos
• Estrutura com séries de tipos de
dados elementares de tamanho fixo
(flat structures).
ABAP - Advanced Business Application Programming
Tipos de Dados Complexos
• Uma tabela interna com tipos de
linhas com tipos elementares
(vector);
ABAP - Advanced Business Application Programming
Tipos de Dados Complexos
• Tabelas internas com as linhas com
estruturas não aninhadas ('real'
table);
ABAP - Advanced Business Application Programming
Tipos de Dados Complexos
• Estruturas com estruturas como seus
componentes (nested structures, flat
or deep);
ABAP - Advanced Business Application Programming
Tipos de Dados Complexos
• Estruturas contendo tabelas internas
como seus componentes (deep
structures);
ABAP - Advanced Business Application Programming
Tipos de Dados Complexos
• Tabelas internas com as linhas
contendo tabelas internas;
ABAP - Advanced Business Application Programming
Tipos por Referência
• Tipos por referência descrevem
objetos de dados que contêm
ponteiros para outros objetos (ABAP
Objects);
• Existe uma hierarquia para os tipos
por referência que descreve a
hierarquia de objetos com as
referências possíveis de definição.
ABAP - Advanced Business Application Programming
Banco de dados lógico
• São programas especiais em ABAP que
são responsáveis pela leitura dos dados
das tabelas do banco de dados
utilizando a linguagem Open SQL.
• São divididos em três seções:
– Estrutura;
– Seleção;
– Programa de banco de dados.
ABAP - Advanced Business Application Programming
Banco de dados lógico
• Estrutura
–A estrutura de um banco de dados
lógico determina quais as tabelas do
banco de dados podem ser acessadas.
Ela adota a hierarquia do banco de
dados definida por pelo relacionamento
de chaves estrangeiras;
–Realiza o controle da seqüência em que
as tabelas são acessadas.
ABAP - Advanced Business Application Programming
Banco de dados lógico
• Seleção
–Define os campos de entrada para a
seleção dos dados;
–O ambiente apresenta os campos na
tela de seleção quando é executado um
programa ligado a um banco de dados
lógico;
–Os campos correspondentes também
ficam disponíveis nos programas ABAP;
ABAP - Advanced Business Application Programming
Banco de dados lógico
• Programa de Banco de Dados
– O programa de banco de dados de um
banco de dados lógico é um repositório
para sub rotinas especiais, através das
quais os dados são lidos a partir das
tabelas do banco de dados.
– As sub rotinas são chamadas pelo
processador de relatórios no ambiente de
execução em uma seqüência pré-definida.
ABAP - Advanced Business Application Programming
Banco de dados lógico
ABAP - Advanced Business Application Programming
Banco de dados lógico
ABAP - Advanced Business Application Programming
Banco de dados lógico
• A principal utilização de banco de dados lógico é
preparar códigos que acessam os dados para
serem reutilizados;
• São configurados para obterem uma ótima
performance através de funções que garantem
segurança e proteção aos dados;
• É apropriado o uso do banco de dados lógico
sempre que as tabelas a serem lidas
correspondam ao fluxo:
SELEÇÃO > LEITURA > PROCESSAMENTO >
EXIBIÇÃO EM TELA DO RESULTADO.
ABAP - Advanced Business Application Programming
Acessando o aplicativo SAP
• Na área de trabalho, clicar sobre o
botão SAP Logon;
ABAP - Advanced Business Application Programming
Acessando o aplicativo SAP
• Em Conexões, com o botão direito,
clicar em Inserir entrada nova
ABAP - Advanced Business Application Programming
Acessando o aplicativo SAP
ABAP - Advanced Business Application Programming
Acessando o aplicativo SAP
ABAP - Advanced Business Application Programming
Editor ABAP
• O editor de programação ABAP/4 do
SAP pode ser encontrado através do
caminho :
Menu SAP > Ferramentas > ABAP Workbench >
Desenvolvimento > Editor ABAP
ABAP - Advanced Business Application Programming
Editor ABAP
ABAP - Advanced Business Application Programming
Editor ABAP
ABAP - Advanced Business Application Programming
Nomenclatura para programas SAP
• Existe um padrão de nomenclatura
que deve ser seguido, não só para
nome de programas, mas para todos
os desenvolvimentos no SAP R/3;
• Os nomes dos desenvolvimentos
começam sempre com Z ou Y.
ABAP - Advanced Business Application Programming
Convenções usadas
Símbolo Significado
Cautela
Exemplo de código
Nota importante
Recomendação
Sintaxe de comando
Dica
ABAP - Advanced Business Application Programming
Editor ABAP
VERIFICAR (CTRL + F2)
Verifica a sintaxe do programa Z_PROGRAMA_TESTE1.
ABAP - Advanced Business Application Programming
Editor ABAP
ATIVAR (SHIFT + F9)
Ativa o programa Z_PROGRAMA_TESTE1 para que o
mesmo possa ser utilizado.
ABAP - Advanced Business Application Programming
Editor ABAP
EXECUTAR (F8)
Executa o programa Z_PROGRAMA_TESTE1 com a última
versão ATIVA.
ABAP - Advanced Business Application Programming
Editor ABAP
LISTA DE UTILIZAÇÕES (CTRL + SHIFT + F3)
Exibe a utilização do programa Z_PROGRAMA_TESTE1
em toda a extensão do SAP.
ABAP - Advanced Business Application Programming
Editor ABAP
ANÁLISE DO AMBIENTE (SHIFT + F4)
Realiza uma completa varredura nas dependências de
classes, objetos, dicionários de dados, etc. do programa
Z_PROGRAMA_TESTE1 em relação à aplicação SAP.
ABAP - Advanced Business Application Programming
Editor ABAP
AJUDA ONLINE (CTRL + F8)
Termo de pesquisa para a documentação de palavra-
chave ABAP. É possível entrar uma ou várias palavras. A
pesquisa é independente de maiúsculas e minúsculas. * e
+ são caracteres de preenchimento para um ou vários
caracteres. Poderá ser efetuada um pesquisa de índice ou
uma pesquisa de texto integral.
ABAP - Advanced Business Application Programming
Editor ABAP
ELIMINAR (CTRL + F2)
Apaga o programa Z_PROGRAMA_TESTE1.
ABAP - Advanced Business Application Programming
Editor ABAP
COPIAR (CTRL + F5)
Copia todo o código do programa Z_PROGRAMA_TESTE1
para um programa de nome especificado pelo
programador.
ABAP - Advanced Business Application Programming
Editor ABAP
RENOMEAR (CTRL + F6)
Modifica o nome do programa Z_PROGRAMA_TESTE1
para um nome definido pelo programador.
ABAP - Advanced Business Application Programming
Editor ABAP
DEPURAÇÃO (CTRL + F5)
Executa Z_PROGRAMA_TESTE1 em modo de debugger,
fazendo com que o cursor de execução seja parado na
primeira linha declarativa do código.
ABAP - Advanced Business Application Programming
Editor ABAP
EXECUTAR C/ VARIANTE (SHIFT + F6)
Executa Z_PROGRAMA_TESTE1 com a variante
especificada pelo programador, desde que a mesma
tenha sido gravada anteriormente na aplicação.
ABAP - Advanced Business Application Programming
Editor ABAP
VARIANTES (CTRL + F1)
Cria as variantes que ficarão associadas ao programa
Z_PROGRAMA_TESTE1.
ABAP - Advanced Business Application Programming
Escrevendo o primeiro programa
• O programa será chamado de
ZREPORT01;
• O programa será do tipo Texto
Fonte;
• Botões para as ações possíveis:
Criar, Modificar e Exibir (somente
leitura);
• Clicar sobre o botão Criar.
ABAP - Advanced Business Application Programming
Escrevendo o primeiro programa
ABAP - Advanced Business Application Programming
Escrevendo o primeiro programa
ABAP - Advanced Business Application Programming
Escrevendo o primeiro programa
ABAP - Advanced Business Application Programming
Escrevendo o primeiro programa
ABAP - Advanced Business Application Programming
Entendendo o editor
EXIBIR <-> MODIFICAR ( CTRL + F1 )
Alterna entre exibir o código-fone (somente
leitura) e o modo de edição do mesmo.
ABAP - Advanced Business Application Programming
Entendendo o editor
ATIVO <-> INATIVO ( CTRL + F8 )
Alterna entre ativar ou inativar o programa.
ABAP - Advanced Business Application Programming
Entendendo o editor
OUTRO OBJETO... ( SHIFT + F5 )
Abre outro objeto no editor.
ABAP - Advanced Business Application Programming
Entendendo o editor
AMPLIAR ( SHIFT + F4 )
Expande a seleção para o botão de ATIVAR <->
DESATIVAR o código fonte.
ABAP - Advanced Business Application Programming
Entendendo o editor
VERIFICAR( CTRL + F2 )
Verifica a sintaxe do programa.
ABAP - Advanced Business Application Programming
Entendendo o editor
ATIVAR ( CTRL + F3 )
Ativa o programa para que o mesmo possa ser
executado.
Observar para o estado do report.
ABAP - Advanced Business Application Programming
Dica
• Quando este botão é clicado, aparece
uma janela para a seleção de todos
os programas ainda não ativos para o
usuário corrente;
• É sugerido o programa atual para a
seleção, porém o programador pode
escolher em ativar mais de um
programa simultaneamente.
ABAP - Advanced Business Application Programming
Tela de seleção (ATIVAR programas)
ABAP - Advanced Business Application Programming
Entendendo o editor
DIRETO ( F8 )
Executa a última versão ATIVA do programa.
ABAP - Advanced Business Application Programming
Entendendo o editor
LISTA DE UTILIZAÇÕES ( CTRL + SHIFT + F5 )
Lista das utilizações do programa no ambiente
SAP.
ABAP - Advanced Business Application Programming
Entendendo o editor
EXIBIR LISTA DE OBJETOS ( CTRL + SHIFT + F5 )
Exibe os objetos associados a este programa.
ABAP - Advanced Business Application Programming
Entendendo o editor
EXIBIR JANELA DE NAVEGAÇÃO
( CTRL + SHIFT + F5 )
Exibe o histórico de navegação para os arquivos
abertos pelo editor.
ABAP - Advanced Business Application Programming
Escrevendo o primeiro programa
AJUDA PARA... (CTRL + F8)
Termo de pesquisa para a documentação de
palavra-chave ABAP. É possível entrar uma ou
várias palavras. A pesquisa é independente de
maiúsculas e minúsculas. * e + são caracteres de
preenchimento para um ou vários caracteres.
Poderá ser efetuada um pesquisa de índice ou
uma pesquisa de texto integral.
ABAP - Advanced Business Application Programming
Entendendo o editor
DEFINIR/ELIMIAR PONTO DE PARADA SESSÃO
( CTRL + SHIFT + F12 )
Marca a parada na sessão a ser executada pelo
programador, desde que o programa esteja
aberto.
O programa irá parar a execução esperando uma
interação no ponto em que o cursor estiver
posicionado no editor.
ABAP - Advanced Business Application Programming
Entendendo o editor
DEFINIR/ELIMIAR PONTO DE PARADA EXTERNO
( CTRL + SHIFT + F9 )
Marca a parada a ser executada pelo
programador por um tempo previamente
determinado.
O tempo é informado para o programador na
barra de estado da aplicação.
ABAP - Advanced Business Application Programming
Entendendo o editor
ABAP - Advanced Business Application Programming
Entendendo o editor
DEFINIR/ELIMIAR PONTO DE PARADA EXTERNO
( CTRL + F6 )
Permite a seleção de modelos de código prontos
para serem devidamente adaptados para a
utilização.
Os códigos serão inseridos na posição atual do
cursor no editor.
ABAP - Advanced Business Application Programming
Entendendo o editor
ABAP - Advanced Business Application Programming
Entendendo o editor
PRETTY PRINTER
( SHIFT + F1 )
Realiza a formatação padrão a partir da
configuração definida na aplicação.
ABAP - Advanced Business Application Programming
Entendendo o editor
• Indicadores de linhas modificadas;
• Bookmarks;
• Separador de janela;
• Customização de cores;
• Complemento automático de códigos;
ABAP - Advanced Business Application Programming
Teclas de Atalho do Editor
• CTRL + Z
– Desfaz a última ação no editor;
• CTRL + Y
– Refaz a última ação no editor;
• CTRL + A
– Seleciona todo o texto no editor;
• CTRL + O
– Posiciona o cursor da linha ... ;
ABAP - Advanced Business Application Programming
Teclas de Atalho do Editor
• CTRL + ,
– Comenta as linhas selecionadas;
• CTRL + .
– Remove o comentário das linhas selecionadas;
• CTRL + 
– Comenta a linha na posição do cursor;
• CTRL + SHIFT + 
– Remove o comentário da linha na posição do
cursor ;
ABAP - Advanced Business Application Programming
Teclas de Atalho do Editor
• CTRL + SHIFT + T
– Copia a linha, na posição do cursor;
• CTRL + SHIFT + X
– Recorta a linha na posição do cursor;
• CTRL + SHIFT + L
– Deleta a linha na posição do cursor;
• CTRL + D
– Duplica a linha na posição do cursor;
ABAP - Advanced Business Application Programming
Teclas de Atalho do Editor
• CTRL + F
– Abre a janela para a pesquisa de texto;
• CTRL + G
– Após realizada a primeira pesquisa (CTRL+F), repete a
pesquisa a partir da posição do cursor;
• CTRL + SHIFT + G
– Após realizada a primeira pesquisa (CTRL+F), repete a
pesquisa a partir da posição anterior ao cursor;
• CTRL + H
– Abre a janela para a substituição do texto ou expressão
digitada no código-fonte;
ABAP - Advanced Business Application Programming
Teclas de Atalho do Editor
• CTRL + ALT + 8 (NUM)
– Move a linha para cima a partir da posição do
cursor;
• CTRL + ALT + 2 (NUM)
– Move a linha para baixo a partir da posição do
cursor;
• TAB
– Aumenta a indentação da seleção;
• SHIFT + TAB
– Recua a indentação da seleção;
ABAP - Advanced Business Application Programming
Teclas de Atalho do Editor
• CTRL + L
– Converte a seleção para letras minúsculas;
• CTRL + U
– Converte a seleção para letras maiúsculas;
• CTRL + K
– Inverte a seleção para Maiúsculas ou
Minúsculas;
ABAP - Advanced Business Application Programming
Teclas de Atalho do Editor
• CTRL + ALT + [0-9]
–Marca o índice do bookmark de 0 a 9;
• CTRL + [0-9]
–Acessa o índice do bookmark de 0 a 9;
ABAP - Advanced Business Application Programming
Teclas de Atalho do Editor
• CTRL + ALT + M
– Marca uma posição de bookmark na linha
(para navegação). É possível inserir N
marcações no editor
• CTRL + M
– Navega para o próximo bookmark;
• CTRL + SHIFT + M
– Navega para o bookmark anterior;
ABAP - Advanced Business Application Programming
Comentários no código
ABAP - Advanced Business Application Programming
Criando o primeiro programa
• Passo a passo para a criação de um
programa simples em ABAP;
• O programa será chamado de
Z_REPORT001;
• Escreverá em tela o texto “Hello
World”.
ABAP - Advanced Business Application Programming
Criando o primeiro programa
ABAP - Advanced Business Application Programming
Escrevendo texto na tela
ABAP - Advanced Business Application Programming
CONCATENATE
ABAP - Advanced Business Application Programming
CONCATENATE
ABAP - Advanced Business Application Programming
Estrutura de Controle: IF, ELSE...
ABAP - Advanced Business Application Programming
Operadores Lógicos de comparação
OPERADOR SIGNFICADO
EQ
IGUAL A
NE
DIFERENTE DE<>
><
LT
MENOR QUE<
LE
MENOR OU IGUAL A<=
GT
MAIOR QUE>
GE
MAIOR OU IGUAL A>=
ABAP - Advanced Business Application Programming
Exercício 1: Comparação de Strings
ABAP - Advanced Business Application Programming
Literais
• Literais são objetos sem referência
no código de um programa. Eles são
definidos diretamente por seus
valores;
• Os valores de um literal não podem
ser modificados;
• Aplicam-se aos tipos: numeric e text.
ABAP - Advanced Business Application Programming
Sintaxe
ABAP - Advanced Business Application Programming
Recomendação: Constantes
• Quando tratar-se de literais para
serem utilizados em códigos fontes,
sugere-se a utilização de constantes
a serem devidamente alocadas em
pontos específicos da memória;
• Uma vez declarada, o valor da
constantes não poderá ser
modificado.
ABAP - Advanced Business Application Programming
CONSTANTS
ABAP - Advanced Business Application Programming
CONSTANTS
ABAP - Advanced Business Application Programming
Text Symbols
• Os Símbolos de Texto são um objeto que
são gerados quando um programa é
iniciado no programa a partir de textos
presentes em um programa ABAP;
• São sempre associados aos tipos de
dados caracteres (c);
• Os tamanhos são definidos a partir do
cadastro dos elementos no programa.
ABAP - Advanced Business Application Programming
Text Symbols
• Com o editor ABAP (SE38) aberto:
ABAP - Advanced Business Application Programming
Text Symbols
ABAP - Advanced Business Application Programming
Text Symbols
ABAP - Advanced Business Application Programming
Text Symbols
ABAP - Advanced Business Application Programming
MESSAGE
ABAP - Advanced Business Application Programming
MESSAGE
ABAP - Advanced Business Application Programming
MESSAGE
ABAP - Advanced Business Application Programming
Operações Matemáticas Básicas
OPERADOR SIGNIFICADO
+ Adição
- Subtração
/ Divisão
* Multiplicação
DIV Divisão entre inteiros
MOD Resto da divisão entre inteiros
** Exponenciação
ABAP - Advanced Business Application Programming
Operações Matemáticas Básicas
• Também é possível utilizar as
operações através das instruções:
– ADD (adição);
–SUBTRACT (subtração);
–MULTIPLY (multiplicação);
– DIVIDE (divisão).
ABAP - Advanced Business Application Programming
ADD
ABAP - Advanced Business Application Programming
ADD
ABAP - Advanced Business Application Programming
ADD
ABAP - Advanced Business Application Programming
ADD
ABAP - Advanced Business Application Programming
Operações Matemáticas Básicas
OPERAÇÃO EXPR. MATEMÁTICA PALAVRAS CHAVES
ADIÇÃO <p> = <m> + <n> ADD <m> TO <n>
SUBTRAÇÃO <p> = <m> - <n> SUBTRACT <m> FROM <n>
MUTIPLICAÇÃO <p> = <m> * <n> MUTIPLY <m> BY <n>
DIVISÃO <p> = <m> / <n> DIVIDE <m> BY <n>
ABAP - Advanced Business Application Programming
Operações Aritméticas usando Estruturas
ABAP - Advanced Business Application Programming
Operações Aritméticas usando Estruturas
ABAP - Advanced Business Application Programming
MULTIPLY-CORRESPONDING
ABAP - Advanced Business Application Programming
Funções Matemáticas
FUNÇÃO SIGNIFICADO
ABS Valor absoluto de um argumento.
CEIL Menor parte inteira de um argumento.
FLOOR Maior parte inteira de um argumento.
TRUNC Parte inteira de um argumento.
FRAC Parte fracionária de um argumento.
ABAP - Advanced Business Application Programming
Funções Matemáticas
ABAP - Advanced Business Application Programming
Operações com Data
ABAP - Advanced Business Application Programming
TRY ... CATCH ... ENDTRY
ABAP - Advanced Business Application Programming
Tratamento de exceções
ABAP - Advanced Business Application Programming
Exercício: média de notas
• Dadas as quatro notas de um
determinado aluno, deverá ser calculada
a média aritmética das mesmas;
• Comparadas à média padrão, o
resultado deverá ser exibido em tela:
– APROVADO, se maior ou igual à média;
– REPROVADO, em caso de menor que a
média.
ABAP - Advanced Business Application Programming
Exercício: média de notas
ABAP - Advanced Business Application Programming
Parameters
ABAP - Advanced Business Application Programming
Exercício: Média ponderada
• Faça um algoritmo que leia três notas
de um aluno, calcule e escreva a
média final deste aluno.
• Considerar que a média é ponderada
e que o peso das notas é 2, 3 e 5.
Fórmula para o cálculo da média final
é:
ABAP - Advanced Business Application Programming
Exercício: Tipo de triângulo
• Escrever um algoritmo que leia três
valores inteiros e verifique se eles
podem ser os lados de um triângulo.
• Se forem, informar qual o tipo de
triângulo que eles formam: equilátero,
isóscele ou escaleno.
• Propriedade: o comprimento de cada
lado de um triângulo é menor do que a
soma dos comprimentos dos outros dois
lados.
ABAP - Advanced Business Application Programming
Exercício: Custo ao Consumidor
• O custo de um carro novo ao consumidor
é a soma do custo de fábrica com a
porcentagem do distribuidor e dos
impostos (aplicados ao custo de fábrica).
• Supondo que o percentual do distribuidor
seja de 28% e os impostos de 45%,
escrever um algoritmo para ler o custo
de fábrica de um carro, calcular e
escrever o custo final ao consumidor.
ABAP - Advanced Business Application Programming
Dicionário ABAP
• O dicionário ABAP descreve e
gerencia todas as definições de
dados utilizadas no sistema;
• O dicionário ABAP está
completamente integrado ao
ambiente de desenvolvimento ABAP;
ABAP - Advanced Business Application Programming
Dicionário ABAP
ABAP - Advanced Business Application Programming
Dicionário ABAP
• Os tipos de objetos do dicionário
incluem:
– Tabelas;
– Visões;
– Tipos:
• Elementos de dados;
• Estruturas;
• Tabelas de tipos.
– Domínios.
ABAP - Advanced Business Application Programming
Dicionário ABAP: Tipos de objetos
ABAP - Advanced Business Application Programming
Tabelas
• As tabelas podem ser definidas
independentes do banco de dados do
dicionário ABAP;
• Quando uma tabela é ativada, a definição
física da tabela é criada no banco de dados
para a definição previamente armazenada
no dicionário ABAP;
• A definição da tabela é traduzida a partir do
dicionário ABAP para a definição do banco
de dados, de acordo com o ambiente
configurado.
ABAP - Advanced Business Application Programming
Criando uma tabela no Dicionário ABAP
• Acessar a transação SE11;
• No campo Tab.banco dados, informar
a o nome da tabela com início Z ou Y
e sem caracteres especiais;
• Clicar sobre o botão Criar;
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
• Descrição breve
– Texto com a principal necessidade para a
criação da tabela;
• Classe de entrega
– A classe de entrega controla o transporte
de dados da tabela, no caso de instalação,
mudança de release, cópia de mandante,
e no caso de transporte entre sistemas de
cliente.
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
• Classe de entrega
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
• A - Tabela de aplicação (dados mestre e
de movimento);
• C - Tabela de cliente, os dados são
atualizados exclusivamente pelo cliente.
• L - Tabela para arquivar dados
temporários.
• G - Tabela de cliente, a SAP pode inserir
registros novos, mas não pode
sobregravar ou eliminar aqueles que já
existem.
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
• E - Tabela de sistema com conjuntos de
nomes próprios para entradas de cliente.
• S - Tabela de sistema, as modificações
de dados têm o status de modificações
de programa.
• W - Tabela de sistema (por exemplo,
tabela do ambiente de desenvolvimento),
cujos dados são transportados por
objetos de transporte próprios.
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
• Data Browser/atualiz.visão tabs.
–O código determina se a
exibição/atualização da tabela ou da
visão é possível com a ajuda das
ferramentas de atualização Data
Browser (transação SE16) e atualização
da visão de tabelas (transações SM30 e
SM31).
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
• Data Browser/atualiz.visão tabs.
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
• Exibição/atualização não permitidas
– A utilização de ferramentas standard de atualização de
tabelas não é permitida para este objeto Dictionary como,
por exemplo, a transação SE16.
• Exibição / atualização permitidas de forma
restringida
– A utilização de ferramentas standard de atualização de
tabelas é permitida de forma restringida: a transação
SE16 permite a exibição para este objeto Dictionary, mas
não permite uma atualização.
• Exibição/atualização permitidas
– A utilização de ferramentas standard de atualização de
tabelas é permitida: a transação SE16 permite a
atualização e a exibição para este objeto Dictionary.
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
• Clicar sobre o botão Salvar
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
• Criar como Objeto Local;
Barra de STATUS:
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
• Definição dos campos da tabela
ZTABELA1:
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
• A definição para os campos de tabela no
dicionário ABAP abragem:
– Nome do Campo: Máximo de 16 posições
e podem conter letras, dígitos e underlines.
O campo sempre deverá ser iniciado com
uma letra;
– Campo-chave: É necessário que os
campos-chave de uma tabela estejam
juntos no início da tabela, ou seja, um
campo que não seja campo-chave não
pode estar entre dois campos-chave.
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
– Tipo do Campo: Ao criar uma tabela no
banco de dados, a categoria de dados de
um campo de tabela é compilada em um
formato de dados correspondente do
sistema de banco de dados utilizado;
– Comprimento (nº de caracteres): Número
das posições válidas de um campo sem
caracteres de edição (por exemplo,
vírgulas ou pontos);
• As categorias de dados de cadeia (STRING,
RAWSTRING) têm um comprimento ilimitado.
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
–Casas decimais: Número das casas
decimais admitidas de um valor;
–Descrição breve: A descrição breve é
utilizada como texto explicativo na
criação de listas e de documentação
(Ajuda F1).
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
ABAP - Advanced Business Application Programming
Tabelas do Dicionário ABAP
• Para cada tabela transparente no
ABAP Dictionary devia existir uma
entrada nas opções técnicas (CTRL
+ SHIFT + F9);
• Esta entrada é utilizada durante a
criação da tabela no banco de dados
para o cálculo dos espaços de
memória físicos.
ABAP - Advanced Business Application Programming
Tabelas do Dicionário ABAP
ABAP - Advanced Business Application Programming
Tabelas do Dicionário ABAP
ABAP - Advanced Business Application Programming
Tabelas do Dicionário ABAP
• Categoria de dados
–Com o tipo de dados, determinar a nível
lógico, em que área física do banco de
dados (TABLESPACE) é arquivada a
tabela.
–Ao selecionar corretamente o tipo de
dados, a tabela é automaticamente
atribuída à área correta quando da
criação no banco de dados.
ABAP - Advanced Business Application Programming
Tabelas do Dicionário ABAP
• Os tipos de dados mais importantes
(à exceção de dados de sistema)
são:
–APPL0 (dados mestre);
–APPL1 (dados de movimento);
–APPL2 (dados organizacionais e de
customização).
ABAP - Advanced Business Application Programming
Tabelas do Dicionário ABAP
• Os Dados mestre são dados com
frequentes acessos de leitura, mas que
raramente são atualizados.
• Os Dados de movimento são dados que
são atualizados com frequência.
• Os Dados organizacionais e de
customização são dados indicados na
configuração do sistema, e que
raramente são modificados depois.
ABAP - Advanced Business Application Programming
Tabelas do Dicionário ABAP
• Estão à disposição do cliente outros
dois tipos de dados USR e USR1.
Estes estão previstos para
desenvolvimentos do usuário.
• As tabelas atribuídas a estes tipos de
dados são arquivadas em um
tablespace para desenvolvimentos de
cliente.
ABAP - Advanced Business Application Programming
Nota
Considerar que o tipo de dados só
afeta a gravação da tabela para os
sistemas de banco de dados
ORACLE e INFORMIX.
ABAP - Advanced Business Application Programming
Tabelas do Dicionário ABAP
• Para as tabelas transparentes,
escolher o tipo APPL1;
ABAP - Advanced Business Application Programming
Tabelas do Dicionário ABAP
• Categoria de tamanho
– Determinação da necessidade de espaço
prevista de uma tabela no banco de dados.
ABAP - Advanced Business Application Programming
Tabelas do Dicionário ABAP
ABAP - Advanced Business Application Programming
Tabelas do Dicionário ABAP
ABAP - Advanced Business Application Programming
Tabelas do Dicionário ABAP
ABAP - Advanced Business Application Programming
Tabelas do Dicionário ABAP
ABAP - Advanced Business Application Programming
Tabelas do Dicionário ABAP
• Categoria de ampliação:
– A seleção de uma categoria de ampliação
é necessária, uma vez que nas ampliações
de tabelas e de estruturas em programas
sem verificação unicode ativa,
principalmente nas verificações de tipo e
em conjunto com estruturas profundas,
podem ocorrer erros de sintaxe e em
tempo de execução.
ABAP - Advanced Business Application Programming
Tabelas do Dicionário ABAP
• Com a tabela aberta, escolher o
menu “Suplementos”;
ABAP - Advanced Business Application Programming
Tabelas do Dicionário ABAP
ABAP - Advanced Business Application Programming
Tabelas do Dicionário ABAP
Inserir o nome do Elemento de Dados
e, em seguida, executar um duplo
clique sobre o mesmo
ABAP - Advanced Business Application Programming
Tabelas do Dicionário ABAP
• Serão exibidas duas caixas de
confirmações, uma para salvar os
dados da tabela corrente e outra para
a criação do elemento de dados;
ABAP - Advanced Business Application Programming
Tabelas do Dicionário ABAP
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
• Serão pedidos os dados de
denominação do campo;
• Uma vez preenchida a denominação,
o comprimento será preenchido
automaticamente após o salvamento;
• Estes campos irão ser utilizados em
várias rotinas do SAP.
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
• Será necessário ATIVAR a tabela
para que as alterações sejam
refletidas no Banco de Dados;
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
• Será necessário informar os dados
do gerador de atualização para a
tabela;
• A definição da tabela deverá estar
aberta (SE11) e a mesma deverá
estar ATIVA.
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
• Propor nº(s) para telas de atualização
– Marca que o sistema deve propor o nº de tela livre seguinte. Se
for pretendido que o nº para a tela nova seja proposto, marcar
este campo.
• Intervalos livres de números para telas de atualização
– Código segundo o qual os intervalos de números para as telas
de atualização, devem ser exibidos. Se for pretendido exibir os
intervalos de números, marcar este campo. O nº livre seguinte
para a tela de atualização pode ser proposto ao usuário a partir
de um intervalo selecionado.
• Exibir números atribuídos das telas de atualização
– Código segundo o qual os números de tela das telas de
atualização já atribuídos, devem ser exibidos. Se for pretendido
exibir os números de tela já atribuídos, marcar este campo.
Esses números já não estão disponíveis para uma nova
atribuição.
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
• Aparecerá uma mensagem na barra
de status indicando o progresso da
operação;
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
• Será exibido o relatório com o
resultado da criação da tabela;
ABAP - Advanced Business Application Programming
Criação de uma tabela (SE11)
• Nomeação da Tabela;
• Classe de entrega/atualização;
• Configuração técnica;
• Categoria de ampliação.
Vídeo
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
ABAP - Advanced Business Application Programming
Definição dos campos da tabela
• Nomeação dos campos;
• Definição dos elementos de dados;
• Tipos de dados;
• Denominação dos campos;
• Ativação dos elementos de dados;
• Associação entre Campo e Elemento;
Vídeo
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
ABAP - Advanced Business Application Programming
Ativação da tabela
• Ativação da definição da tabela no
banco de dados;
• Definindo a estrutura de atualização
da tabela.
Vídeo
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
ABAP - Advanced Business Application Programming
Tabelas no Dicionário ABAP
ABAP - Advanced Business Application Programming
Chaves estrangeiras
ABAP - Advanced Business Application Programming
Exercício: Criação de Tabelas
• Criar uma tabela ZNOTASNN, onde o
termo NN indica o número do aluno
na Academia ABAP;
ABAP - Advanced Business Application Programming
Atualizando os dados de uma tabela
• É necessário que a tabela possua a
configuração para receber
atualização pelas interfaces da
aplicação standard do SAP;
• Transação SM30.
ABAP - Advanced Business Application Programming
Transação SM30
ABAP - Advanced Business Application Programming
Transação SM30
• Inserir o nome da Tabela/Visão;
• Escolher um dos botões Exibir ou
Atualizar;
• Caso a tabela seja global, será
exibida a mensagem:
ABAP - Advanced Business Application Programming
Transação SM30
ABAP - Advanced Business Application Programming
Exercício: Inserção de Dados
• Referente à tabela ZNOTASNN,
realizar a inserção de 10 alunos com
notas variadas;
• Não deverão serem preenchidos os
campos MEDIA e RESULTADO;
• Utilizar a transação SM30.
ABAP - Advanced Business Application Programming
Comandos de repetição
• Existem quatro estruturas de
repetição na linguagem ABAP:
–DO;
–WHILE;
–LOOP;
–SELECT.
ABAP - Advanced Business Application Programming
DO [ <n> TIMES ]
ABAP - Advanced Business Application Programming
SY-INDEX
O campo do sistema SY-INDEX
contém o número da interação
atual do loop.
Não estando em loop, o campo
estará preenchido com 0 (zero).
ABAP - Advanced Business Application Programming
Uso do SY-INDEX
ABAP - Advanced Business Application Programming
Uso do SY-INDEX
ABAP - Advanced Business Application Programming
Uso do SY-INDEX
ABAP - Advanced Business Application Programming
Uso do SY-INDEX
ABAP - Advanced Business Application Programming
Uso do SY-INDEX
ABAP - Advanced Business Application Programming
WHILE
ABAP - Advanced Business Application Programming
LOOP
ABAP - Advanced Business Application Programming
Work area
ABAP - Advanced Business Application Programming
SY-TABIX
O campo do sistema SY-TABIX
contém o número da linha atual
no loop.
ABAP - Advanced Business Application Programming
LOOP (Eventos)
ABAP - Advanced Business Application Programming
Declaração de Tabelas Internas
ABAP - Advanced Business Application Programming
Preenchendo os dados
ABAP - Advanced Business Application Programming
Open SQL
• Open SQL consiste em um conjunto
de sentenças ABAP que realizam
operações no banco de dados central
do SAP;
• Sentenças em Open SQL somente
podem trabalhar com tabelas de
banco de dados criadas no Dicionário
ABAP.
ABAP - Advanced Business Application Programming
Open SQL
COMANDO SIGNIFICADO
SELECT Realiza a leitura dos dados de uma
tabela.
INSERT Insere dados em uma tabela.
UPDATE Atualiza os dados em uma tabela.
MODIFY Insere os dados de uma tabela caso
não existam ou atualiza os dados
caso existam.
DELETE Apaga os dados de uma tabela
ABAP - Advanced Business Application Programming
SELECT
ABAP - Advanced Business Application Programming
Exibindo resultados SQL
• Para o exemplo realizado no
exercício de criação e atualização de
tabelas, um relatório de exemplo
seria:
ABAP - Advanced Business Application Programming
SY-TABIX
O campo do sistema SY-SUBRC
contém o indicativo de resultado
da consulta aos dados do banco.
Na situação em que foram
encontrados resultados, o
campos é preenchido com 0
(zero);
ABAP - Advanced Business Application Programming
SY-SUBRC
ABAP - Advanced Business Application Programming
Exercício: Apresentar resultado SQL
• Selecionar os dados das notas do
aluno a partir da tabela ZNOTASNN;
• Deverão ser exibidas as colunas
Matrícula, Nome, Notas[1-4], Média e
Resultado.
• A média o resultado deverão ser
calculados e apresentados no
relatório.
ABAP - Advanced Business Application Programming
CASE
ABAP - Advanced Business Application Programming
Funções
ABAP - Advanced Business Application Programming
Funções
• As funções no SAP são definidas
através da transação SE37;
• Uma vez definidos os parâmetros,
será necessário ATIVAR a função
para que a mesma seja utilizada em
toda a extensão da aplicação SAP.
ABAP - Advanced Business Application Programming
Funções
ABAP - Advanced Business Application Programming
Funções
ABAP - Advanced Business Application Programming
Funções
ABAP - Advanced Business Application Programming
Funções
• Os tipos serão apresentados
conforme os elementos do SAP;
ABAP - Advanced Business Application Programming
Funções
• Os elementos de dados que estão na
aplicação poderão ser pesquisados
em toda a extensão da aplicação
SAP;
• Para o exemplo de soma entre dois
inteiros, selecionar o tipo INTEGER;
ABAP - Advanced Business Application Programming
Funções
1
2
3
ABAP - Advanced Business Application Programming
Funções
• Valor proposto para parâmetro de
importação:
– É possível preencher parâmetros de
importação com valores propostos. Estes
podem ser: literais, constantes numéricas,
campos de sistema (SY-DATUM, SY-LANGU)
ou o campo predefinido SPACE;
– Caso seja indicado um valor proposto, ao
chamar, não é preciso preencher o parâmetro
com um valor atual;
– Utilizar aspas como caracteres de delimitação
para os literais.
ABAP - Advanced Business Application Programming
Funções
A opção “Opcional” deverá ser
marcada caso o parâmetro não seja
obrigatório à função.
ABAP - Advanced Business Application Programming
Funções
ABAP - Advanced Business Application Programming
Funções
• Chamada com transferência de valor
– A transferência do parâmetro é efetuada
com transferência de valor.
– Isto significa que o conteúdo do parâmetro
é copiado durante a transferência e
adiamento do parâmetro de chamada.
– Em estruturas que contêm tabelas, isto
pode levar a fortes reduções de
performance e, se possível, não deve ser
mais utilizado.
ABAP - Advanced Business Application Programming
Funções
ABAP - Advanced Business Application Programming
Funções
ABAP - Advanced Business Application Programming
Chamada de uma
função em um relatório
• Utilização do Modelo;
• Inserindo parâmetros de entrada;
• Exibindo o resultado do retorno da
função.
Vídeo
ABAP - Advanced Business Application Programming
Funções
ABAP - Advanced Business Application Programming
Exercício: criação de tabela
• Documento : INTEIRO(10);
• Item: INTEIRO(5);
• Material: INTEIRO(4);
• Quantidade: INTEIRO(2);
• Unitário: NUMERIC(2);
• Total: NUMERIC(2);
• Observação: Texto(255);
Documento e Item são chaves da
tabela.
Todos os campos são de
preenchimento obrigatório.
Os desenvolvimentos somente
poderão estarem salvos como
Objetos Locais.
ABAP - Advanced Business Application Programming
• Preencher os dados na tabela
conforme o indicado abaixo:
Exercício: preenchimento de dados
Doc. Item Mat Qtde Unit Total Obs
1000000001 00001 900001 10 10,00 0,00
1000000001 00002 900002 12 12,00 0,00
1000000002 00001 900001 9 100,00 0,00
1000000002 00002 900003 20 25,00 0,00
1000000002 00003 900003 9 50,00 0,00
ABAP - Advanced Business Application Programming
Visões
• Visões são agrupamentos de dados que,
geralmente, são compostas de tabelas
diferentes;
• Uma vez definida a visão, é possível
definir uma aplicação dependente da
combinação dos dados da mesma;
• Uma visão pode ser utilizada em
programas ABAP para a seleção de
dados.
ABAP - Advanced Business Application Programming
Visões
ABAP - Advanced Business Application Programming
Tipos
• Os tipos de dados definidos para os
usuários podem ser armazenados em
todos os programas do Dicionário
ABAP.
ABAP - Advanced Business Application Programming
Dicionário ABAP
ABAP - Advanced Business Application Programming
Domínio
• Um domínio define uma faixa de
valores e deve estar atribuído a um
elemento de dados;
ABAP - Advanced Business Application Programming
Domínio
ABAP - Advanced Business Application Programming
Domínio
• Os domínios são definidos através da
transação SE37;
ABAP - Advanced Business Application Programming
Domínio
1
2
3
ABAP - Advanced Business Application Programming
Domínio
ABAP - Advanced Business Application Programming
Domínio
ABAP - Advanced Business Application Programming
Domínio
ABAP - Advanced Business Application Programming
Domínio
ABAP - Advanced Business Application Programming
Atualização da tabela – SM30

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

SAP - NOÇÕES IMPORTANTES
SAP - NOÇÕES IMPORTANTESSAP - NOÇÕES IMPORTANTES
SAP - NOÇÕES IMPORTANTES
 
Material configurável MM-SD-PP
Material configurável MM-SD-PPMaterial configurável MM-SD-PP
Material configurável MM-SD-PP
 
Manual aa-imobilizado-depreciações
Manual aa-imobilizado-depreciaçõesManual aa-imobilizado-depreciações
Manual aa-imobilizado-depreciações
 
Transporte de Request - Tutorial ABAP
Transporte de Request - Tutorial ABAPTransporte de Request - Tutorial ABAP
Transporte de Request - Tutorial ABAP
 
Badi document
Badi documentBadi document
Badi document
 
ABAP for Beginners - www.sapdocs.info
ABAP for Beginners - www.sapdocs.infoABAP for Beginners - www.sapdocs.info
ABAP for Beginners - www.sapdocs.info
 
Sap scripts
Sap scriptsSap scripts
Sap scripts
 
Guia configuracao-fi
Guia configuracao-fiGuia configuracao-fi
Guia configuracao-fi
 
ABAP Programming Overview
ABAP Programming OverviewABAP Programming Overview
ABAP Programming Overview
 
User exits
User exitsUser exits
User exits
 
Customizando status do usuário para ordem de produção
Customizando status do usuário para ordem de produçãoCustomizando status do usuário para ordem de produção
Customizando status do usuário para ordem de produção
 
Treinamento pricing
Treinamento pricingTreinamento pricing
Treinamento pricing
 
Module pool programming
Module pool programmingModule pool programming
Module pool programming
 
Sap abap part1
Sap abap part1Sap abap part1
Sap abap part1
 
SAP-ABAP/4@e_max
SAP-ABAP/4@e_maxSAP-ABAP/4@e_max
SAP-ABAP/4@e_max
 
Abap function module help
Abap function module helpAbap function module help
Abap function module help
 
Sap abap
Sap abapSap abap
Sap abap
 
Sap abap-data structures and internal tables
Sap abap-data structures and internal tablesSap abap-data structures and internal tables
Sap abap-data structures and internal tables
 
Workflow Part1 1
Workflow Part1 1Workflow Part1 1
Workflow Part1 1
 
Apresentacao geral sap r3
Apresentacao geral sap r3Apresentacao geral sap r3
Apresentacao geral sap r3
 

Destacado

Dt campus party_denise_eler3
Dt campus party_denise_eler3Dt campus party_denise_eler3
Dt campus party_denise_eler3Denise Eler
 
Visao Geral Sistema ERP SAP
Visao Geral  Sistema ERP SAPVisao Geral  Sistema ERP SAP
Visao Geral Sistema ERP SAPLaura Lou
 
Case Disney Prof. gil giardelli
Case Disney Prof. gil giardelli Case Disney Prof. gil giardelli
Case Disney Prof. gil giardelli Gil Giardelli
 
HSM Expo 2017 | Insights do primeiro dia [6 de novembro]
HSM Expo 2017 | Insights do primeiro dia [6 de novembro]HSM Expo 2017 | Insights do primeiro dia [6 de novembro]
HSM Expo 2017 | Insights do primeiro dia [6 de novembro]Karlo Medeiros
 
LICITAÇÕES E OS BENEFÍCIOS PARA AS MICRO E PEQUENAS EMPRESAS LEI 123/06 E LC ...
LICITAÇÕES E OS BENEFÍCIOS PARA AS MICRO E PEQUENAS EMPRESAS LEI 123/06 E LC ...LICITAÇÕES E OS BENEFÍCIOS PARA AS MICRO E PEQUENAS EMPRESAS LEI 123/06 E LC ...
LICITAÇÕES E OS BENEFÍCIOS PARA AS MICRO E PEQUENAS EMPRESAS LEI 123/06 E LC ...Dawison Calheiros
 
A era digital com gil giardelli
A era digital com gil giardelliA era digital com gil giardelli
A era digital com gil giardelliGil Giardelli
 
Mapa Conceitual: Cuidado de si e mundo distribuido #ESTAR EM REDE #LINGUAGEM
Mapa Conceitual:  Cuidado de si  e mundo distribuido #ESTAR EM REDE #LINGUAGEMMapa Conceitual:  Cuidado de si  e mundo distribuido #ESTAR EM REDE #LINGUAGEM
Mapa Conceitual: Cuidado de si e mundo distribuido #ESTAR EM REDE #LINGUAGEMDrica Guzzi
 
Juarez Machado - Talento, determinação e paixão que rompem fronteiras
Juarez Machado - Talento, determinação e paixão que rompem fronteirasJuarez Machado - Talento, determinação e paixão que rompem fronteiras
Juarez Machado - Talento, determinação e paixão que rompem fronteirasExpoGestão
 
Participação Pública, Comunicação e Inclusão Digital
Participação Pública, Comunicação e Inclusão DigitalParticipação Pública, Comunicação e Inclusão Digital
Participação Pública, Comunicação e Inclusão DigitalDrica Guzzi
 
Fluig - Plataforma fluig - Fluig + SAP
Fluig - Plataforma fluig - Fluig + SAPFluig - Plataforma fluig - Fluig + SAP
Fluig - Plataforma fluig - Fluig + SAPFluig
 
Cenário Apple
Cenário AppleCenário Apple
Cenário AppleLaura Lou
 
WebExpoForum 2012
WebExpoForum 2012WebExpoForum 2012
WebExpoForum 2012Drica Guzzi
 
Cris Palmaka - Negócios mais rápidos, mais inteligentes e mais simples
Cris Palmaka - Negócios mais rápidos, mais inteligentes e mais simplesCris Palmaka - Negócios mais rápidos, mais inteligentes e mais simples
Cris Palmaka - Negócios mais rápidos, mais inteligentes e mais simplesExpoGestão
 
Design Thinking e Inovação Sustentável
Design Thinking e Inovação SustentávelDesign Thinking e Inovação Sustentável
Design Thinking e Inovação SustentávelDenise Eler
 

Destacado (19)

Dt campus party_denise_eler3
Dt campus party_denise_eler3Dt campus party_denise_eler3
Dt campus party_denise_eler3
 
Visao Geral Sistema ERP SAP
Visao Geral  Sistema ERP SAPVisao Geral  Sistema ERP SAP
Visao Geral Sistema ERP SAP
 
Case Disney Prof. gil giardelli
Case Disney Prof. gil giardelli Case Disney Prof. gil giardelli
Case Disney Prof. gil giardelli
 
HSM Expo 2017 | Insights do primeiro dia [6 de novembro]
HSM Expo 2017 | Insights do primeiro dia [6 de novembro]HSM Expo 2017 | Insights do primeiro dia [6 de novembro]
HSM Expo 2017 | Insights do primeiro dia [6 de novembro]
 
LICITAÇÕES E OS BENEFÍCIOS PARA AS MICRO E PEQUENAS EMPRESAS LEI 123/06 E LC ...
LICITAÇÕES E OS BENEFÍCIOS PARA AS MICRO E PEQUENAS EMPRESAS LEI 123/06 E LC ...LICITAÇÕES E OS BENEFÍCIOS PARA AS MICRO E PEQUENAS EMPRESAS LEI 123/06 E LC ...
LICITAÇÕES E OS BENEFÍCIOS PARA AS MICRO E PEQUENAS EMPRESAS LEI 123/06 E LC ...
 
A era digital com gil giardelli
A era digital com gil giardelliA era digital com gil giardelli
A era digital com gil giardelli
 
Solution manager sap
Solution manager sapSolution manager sap
Solution manager sap
 
Mapa Conceitual: Cuidado de si e mundo distribuido #ESTAR EM REDE #LINGUAGEM
Mapa Conceitual:  Cuidado de si  e mundo distribuido #ESTAR EM REDE #LINGUAGEMMapa Conceitual:  Cuidado de si  e mundo distribuido #ESTAR EM REDE #LINGUAGEM
Mapa Conceitual: Cuidado de si e mundo distribuido #ESTAR EM REDE #LINGUAGEM
 
Juarez Machado - Talento, determinação e paixão que rompem fronteiras
Juarez Machado - Talento, determinação e paixão que rompem fronteirasJuarez Machado - Talento, determinação e paixão que rompem fronteiras
Juarez Machado - Talento, determinação e paixão que rompem fronteiras
 
Participação Pública, Comunicação e Inclusão Digital
Participação Pública, Comunicação e Inclusão DigitalParticipação Pública, Comunicação e Inclusão Digital
Participação Pública, Comunicação e Inclusão Digital
 
Sap treinamento
Sap treinamentoSap treinamento
Sap treinamento
 
Fluig - Plataforma fluig - Fluig + SAP
Fluig - Plataforma fluig - Fluig + SAPFluig - Plataforma fluig - Fluig + SAP
Fluig - Plataforma fluig - Fluig + SAP
 
Cenário Apple
Cenário AppleCenário Apple
Cenário Apple
 
WebExpoForum 2012
WebExpoForum 2012WebExpoForum 2012
WebExpoForum 2012
 
Balanced scorecard (BSC)
Balanced scorecard (BSC)Balanced scorecard (BSC)
Balanced scorecard (BSC)
 
Cris Palmaka - Negócios mais rápidos, mais inteligentes e mais simples
Cris Palmaka - Negócios mais rápidos, mais inteligentes e mais simplesCris Palmaka - Negócios mais rápidos, mais inteligentes e mais simples
Cris Palmaka - Negócios mais rápidos, mais inteligentes e mais simples
 
Mapas Conceituais Exemplos
Mapas Conceituais   ExemplosMapas Conceituais   Exemplos
Mapas Conceituais Exemplos
 
Design Thinking e Inovação Sustentável
Design Thinking e Inovação SustentávelDesign Thinking e Inovação Sustentável
Design Thinking e Inovação Sustentável
 
SlideShare 101
SlideShare 101SlideShare 101
SlideShare 101
 

Similar a Treinamento SAP ABAP

Introdução ao sap senac rs_12_06_2012
Introdução ao sap senac rs_12_06_2012Introdução ao sap senac rs_12_06_2012
Introdução ao sap senac rs_12_06_2012guisester
 
Introdução ao SAP
Introdução ao SAPIntrodução ao SAP
Introdução ao SAPilegra
 
Conceitos de ERP -- Da introdução até a implementação
Conceitos de ERP -- Da introdução até a implementaçãoConceitos de ERP -- Da introdução até a implementação
Conceitos de ERP -- Da introdução até a implementaçãoLuisRoberto96
 
ITSS Trainning | Curso de SAP ABAP Foundations
ITSS Trainning | Curso de SAP ABAP FoundationsITSS Trainning | Curso de SAP ABAP Foundations
ITSS Trainning | Curso de SAP ABAP FoundationsCharles Aragão
 
ITSS Trainning | Curso de SAP ABAP Foundations
ITSS Trainning | Curso de SAP ABAP FoundationsITSS Trainning | Curso de SAP ABAP Foundations
ITSS Trainning | Curso de SAP ABAP FoundationsCharles Aragão
 
ARE3 Consulting - Thinking beyond it!!
ARE3 Consulting - Thinking beyond it!!ARE3 Consulting - Thinking beyond it!!
ARE3 Consulting - Thinking beyond it!!sagwi
 
Apositla sap curso_trainning
Apositla sap curso_trainningApositla sap curso_trainning
Apositla sap curso_trainningJohn Weverton
 
Avelor JUL2011
Avelor  JUL2011Avelor  JUL2011
Avelor JUL2011Avelor
 
GTISUL - ENCONTRO CIOS RS - V2
GTISUL - ENCONTRO CIOS RS - V2GTISUL - ENCONTRO CIOS RS - V2
GTISUL - ENCONTRO CIOS RS - V2Antonio Andrade
 
Apresentaçào Institucional da empresa SC IT - services & Consulting
Apresentaçào Institucional da empresa SC IT - services & ConsultingApresentaçào Institucional da empresa SC IT - services & Consulting
Apresentaçào Institucional da empresa SC IT - services & Consultingscconsulting
 
Institucional SC Consulting
Institucional SC ConsultingInstitucional SC Consulting
Institucional SC Consultingscconsulting
 
Solução ETZ para Planejamento Financeiro
Solução ETZ para Planejamento FinanceiroSolução ETZ para Planejamento Financeiro
Solução ETZ para Planejamento FinanceiroUbiratan Mascarenhas
 
Infoschema - Company Overview
Infoschema - Company OverviewInfoschema - Company Overview
Infoschema - Company OverviewRenilton Oliveira
 
SAP - Automação de Força de Vendas
SAP - Automação de Força de VendasSAP - Automação de Força de Vendas
SAP - Automação de Força de VendasRenilton Oliveira
 
SAP na Nuvem da AWS - Benefícios de Negócio
SAP na Nuvem da AWS - Benefícios de NegócioSAP na Nuvem da AWS - Benefícios de Negócio
SAP na Nuvem da AWS - Benefícios de NegócioAmazon Web Services LATAM
 
O próximo grande passo na cloud erp
O próximo grande passo na cloud erpO próximo grande passo na cloud erp
O próximo grande passo na cloud erpPaulo Russo
 
SAP - Integração e mobilidade em tempo real
SAP - Integração e mobilidade em tempo realSAP - Integração e mobilidade em tempo real
SAP - Integração e mobilidade em tempo realRenilton Oliveira
 

Similar a Treinamento SAP ABAP (20)

Introdução ao sap senac rs_12_06_2012
Introdução ao sap senac rs_12_06_2012Introdução ao sap senac rs_12_06_2012
Introdução ao sap senac rs_12_06_2012
 
Introdução ao SAP
Introdução ao SAPIntrodução ao SAP
Introdução ao SAP
 
Conceitos de ERP -- Da introdução até a implementação
Conceitos de ERP -- Da introdução até a implementaçãoConceitos de ERP -- Da introdução até a implementação
Conceitos de ERP -- Da introdução até a implementação
 
ITSS Trainning | Curso de SAP ABAP Foundations
ITSS Trainning | Curso de SAP ABAP FoundationsITSS Trainning | Curso de SAP ABAP Foundations
ITSS Trainning | Curso de SAP ABAP Foundations
 
ITSS Trainning | Curso de SAP ABAP Foundations
ITSS Trainning | Curso de SAP ABAP FoundationsITSS Trainning | Curso de SAP ABAP Foundations
ITSS Trainning | Curso de SAP ABAP Foundations
 
ARE3 Consulting - Thinking beyond it!!
ARE3 Consulting - Thinking beyond it!!ARE3 Consulting - Thinking beyond it!!
ARE3 Consulting - Thinking beyond it!!
 
Apositla sap curso_trainning
Apositla sap curso_trainningApositla sap curso_trainning
Apositla sap curso_trainning
 
Avelor JUL2011
Avelor  JUL2011Avelor  JUL2011
Avelor JUL2011
 
GTISUL - ENCONTRO CIOS RS - V2
GTISUL - ENCONTRO CIOS RS - V2GTISUL - ENCONTRO CIOS RS - V2
GTISUL - ENCONTRO CIOS RS - V2
 
Apresentaçào Institucional da empresa SC IT - services & Consulting
Apresentaçào Institucional da empresa SC IT - services & ConsultingApresentaçào Institucional da empresa SC IT - services & Consulting
Apresentaçào Institucional da empresa SC IT - services & Consulting
 
Institucional SC Consulting
Institucional SC ConsultingInstitucional SC Consulting
Institucional SC Consulting
 
Solução ETZ para Planejamento Financeiro
Solução ETZ para Planejamento FinanceiroSolução ETZ para Planejamento Financeiro
Solução ETZ para Planejamento Financeiro
 
APF
APFAPF
APF
 
Infoschema - Company Overview
Infoschema - Company OverviewInfoschema - Company Overview
Infoschema - Company Overview
 
CODE RACE 2015
CODE RACE 2015CODE RACE 2015
CODE RACE 2015
 
SAP - Automação de Força de Vendas
SAP - Automação de Força de VendasSAP - Automação de Força de Vendas
SAP - Automação de Força de Vendas
 
Insight inc institucional
Insight inc institucionalInsight inc institucional
Insight inc institucional
 
SAP na Nuvem da AWS - Benefícios de Negócio
SAP na Nuvem da AWS - Benefícios de NegócioSAP na Nuvem da AWS - Benefícios de Negócio
SAP na Nuvem da AWS - Benefícios de Negócio
 
O próximo grande passo na cloud erp
O próximo grande passo na cloud erpO próximo grande passo na cloud erp
O próximo grande passo na cloud erp
 
SAP - Integração e mobilidade em tempo real
SAP - Integração e mobilidade em tempo realSAP - Integração e mobilidade em tempo real
SAP - Integração e mobilidade em tempo real
 

Treinamento SAP ABAP

  • 1. ABAP - Advanced Business Application Programming Academia ABAP 13/01/2014 Marcos Aurélio Paixão
  • 2. ABAP - Advanced Business Application Programming Agenda • Objetivos do treinamento; • Cronograma de atividades; • Sobre a SAP; • ERP (Enterprise Resource Planning); • SAP ECC (ERP Central Components); • Módulos SAP; • ABAP (Advanced Business Application Programming).
  • 3. ABAP - Advanced Business Application Programming Objetivos do treinamento • Conhecer a linguagem de programação ABAP; • Pré-requisitos: –Conhecimentos básicos aplicados em lógica de programação; –Conhecimento em linguagem SQL;
  • 4. ABAP - Advanced Business Application Programming Cronograma de atividades • Segundas, quartas e sextas-feiras; • De 19:00 às 22:00; • A partir de 13/01/2014 a 10/02/2014.
  • 5. ABAP - Advanced Business Application Programming Sobre a SAP • Os primeiros passos foram dados em 1972 por cinco engenheiros, ex- funcionários da IBM na cidade de Mannheim, na Alemanha; • Decidiram a empresa de desenvolvimento de sistemas: a SAP- AG; • Tinham a visão de desenvolver um software aplicativo padrão para processos de negócios em tempo real;
  • 6. ABAP - Advanced Business Application Programming Sobre a SAP • A sigla SAP é uma abreviação, em língua alemã, para o acrônimo Sistemas, Aplicativos e Produtos para Processamento de Dados em português; • AG é a abreviatura utilizada na Alemanha para empresas do tipo S/A.
  • 7. ABAP - Advanced Business Application Programming Sobre a SAP • Em 1995, a SAP AG tinha mais de 6.600 colaboradores ao redor do mundo; • Nesse mesmo ano, a SAP liderava o mercado de softwares para ambiente cliente/servidor; • Nessa época, ocupava a quinta posição no ranking das empresas de software no mundo;
  • 8. ABAP - Advanced Business Application Programming Sobre a SAP • Hoje, mais de 183.000 empresas possuem o produto da SAP implementado; • Em 1995, com a chegada ao país, a SAP Brasil tornou-se uma das maiores subsidiárias no mundo.
  • 9. ABAP - Advanced Business Application Programming Sobre a SAP
  • 10. ABAP - Advanced Business Application Programming ERP (Enterprise Resource Planning) • ERP é uma abreviação em língua inglesa para o acrônimo Planejamento dos Recursos Empresariais; • Por vezes, é citado como SIGE, ou Sistema de Informações Gerenciais em diversas literaturas em português;
  • 11. ABAP - Advanced Business Application Programming Arquitetura do SAP ECC
  • 12. ABAP - Advanced Business Application Programming Estrutura do Servidor de Aplicações
  • 13. ABAP - Advanced Business Application Programming Módulos SAP
  • 14. ABAP - Advanced Business Application Programming Módulos SAP • Sales & Distribution – Gerenciamento integrado de todas tarefas para vendas, faturamento e expedição. • Materials Management – O processo completo de compras, com suporte integrado de resultados e planejamento de produção.
  • 15. ABAP - Advanced Business Application Programming Módulos SAP • Production Planning –O sistema de PCP ajustável para todos os tipos de produção com suporte integrado de resultados e do gerenciamento de compras.
  • 16. ABAP - Advanced Business Application Programming Módulos SAP • Quality Management – O sistema para o controle da qualidade assegurada em todas as áreas da cadeia logística. • Plant Maintenance – A solução independente de indústria para a administração da manutenção de sistemas produtivos.
  • 17. ABAP - Advanced Business Application Programming Módulos SAP • Human Resources Management – Processamento integrado de administração RH, gerenciamento de tempo e despesas de viagens e folha de pagamento; – Planejamento organizacional, posicionamento, desenvolvimento educacional e controle do custo de pessoal em um sistema totalmente integrado.
  • 18. ABAP - Advanced Business Application Programming Módulos SAP • Financial Accounting –Uma ampla visão do desempenho que inclui gerenciamento de caixa, banco eletrônico, controladoria financeira, orçamento de caixa e consolidação.
  • 19. ABAP - Advanced Business Application Programming Módulos SAP • Controlling –Contabilidade de custos, desde a contabilidade de centros de custos e de elementos de custos até a análise de lucratividade.
  • 20. ABAP - Advanced Business Application Programming Módulos SAP • Asset Management –O gerenciamento completo de todos os ativos fixos, desde da contabilidade tradicional de ativos e gerenciamento técnico de ativos até a controladoria de investimentos.
  • 21. ABAP - Advanced Business Application Programming Módulos SAP • Project Information System –A integração de todas as áreas de serviços para o planejamento de projetos, processamento e controle.
  • 22. ABAP - Advanced Business Application Programming Módulos SAP • Business Workflow –Definição de processos de negócios, com procedimentos de aprovação envolvendo simples liberação de releases até atividades mais complexas utilizadas em processos industriais.
  • 23. ABAP - Advanced Business Application Programming Módulos SAP • Executive Information System –Acesso rápido aos dados, fatos e representações gráficas para decisões gerenciais.
  • 24. ABAP - Advanced Business Application Programming Linguagem de Programação ABAP
  • 25. ABAP - Advanced Business Application Programming Estrutura: ABAP Work Process
  • 26. ABAP - Advanced Business Application Programming Estrutura das Aplicações
  • 27. ABAP - Advanced Business Application Programming Sintaxe ABAP • O código de um programa ABAP consiste de comentários e declarações da linguagem; • Declarações ABAP começam sempre com uma palavra-chave da linguagem e são sempre finalizadas com um ponto final “ . “;
  • 28. ABAP - Advanced Business Application Programming Sintaxe ABAP • As declarações podem conter várias linhas sendo que cada linha pode conter várias declarações;
  • 29. ABAP - Advanced Business Application Programming Instruções ABAP • Declarativas; • Modularização; • Controle; • Chamada; • Operacionais; • Banco de Dados.
  • 30. ABAP - Advanced Business Application Programming Instruções ABAP • Declarativas: Essas instruções definem os tipos de dados ou declaram objetos de dados que são usados ​​por outras declarações em um programa ou rotina. –Ex: TYPES, DATA, TABLES.
  • 31. ABAP - Advanced Business Application Programming Instruções ABAP • Modularização: Definem o processamento de instruções em bloco e são subdividas em: – Eventos: • são utilizados quando da execução de um bloco em eventos definidos. Ex: AT-SELECTION SCREEN, START-OF-SELECTION – Definição de keywords: • São utilizadas na definição de subrotinas ou módulos de funções. Ex: FUNCTION, FORM, MODULE.
  • 32. ABAP - Advanced Business Application Programming Instruções ABAP • Controle: Utilizados para o processamento em bloco de acordo com certas condições. –Ex: IF, WHILE, DO, CASE.
  • 33. ABAP - Advanced Business Application Programming Instruções ABAP • Chamada: Utilizados para a chamada de blocos ou funções previamente escritas. –Ex: PERFORM, CALL, SUBMIT, LEAVE TO.
  • 34. ABAP - Advanced Business Application Programming Instruções ABAP • Operacional: São utilizadas para a manipulação de dados de estruturas declarativas. –Ex: WRITE, MOVE, ADD.
  • 35. ABAP - Advanced Business Application Programming Instruções ABAP • Banco de dados: Estas instruções usam a interface de banco de dados para acessar as tabelas do banco de dados central. Elas são subdivididas em duas categorias: –Open SQL –Native SQL
  • 36. ABAP - Advanced Business Application Programming Instruções ABAP • Open SQL: Subconjunto da linguagem padrão SQL92, que contém apenas a linguagem de manipulação de dados (DML). A interface de banco de dados converte a instrução Open SQL para os comandos relevantes do banco mais relevante. –Ex: SELECT, INSERT, DELETE.
  • 37. ABAP - Advanced Business Application Programming Instruções ABAP • Native SQL: São passadas diretamente da interface de banco de dados para o banco sem conversão. Permite aproveitar benefícios do banco de dados utilizado nas empresas, incluindo a linguagem de definição de dados (DDL). –Ex: CREATE TABLE, CREATE INDEX.
  • 38. ABAP - Advanced Business Application Programming Tipos de dados • Os tipos de dados podem ser dividos em três categorias: –Elementares • Tamanho fixo; • Tamanho variável. –Referência; –Complexos.
  • 39. ABAP - Advanced Business Application Programming Tipos Elementares (Tamanho Fixo) Cód. Descrição TEXTO C Caracter N Caracter Numérico D Data T Tempo NUMÉRICO I Inteiro F Ponto flutuante P Número empacotado HEXADECIMAL X Campo “Byte”
  • 40. ABAP - Advanced Business Application Programming Tipos Elementares (Tamanho Variável) Cód. Descrição STRING STRING String a ser alocada na atribuição XTRINGS Utilizadas para strings no formato byte
  • 41. ABAP - Advanced Business Application Programming Hierarquia (Tipos de Objetos)
  • 42. ABAP - Advanced Business Application Programming Hierarquia (Tipos de Objetos)
  • 43. ABAP - Advanced Business Application Programming Hierarquia (Tipos de Objetos)
  • 44. ABAP - Advanced Business Application Programming Tipos Complexos • Tipos complexos são feitos de outros tipos. Eles permitem gerenciar e processar dados com um único nome. • Não existem tipos complexos predefinidos em ABAP, os quais devem ser definidos nas aplicações ou no dicionário ABAP. • Os tipos estruturados são divididos entre Estruturas e Tabelas Internas.
  • 45. ABAP - Advanced Business Application Programming Tipos Complexos: Estruturas • Uma estrutura é uma seqüência de quaisquer tipos elementares, tipos de referência ou tipos de dados complexos. • As estruturas podem ser agrupadas entre duas categorias: –Nested and non-nested structures; –Flat and deep structures.
  • 46. ABAP - Advanced Business Application Programming Tipos Complexos: Tabelas Internas • Tabelas internas consistem em uma série de linhas com um mesmo tipo de dados. – O tipo de linha, o qual pode ser de quaisquer tipos elementares, tipos de referência ou tipos de dados complexos; – As chaves identificam as linhas da tabela, podendo ser feitas com os campos elementares na linha e podem ser de restrição única ou não única.
  • 47. ABAP - Advanced Business Application Programming Tipos de Dados Complexos • Estrutura com séries de tipos de dados elementares de tamanho fixo (flat structures).
  • 48. ABAP - Advanced Business Application Programming Tipos de Dados Complexos • Uma tabela interna com tipos de linhas com tipos elementares (vector);
  • 49. ABAP - Advanced Business Application Programming Tipos de Dados Complexos • Tabelas internas com as linhas com estruturas não aninhadas ('real' table);
  • 50. ABAP - Advanced Business Application Programming Tipos de Dados Complexos • Estruturas com estruturas como seus componentes (nested structures, flat or deep);
  • 51. ABAP - Advanced Business Application Programming Tipos de Dados Complexos • Estruturas contendo tabelas internas como seus componentes (deep structures);
  • 52. ABAP - Advanced Business Application Programming Tipos de Dados Complexos • Tabelas internas com as linhas contendo tabelas internas;
  • 53. ABAP - Advanced Business Application Programming Tipos por Referência • Tipos por referência descrevem objetos de dados que contêm ponteiros para outros objetos (ABAP Objects); • Existe uma hierarquia para os tipos por referência que descreve a hierarquia de objetos com as referências possíveis de definição.
  • 54. ABAP - Advanced Business Application Programming Banco de dados lógico • São programas especiais em ABAP que são responsáveis pela leitura dos dados das tabelas do banco de dados utilizando a linguagem Open SQL. • São divididos em três seções: – Estrutura; – Seleção; – Programa de banco de dados.
  • 55. ABAP - Advanced Business Application Programming Banco de dados lógico • Estrutura –A estrutura de um banco de dados lógico determina quais as tabelas do banco de dados podem ser acessadas. Ela adota a hierarquia do banco de dados definida por pelo relacionamento de chaves estrangeiras; –Realiza o controle da seqüência em que as tabelas são acessadas.
  • 56. ABAP - Advanced Business Application Programming Banco de dados lógico • Seleção –Define os campos de entrada para a seleção dos dados; –O ambiente apresenta os campos na tela de seleção quando é executado um programa ligado a um banco de dados lógico; –Os campos correspondentes também ficam disponíveis nos programas ABAP;
  • 57. ABAP - Advanced Business Application Programming Banco de dados lógico • Programa de Banco de Dados – O programa de banco de dados de um banco de dados lógico é um repositório para sub rotinas especiais, através das quais os dados são lidos a partir das tabelas do banco de dados. – As sub rotinas são chamadas pelo processador de relatórios no ambiente de execução em uma seqüência pré-definida.
  • 58. ABAP - Advanced Business Application Programming Banco de dados lógico
  • 59. ABAP - Advanced Business Application Programming Banco de dados lógico
  • 60. ABAP - Advanced Business Application Programming Banco de dados lógico • A principal utilização de banco de dados lógico é preparar códigos que acessam os dados para serem reutilizados; • São configurados para obterem uma ótima performance através de funções que garantem segurança e proteção aos dados; • É apropriado o uso do banco de dados lógico sempre que as tabelas a serem lidas correspondam ao fluxo: SELEÇÃO > LEITURA > PROCESSAMENTO > EXIBIÇÃO EM TELA DO RESULTADO.
  • 61. ABAP - Advanced Business Application Programming Acessando o aplicativo SAP • Na área de trabalho, clicar sobre o botão SAP Logon;
  • 62. ABAP - Advanced Business Application Programming Acessando o aplicativo SAP • Em Conexões, com o botão direito, clicar em Inserir entrada nova
  • 63. ABAP - Advanced Business Application Programming Acessando o aplicativo SAP
  • 64. ABAP - Advanced Business Application Programming Acessando o aplicativo SAP
  • 65. ABAP - Advanced Business Application Programming Editor ABAP • O editor de programação ABAP/4 do SAP pode ser encontrado através do caminho : Menu SAP > Ferramentas > ABAP Workbench > Desenvolvimento > Editor ABAP
  • 66. ABAP - Advanced Business Application Programming Editor ABAP
  • 67. ABAP - Advanced Business Application Programming Editor ABAP
  • 68. ABAP - Advanced Business Application Programming Nomenclatura para programas SAP • Existe um padrão de nomenclatura que deve ser seguido, não só para nome de programas, mas para todos os desenvolvimentos no SAP R/3; • Os nomes dos desenvolvimentos começam sempre com Z ou Y.
  • 69. ABAP - Advanced Business Application Programming Convenções usadas Símbolo Significado Cautela Exemplo de código Nota importante Recomendação Sintaxe de comando Dica
  • 70. ABAP - Advanced Business Application Programming Editor ABAP VERIFICAR (CTRL + F2) Verifica a sintaxe do programa Z_PROGRAMA_TESTE1.
  • 71. ABAP - Advanced Business Application Programming Editor ABAP ATIVAR (SHIFT + F9) Ativa o programa Z_PROGRAMA_TESTE1 para que o mesmo possa ser utilizado.
  • 72. ABAP - Advanced Business Application Programming Editor ABAP EXECUTAR (F8) Executa o programa Z_PROGRAMA_TESTE1 com a última versão ATIVA.
  • 73. ABAP - Advanced Business Application Programming Editor ABAP LISTA DE UTILIZAÇÕES (CTRL + SHIFT + F3) Exibe a utilização do programa Z_PROGRAMA_TESTE1 em toda a extensão do SAP.
  • 74. ABAP - Advanced Business Application Programming Editor ABAP ANÁLISE DO AMBIENTE (SHIFT + F4) Realiza uma completa varredura nas dependências de classes, objetos, dicionários de dados, etc. do programa Z_PROGRAMA_TESTE1 em relação à aplicação SAP.
  • 75. ABAP - Advanced Business Application Programming Editor ABAP AJUDA ONLINE (CTRL + F8) Termo de pesquisa para a documentação de palavra- chave ABAP. É possível entrar uma ou várias palavras. A pesquisa é independente de maiúsculas e minúsculas. * e + são caracteres de preenchimento para um ou vários caracteres. Poderá ser efetuada um pesquisa de índice ou uma pesquisa de texto integral.
  • 76. ABAP - Advanced Business Application Programming Editor ABAP ELIMINAR (CTRL + F2) Apaga o programa Z_PROGRAMA_TESTE1.
  • 77. ABAP - Advanced Business Application Programming Editor ABAP COPIAR (CTRL + F5) Copia todo o código do programa Z_PROGRAMA_TESTE1 para um programa de nome especificado pelo programador.
  • 78. ABAP - Advanced Business Application Programming Editor ABAP RENOMEAR (CTRL + F6) Modifica o nome do programa Z_PROGRAMA_TESTE1 para um nome definido pelo programador.
  • 79. ABAP - Advanced Business Application Programming Editor ABAP DEPURAÇÃO (CTRL + F5) Executa Z_PROGRAMA_TESTE1 em modo de debugger, fazendo com que o cursor de execução seja parado na primeira linha declarativa do código.
  • 80. ABAP - Advanced Business Application Programming Editor ABAP EXECUTAR C/ VARIANTE (SHIFT + F6) Executa Z_PROGRAMA_TESTE1 com a variante especificada pelo programador, desde que a mesma tenha sido gravada anteriormente na aplicação.
  • 81. ABAP - Advanced Business Application Programming Editor ABAP VARIANTES (CTRL + F1) Cria as variantes que ficarão associadas ao programa Z_PROGRAMA_TESTE1.
  • 82. ABAP - Advanced Business Application Programming Escrevendo o primeiro programa • O programa será chamado de ZREPORT01; • O programa será do tipo Texto Fonte; • Botões para as ações possíveis: Criar, Modificar e Exibir (somente leitura); • Clicar sobre o botão Criar.
  • 83. ABAP - Advanced Business Application Programming Escrevendo o primeiro programa
  • 84. ABAP - Advanced Business Application Programming Escrevendo o primeiro programa
  • 85. ABAP - Advanced Business Application Programming Escrevendo o primeiro programa
  • 86. ABAP - Advanced Business Application Programming Escrevendo o primeiro programa
  • 87. ABAP - Advanced Business Application Programming Entendendo o editor EXIBIR <-> MODIFICAR ( CTRL + F1 ) Alterna entre exibir o código-fone (somente leitura) e o modo de edição do mesmo.
  • 88. ABAP - Advanced Business Application Programming Entendendo o editor ATIVO <-> INATIVO ( CTRL + F8 ) Alterna entre ativar ou inativar o programa.
  • 89. ABAP - Advanced Business Application Programming Entendendo o editor OUTRO OBJETO... ( SHIFT + F5 ) Abre outro objeto no editor.
  • 90. ABAP - Advanced Business Application Programming Entendendo o editor AMPLIAR ( SHIFT + F4 ) Expande a seleção para o botão de ATIVAR <-> DESATIVAR o código fonte.
  • 91. ABAP - Advanced Business Application Programming Entendendo o editor VERIFICAR( CTRL + F2 ) Verifica a sintaxe do programa.
  • 92. ABAP - Advanced Business Application Programming Entendendo o editor ATIVAR ( CTRL + F3 ) Ativa o programa para que o mesmo possa ser executado. Observar para o estado do report.
  • 93. ABAP - Advanced Business Application Programming Dica • Quando este botão é clicado, aparece uma janela para a seleção de todos os programas ainda não ativos para o usuário corrente; • É sugerido o programa atual para a seleção, porém o programador pode escolher em ativar mais de um programa simultaneamente.
  • 94. ABAP - Advanced Business Application Programming Tela de seleção (ATIVAR programas)
  • 95. ABAP - Advanced Business Application Programming Entendendo o editor DIRETO ( F8 ) Executa a última versão ATIVA do programa.
  • 96. ABAP - Advanced Business Application Programming Entendendo o editor LISTA DE UTILIZAÇÕES ( CTRL + SHIFT + F5 ) Lista das utilizações do programa no ambiente SAP.
  • 97. ABAP - Advanced Business Application Programming Entendendo o editor EXIBIR LISTA DE OBJETOS ( CTRL + SHIFT + F5 ) Exibe os objetos associados a este programa.
  • 98. ABAP - Advanced Business Application Programming Entendendo o editor EXIBIR JANELA DE NAVEGAÇÃO ( CTRL + SHIFT + F5 ) Exibe o histórico de navegação para os arquivos abertos pelo editor.
  • 99. ABAP - Advanced Business Application Programming Escrevendo o primeiro programa AJUDA PARA... (CTRL + F8) Termo de pesquisa para a documentação de palavra-chave ABAP. É possível entrar uma ou várias palavras. A pesquisa é independente de maiúsculas e minúsculas. * e + são caracteres de preenchimento para um ou vários caracteres. Poderá ser efetuada um pesquisa de índice ou uma pesquisa de texto integral.
  • 100. ABAP - Advanced Business Application Programming Entendendo o editor DEFINIR/ELIMIAR PONTO DE PARADA SESSÃO ( CTRL + SHIFT + F12 ) Marca a parada na sessão a ser executada pelo programador, desde que o programa esteja aberto. O programa irá parar a execução esperando uma interação no ponto em que o cursor estiver posicionado no editor.
  • 101. ABAP - Advanced Business Application Programming Entendendo o editor DEFINIR/ELIMIAR PONTO DE PARADA EXTERNO ( CTRL + SHIFT + F9 ) Marca a parada a ser executada pelo programador por um tempo previamente determinado. O tempo é informado para o programador na barra de estado da aplicação.
  • 102. ABAP - Advanced Business Application Programming Entendendo o editor
  • 103. ABAP - Advanced Business Application Programming Entendendo o editor DEFINIR/ELIMIAR PONTO DE PARADA EXTERNO ( CTRL + F6 ) Permite a seleção de modelos de código prontos para serem devidamente adaptados para a utilização. Os códigos serão inseridos na posição atual do cursor no editor.
  • 104. ABAP - Advanced Business Application Programming Entendendo o editor
  • 105. ABAP - Advanced Business Application Programming Entendendo o editor PRETTY PRINTER ( SHIFT + F1 ) Realiza a formatação padrão a partir da configuração definida na aplicação.
  • 106. ABAP - Advanced Business Application Programming Entendendo o editor • Indicadores de linhas modificadas; • Bookmarks; • Separador de janela; • Customização de cores; • Complemento automático de códigos;
  • 107. ABAP - Advanced Business Application Programming Teclas de Atalho do Editor • CTRL + Z – Desfaz a última ação no editor; • CTRL + Y – Refaz a última ação no editor; • CTRL + A – Seleciona todo o texto no editor; • CTRL + O – Posiciona o cursor da linha ... ;
  • 108. ABAP - Advanced Business Application Programming Teclas de Atalho do Editor • CTRL + , – Comenta as linhas selecionadas; • CTRL + . – Remove o comentário das linhas selecionadas; • CTRL + – Comenta a linha na posição do cursor; • CTRL + SHIFT + – Remove o comentário da linha na posição do cursor ;
  • 109. ABAP - Advanced Business Application Programming Teclas de Atalho do Editor • CTRL + SHIFT + T – Copia a linha, na posição do cursor; • CTRL + SHIFT + X – Recorta a linha na posição do cursor; • CTRL + SHIFT + L – Deleta a linha na posição do cursor; • CTRL + D – Duplica a linha na posição do cursor;
  • 110. ABAP - Advanced Business Application Programming Teclas de Atalho do Editor • CTRL + F – Abre a janela para a pesquisa de texto; • CTRL + G – Após realizada a primeira pesquisa (CTRL+F), repete a pesquisa a partir da posição do cursor; • CTRL + SHIFT + G – Após realizada a primeira pesquisa (CTRL+F), repete a pesquisa a partir da posição anterior ao cursor; • CTRL + H – Abre a janela para a substituição do texto ou expressão digitada no código-fonte;
  • 111. ABAP - Advanced Business Application Programming Teclas de Atalho do Editor • CTRL + ALT + 8 (NUM) – Move a linha para cima a partir da posição do cursor; • CTRL + ALT + 2 (NUM) – Move a linha para baixo a partir da posição do cursor; • TAB – Aumenta a indentação da seleção; • SHIFT + TAB – Recua a indentação da seleção;
  • 112. ABAP - Advanced Business Application Programming Teclas de Atalho do Editor • CTRL + L – Converte a seleção para letras minúsculas; • CTRL + U – Converte a seleção para letras maiúsculas; • CTRL + K – Inverte a seleção para Maiúsculas ou Minúsculas;
  • 113. ABAP - Advanced Business Application Programming Teclas de Atalho do Editor • CTRL + ALT + [0-9] –Marca o índice do bookmark de 0 a 9; • CTRL + [0-9] –Acessa o índice do bookmark de 0 a 9;
  • 114. ABAP - Advanced Business Application Programming Teclas de Atalho do Editor • CTRL + ALT + M – Marca uma posição de bookmark na linha (para navegação). É possível inserir N marcações no editor • CTRL + M – Navega para o próximo bookmark; • CTRL + SHIFT + M – Navega para o bookmark anterior;
  • 115. ABAP - Advanced Business Application Programming Comentários no código
  • 116. ABAP - Advanced Business Application Programming Criando o primeiro programa • Passo a passo para a criação de um programa simples em ABAP; • O programa será chamado de Z_REPORT001; • Escreverá em tela o texto “Hello World”.
  • 117. ABAP - Advanced Business Application Programming Criando o primeiro programa
  • 118. ABAP - Advanced Business Application Programming Escrevendo texto na tela
  • 119. ABAP - Advanced Business Application Programming CONCATENATE
  • 120. ABAP - Advanced Business Application Programming CONCATENATE
  • 121. ABAP - Advanced Business Application Programming Estrutura de Controle: IF, ELSE...
  • 122. ABAP - Advanced Business Application Programming Operadores Lógicos de comparação OPERADOR SIGNFICADO EQ IGUAL A NE DIFERENTE DE<> >< LT MENOR QUE< LE MENOR OU IGUAL A<= GT MAIOR QUE> GE MAIOR OU IGUAL A>=
  • 123. ABAP - Advanced Business Application Programming Exercício 1: Comparação de Strings
  • 124. ABAP - Advanced Business Application Programming Literais • Literais são objetos sem referência no código de um programa. Eles são definidos diretamente por seus valores; • Os valores de um literal não podem ser modificados; • Aplicam-se aos tipos: numeric e text.
  • 125. ABAP - Advanced Business Application Programming Sintaxe
  • 126. ABAP - Advanced Business Application Programming Recomendação: Constantes • Quando tratar-se de literais para serem utilizados em códigos fontes, sugere-se a utilização de constantes a serem devidamente alocadas em pontos específicos da memória; • Uma vez declarada, o valor da constantes não poderá ser modificado.
  • 127. ABAP - Advanced Business Application Programming CONSTANTS
  • 128. ABAP - Advanced Business Application Programming CONSTANTS
  • 129. ABAP - Advanced Business Application Programming Text Symbols • Os Símbolos de Texto são um objeto que são gerados quando um programa é iniciado no programa a partir de textos presentes em um programa ABAP; • São sempre associados aos tipos de dados caracteres (c); • Os tamanhos são definidos a partir do cadastro dos elementos no programa.
  • 130. ABAP - Advanced Business Application Programming Text Symbols • Com o editor ABAP (SE38) aberto:
  • 131. ABAP - Advanced Business Application Programming Text Symbols
  • 132. ABAP - Advanced Business Application Programming Text Symbols
  • 133. ABAP - Advanced Business Application Programming Text Symbols
  • 134. ABAP - Advanced Business Application Programming MESSAGE
  • 135. ABAP - Advanced Business Application Programming MESSAGE
  • 136. ABAP - Advanced Business Application Programming MESSAGE
  • 137. ABAP - Advanced Business Application Programming Operações Matemáticas Básicas OPERADOR SIGNIFICADO + Adição - Subtração / Divisão * Multiplicação DIV Divisão entre inteiros MOD Resto da divisão entre inteiros ** Exponenciação
  • 138. ABAP - Advanced Business Application Programming Operações Matemáticas Básicas • Também é possível utilizar as operações através das instruções: – ADD (adição); –SUBTRACT (subtração); –MULTIPLY (multiplicação); – DIVIDE (divisão).
  • 139. ABAP - Advanced Business Application Programming ADD
  • 140. ABAP - Advanced Business Application Programming ADD
  • 141. ABAP - Advanced Business Application Programming ADD
  • 142. ABAP - Advanced Business Application Programming ADD
  • 143. ABAP - Advanced Business Application Programming Operações Matemáticas Básicas OPERAÇÃO EXPR. MATEMÁTICA PALAVRAS CHAVES ADIÇÃO <p> = <m> + <n> ADD <m> TO <n> SUBTRAÇÃO <p> = <m> - <n> SUBTRACT <m> FROM <n> MUTIPLICAÇÃO <p> = <m> * <n> MUTIPLY <m> BY <n> DIVISÃO <p> = <m> / <n> DIVIDE <m> BY <n>
  • 144. ABAP - Advanced Business Application Programming Operações Aritméticas usando Estruturas
  • 145. ABAP - Advanced Business Application Programming Operações Aritméticas usando Estruturas
  • 146. ABAP - Advanced Business Application Programming MULTIPLY-CORRESPONDING
  • 147. ABAP - Advanced Business Application Programming Funções Matemáticas FUNÇÃO SIGNIFICADO ABS Valor absoluto de um argumento. CEIL Menor parte inteira de um argumento. FLOOR Maior parte inteira de um argumento. TRUNC Parte inteira de um argumento. FRAC Parte fracionária de um argumento.
  • 148. ABAP - Advanced Business Application Programming Funções Matemáticas
  • 149. ABAP - Advanced Business Application Programming Operações com Data
  • 150. ABAP - Advanced Business Application Programming TRY ... CATCH ... ENDTRY
  • 151. ABAP - Advanced Business Application Programming Tratamento de exceções
  • 152. ABAP - Advanced Business Application Programming Exercício: média de notas • Dadas as quatro notas de um determinado aluno, deverá ser calculada a média aritmética das mesmas; • Comparadas à média padrão, o resultado deverá ser exibido em tela: – APROVADO, se maior ou igual à média; – REPROVADO, em caso de menor que a média.
  • 153. ABAP - Advanced Business Application Programming Exercício: média de notas
  • 154. ABAP - Advanced Business Application Programming Parameters
  • 155. ABAP - Advanced Business Application Programming Exercício: Média ponderada • Faça um algoritmo que leia três notas de um aluno, calcule e escreva a média final deste aluno. • Considerar que a média é ponderada e que o peso das notas é 2, 3 e 5. Fórmula para o cálculo da média final é:
  • 156. ABAP - Advanced Business Application Programming Exercício: Tipo de triângulo • Escrever um algoritmo que leia três valores inteiros e verifique se eles podem ser os lados de um triângulo. • Se forem, informar qual o tipo de triângulo que eles formam: equilátero, isóscele ou escaleno. • Propriedade: o comprimento de cada lado de um triângulo é menor do que a soma dos comprimentos dos outros dois lados.
  • 157. ABAP - Advanced Business Application Programming Exercício: Custo ao Consumidor • O custo de um carro novo ao consumidor é a soma do custo de fábrica com a porcentagem do distribuidor e dos impostos (aplicados ao custo de fábrica). • Supondo que o percentual do distribuidor seja de 28% e os impostos de 45%, escrever um algoritmo para ler o custo de fábrica de um carro, calcular e escrever o custo final ao consumidor.
  • 158. ABAP - Advanced Business Application Programming Dicionário ABAP • O dicionário ABAP descreve e gerencia todas as definições de dados utilizadas no sistema; • O dicionário ABAP está completamente integrado ao ambiente de desenvolvimento ABAP;
  • 159. ABAP - Advanced Business Application Programming Dicionário ABAP
  • 160. ABAP - Advanced Business Application Programming Dicionário ABAP • Os tipos de objetos do dicionário incluem: – Tabelas; – Visões; – Tipos: • Elementos de dados; • Estruturas; • Tabelas de tipos. – Domínios.
  • 161. ABAP - Advanced Business Application Programming Dicionário ABAP: Tipos de objetos
  • 162. ABAP - Advanced Business Application Programming Tabelas • As tabelas podem ser definidas independentes do banco de dados do dicionário ABAP; • Quando uma tabela é ativada, a definição física da tabela é criada no banco de dados para a definição previamente armazenada no dicionário ABAP; • A definição da tabela é traduzida a partir do dicionário ABAP para a definição do banco de dados, de acordo com o ambiente configurado.
  • 163. ABAP - Advanced Business Application Programming Criando uma tabela no Dicionário ABAP • Acessar a transação SE11; • No campo Tab.banco dados, informar a o nome da tabela com início Z ou Y e sem caracteres especiais; • Clicar sobre o botão Criar;
  • 164. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP
  • 165. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP
  • 166. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP • Descrição breve – Texto com a principal necessidade para a criação da tabela; • Classe de entrega – A classe de entrega controla o transporte de dados da tabela, no caso de instalação, mudança de release, cópia de mandante, e no caso de transporte entre sistemas de cliente.
  • 167. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP • Classe de entrega
  • 168. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP • A - Tabela de aplicação (dados mestre e de movimento); • C - Tabela de cliente, os dados são atualizados exclusivamente pelo cliente. • L - Tabela para arquivar dados temporários. • G - Tabela de cliente, a SAP pode inserir registros novos, mas não pode sobregravar ou eliminar aqueles que já existem.
  • 169. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP • E - Tabela de sistema com conjuntos de nomes próprios para entradas de cliente. • S - Tabela de sistema, as modificações de dados têm o status de modificações de programa. • W - Tabela de sistema (por exemplo, tabela do ambiente de desenvolvimento), cujos dados são transportados por objetos de transporte próprios.
  • 170. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP • Data Browser/atualiz.visão tabs. –O código determina se a exibição/atualização da tabela ou da visão é possível com a ajuda das ferramentas de atualização Data Browser (transação SE16) e atualização da visão de tabelas (transações SM30 e SM31).
  • 171. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP • Data Browser/atualiz.visão tabs.
  • 172. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP • Exibição/atualização não permitidas – A utilização de ferramentas standard de atualização de tabelas não é permitida para este objeto Dictionary como, por exemplo, a transação SE16. • Exibição / atualização permitidas de forma restringida – A utilização de ferramentas standard de atualização de tabelas é permitida de forma restringida: a transação SE16 permite a exibição para este objeto Dictionary, mas não permite uma atualização. • Exibição/atualização permitidas – A utilização de ferramentas standard de atualização de tabelas é permitida: a transação SE16 permite a atualização e a exibição para este objeto Dictionary.
  • 173. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP • Clicar sobre o botão Salvar
  • 174. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP • Criar como Objeto Local; Barra de STATUS:
  • 175. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP • Definição dos campos da tabela ZTABELA1:
  • 176. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP • A definição para os campos de tabela no dicionário ABAP abragem: – Nome do Campo: Máximo de 16 posições e podem conter letras, dígitos e underlines. O campo sempre deverá ser iniciado com uma letra; – Campo-chave: É necessário que os campos-chave de uma tabela estejam juntos no início da tabela, ou seja, um campo que não seja campo-chave não pode estar entre dois campos-chave.
  • 177. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP – Tipo do Campo: Ao criar uma tabela no banco de dados, a categoria de dados de um campo de tabela é compilada em um formato de dados correspondente do sistema de banco de dados utilizado; – Comprimento (nº de caracteres): Número das posições válidas de um campo sem caracteres de edição (por exemplo, vírgulas ou pontos); • As categorias de dados de cadeia (STRING, RAWSTRING) têm um comprimento ilimitado.
  • 178. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP –Casas decimais: Número das casas decimais admitidas de um valor; –Descrição breve: A descrição breve é utilizada como texto explicativo na criação de listas e de documentação (Ajuda F1).
  • 179. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP
  • 180. ABAP - Advanced Business Application Programming Tabelas do Dicionário ABAP • Para cada tabela transparente no ABAP Dictionary devia existir uma entrada nas opções técnicas (CTRL + SHIFT + F9); • Esta entrada é utilizada durante a criação da tabela no banco de dados para o cálculo dos espaços de memória físicos.
  • 181. ABAP - Advanced Business Application Programming Tabelas do Dicionário ABAP
  • 182. ABAP - Advanced Business Application Programming Tabelas do Dicionário ABAP
  • 183. ABAP - Advanced Business Application Programming Tabelas do Dicionário ABAP • Categoria de dados –Com o tipo de dados, determinar a nível lógico, em que área física do banco de dados (TABLESPACE) é arquivada a tabela. –Ao selecionar corretamente o tipo de dados, a tabela é automaticamente atribuída à área correta quando da criação no banco de dados.
  • 184. ABAP - Advanced Business Application Programming Tabelas do Dicionário ABAP • Os tipos de dados mais importantes (à exceção de dados de sistema) são: –APPL0 (dados mestre); –APPL1 (dados de movimento); –APPL2 (dados organizacionais e de customização).
  • 185. ABAP - Advanced Business Application Programming Tabelas do Dicionário ABAP • Os Dados mestre são dados com frequentes acessos de leitura, mas que raramente são atualizados. • Os Dados de movimento são dados que são atualizados com frequência. • Os Dados organizacionais e de customização são dados indicados na configuração do sistema, e que raramente são modificados depois.
  • 186. ABAP - Advanced Business Application Programming Tabelas do Dicionário ABAP • Estão à disposição do cliente outros dois tipos de dados USR e USR1. Estes estão previstos para desenvolvimentos do usuário. • As tabelas atribuídas a estes tipos de dados são arquivadas em um tablespace para desenvolvimentos de cliente.
  • 187. ABAP - Advanced Business Application Programming Nota Considerar que o tipo de dados só afeta a gravação da tabela para os sistemas de banco de dados ORACLE e INFORMIX.
  • 188. ABAP - Advanced Business Application Programming Tabelas do Dicionário ABAP • Para as tabelas transparentes, escolher o tipo APPL1;
  • 189. ABAP - Advanced Business Application Programming Tabelas do Dicionário ABAP • Categoria de tamanho – Determinação da necessidade de espaço prevista de uma tabela no banco de dados.
  • 190. ABAP - Advanced Business Application Programming Tabelas do Dicionário ABAP
  • 191. ABAP - Advanced Business Application Programming Tabelas do Dicionário ABAP
  • 192. ABAP - Advanced Business Application Programming Tabelas do Dicionário ABAP
  • 193. ABAP - Advanced Business Application Programming Tabelas do Dicionário ABAP
  • 194. ABAP - Advanced Business Application Programming Tabelas do Dicionário ABAP • Categoria de ampliação: – A seleção de uma categoria de ampliação é necessária, uma vez que nas ampliações de tabelas e de estruturas em programas sem verificação unicode ativa, principalmente nas verificações de tipo e em conjunto com estruturas profundas, podem ocorrer erros de sintaxe e em tempo de execução.
  • 195. ABAP - Advanced Business Application Programming Tabelas do Dicionário ABAP • Com a tabela aberta, escolher o menu “Suplementos”;
  • 196. ABAP - Advanced Business Application Programming Tabelas do Dicionário ABAP
  • 197. ABAP - Advanced Business Application Programming Tabelas do Dicionário ABAP Inserir o nome do Elemento de Dados e, em seguida, executar um duplo clique sobre o mesmo
  • 198. ABAP - Advanced Business Application Programming Tabelas do Dicionário ABAP • Serão exibidas duas caixas de confirmações, uma para salvar os dados da tabela corrente e outra para a criação do elemento de dados;
  • 199. ABAP - Advanced Business Application Programming Tabelas do Dicionário ABAP
  • 200. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP
  • 201. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP • Serão pedidos os dados de denominação do campo; • Uma vez preenchida a denominação, o comprimento será preenchido automaticamente após o salvamento; • Estes campos irão ser utilizados em várias rotinas do SAP.
  • 202. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP
  • 203. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP
  • 204. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP • Será necessário ATIVAR a tabela para que as alterações sejam refletidas no Banco de Dados;
  • 205. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP
  • 206. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP • Será necessário informar os dados do gerador de atualização para a tabela; • A definição da tabela deverá estar aberta (SE11) e a mesma deverá estar ATIVA.
  • 207. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP
  • 208. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP
  • 209. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP
  • 210. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP • Propor nº(s) para telas de atualização – Marca que o sistema deve propor o nº de tela livre seguinte. Se for pretendido que o nº para a tela nova seja proposto, marcar este campo. • Intervalos livres de números para telas de atualização – Código segundo o qual os intervalos de números para as telas de atualização, devem ser exibidos. Se for pretendido exibir os intervalos de números, marcar este campo. O nº livre seguinte para a tela de atualização pode ser proposto ao usuário a partir de um intervalo selecionado. • Exibir números atribuídos das telas de atualização – Código segundo o qual os números de tela das telas de atualização já atribuídos, devem ser exibidos. Se for pretendido exibir os números de tela já atribuídos, marcar este campo. Esses números já não estão disponíveis para uma nova atribuição.
  • 211. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP
  • 212. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP
  • 213. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP
  • 214. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP • Aparecerá uma mensagem na barra de status indicando o progresso da operação;
  • 215. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP • Será exibido o relatório com o resultado da criação da tabela;
  • 216. ABAP - Advanced Business Application Programming Criação de uma tabela (SE11) • Nomeação da Tabela; • Classe de entrega/atualização; • Configuração técnica; • Categoria de ampliação. Vídeo
  • 217. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP
  • 218. ABAP - Advanced Business Application Programming Definição dos campos da tabela • Nomeação dos campos; • Definição dos elementos de dados; • Tipos de dados; • Denominação dos campos; • Ativação dos elementos de dados; • Associação entre Campo e Elemento; Vídeo
  • 219. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP
  • 220. ABAP - Advanced Business Application Programming Ativação da tabela • Ativação da definição da tabela no banco de dados; • Definindo a estrutura de atualização da tabela. Vídeo
  • 221. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP
  • 222. ABAP - Advanced Business Application Programming Tabelas no Dicionário ABAP
  • 223. ABAP - Advanced Business Application Programming Chaves estrangeiras
  • 224. ABAP - Advanced Business Application Programming Exercício: Criação de Tabelas • Criar uma tabela ZNOTASNN, onde o termo NN indica o número do aluno na Academia ABAP;
  • 225. ABAP - Advanced Business Application Programming Atualizando os dados de uma tabela • É necessário que a tabela possua a configuração para receber atualização pelas interfaces da aplicação standard do SAP; • Transação SM30.
  • 226. ABAP - Advanced Business Application Programming Transação SM30
  • 227. ABAP - Advanced Business Application Programming Transação SM30 • Inserir o nome da Tabela/Visão; • Escolher um dos botões Exibir ou Atualizar; • Caso a tabela seja global, será exibida a mensagem:
  • 228. ABAP - Advanced Business Application Programming Transação SM30
  • 229. ABAP - Advanced Business Application Programming Exercício: Inserção de Dados • Referente à tabela ZNOTASNN, realizar a inserção de 10 alunos com notas variadas; • Não deverão serem preenchidos os campos MEDIA e RESULTADO; • Utilizar a transação SM30.
  • 230. ABAP - Advanced Business Application Programming Comandos de repetição • Existem quatro estruturas de repetição na linguagem ABAP: –DO; –WHILE; –LOOP; –SELECT.
  • 231. ABAP - Advanced Business Application Programming DO [ <n> TIMES ]
  • 232. ABAP - Advanced Business Application Programming SY-INDEX O campo do sistema SY-INDEX contém o número da interação atual do loop. Não estando em loop, o campo estará preenchido com 0 (zero).
  • 233. ABAP - Advanced Business Application Programming Uso do SY-INDEX
  • 234. ABAP - Advanced Business Application Programming Uso do SY-INDEX
  • 235. ABAP - Advanced Business Application Programming Uso do SY-INDEX
  • 236. ABAP - Advanced Business Application Programming Uso do SY-INDEX
  • 237. ABAP - Advanced Business Application Programming Uso do SY-INDEX
  • 238. ABAP - Advanced Business Application Programming WHILE
  • 239. ABAP - Advanced Business Application Programming LOOP
  • 240. ABAP - Advanced Business Application Programming Work area
  • 241. ABAP - Advanced Business Application Programming SY-TABIX O campo do sistema SY-TABIX contém o número da linha atual no loop.
  • 242. ABAP - Advanced Business Application Programming LOOP (Eventos)
  • 243. ABAP - Advanced Business Application Programming Declaração de Tabelas Internas
  • 244. ABAP - Advanced Business Application Programming Preenchendo os dados
  • 245. ABAP - Advanced Business Application Programming Open SQL • Open SQL consiste em um conjunto de sentenças ABAP que realizam operações no banco de dados central do SAP; • Sentenças em Open SQL somente podem trabalhar com tabelas de banco de dados criadas no Dicionário ABAP.
  • 246. ABAP - Advanced Business Application Programming Open SQL COMANDO SIGNIFICADO SELECT Realiza a leitura dos dados de uma tabela. INSERT Insere dados em uma tabela. UPDATE Atualiza os dados em uma tabela. MODIFY Insere os dados de uma tabela caso não existam ou atualiza os dados caso existam. DELETE Apaga os dados de uma tabela
  • 247. ABAP - Advanced Business Application Programming SELECT
  • 248. ABAP - Advanced Business Application Programming Exibindo resultados SQL • Para o exemplo realizado no exercício de criação e atualização de tabelas, um relatório de exemplo seria:
  • 249. ABAP - Advanced Business Application Programming SY-TABIX O campo do sistema SY-SUBRC contém o indicativo de resultado da consulta aos dados do banco. Na situação em que foram encontrados resultados, o campos é preenchido com 0 (zero);
  • 250. ABAP - Advanced Business Application Programming SY-SUBRC
  • 251. ABAP - Advanced Business Application Programming Exercício: Apresentar resultado SQL • Selecionar os dados das notas do aluno a partir da tabela ZNOTASNN; • Deverão ser exibidas as colunas Matrícula, Nome, Notas[1-4], Média e Resultado. • A média o resultado deverão ser calculados e apresentados no relatório.
  • 252. ABAP - Advanced Business Application Programming CASE
  • 253. ABAP - Advanced Business Application Programming Funções
  • 254. ABAP - Advanced Business Application Programming Funções • As funções no SAP são definidas através da transação SE37; • Uma vez definidos os parâmetros, será necessário ATIVAR a função para que a mesma seja utilizada em toda a extensão da aplicação SAP.
  • 255. ABAP - Advanced Business Application Programming Funções
  • 256. ABAP - Advanced Business Application Programming Funções
  • 257. ABAP - Advanced Business Application Programming Funções
  • 258. ABAP - Advanced Business Application Programming Funções • Os tipos serão apresentados conforme os elementos do SAP;
  • 259. ABAP - Advanced Business Application Programming Funções • Os elementos de dados que estão na aplicação poderão ser pesquisados em toda a extensão da aplicação SAP; • Para o exemplo de soma entre dois inteiros, selecionar o tipo INTEGER;
  • 260. ABAP - Advanced Business Application Programming Funções 1 2 3
  • 261. ABAP - Advanced Business Application Programming Funções • Valor proposto para parâmetro de importação: – É possível preencher parâmetros de importação com valores propostos. Estes podem ser: literais, constantes numéricas, campos de sistema (SY-DATUM, SY-LANGU) ou o campo predefinido SPACE; – Caso seja indicado um valor proposto, ao chamar, não é preciso preencher o parâmetro com um valor atual; – Utilizar aspas como caracteres de delimitação para os literais.
  • 262. ABAP - Advanced Business Application Programming Funções A opção “Opcional” deverá ser marcada caso o parâmetro não seja obrigatório à função.
  • 263. ABAP - Advanced Business Application Programming Funções
  • 264. ABAP - Advanced Business Application Programming Funções • Chamada com transferência de valor – A transferência do parâmetro é efetuada com transferência de valor. – Isto significa que o conteúdo do parâmetro é copiado durante a transferência e adiamento do parâmetro de chamada. – Em estruturas que contêm tabelas, isto pode levar a fortes reduções de performance e, se possível, não deve ser mais utilizado.
  • 265. ABAP - Advanced Business Application Programming Funções
  • 266. ABAP - Advanced Business Application Programming Funções
  • 267. ABAP - Advanced Business Application Programming Chamada de uma função em um relatório • Utilização do Modelo; • Inserindo parâmetros de entrada; • Exibindo o resultado do retorno da função. Vídeo
  • 268. ABAP - Advanced Business Application Programming Funções
  • 269. ABAP - Advanced Business Application Programming Exercício: criação de tabela • Documento : INTEIRO(10); • Item: INTEIRO(5); • Material: INTEIRO(4); • Quantidade: INTEIRO(2); • Unitário: NUMERIC(2); • Total: NUMERIC(2); • Observação: Texto(255); Documento e Item são chaves da tabela. Todos os campos são de preenchimento obrigatório. Os desenvolvimentos somente poderão estarem salvos como Objetos Locais.
  • 270. ABAP - Advanced Business Application Programming • Preencher os dados na tabela conforme o indicado abaixo: Exercício: preenchimento de dados Doc. Item Mat Qtde Unit Total Obs 1000000001 00001 900001 10 10,00 0,00 1000000001 00002 900002 12 12,00 0,00 1000000002 00001 900001 9 100,00 0,00 1000000002 00002 900003 20 25,00 0,00 1000000002 00003 900003 9 50,00 0,00
  • 271. ABAP - Advanced Business Application Programming Visões • Visões são agrupamentos de dados que, geralmente, são compostas de tabelas diferentes; • Uma vez definida a visão, é possível definir uma aplicação dependente da combinação dos dados da mesma; • Uma visão pode ser utilizada em programas ABAP para a seleção de dados.
  • 272. ABAP - Advanced Business Application Programming Visões
  • 273. ABAP - Advanced Business Application Programming Tipos • Os tipos de dados definidos para os usuários podem ser armazenados em todos os programas do Dicionário ABAP.
  • 274. ABAP - Advanced Business Application Programming Dicionário ABAP
  • 275. ABAP - Advanced Business Application Programming Domínio • Um domínio define uma faixa de valores e deve estar atribuído a um elemento de dados;
  • 276. ABAP - Advanced Business Application Programming Domínio
  • 277. ABAP - Advanced Business Application Programming Domínio • Os domínios são definidos através da transação SE37;
  • 278. ABAP - Advanced Business Application Programming Domínio 1 2 3
  • 279. ABAP - Advanced Business Application Programming Domínio
  • 280. ABAP - Advanced Business Application Programming Domínio
  • 281. ABAP - Advanced Business Application Programming Domínio
  • 282. ABAP - Advanced Business Application Programming Domínio
  • 283. ABAP - Advanced Business Application Programming Atualização da tabela – SM30