Sei sulla pagina 1di 38

ABAP

para
Funcionais

LUIZ TOMAZ - SET/2003

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais

OBJETIVO

O propósito desse estudo é apresentar aos consultores funcionais as principais


características dos elementos que compõe as ferramentas ABAP, as transações
geralmente executadas para facilitar o trabalho de pesquisa das diversas
ampliações (Enhancements) disponíveis no ambiente R/3 e a utilização da
ferramenta DEBUG para depuração de programas.

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais

Conteúdo
- ABAP Workbench (arquitetura)
- Objetos do Repositório
Tabelas / Estruturas / Visões
Classes de Desenvolvimento (Packages)
Programas
Módulos de Função /Grupos de Função
- Transações para pesquisas no ambiente R/3 e Utilitários
SE10 – Controle de Change Requests
SE11 – Verificação de Tabelas, Estruturas, Visões, etc
SE38 – Manutenção de Programas
SE37 – Manutenção de módulos de função
SE80 – Objetos do Repositório
SE84 – Procurar tabelas, campos,
ST22 – Análise de dumps
- Debbuger (Depurando programas)
- Enhancements (EXITS / BUSINESS ADD-INS)
- Especificações Funcionais (Boas práticas nas definições para desenvolvimento)

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais

- Os três níveis da arquitetura Client/Server do ambiente R/3 são:


apresentação (SAPGUI), servidor de aplicação e servidor de banco de dados.

(*) Os programas ABAP são executados pelo servidor de aplicação.

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais

Objetos do Repositório

(*) Situam-se no repositório todos os


elementos manipulados pelo ABAP
Workbench Tools

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais
Objetos do Repositório
O ABAP Workbench contém várias ferramentas que lhe permitem editar objetos de repositório
específicos, que juntos representam o ciclo completo do software. Os mais importantes destes são:
• ABAP Editor para escrever e editar código de programa.
• ABAP Dictionary para editar tabelas e outros objetos do dicionário de dados.
• Menu Painter para projetar a interface do usuário (barra de menus, toolbar standard, toolbar de
aplicação).
• Screen Painter para desenhar telas de diálogos com o usuário.
• Function Builder para programar módulos de função (seqüência de dados com uma interface fixa que
é disponível a todo o sistema).

Você pode usar o ABAP Workbench dos seguintes modos:


• Chamando uma ferramenta, editando o objeto de repositório correspondente para o projeto, e
chamando a próxima ferramenta subseqüentemente.
• Trabalhando com o Browser de Repositório: o Browser provê uma árvore para avaliação de todos
objetos dentro de uma classe de desenvolvimento (Package) ou programa (transação SE80).
• Usando a característica plena de navegação (clique duas vezes o objeto) onde a ferramenta
correspondente é chamada então automaticamente.

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais
Objetos do Repositório

Conceitos

As definições básicas do dicionário de dados


são tabelas, domínios e elementos de dados.
Domínios descrevem os atributos técnicos de
campos das tabelas (por exemplo tipo de
campo, comprimento de campo), enquanto
elementos de dados contêm a definição
semântica (por exemplo descrição breve).
Campos não são objetos independentes e só
podem ser mantidos dentro de tabelas. Eles
pressupõem a existência de um elemento de
dados.
Um elemento de dados pressupõe a existência
de um domínio.

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais
Objetos do Repositório

Conceitos

Tabelas Transparentes - São aquelas que


uma vez definidas e ativadas no dicionário
de dados, são imediatamente criadas no
banco de dados. Nelas ficam armazenados
todos os dados do ambiente R/3.

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais
Objetos do Repositório

Conceitos

Tabela de banco de dados


No ABAP Dictionary, é possível definir tabelas de forma independente do banco de dados. Para isso, os
campos da tabela são definidos com as suas categorias de dados e seus comprimentos (independentes
do banco de dados).
Uma definição de tabela no ABAP Dictionary, é constituída pelos seguintes componentes:
•Campos de tabela: Aqui são indicados os nomes de campo e as categorias de dados dos campos
contidos na tabela.
•Chave externa: Por meio de chave externa, são determinadas as relações da tabela em relação a outras
tabelas.
•Configurações técnicas: Por meio das configurações técnicas, é controlada a forma como a tabela é
criada no banco de dados.
•Índices: Para acelerar a seleção de dados a partir da tabela, é possível criar índices para a tabela.
Existem três categorias de tabelas de banco de dados no ABAP Dictionary.
No caso de Tabelas transparentes, é criada uma definição física de tabela no banco de dados, quando
da ativação da tabela, para a definição de tabela arquivada no ABAP Dictionary. A definição de tabela é
traduzida do ABAP Dictionary para uma definição do respectivo banco de dados.

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais
Objetos do Repositório

Conceitos

AS Tabelas pool e as Tabelas cluster não são criadas no banco de dados. Os dados destas tabelas são
arquivados no pool de tabela ou cluster de tabela atribuído. Não é necessária a criação de índices e de
configurações técnicas para tabelas pool e tabelas cluster.

Tabela pool
É possível utilizar as tabelas pool para arquivar dados de controle (por exemplo, seqüências de telas,
parâmetros de programa ou dados temporários). É possível agrupar várias tabelas pool em um pool de
tabela. Ao pool de tabela corresponde uma tabela física no banco de dados, na qual estão arquivados
todos os registros das tabelas pool atribuídas
Tabela cluster
Em tabelas cluster é possível arquivar textos continuos como, por exemplo, documentação. É possível
agrupar várias tabelas cluster em um cluster de tabela. Nesta categoria de tabela, são agrupadas várias
linhas lógicas de diferentes tabelas em um registro físico. Desse modo, é possível uma gravação por
objeto ou um acesso por objeto. Como condição prévia para o agrupamento de tabelas em clusters, é
necessário que exista uma correspondência pelo menos entre partes da sua chave. Várias tabelas cluster
são gravadas em uma tabela correspondente no banco de dados.

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais
Objetos do Repositório

Conceitos

Estruturas - São aquelas em que os dados


são preenchidos quando efetuamos cálculos
em programas, passamos dados de um
programa para outro, movimentamos
campos em telas, etc.
Os dados gravados em estruturas só são
válidos em tempo de execução e não serão
necessáriamente armazenados em bancos de
dados como nas tabelas transparentes.

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais
Objetos do Repositório

ABAP Dictionary: Views Conceitos

SPFLI SCARR
Mandt Carrid Connid ... Cityfrom ... Mandt Carrid Carrname ... Views - São “visões” em que os dados
existentes nas tabelas transparentes são
selecionados a partir de uma ou mais
VIEW tabelas, agrupados e apresentados de
Mandt Carrid Connid Cityfrom Carrname acordo com a necessidade específica do
usuário.

 SAP AG

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais
Objetos do Repositório

Conceitos

Programas - São compostos de


blocos de instruções agrupadas
e executadas lógicamente.
Fazem parte dos programas
ABAP :
• Sub-rotinas (Ex: Forms) -
que podem ser chamadas com
uma interface interna ao
programa.
• Módulos de Função – Rotinas
definidas externarmente, com
uma interface padrão a todo
sistema e que pode ser
acoplada ao código do
programa.

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais
Objetos do Repositório

Conceitos

(*) Os atuais packages (pacotes) substituem as


antigas classes de desenvolvimento.

Conforme as “Best Practices” da linguagem ABAP,


recomenda-se a criação de packages num
ambiente de desenvolvimento pois isso ajuda na
organização, no transporte das aplicações e na
padronização da instalação.

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais
Objetos do Repositório
(*) É possível criar-se listas de utilização (Where-used) O ícone na barra de operação
dos objetos do repositório a partir do menu:
também abre o Where-used list para os
Utilitários  Lista de Utilizações objetos desejados. Exemplo :

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais

Transação SE10 (Transport Organizer)

Através da transação SE10


também podemos acessar alguns
objetos de uma Change Request,
abrindo-os para verificação.
(*) Na tentativa de abertura o
R/3 envia uma mensagem caso
não seja permitido por esta
transação.

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais

Transação SE10 (Transport Organizer)

- Exemplo: Ao acionarmos
double-click sobre a classe de
mensagem, esta será aberta
para manutenção.

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais

Transação SE11 (ABAP Dictionary R/3 )

Pressionar F4

Também é possivel buscar diferentes


objetos do dicionário através da
Categoria de dados

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais

Transação SE11 (ABAP Dictionary R/3 )

Pressionar F4
Pressionar Sist. Informação

Exemplo de busca genérica das tabelas do


R/3 que contenham a palavra “material”
como mesofixo em sua descrição. Preencher o escopo desejado (o campo descrição
é sensitivo, use letras maíusculas e minúsculas)

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais

Transação SE11 (ABAP Dictionary R/3 )

O R/3 retornará tôdas as tabelas que


contenham a palavra “material” em
sua descrição.
Ainda é possível restringir um pouco
mais a busca dentro do escopo
obtido, utilizando-se os ícones

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais

Transação SE11 (ABAP Dictionary R/3 )


Essa transação permite ainda a
chamada do Browser de tabelas
(SE16) , através do ícone

Assim será aberta a tela de


parâmetros para a seleção
desejada.

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais

Transação SE38 (Editor ABAP )

(*) Essa transação permite a criação e


manutenção de programas, além de habilitar
sua execução em tempo real ou em background
(Job Scheduler) e também a depuração.

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais
Transação SE37 (Function Builder )

(*) Essa transação permite a


criação e manutenção dos
módulos, além de habilitar seu
teste individual e depuração
independente de programas.

Nas “tabs” estão as interfaces da


função, seus atributos, código
fonte, etc.

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais
Transação SE37 (Function Builder )

Através do ícone acionamos


o teste individual da função onde
podemos preencher os requisitos
internos (parâmetros) para
execução e também analisar os
resultados obtidos.

Basta clicar nos ícones


para abrir a tela de parâmetros
(tabelas internas, campos
estruturados, etc)

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais
Transação SE80 (Repository Browser )

É a transação central para acessar os objetos do repositório, bastante


utilizada principalmente durante a codificação de programas on line.
Ela permite também acessar o Transport Organizer.
 SAP Brasil - Luiz Tomaz - SET/2003
ABAP para Funcionais
Transação SE84 (Object Navigator)

(*) É a transação mais completa para auxiliar a


pesquisa dos objetos do repositório, bastante
flexível, permite selecionar o escopo para ualquer
tipo de objeto e obter Where-used lists. Ela efetua
busca mas não mantém os objetos como a SE80.

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais
Debbuger (Depurando programas)

Debugger: Overview
SAP R/3
Debugging Goto Breakpoint Settings Development System Help
  

 ?

 

Watchpoint
Fields Table Breakpoint Watchpoint Calls
Main program BC400D_DEBUGGER Bezeichnungen
Fixed pt arithmetic

Source code of BC400D_DEBUGGER 68 - 77


start-of-selection

REPORT BC400D_DEBUGGER.

.
.
Double-click DATEREC = SY-DATUM.
.
.
.

Field name 2-5 Field contents


DATEREC 00000000
SY-DATUM 19980715
R

 SAP AG

A chamada do Debug pode ser feita pelo ABAP Editor acionando


Debugging, pela barra de comando através de /h ou de qualquer
tela pelo caminho System  Utilities  Debugging

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais
Debbuger (Depurando programas)

Important Debugging Functions I

Single step Processes


Processes the
the next
next line
line of
of the
the
program.
program.

All
All steps
steps belonging
belonging to
to the
the current
current
Execute line
line are
are processed.
processed.

Continues
Continues processing
processing one
one level
level
Return higher
higher in
in the
the call
call hierarchy.
hierarchy.

Continues
Continues processing
processing until
until the
the
Continue next breakpoint or the end
next breakpoint or the end of
of
the
the program.
program.

A
A screen
screen appears,
appears, on
on which
which you
you
Breakpoint can define breakpoints.
can define breakpoints.
R

 SAP AG

Principais comandos do Debug

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais
Debbuger (Depurando programas)

Important Debugging Functions II

Allows
Allows you
you to
to define
define watchpoints
watchpoints
Watchpoint using
using relational
relational operators
operators

Expand Allows
Allows you
you to
to expand
expand structured
structured
substructure fields
fields by
by double-clicking
double-clicking

Allows
Allows you
you toto display
display complex
complex
Display complex internal
internal tables
tables and
and expand
expand them
them
internal tables by
by double-clicking
double-clicking

Hexadecimal Allows
Allows you
you toto display
display field
field
display contents
contents in
in hex
hex by
by choosing
choosing

Replace function Allows


Allows you
you to
to change
change the
the
contents of a field
contents of a field R

 SAP AG

Principais comandos do Debug

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais
Enhancements

Change Levels in the ABAP Workbench

R/3 Business Customer


Applications programs
(The SAP Standard)

Customer
Modification Enhancement
development
 ABAP Dictionary  With references
 Non-registered  Tables to SAP objects
modification  Field exits  Without references to
 Assisted modification  Program enhancements SAP objects
 Function module exits
 Business
transaction
events
 Business add-ins
 Menu enhancements
 Menu exits
 Business add-ins
 Screen enhancements
 Screen exits

 User exits
 SAP AG 1999

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais
Enhancements
Você pode ampliar o sistema R/3 nos seguintes níveis :

• Em programas de ABAP (Function Module Exit)


• Em interfaces de GUI (Menu exit)
• Em telas inserindo uma “subscreen” em uma área especificada pela SAP (Screen exit)
• Em telas processando um código que se refere a um campo específico na tela (Field exit)
• No dicionário ABAP em tabelas ou estruturas (Table enhancement)

Business Add-ins
Nova técnica de ampliações do sistema R/3 utilizada pela SAP, está disponível para um
nível múltiplo de desenvolvimento de software (parceiros SAP, clientes, industry
solutions, etc). Todos os objetos ABAP como códigos fonte, telas, GUIs, interfaces de
tabela criados para essa técnica de ampliação foram definidos de modo a possibilitar ao
cliente criar suas próprias ampliações no R/3 Standard.

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais
Enhancements
Customer Enhancement Projects

SAP Customer

Definition Definition
of of
SAP enhancement
Document projects

SMOD CMOD

 SAP AG 1999

As transações usadas para ampliações são SE11 (Abap


Dictonary), CMOD e SMOD para administrar os
projetos e suas ampliações. Como nos Enhancements, as
Business Add-ins também possuem visão de definição e
de implementação.

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais
Enhancements
BAdI Definition: Interface Methods Business Add-in Definition: Method Interface
Parameters
Attrs. Interface FCodes
Interface name IF_EX_<badi> Class Builder: Change Interface IF_EX_<badi>
Name of generated BAdI class CL_EX_<badi>
Attributes Methods Events

Parameters Exceptions
Method Type Description
Class Builder: Change Interface IF_EX_<badi> <method> Business add-in method

Attrs. Methods Events

Parameters Exceptions Attributes Methods Events


Method Type Description
<method> BAdI method Exceptions
Methods
Parameters Type Ref.Type Description

• Static Import

• Instance Export

 SAP AG 1999

 SAP AG 1999

(*) Na interface de uma BADI como nos módulos de função,


identificamos os objetos manuseados pelo enhancement

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais
Enhancements
Finding a Business Add-In

 Directly in application:  Using tools


System Status
®Double-click on program name

Find character string...


Application hierarchy
CL_EXITHANDLER

 Global in program <prog>

 Double-click reference variable Repository


Information System
Double-click interface Class Builder:

 Where-used list for interface


IMG
 CL_EX_<BAdI-Name>

 SE18: <BAdI-Name>
 Documentation
 Documentation

 SAP AG 1999

(*)Além das opções de pesquisa para Business Add-ins


via programa ou módulo de função é possivel utilizar o
Repository Information System pelo caminho :
Environment -> EXIT techniques -> Business Add-Ins

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais
Especificações Funcionais (Boas Práticas)
(*) Uma especificação funcional para desenvolvimento ABAP deve conter :

• Objetivo
• Informações para análise
de impacto

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais
Especificações Funcionais (Boas Práticas)

• Descrição do Processo
• Regras de Negócio
• Transações Envolvidas
• Mapeamento dos campos
(Tabelas / Estruturas)
• Layouts de entrada e saída
(Telas / Relatórios)
• Parâmetros de Seleção

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais
Especificações Funcionais (Boas Práticas)

• Mapeamento da Transação
Standard (SHDB)
• Manuseio de Erros
• Procedimentos para Teste
• Resultados Esperados

 SAP Brasil - Luiz Tomaz - SET/2003


ABAP para Funcionais
Cursos de Formação ABAP

ABAP Workbench
Level 2 Level 3
BC402 3 days BC414 2 days BC490 3 days
ABAP Programming Programming ABAP Performance
Techniques Database Updates Tuning
BC404 3 days BC415 2 days
ABAP Objects: Object-
Oriented Programming Communication
in R/3 Interfaces in ABAP
BC405 3 days BC425 3 days
Techniques of List Enhancements
Processing and SAP Query and Modifications
BC410 5 days BC412 2 days
Programming Dialog Programming
BC400 5 days User Dialogs using EnjoySAP Controls
ABAP Workbench: BC420 5 days BC440 5 days
Concepts and Tools Data Transfer Developing
BC430 2 days Internet Applications
MBC40 2 days ABAP Dictionary
Managing ABAP Recommended supplementary
BC460 3 days courses are:
Development Projects
SAPscript: Forms Design Business Process Technologies
and Text Management CA925, CA926, CA927
CA610 2 days BC095 (Business Integration
Technology)
CATT:Test Workbench and BC619 (ALE), BC620, BC621
Computer Aided Test Tool
 SAP AG 1999

 SAP Brasil - Luiz Tomaz - SET/2003

Potrebbero piacerti anche