Você está na página 1de 55

Abap para Funcionais

Abap para Funcionais


Artur Paulino – Consultor SAP FI/ABAP
@@arturpaulino1
arturpaulino@gmail.com
Sumário

1. Dicionário de dados
2. ABAP Workbench
3. Comandos mais utilizados
4. Resolvendo problemas
5. DEBUGGER
6. User-Exits
7. BADI significa Business Add-Ins
8. Enhancement Implementation
9. BAPI (Business Application Programming Interface)

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 3


Dicionário de dados

Dicionário de dados é uma coleção de metadados que contêm definições e representações de


elementos de dados.

Dicionário de
dados

Tabelas
Estruturas Visões
transparentes

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 4


Dicionário de dados
Tabelas transparentes
Tabelas transparentes são repositórios virtuais no SAP. Uma vez definidos no dicionário de dados,
são criados, em forma de tabelas físicas, no banco de dados.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 5


Dicionário de dados
Estruturas
Estruturas são objetos, formados por campos de diferentes tipos, com a finalidade de representar
dados na memória que serão criados nos programas. Nos programas, utiliza-se a estrutura como
área para armazenamento e manipulação dos dados.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 6


Dicionário de dados
Visões
Visões são estruturas para seleção de dados existentes em uma ou mais tabelas transparentes,
agrupados e apresentados de acordo com a necessidade específica do usuário

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 7


ABAP Workbench

ABAP Workbench é um conjunto de programas para o desenvolvimento de aplicativos que são


usados para o desenvolvimento ABAP

ABAP
Workbenc
h

Pacotes

SE38 SE37 SE11 SE80

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 8


ABAP Workbench
Pacotes
Os pacotes agrupa todos objetos necessários ao funcionamento das aplicações ABAP, afim de
organizar as funcionalidades. Podemos acessar os pacotes pela transação SE21.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 9


ABAP Workbench
SE38
A transação SE38 é um editor ABAP. Todos os relatórios e programas e outros programas são criados
/ editados usando esta transação.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 10


ABAP Workbench
SE38
É exibida uma lista contendo todas as versões criadas para o programa, sinalizando a versão ativa

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 11


ABAP Workbench
SE37
A transação SE37 é usada para acessar módulos de função.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 12


ABAP Workbench
SE11
Usado para criar e gerenciar definições de dados (tabelas, estruturas, visualizações) sem
redundâncias.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 13


ABAP Workbench
SE80
SE80 é o ponto central de trabalho para um ABAP, pois você pode acessar qualquer objeto do
sistema SAP através dele.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 14


ABAP Workbench
BIBS – Exemplos de programas ABAP
A transação BIBS apresenta modelos de componentes utilizados para construir programas ABAP.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 15


Comandos mais utilizados
Oque é um programa?
Programas são compostos de blocos de instruções agrupadas e executadas logicamente. Você pode
executar programar pela transação SE38.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 16


Comandos mais utilizados
O que uma função ?
Funções rotinas com as instruções definidas fora dos programas, com regras de negócio, podendo
ser acoplada ao código de qualquer programa.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 17


Comandos mais utilizados
Tipo de dados

i – integer 4 byte número inteiro + / – 2,1 bilhões


f – floar 8 bytes, 15-16 dígitos significativos
c – string de até 65 mil caracteres
n – numeric string até 65 mil caracteres (número não-matemático)
string – de comprimento dinâmico até 2 GB de comprimento!
xstring – hex string seqüêncial de byte comprimento de dinâmico
x – byte seqüêncial de até 65k bytes
d – Data 8 caracteres de formato AAAAMMDD
t – tempo 6 caracteres de HHMMSS
p – packed number preciso ou número flutuante de até 16 bytes

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 18


Comandos mais utilizados
Tipo de dados

Usando a instrução DATA criamos um variável e com a instrução TYPE podemos declara tipo da
variável.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 19


Comandos mais utilizados
Declaração de estruturas

Use instrução BEGIN OF e END OF para criar estruturas de dados locais de programas.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 20


Comandos mais utilizados
Variável de sistema

As variáveis de sistema acessíveis de todos os programas ABAP. Essas informações são


preenchidos pelo em tempo de execução.

Exemplo.:
sy-subrc - Para verificar se o comando utilizando anteriormente foi feito com sucesso. Caso esta variável tenha o
valor 0 é que foi correto, caso contrário não foi executado corretamente.
sy-tabix - Guarda o valor do índice da tabela interna.
sy-tcode - variável que guarda o código da transação que está sendo executado.
sy-datum - variável que guarda a data atual do sistema.
sy-uzeit - variável que guarda a hora atual do sistema.
sy-langu - variável que guarda o idioma que o usuário entrou no SAP.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 21


Comandos mais utilizados
Atribuições e operações aritméticas

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 22


Comandos mais utilizados
Comparações

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 23


Comandos mais utilizados
Laços

Os laços são utilizados para executar comandos repetidamente. A quantidade de repetições pode
ser determinada por um interna.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 24


Comandos mais utilizados
Leitura de Estruturas

A leitura de estruturas é utilizada para localizar valores em tabelas de dados armazenadas na


memória.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 25


Comandos mais utilizados
Sub - Programas
Subprogramas são utilizados para organização e reutilização de rotinas, pois permitem que
pequenas regras de negócio sejam escritas e utilizadas em diversos pontos do programa .

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 26


Comandos mais utilizados
Sub - Programas
Subprogramas são utilizados para organização e reutilização de rotinas, pois permitem que pequenas regras de negócio
sejam escritas e utilizadas em diversos pontos do programa.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 27


Comandos mais utilizados
Tabelas

Comandos de acesso a dados em BD Comandos de acesso a dados em Tabelas Internas

SELECT – Leitura de dados READ TABLE– Leitura de dados


UPDATE – Atualização de Dados MODIFY – Atualização de Dados na Tabela Interna
INSERT – Inserção de Dados APPEND – Inserção de Dados na Tabela Interna
DELETE – Deleção de Dados DELETE – Deleção de Dados na Tabela Interna.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 28


Resolvendo problemas
Pesquisando notas

Usando a ANST_SEARCH_TOOL ou ANST_SEARCH_TOOL

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 29


Resolvendo problemas
Pesquisando notas

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 30


Resolvendo problemas
Pesquisando notas

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 31


Resolvendo problemas
Pesquisando notas

https://service.sap.com/sap/support/notes/1818192 .

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 32


Resolvendo problemas
ST05 – Analisando Tabelas

Acessando a transação ST05, podemos ver as tabelas e as seleções usadas nos programas.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 33


Resolvendo problemas
ST05 – Analisando Tabelas

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 34


Resolvendo problemas
ST22 - Dump

Pela transação ST22 você pode acessar a lista de dump em um determinado ambiente.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 35


Resolvendo problemas
ST22 - Dump

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 36


DEBUGGER
Ponto de parada.
Os pontos de parada são utilizados para ativar o depurado, são inseridos no código fonte ABAP.

“o depurador será chamado quando o código for executado nesta linha.

BREAK-POINT.

“o depurador será chamado quando o usuário XPTO executar o programa.

BREAK NOME_USUARIO.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 37


DEBUGGER
Depurador
O Depurador ABAP é uma ferramenta que permite a execução de programas por linha ou seção,
com isso podemos visualizar os objetos, de tabelas com seus valores e a logica do programa
também.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 38


DEBUGGER
Depurador – Elementos Principais

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 39


DEBUGGER
Depurador – Elementos Principais

F5 - Ao executar o comando F5, o depurador avança para


a próxima instrução

F6 - Ao executar o comando e o depurador também avança


para a próxima instrução, porém, caso a próxima instrução
seja uma sub-rotina, a mesma é executada por completo.

F7 – Ao executar o depurador avança até o fim da sub-


rotina – ou até encontrar um novo ponto de parada, volta
para o programa principal.

F8 -Ao executar o comando, o depurador avança até o fim


do programa ou até encontrar um novo ponto de parada.

Pontos de parada: Permite a criação de pontos de parada.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 40


DEBUGGER
Depurador – Elementos Principais

Desktop 1 , Desktop 2 e Desktop 3: Structures, Tables, Objects, Detail


apresentam visões diferentes da Displs., Data Explorer : Apresenta visão
disposição das ferramentas do especifica para cada tipo objeto
depurador. conforme o nome da aba.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 41


DEBUGGER
Depurador – Elementos Principais

Essa barra mostra informações sobre a


rotina, sub-rotina e tela que estão sendo
depurados e com os campos a SUBRC e
TABIX.

SUBRC = Mostra de se comando foi


executado com sucesso. 0 É igual a
sucesso.

TABIX = Mostra o índice de uma tabela.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 42


DEBUGGER
Depurador - Stop / Watchpoint:

Stop: Exibe todos os pontos de parada e pontos assistidos criados.

Watchpoint: Permite criação de pontos de parada com base em condições. Por exemplo, define que o depurador deve
parar quando o conteúdo de uma varável atingir um valor X.

1)Exemplo de debug com /H


2)Exemplo de debug com Watchpiont
3)Exemplo de debug com Watchpiont

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 43


User-Exits

User-Exits: (Saídas de Usuário). São formulários ABAP que é chamado pelos programas padrão da SAP. Com a opção
de implementar seu próprio código.

É possível ler e alterar quase todos os dados (locais ou globais) do programa SAP com isso oferecem flexibilidade na
implementação de regras de negócios.

Podemos usar a transação SMOD para fazer a implementação e visão opções disponíveis.

Exemplo.:
Programa.:LMR1M001
Exit.: EXIT_SAPLMRMP_010

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 44


User-Exits - LMR1M001 -User exits na revisão de faturas de logística

Pela SMOD – Componentes

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 45


BADI significa Business Add-Ins

BADI significa Business Add-Ins : O conceito é parecido com o do plug-ins dos navegadores é uma maneira de estender a
funcionalidade original do sistema, sem afetar o funcionamento do mesmo.

Comparando com as user-exits, as BADIs têm uma série de vantagens, como por exemplo:
Reutilização;
Implementações independentes;
Possibilidade de ativação de desativação;
Fácil localização;
Maior “oferta” comparado com as user-exits

Na transação SE18, temos a definição da BADI, ou seja, como os métodos da BADI serão chamados. Esta definição nada
mais é do que uma interface global, com a nomenclatura IF_<BADI_NAME>.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 46


BADI significa Business Add-Ins
Na transação SE18, temos a definição da BADI, ou seja, como os métodos da BADI serão chamados. Esta definição nada
mais é do que uma interface global, com a nomenclatura IF_<BADI_NAME>.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 47


Enhancement Implementation

Enhancement Implementation – São pontos de aprimoramento são basicamente pontos dentro do código ABAP onde um
ponto de aprimoramento está implícito e, nesse caso, pode ser criado.

Exemplos de pontos de aprimoramento implícitos são no início e no final do FORM, no final de um programa, incluir ou
módulo de função, etc. Abaixo está uma demonstração passo a passo de como criar e ponto de aprimoramento implícito.

Tipos
Implícito.: é definido pela SAP e não necessita de intervenções nos programas Standard.
Explícito.: é uma alteração de um programa e precisa de chave de alteração de objeto.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 48


Enhancement Implementation

Enhancement Implementation – São pontos de aprimoramento são basicamente pontos dentro do código ABAP onde um
ponto de aprimoramento está implícito e, nesse caso, pode ser criado.

Exemplos de pontos de aprimoramento implícitos são no início e no final do FORM, no final de um programa, incluir ou
módulo de função, etc. Abaixo está uma demonstração passo a passo de como criar e ponto de aprimoramento implícito.

Tipos
Implícito.: é definido pela SAP e não necessita de intervenções nos programas Standard.
Explícito.: é uma alteração de um programa e precisa de chave de alteração de objeto.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 49


Enhancement Implementation

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 50


BAPI (Business Application Programming Interface)

A tecnologia BAPI (Business Application Programming Interface) é a principal tecnologia API disponível para CLIENTES
EXTERNOS OU PRORGAMA Z para ler e atualizar dados, que podem ser chamados de dentro da SAP ou externamente
usando o protocolo RFC.

O termo BAPI também é usado para se referir a transação que com o BAPI, uma BAPI corresponde um Business Object.

A convenção de nomeação BAPI é: <Espaço nome> BAPI_ <objeto comercial> _ <método>.

Por exemplo BAPI_COMPANYCODE_GETDETAIL


objeto
comercial método

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 51


BAPI (Business Application Programming Interface)

Pela transação BAPI podemos ter uma visão geral da BAPI e seus métodos.

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 52


BAPI (Business Application Programming Interface)

Podemos testar as BAPI usando a transação SE37. Para o processo de gravação da BAPI é
utilizar os comando abaixo.

CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK


CALL FUNCTION 'BAPI_TRANSACTION_COMMIT’.

1) Video de exemplo da BAPI

© 2014 SAP AG or an SAP affiliate company. All rights reserved. 53


Fim
Obrigado!
Artur Paulino
@@arturpaulino1
arturpaulino@gmail.com

© 2014 SAP AG or an SAP affiliate company. All rights reserved.