Академический Документы
Профессиональный Документы
Культура Документы
Sumrio
ABAP DICTIONARY ......................................................................................................................... 4
DATA ELEMENTS........................................................................................................................ 4
DOMAINS .................................................................................................................................. 4
STEP BY STEP (Data Element, Domain) ..................................................................................... 5
TABLES ....................................................................................................................................... 6
Fields ..................................................................................................................................... 7
FK ........................................................................................................................................... 7
Technical Settings .................................................................................................................. 7
Index ...................................................................................................................................... 8
STEP BY STEP (TABLE, FK, INDEX) .............................................................................................. 8
STRUCTURES............................................................................................................................ 10
STEP BY STEP (STRUCTURE) ..................................................................................................... 10
VIEWS ...................................................................................................................................... 11
STEP BY STEP (VIEW) ............................................................................................................... 11
SEARCH HELP ........................................................................................................................... 12
STEP BY STEP (SEARCH HELP, ASSOCIATION) .......................................................................... 14
ABAP PROGRAMMING ................................................................................................................ 15
Qual a funo do R3 ? ............................................................................................................. 15
Por que saber isso ? ................................................................................................................ 16
Data Types and Data Objects .................................................................................................. 17
Data Objects ........................................................................................................................ 18
Data Types ........................................................................................................................... 20
WRITE ...................................................................................................................................... 21
PARAMETERS........................................................................................................................... 22
FRAMES ................................................................................................................................... 23
Processing Data ....................................................................................................................... 24
Assigning Values .................................................................................................................. 24
Reseting Values to their Initial Values................................................................................. 24
Numerical Operations ......................................................................................................... 25
Processing Character Strings (String Functions).................................................................. 27
Processing Sections of String............................................................................................... 27
WA | ABAP DICTIONARY
Treinamento ABAP
EXERCISES (Declarations + Assigning Values + Operations) ................................................ 27
Field-Symbols ...................................................................................................................... 28
EXERCISES (Field-Symbol).................................................................................................... 28
Controlling the program flow .................................................................................................. 29
Branching Conditionally ...................................................................................................... 29
EXERCISES (Conditionally) ................................................................................................... 30
Loops ................................................................................................................................... 31
Unconditional Loop (Do) ..................................................................................................... 31
Conditional Loop (While) .................................................................................................... 31
Terminating Loops............................................................................................................... 31
EXERCISES (Loop)................................................................................................................. 32
SELECT-OPTIONS ..........................................................................Erro! Indicador no definido.
Internal Tables......................................................................................................................... 33
Create Internal Table With Header Line.............................................................................. 34
Create Internal Table Without Header Line ........................................................................ 34
Diferences between Internal Tables ................................................................................... 35
Operations on Entire Internal Table .................................................................................... 36
Operations on Individual Lines ............................................................................................ 37
EXERCISES (Declare, Append, Describe, Sort) ..................................................................... 38
EXERCISES (Read) ................................................................................................................ 38
EXERCISES (Modify, Delete) ................................................................................................ 38
EXERCISES (Loop ITAB , Control Level Processing) .............................................................. 39
Access Using Field Symbols ................................................................................................. 40
Open SQL ................................................................................................................................. 41
Overview ............................................................................................................................. 41
Return Codes ....................................................................................................................... 41
Reading Data ....................................................................................................................... 42
EXERCISES (SELECT) ............................................................................................................. 43
Inserting Lines ..................................................................................................................... 44
Changing Lines..................................................................................................................... 44
Deleting Lines ...................................................................................................................... 45
Inserting or Changing Lines ................................................................................................. 46
Commiting Database Changes ............................................................................................ 46
WA | ABAP DICTIONARY
Treinamento ABAP
EXERCISES (DB Operations) ................................................................................................. 46
Lists.......................................................................................................................................... 47
Creating Simple List with Write ........................................................................................... 47
EXERCISES (WRITE) .............................................................................................................. 48
Messages ................................................................................................................................. 49
Messages on screen ............................................................................................................ 49
EXERCISES (CLASS + MESSAGE) ........................................................................................... 49
Transactions ............................................................................................................................ 50
Reports .................................................................................................................................... 51
Description of Events .......................................................................................................... 51
Modularization Techniques..................................................................................................... 54
Macro .................................................................................................................................. 54
Include ................................................................................................................................. 54
Subroutines ......................................................................................................................... 55
Function Modules................................................................................................................ 56
EXERCISES (Modularization Techniques) ............................................................................ 57
Working with Files ................................................................................................................... 59
Working with files in Application Server ............................................................................. 59
EXERCISES (files in Application Server)................................................................................ 62
Working with local files ....................................................................................................... 63
EXERCISES (Local files) ......................................................................................................... 63
ALV .............................................................................................................................................. 64
REUSE_ALV_GRID_DISPLAY..................................................................................................... 64
PERFORMANCE Best Practices ................................................................................................. 65
WA | ABAP DICTIONARY
Treinamento ABAP
ABAP DICTIONARY
O dicionrio de dados do ABAP/4 (DD) uma fonte central de informaes provenientes do
sistema gerenciador de dados do SAP. Sua principal funo suportar a criao e o
gerenciamento das definies de dados.
completamente integrado ao ABAP Development Workbench.
Atravs dele, podemos criar e manipular tabelas, elemento de dados, domnios, search help,
views ...
DATA ELEMENTS
Define atributos do objeto tais como: Tipo, tamanho, casas decimais. Esses atributos podem
ser definidos diretamente ao elemento ou copiados do domnio a ele associado.
Responsvel pela maneira como o objeto ser apresentado ao usurio (label + documentao)
Um elemento de dados pode ser referenciado diretamente por um programa ABAP. Como
resultado, essas variveis possuiro as caractersticas do elemento referenciado.
DOMAINS
Descreve os valores vlidos para um elemento de dados. O domnio especifica tambm
informaes como o tipo de dados e o tamanho do campo. Uma vez alterado, todos os campos
ou componentes que esto referenciados a ele so modificados.
WA | ABAP DICTIONARY
Treinamento ABAP
STEP BY STEP (Data Element, Domain)
- Domnio
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
- Elemento de Dados
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
WA | ABAP DICTIONARY
Treinamento ABAP
TABLES
Repositrio de armazenamento. Em uma tabela so armazenados dados persistentes, se voc
inserir dados, eles continuaro ai mesmo depois de voc finalizar seu programa e ali ficaro
at o seu ou outro programa alter-los ou exclu-los.
Tabelas podem ser definidas independentemente do banco de dados (DB2, Oracle, SQL)
associado ao SAP.
WA | ABAP DICTIONARY
Treinamento ABAP
Fields
Nome do Campo: string de no mximo 16 caracteres podendo conter letras, nmeros
e underscores. Deve iniciar com uma letra.
- Chave: caracteriza o campo como campo-chave (PK). necessrio que os camposchave de uma tabela estejam juntos no incio da tabela, ou seja, um campo que no
seja campo-chave no pode estar entre dois campos-chave.
- Tipo de dados: se o valor do mesmo ser caractere, numrico, data ...
- Tamanho: Nmero de casas ocupadas pelo campo.
- Decimais: Nmero de casas decimais aps o ponto flutuante.
- Descrio Breve: Significado breve do campo.
FK
Para definir relaes entre tabelas do ABAP Dictionary, criamos chaves estrangeiras (FK).
Usando essa chave, criamos rapidamente uma validao para o campo de entrada.
Technical Settings
Define como a tabela ser armazenada no BD. Os parmetros mais importantes so:
- Categoria de Dados: Determina em que rea fsica do banco de dados (em ORACLE
do TABLESPACE) arquivada a tabela.
Os tipos de dados mais importantes ( exceo de dados de sistema) so:
Os Dados mestre so dados com freqentes acessos de leitura, mas que raramente
so atualizados. Os Dados de movimento so dados que so atualizados com
freqncia. Os Dados organizacionais e de customizing so dados indicados na
configurao do sistema, e que raramente so modificados depois.
WA | ABAP DICTIONARY
Treinamento ABAP
- Categor.Tamanho: Determina a necessidade de espao prevista de uma tabela no
banco de dados.
Para a tabela, possvel selecionar a categoria de 0 a 4. A cada categoria est
atribudo um determinado tamanho fixo de uma rea de memria do banco de
dados. Ao criar uma tabela, reservado para esta um espao inicial no banco
de dados; se ela necessitar de mais espao devido aos dados entrados, o
espao de memria anexado em conformidade com a categoria aqui
selecionada.
Index
Criado para otimizar a busca de registros em um determinado critrio de seleo. Pode ser
considerado uma cpia da tabela, reduzida a poucos campos, de maneira ordenada e que
possui um ponteiro para a linha correspondente na tabela original. Assim sendo, campos que
no so ndices podem ser lidos.
WA | ABAP DICTIONARY
Treinamento ABAP
- Chave Estrangeira (FK)
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
- ndice
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
WA | ABAP DICTIONARY
Treinamento ABAP
STRUCTURES
Uma structure uma descrio de uma srie de campos agrupados sob um nome em
comum. Ela descreve os nomes de campo, sua sequncia e seus tipos e comprimentos de
dados. Assim como a tabela, uma estrutura no ter outra com seu nome e nem com o de uma
tabela.
10
Treinamento ABAP
VIEWS
Uma view uma viso lgica de uma ou vrias tabelas. Ou seja, uma viso no arquivada
fisicamente, mas derivada de uma ou de vrias tabelas.
No caso mais simples, este processo de desvio pode consistir em ocultar um ou vrios campos
de uma tabela (projeo) ou em transferir apenas determinadas entradas de uma tabela para
a viso (seleo). As vises mais complicadas podem ser compostas por vrias tabelas, onde as
tabelas individuais so ligadas atravs da operao de ligao relacional.
Como o join entre as tabelas executado no banco de dados, existe uma reduo de acessos
ao BD.
11
Treinamento ABAP
_____________________________________________________________________________
SEARCH HELP
Uma ajuda para pesquisa um objeto do ABAP Dictionary que permite definir todas as
entradas possveis para um determinado campo.
WA | ABAP DICTIONARY
12
Treinamento ABAP
WA | ABAP DICTIONARY
13
Treinamento ABAP
STEP BY STEP (SEARCH HELP, ASSOCIATION)
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
_____________________________________________________________________________
WA | ABAP DICTIONARY
14
Treinamento ABAP
ABAP PROGRAMMING
Qual a funo do R3 ?
oferecer um conjunto integrado compacto, de aplicativos empresariais de grande escala. O
conjunto padro de aplicativos integrados com cada sistema R/3 o seguinte:
PP
FI
CO
(Controlling - controladoria)
AM
PS
HR
PM
Estes aplicativos so chamados reas funcionais, reas de aplicativo ou, s vezes, mdulos
funcionais do R/3. Todos estes termos so sinnimos.
WA | ABAP PROGRAMMING
15
Treinamento ABAP
O R/3 vem predefinindo com os aplicativos empresariais bsicos necessrios maioria das
grandes corporaes. Esses aplicativos coexistem em um ambiente homogneo. Eles so
projetados para funcionar utilizando desde um nico banco de dados e um conjunto (muito
grande) de tabelas. Os tamanhos de banco de dados de produo atuais variam de 12
gigabytes a aproximadamente 3 terabytes. Cerca de 8.000 tabelas de banco de dados so
distribudas com o produto R/3 padro.
16
Treinamento ABAP
WA | ABAP PROGRAMMING
17
Treinamento ABAP
Data Objects
Variables
Varivel um objeto capaz de reter e representar um valor ou expresso.
Quando nos referimos varivel, estamos tratando de uma regio de memria previamente
identificada cuja finalidade armazenar os dados ou informaes de um programa por um
determinado espao de tempo.
Uma varivel composta por dois elementos bsicos: o contedo,o valor da varivel e
identificador, um nome dado varivel para possibilitar sua utilizao.
Constants
Como o nome j diz uma constante, sendo que quase idntica a uma varivel, exceto
quanto ao fato de que seu valor no poder ser alterado. A instruo constants semelhante
instruo data; entretanto, a adio do comando value necessrio. O comando constants
pode ser usado quando for incluir um literal vrias vezes no mesmo programa definindo um
valor igual ao da literal e utilizar a constante no corpo do programa e quando for necessrio
alterar o valor de sua literal basta apenas alterar o valor de sua constante.
WA | ABAP PROGRAMMING
18
Treinamento ABAP
SYST (SY)
Algumas variveis foram criadas para validar a execuo e entrada de dados no
sistema, estas variveis encontram-se na estrutura SYST.
Literals
um conjunto de caracteres no declarados explicitamente no programa. Como todos os
objetos, possuem tamanho, nmero de decimais, tipo de dados porm no possuem nome.
Exemplo: 123.12 , Daniel, 1, 100.
Text Symbols
um objeto gerado durante o desenvolvimento do programa para substituio de literais. Tem
a vantagem a possibilidade de traduo.
WA | ABAP PROGRAMMING
19
Treinamento ABAP
Data Types
Data Types so tipos de dados definidos em tempo de design no programa.
WA | ABAP PROGRAMMING
20
Treinamento ABAP
WRITE
Write statement
Quando se faz necessrio a exibio na tela do resultado de um report voc utiliza o comando
write e todo o contedo que estiver aps a instruo at ser finalizado por . gerar um
relatrio de sada.
Positioning write output
WA | ABAP PROGRAMMING
21
Treinamento ABAP
PARAMETERS
Usamos a instruo PARAMETERS para declarar variveis similarmente a instruo DATA. Para
cada parameter declarado, um campo apresentado na tela, permitindo a entrada de valores
pelo usurio.
Para checar o valor entrado com valores do Dicionrio de Dados, utilizamos o adendo VALUE
CHECK na instruo de declarao.
Para atribuir valor de entrada padro, utilizamos a instruo DEFAULT.
Para tornar a entrada de valor obrigatrio, acrescentamos a clusula OBLIGATORY
declarao.
na
Para exibir ao usurio uma lista de valores vlidos, utilizamos a instruo MATCHCODE OBJECT,
ela permite acrescentar um search help (definido previamente no ABAP Dictionary).
WA | ABAP PROGRAMMING
22
Treinamento ABAP
FRAMES
Inclui um frame tela de seleo conforme instruo abaixo.
WA | ABAP PROGRAMMING
23
Treinamento ABAP
Processing Data
Assigning Values
Essa seo descreve os comandos utilizados para atribuir/alterar o contedo das variveis. No
inicio do programa ABAP, as variveis possuem um valor inicial que podem ser preenchidos
durante sua declarao ou durante a execuo do programa. Podem tambm ser alterados em
qualquer momento utilizando as sintaxes abaixo.
With Move (Directly)
With Write
WA | ABAP PROGRAMMING
24
Treinamento ABAP
Numerical Operations
Arithmetic Calculations
WA | ABAP PROGRAMMING
25
Treinamento ABAP
Mathematical Functions
WA | ABAP PROGRAMMING
26
Treinamento ABAP
27
Treinamento ABAP
Field-Symbols
Field Symbols permite acesso dinmico Data Objects nos programas ABAP. Diferentemente
do acesso esttico, onde voc precisa especificar o nome do objeto, FS permite acessar objetos
cujo nome voc desconhecia at a hora da execuo.
Field Symbol um objeto que no ocupa espao fsico, porm aponta para outro objeto e
passa a possuir suas caractersticas.
Depois de referenciado (assign), qualquer alterao no Field symbol refletida
automaticamente no objeto apontado.
Defining
Assigning
EXERCISES (Field-Symbol)
WA | ABAP PROGRAMMING
28
Treinamento ABAP
Controlling the program flow
Branching Conditionally
The IF control sctructure
WA | ABAP PROGRAMMING
29
Treinamento ABAP
The CASE control structure
EXERCISES (Conditionally)
WA | ABAP PROGRAMMING
30
Treinamento ABAP
Loops
Unconditional Loop (Do)
Terminating Loops
Continue / Check / Exit
WA | ABAP PROGRAMMING
31
Treinamento ABAP
EXERCISES (Loop)
WA | ABAP PROGRAMMING
32
Treinamento ABAP
Internal Tables
Tabelas internas so utilizadas para armazenar em tempo de execuo os dados necessrios
para a processamento do seu programa. Estes dados podem ser selecionados de diversas
tabelas transparentes. O nmero de linhas de uma tabela no fixo.
O acesso a tabela interna feito linha a linha utilizando uma work area como interface para
transferir dados para ou de uma tabela, esta work area utilizada para armazenar
temporariamente uma entrada da tabela de dados.
Quando lemos uma tabela interna o contedo de endereamento enviado para uma work
area. Esta work area tem a mesma estrutura da sua tabela interna.
Standard table:
The key access to a standard table uses a sequential search. The time required for an
access is linearly dependent on the number of entries in the internal table.
You should usually access a standard table with index operations.
Sorted table:
The table is always stored internally sorted by its key. Key access to a sorted table can
therefore use a binary search. If the key is not unique, the entry with the lowest index is
accessed. The time required for an access is logarithmically dependent on the number of
entries in the internal table.
Index accesses to sorted tables are also allowed. You should usually access a sorted
table using its key.
Hash table:
The table is internally managed with a hash procedure. All the entries must have a
unique key. The time required for a key access is constant, that is it does not depend on
the number of entries in the internal table.
You cannot access a hash table with an index. Accesses must use generic key
operations (SORT, LOOP, etc.).
WA | ABAP PROGRAMMING
33
Treinamento ABAP
Create Internal Table With Header Line
WA | ABAP PROGRAMMING
34
Treinamento ABAP
Diferences between Internal Tables
WA | ABAP PROGRAMMING
35
Treinamento ABAP
Operations on Entire Internal Table
Initializing
Sort
Para classificar o contedo de uma tabela interna voc pode utilizar o comando sort, as linhas
podem ser classificadas por uma ou mais colunas em ordem ascendente ou descendente,
sendo que a prpria sequncia de classificao pode ser alterada.
WA | ABAP PROGRAMMING
36
Treinamento ABAP
Determining Attributes of Internal Table
A instruo acima adiciona os valores da work area <wa> na tabela interna <itab>. Isto ,
uma instruo para incluso de uma nica linha.
Para a incluso de mltiplas linhas, utilizamos a sintaxe acima. Todas as linhas da tabela
interna <itab1> so inseridas na tabela <itab2>. Cuidado que as linhas devem ser compatveis.
WA | ABAP PROGRAMMING
37
Treinamento ABAP
EXERCISES (Declare, Append, Describe, Sort)
Reading Lines
Essa instruo l uma linha da da tabela interna <itab> e move o seu contedo para a work
rea <wa>. Podemos efetuar um filtro na leitura ou por contedo (with key) ou por posio na
tabela (index).
Caso o programa no encontre uma entrada na tabela que satisfaa a condio, a varivel de
sistema sy-subrc preenchida com o valor 4, caso contrrio o valor da mesma ser 0.
Utilizando-se da clusula TRANSPORTING, especificamos quais campos da tabela interna
queremos que sejam transferidos para a Work Area.
EXERCISES (Read)
Changing Lines
Para alterar linhas da tabela interna, utilizamos a instruo Modify.
Deleting Lines
Para excluir linhas de uma tabela interna, usamos a clusula que segue:
Para remover as linhas duplicadas de uma tabela interna, usamos a sintaxe abaixo:
WA | ABAP PROGRAMMING
38
Treinamento ABAP
Processing Table Lines in Loops
Essa instruo l, linha a linha, a tabela interna <itab> e move o seu contedo para a work
rea <wa> desde que a condio (where/from) seja satisfatria.
Em tabelas internas do tipo Standard e Sort, a varivel de sistema SY-TABIX contm o ndex da
linha corrente.
Loop Control Level Processing
WA | ABAP PROGRAMMING
39
Treinamento ABAP
Access Using Field Symbols
Acessando a tabela interna utilizando-se FIELD SYMBOL, no h a necessidade de copiar os
dados para uma work area. Uma vez atribudo o registro, trabalhar com o Field Symbol tem o
mesmo efeito de acessar a linha correspondente diretamente.
Quando voc altera uma tabela interna com a instruo Modify, devemos inicialmente
preencher a work rea e posteriormente atribu-la tabela Interna. Se trabalharmos com
Field-Symbols, isso no necessrio o que aumenta a performance do programa em caso de
tabelas internas com grande quantidade de linhas.
WA | ABAP PROGRAMMING
40
Treinamento ABAP
Open SQL
um conjunto de instrues que efetuam operaes no banco de dados central do SAP/R3. O
resultado da operao e a mensagem de retorno, so independentes do banco no qual o SAP
est trabalhando.
Open SQL s pode trabalhar com tabelas criadas atravs do ABAP Dictionary.
Overview
Return Codes
Todos os comandos Open SQL preenchem as variveis de sistema abaixo da seguinte forma:
SY-SUBRC - caso a operao tenha sido efetuada com sucesso o valor da varivel ser 0, caso
contrrio o valor ser diferente de 0.
SY-DBCNT esta varivel conter a quantidade de linhas processadas pela instruo Open SQL.
WA | ABAP PROGRAMMING
41
Treinamento ABAP
Reading Data
O comando select usado para acessar e selecionar dados de tabelas transparentes do SAP.
Porexistirem diversas variaes do mesmo comando, fundamental que o programador saiba
o mecanismo de funcionamento de cada uma delas pois s assim poder dar ao programa
uma performance satisfatria.
SELECT ENDSELECT
ENDSELECT.
Seleciona dados de uma tabela SAP num processo de loop que comea no select e termina
no endselect. A cada passagem pelo loop temos um elemento lido e selecionado.
WA | ABAP PROGRAMMING
42
Treinamento ABAP
SELECT FOR ALL ENTRIES
SELECT * INTO TABLE itab FROM dbtab FOR ALL ENTRIES in itab WHERE...
Usado quando selecionamos dados de uma tabela e precisamos de dados de outra tabela para
compor as condies do where.
Exemplo:
SELECT * FORM BSEG FOR ALL ENTRIES IN T_BKPF
WHERE BUKRS = T_BKPF-BUKRS AND
BELNR = T_BKPF-BELNR .
Onde T_BKPF uma tabela interna que recebeu a tabela BKPF.
Este tipo de comando utilizado entre tabelas internas.
Adio: WHERE
Clausula que visa restringir a seleo dos dados.
Adio: ORDER BY
Utilizado para ordenar a tabela interna de acordo com os campos informados
ORDER BY <field1> [DESCENDING] <field2> ...
EXERCISES (SELECT)
WA | ABAP PROGRAMMING
43
Treinamento ABAP
Inserting Lines
Changing Lines
WA | ABAP PROGRAMMING
44
Treinamento ABAP
Deleting Lines
WA | ABAP PROGRAMMING
45
Treinamento ABAP
Inserting or Changing Lines
WA | ABAP PROGRAMMING
46
Treinamento ABAP
Lists
Creating Simple List with Write
Write statement
Quando se faz necessrio a exibio na tela do resultado de um report voc utiliza o comando
write e todo o contedo que estiver aps a instruo at ser finalizado por . gerar um
relatrio de sada.
Positioning write output
WA | ABAP PROGRAMMING
47
Treinamento ABAP
Format Color
EXERCISES (WRITE)
WA | ABAP PROGRAMMING
48
Treinamento ABAP
Messages
Messages on screen
WA | ABAP PROGRAMMING
49
Treinamento ABAP
Transactions
Podemos criar transao para qualquer programa ABAP. utilizado para disponibilizar ao
usurio o acesso ao mesmo, funcionando como se fosse Standard.
WA | ABAP PROGRAMMING
50
Treinamento ABAP
Reports
Description of Events
Um evento como uma sub-rotina em outras linguagens, trata-se de uma seo independente
do cdigo que executa uma tarefa e ento retorna para o ponto de chamada, contudo, ao
contrrio das sub-rotinas, voc no codifica a chamada para um evento, ao contrrio, o
sistema aciona o evento para voc quando uma condio especifica surge. Os nomes dos
eventos so palavras reservadas, no se podendo criar novos eventos.
Initialization
Quando voc executa um programa onde um critrio de seleo definido, o sistema
normalmente processa a tela primeiro. Se voc quer que um bloco de comandos seja
executado antes da tela de seleo utilize este comando.
At Selection-screen
executado toda vez que houver interao na tela de seleo. um evento executado entre o
Initialization e o Start-of-selection.
Start-of-selection
Se a primeira instruo executvel em seu programa no for procedida por um nome de
evento, o sistema automaticamente insere start-of-selection antes da primeira linha de cdigo
executvel.
WA |
51
Treinamento ABAP
WA |
52
Treinamento ABAP
WA |
53
Treinamento ABAP
Modularization Techniques
uma tcnica utilizada basicamente para reaproveitamento de cdigo e melhor organizao
do programa.
Macro
Caso queiramos reutilizar o mesmo conjunto de instrues mais de uma vez no programa,
podemos utilizar uma macro.
Essa instruo poder conter at 9 placeholders (&1 &2 &3 ... &9) e deve ser definido antes
de ser utilizado.
Include
Permite a utilizao do cdigo em vrios programas. Por exemplo, isso pode ser til quando
definimos uma grande quantidade de variveis, constantes, types, internal tables .... que
podem ser reutilizadas em diversos programas.
Para criar uma include, devemos informar o tipo I nos atributos do programa. Atente-se
somente para que todas instrues de cdigo na include estejam completas. Por exemplo:
***INCLUDE INCL_TST.
TEXT = 'Hello!'.
WA |
54
Treinamento ABAP
Sintaxe:
Exemplo:
***INCLUDE ZSTARTTXT.
WRITE: / 'Program started by', SY-UNAME,
/ 'on host', SY-HOST,
'date:', SY-DATUM, 'time:', SY-UZEIT.
ULINE.
REPORT ZSAPMZTST.
INCLUDE ZSTARTTXT.
Subroutines
So principalmente utilizadas para modularizao local, ou seja, so chamadas pelo
programa na qual foi criada.
WA |
55
Treinamento ABAP
Uma subrotina normalmente encerrada pela instruo ENDFORM, porm possvel encerrla previamente atravs da instruo EXIT ou CHECK.
Function Modules
Function Groups
Function
WA |
56
Treinamento ABAP
WA |
57
Treinamento ABAP
WA |
58
Treinamento ABAP
Processing Files
Open
file
Process
file
Close
file
Opening Files
SAP AG
Open
file
Process
file
Close
file
REPORT xxx.
:
OPEN DATASET newfile FOR APPENDING.
IF sy-subrc NE 0. EXIT. ENDIF.
:
FOR INPUT
Se a Default:
instruo
for bem sucedida, a varivel de sistema SY-SUBRC possuir o valor 0, caso
contrrio o valor da mesma ser 8.
R
SAP AG
For Input
For Output
Abre o arquivo para escrita. Se o arquivo existir, seu contedo apagado, seno criado um
novo arquivo.
For Appending
Abre o arquivo para escrita no fim do arquivo. O cursor posicionado no fim do arquivo.
WA |
59
Treinamento ABAP
Opening Files - Options
Open
file
Process
file
Close
file
REPORT xxx.
:
OPEN DATASET newfile FOR APPENDING MESSAGE text.
IF sy-subrc NE 0. EXIT. ENDIF.
:
In Binary Mode
In Text Mode
SAP AG
Process
file
Close
file
REPORT xxx.
DATA rec LIKE BBKPF.
:
SELECT ...
TRANSFER rec TO demo_file.
ENDSELECT.
60
Treinamento ABAP
Reading data from files
Process
file
Close
file
REPORT xxx.
DATA rec LIKE BBKPF.
:
DO.
READ DATASET demo_file into rec.
IF sy-subrc NE 0. EXIT. ENDIF.
ENDDO.
One data record at a time
R
A instruo Read Dataset l uma linha do arquivo e transfere seu valor para uma varivel ou
SAP AG
estrutura.
Se o arquivo no estiver aberto, a instruo tenta abrir o arquivo de modo IN BINARY MODE
FOR INPUT. Se o arquivo no puder ser aberto , SY-SUBRC ter o valor 8.
Se o final do arquivo for atingido, a varivel de sistema SY-SUBRC setada com o valor 4, caso
contrrio o valor da mesma ser 0.
A clusula LENGHT permite especificar o tamanho em bytes da linha lida.
Closing files
Process
file
Close
file
SAP AG
WA |
61
Treinamento ABAP
Open
file
Process
file
Close
file
Usamos a instruo acima para apagar o arquivo. Caso seja bem sucedida, a varivel de
sistema SY-SUBRC possuir o valor 0.
SAP AG
Summary
Read
Open file
Fill structure
Transfer
structure
Yes
Process data
record?
No
End of
file?
More data
records?
No
Close file
Yes
SAP AG
WA |
62
Treinamento ABAP
Working with local files
Call Function
GUI_DOWNLOAD
Call Function
GUI_UPLOAD
WA |
63
Treinamento ABAP
ALV
REUSE_ALV_GRID_DISPLAY
Funo utilizada para exibio de tabela interna em formato de grid num report ABAP.
WA | ALV
64
Treinamento ABAP
PERFORMANCE Best Practices
65
Treinamento ABAP
66