Beruflich Dokumente
Kultur Dokumente
Curso Bsico
ABAP/4
Joclio Pereira
Arquitetura do SAP
Instncia X Client
Tambm muito importante o conceito do funcionamento do
ambiente do sistema durante a evoluo de um projeto. Inicialmente
devemos entender os conceitos de client e instncia:
Acessar o SAP
Atalhos e Transaes
Praticar!!!
1. Acessar transaes
a. SD (VA03, VL03N, VF11)
b. FI (F-02, FB03, FBL3N)
c. MM (MM01, ME51, ME21N).
DEFINIO
ABAP (Advanced Business Application Programming) uma
linguagem de programao de alto nvel desenvolvida pela empresa
de software SAP. a principal linguagem utilizada no produto mais
conhecido desta empresa, o SAP R/3, um software ERP.
O ABAP tem uma sintaxe semelhante ao COBOL. Em 1999, com a
verso R/3 4.5, a SAP lanou uma verso de ABAP que suporta
10
11
12
REPORT
ZOLAMUNDO.
Parameters
Definio de parmetros do relatrio.
S faz sentido em programas de relatrio, isto , os programas
definidos como o tipo "1" nos atributos. Voc executar programas de
relatrio com a indicao SUBMIT.
Exemplo:
Report ztesteparametros
Parameters: p_nome(20) type c.
Write: p_nome.
13
14
Data Dictionary
15
1. Objetivos
Modelo Entidade-Relacionamento
Modelo desenvolvido para facilitar o projeto de banco de dados,
permitindo a especificao de um esquema que represente a
estrutura lgica global de um banco de dados.
Entidade: um objeto que existe e distinguvel de outros objetos,
ou seja, identifica o agrupamento de objetos do mesmo tipo.
Exemplos: Clientes, Bancos, Agncias, Contas-Corrente.
Atributos: So os qualificadores de uma entidade, isto ,
representam no modelo o que uma entidade pretende ser. Exemplos:
Nome, RG, CPF, Endereo, Nro Conta, Nro Agncia, Nro Banco
Domnio: Conjunto de valores permissveis para um atributo.
Exemplo: Estado Civil, Sexo, Cor, Meses do Ano.
Relacionamento: a associao entre duas entidades, ou seja,
representa a maneira como duas entidades esto relacionadas ou
ligadas. Exemplos: Conta-Corrente de um Cliente, Agncias de um
Banco, Contas-Corrente de uma Agncia.
Restries de Mapeamento: Representam o modo como as
diferentes entidades de um modelo se relacionam. Determinadas pela
cardinalidade dos relacionamentos entre as entidades.
Um-para-Um: Uma ocorrncia da Entidade A est relacionada com
uma e apenas uma ocorrncia da Entidade B.
Um-para-N: Uma ocorrncia da Entidade A est relacionada com
uma ou vrias ocorrncias da Entidade B.
N-para-Um: Vrias ocorrncias da Entidade A esto relacionadas
com apenas uma ocorrncia da Entidade B.
N-para-N: Vrias ocorrncias da Entidade A esto relacionadas com
vrias ocorrncias da Entidade B.
Modelo Relacional
Um banco de Dados Relacional a implementao fsica do Modelo
16
17
18
Transao SE11
19
20
Criando um Domnio
21
22
23
Estrutura Tabela
24
Opes tcnicas
Criao de ndices
Vises
Elemento de dados
25
Domnio
4. EXEMPLOS
4.1 Visualizao da Estrutura de uma Tabela
a)
b)
1. Acessar o Dicionrio de Dados:
Ferramentas ABAP/4 Workbench ABAP/4 Dictionary (SE11)
2. Informar o nome da Tabela BSEG <Mostrar>
3. Clique duplo na coluna Elemento de Dados BUKRS
4. <Voltar>
5. Clicar no matchcode da coluna Ctg
6. <Cancela>
7. <Procurar> o campo PSWSL
8. <Avanar>
9. Clique no boto <Chaves Externas>
10. <ENTER>
11. Clique duplo em sua Checar Tabela (TCURC)
12. <VOLTAR>
13. Clicar no boto <Outra Tabela>
14. Informe BKPF <ENTER>
15. Opo IR PARA ndices
16. Clique duplo #1
17. <VOLTAR>
18. <CANCELA>
19. Opo Utilitrios Administrao de Verso
26
20. <VOLTAR>
b)
1. Procurar o campo WAERS
2. Digitar Tabela (TCURC) na SE16
3. Opo
Contedo de tabela (SE16)
4. <F8>
5. Clique duplo na coluna WAERS com valor ADP
6. Clique no campo WAERS e <F1>
7. Veja o help e depois <F9>
8. <Cancelar> / < Cancelar > / < Cancelar > (Contedo de tabela)
9. Voltar tela de estrutura de tabela (<Voltar> 3x)
10. Opo Contedo de Tabela
11. <F8>
12. Opo Opes Formato de Lista Seleo Coluna
13. Desmarcar todos os campos (terceiro boto)
14. Selecionar os campos BUKRS, BELNR, GJAHR e XBLNR
15. <ENTER>
16. Selecionar XBLNR = 000022-1
17. <F8>
18. <VOLTAR>
19. Opo Opes Critrios de Seleo
20. Selecionar tambm WWERT e TCODE <ENTER>
21. Encerrar o DD e retornar ao menu principal do R/3
27
28
29
30
Testando a Transao:
Sair da transao SE93
Digitar o cdigo da transao criada
EXERCCIOS
DATA DICTIONARY
EXERCCIO 1
Criar uma ESTRUTURA com as seguintes caractersticas:
(Transao SE11 -> clicar em Data Type _> Create -> Selecionar
Estrutura
Name: ZSCRIPT# (# = nmero do grupo)
EXERCCIO 2
Tabela BSEG
1 - Dado uma GL account HKONT = 50014001. Encontrar todos os
documentos associados, selecionar apenas os campos BUKRS, BELNR,
GJAHR, DMBTR, WRBTR, HKONT, DMBE2 e imprim-los.
2 - Dado o documento de nmero 1200000005. Verificar quais contas
incluem este documento (imprimir).
3 - Encontrar a GL account que inclui o documento do ex 2 e possui o
campo de line item (BUZEI) igual a 2.
Tabela BKPF
4 - Encontrar documentos que possuam:
31
Empresa = RP01
Data Documento = 28.12.2000
Data Remessa = 28.12.2000
EXERCCIO 3
32
33
Figura 1
34
35
36
Objeto de Bloqueio
No SAP, as transaes standard utilizam um conceito de bloqueio de
tabela, possibilitando um controle de acesso a informaes por vrios
usurios ao mesmo tempo. Para programas Z, devem ser
implementados Objeto de Bloqueio de forma a impedir que uma
tabela seja atualizada ao mesmo tempo por dois usurios diferentes
com dados diferentes.
37
38
Menu de Contexto
Para acionar o Menu de contexto no editor ABAP basta selecionar um
bloco de cdigo desejado e clicar com o boto direito sobre a seleo,
logo ser mostrado um menu com diversas opes. Alguns so
bastante usados, dentre eles:
Formato
39
Comentar linhas
Podemos selecionar um bloco de cdigo que no dever ser
compilado pelo ABAP e coment-lo (no ficar ativo aquele pedao de
cdigo). Usa-se a opo comentar / descontentar linhas ou os atalhos
CTRL+<, CTRL+>.
Endentar
Para ficar com uma melhor visibilidade relativo as sintaxes dos
comandos sempre utilizamos endentao, um bloco IF...ELSE ficaria
como mostrado abaixo, internamente as linhas ficam mais afastadas.
40
41
id(10) TYPE C,
name(25) TYPE C,
END OF x_personnel.
5
6 DATA:
LOOP AT t_itab1.
WRITE: / t_itab1-name.
ENDLOOP.
5
6
WRITE: / d_personnel-name.
ENDLOOP.
42
43
44
45
46
47
48
49
Relatrios ALV
Desenvolver relatrios em ABAP (Advanced Business Application
Programing) com um bom visual e recursos avanados no nada
trivial.
Imagine desenvolver um relatrio com cores, cabealho, linha de
totais, label de colunas e separadores de colunas. Para piorar um
pouco, que permita classificar por qualquer campo, aumentar ou
diminuir o tamanho de colunas, gostaria tambm de poder trocar a
posio das colunas, omitir ou exibir campos, totalizar, agrupar,
exportar para Excel, etc.
Totalmente possvel e igualmente invivel sem o uso de funes ALV.
O ALV padroniza e simplifica a exibio e operao de listas e
relatrios no sistema R/3. Fornece interfaces e formatos padronizados
para todas as listas e relatrios.
Na apostila vamos ver como criar programas utilizando uma funo
ALV. Parece pouco, mas todas trabalham de maneira similar.
Relatrios tradicionais
Um relatrio tradicional em ABAP no tem nenhum recurso ou
formatao padro. Tudo deve ser programado via cdigo.
Um programa para listar um relatrio como no exemplo acima, j
exige muita codificao. Veja que no tem nada de complexo.
50
Relatrios ALV
Listagens ALV so dinmicas por definio. O programador vai
escolher qual ou quais recursos ir disponibilizar em seu relatrio.
Barra de ferramentas
51
52
O boto de Detalhes
Primeiro selecione a linha desejada atravs do seletor de campos, e
depois clique no cone.
Veja
53
54
O boto Pr-visualz.impresso
O Relatrio ALV no impresso como se v na tela do computador.
Clique nesse boto para visualizar a impresso no modo que ir ser a
sada realmente.
55
56
57
58
59
60
61
62
Exemplo de programa 1
*----------------------------------------------------------------------* ProcWork Informtica - ASPEN - Unidade de Negcios SAP
* Descrio : Programa de exemplo para criao de relatrio ALV
* Dezembro, 2002
*----------------------------------------------------------------------report zexemplo_alv.
*----------------------------------------------------------------------* Tabelas transparentes
*----------------------------------------------------------------------tables:
vbrk. "Documentos de faturamento
*----------------------------------------------------------------------* Tipos standard
*
* O conjunto de tipos VRM e SLIS so utilizados por funes ALV. Defina
* sempre no incio. O mais importante mesmo o SLIS.
*----------------------------------------------------------------------type-pools:
vrm, "Necessrio para uso de ALV
slis. "Tipos globais para ALV
*----------------------------------------------------------------------* Tipos do usurio
*----------------------------------------------------------------------types:
begin of y_vbrk,
vbeln like vbrk-vbeln, "Nmero documento
kdgrp like vbrk-kdgrp, "Grupo de clientes
netwr like vbrk-netwr, "Valor lquido
mwsbk like vbrk-mwsbk, "Montante do imposto
fkart like vbrk-fkart, "Tipo documento faturamento
vtweg like vbrk-vtweg, "Canal de distribuio
kunag like vbrk-kunrg, "Emissor da ordem
xblnr like vbrk-xblnr, "Nota fiscal
mark type c, "Marcar alteraes
end of y_vbrk.
63
64
65
66
67
68
69
70
71
72
Estruturas SLIS
73
74
75