Você está na página 1de 33

w w w

w w w
w w w
.n .n .n
et et et
st st st
ud ud ud
y.c y. y.
om co co
m m
.b .b .b
r- r r-
0 -0 0

PROGRAMAÇÃO I
Si ets

NETSTUDY | WWW.NETSTDY.COM.BR
Pl te tu
at : w dy
w w
af w T
w w
w w
.n
or w re .n
et m .n in et
st st
ud ud
y y.
.c
a: et a
om co
m
.b .b
U stu me
r- r-
0 0
de d n
m y.c tos
y o
m
br
Treinamento ABAP

w w w
w w w
w w w
.n .n .n
et et et
st st st
ud ud ud
y.c y. y.
om co co
m m
.b .b .b
r- r r-
0 -0 0
1

1
r-

r-

r-
.b

.b

.b
m

m
co

co

co
y.

y.

y.
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
Sumário
w

w
w

w
w

w
1. AMBIENTE DESENVOLVIMENTO E SINTAXE ABAP ......................................................... 1
1.1. ORGANIZAÇÃO DOS DESENVOLVIMENTOS E PARAMETRIZAÇÕES ....................... 1
1.2. INSTRUÇÕES DECLARATIVAS .................................................................................. 11
1.3. TIPOS DE DADOS ....................................................................................................... 11
1.4. VARIÁVEL ................................................................................................................... 12
1.5. CONSTANTE ............................................................................................................... 13
1.6. PARÂMETROS DE ENTRADA .................................................................................... 15
1.7. INSTRUÇÕES COMPARATIVAS ................................................................................. 17
2.8. OPERADORES DE COMPARAÇÃO ............................................................................. 18
2.9. OPERADORES LÓGICOS OU CONECTIVOS LÓGICOS ............................................... 18
2.10. OPERADORES ARITMÉTICOS ............................................................................... 18
2.11. ELEMENTOS DE TEXTOS ...................................................................................... 21

br
m y.c tos
m
2.12. MENSAGEM ............................................................................................................ 23
de d n
2.13. y o
CLASSE DE MENSAGEM ........................................................................................ 24
U stu me

2.14. ERRO EM TEMPO DE EXECUÇÃO (DUMP) .......................................................... 26


1

1
a: et a
r-

r-
.b

.b
m .n in

2.15. TRATAMENTO PARA CLASSE DE EXCEÇÃO ........................................................ 28


m

m
co

co
or w re
y.

y.
2.16. TRANSAÇÃO ........................................................................................................... 30
ud

ud
af w T
st

st
et

et
at : w dy
.n

.n
w

w
w

w
w

w
Pl te tu
Si ets
N
1

1
r-

r-

r-
.b

.b

.b
om

om

om
.c

.c

.c
y

y
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
2

2
r-

r-

r-
.b

.b

.b
m

m
co

co

co
y.

y.

y.
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
1. AMBIENTE DESENVOLVIMENTO E SINTAXE ABAP

1.1. ORGANIZAÇÃO DOS DESENVOLVIMENTOS E PARAMETRIZAÇÕES


 Pacote = para separação dos objetos dentro do SAP é utilizado o Pacote;
geralmente esses pacotes são criados por módulos ou conforme critério
definido pela empresa para objetos customizados. Ou seja, o Pacote é
uma subdivisão lógica dos objetos dentro do repositório de objetos do
sistema.
 Request = sequência alfanumérica que armazena informações de um ou
mais objetos que sofreram algum tipo de modificação ou customização
(ex.: report, tabelas, parametrizações, etc.). Com o identificador da
request é possível consultar histórico de alterações e transportar os
desenvolvimentos entre os ambientes.

br
m y.c tos
m
O SAP possui vários tipos de request, porém os dois principais são:
de d n
y o
 Workbench = utilizada para desenvolvimentos ABAP.
U stu me

 Customizing = utilizada para parametrizações do sistema.


2

2
a: et a
r-

r-
.b

.b
m .n in
m

m
co

co
or w re
y.

y.
ud

ud
af w T

EXEMPLO Nº1
st

st
et

et
at : w dy
.n

.n
Existe uma lenda, que se dirige ao aluno que está aprendendo qualquer tipo
w

w
w

w
w

w
Pl te tu

de programação, que, se na sua primeira aula não realizar o “hello world”,


Si ets

nunca aprenderá a linguagem em questão. Então, para não contrariar a lenda


urbana, esse será nosso primeiro exercício.
N

Antes de começar alguns pontos de atenção:


Regras básicas:
 Todos os objetos customizados criados no SAP devem ser iniciados
com Z ou Y;
 Separar as palavras com pelo menos um espaço;
 Ao fim de cada declaração inserir um ponto final “.”;
 ABAP não é case sensitive;
 Os textos literais sempre deveram ser apresentados entre aspas
simples;
 Comentários: existem duas maneiras de fazer comentários no ABAP,
um *(asterisco) no início da linha ou " (aspas duplas) em qualquer
parte do código.
2

2
r-

r-

r-
.b

.b

.b
om

om

om

1
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
3

3
r-

r-

r-
.b

.b

.b
m

m
co

co

co
y.

y.

y.
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
1) Efetue login no SAP e acessar a transação SE38.

2) Digite o nome do programa ZR0001 e clicar no botão “Create”.

br
m y.c tos
m
de d n
y o
U stu me

3) Preencha os campos Title e Type conforme abaixo e clique no botão


-3

-3
a: et a

“Save”.
r

r
.b

.b
m .n in
m

m
co

co
or w re
y.

y.
ud

ud
af w T
st

st
et

et
at : w dy
.n

.n
w

w
w

w
w

w
Pl te tu
Si ets
N

Observação: mais detalhes sobre os campos acima serão explicados na


videoaula.
3

3
r-

r-

r-
.b

.b

.b
om

om

om

2
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
4

4
r-

r-

r-
.b

.b

.b
m

m
co

co

co
y.

y.

y.
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
4) Será solicitado o nome do Pacote onde o programa deverá ser
armazenado.

br
m y.c tos
5) Para criar o Pacote será necessário abrir uma nova sessão, para isso clique

m
na figura que aparece no quanto superior esquerdo do pop-up, conforme
de d n
y o
U stu me

abaixo e clique na opção “Create session”.


-4

-4
a: et a
r

r
.b

.b
m .n in
m

m
co

co
or w re
y.

y.
ud

ud
af w T
st

st
et

et
at : w dy
.n

.n
w

w
w

w
w

w
Pl te tu
Si ets
N

6) Na nova sessão acesse a transação SE80 e selecione a opção “Package” e


informe o nome de pacote ZTREINAMENTO, clique no botão .
4

4
r-

r-

r-
.b

.b

.b
om

om

om

3
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
5

5
r-

r-

r-
.b

.b

.b
m

m
co

co

co
y.

y.

y.
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
7) Confirme a criação do pacote no botão “Yes”.

8) No campo descrição informe o texto “Treinamento ABAP” e clique no


botão .

br
m y.c tos
m
de d n
y o
U stu me
-5

-5
a: et a
r

r
.b

.b
Observação: mais detalhes sobre os campos acima serão explicados na
m .n in
m

m
co

co
or w re

videoaula.
y.

y.
ud

ud
af w T
st

st
et

et
at : w dy
.n

.n
w

w
9) Será solicitada a request em que o Pacote deverá ser salvo.
w

w
w

w
Pl te tu
Si ets
N

10) Para criar a request clique no botão e informe a descrição “Request


treinamento ABAP”, clique no botão Salvar .
5

5
r-

r-

r-
.b

.b

.b
om

om

om

4
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
6

6
r-

r-

r-
.b

.b

.b
m

m
co

co

co
y.

y.

y.
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
Observação: mais detalhes sobre os campos acima serão explicados na
videoaula.

11) O SAP irá gerar um número para request automaticamente, após isso

br
clique no botão OK .
m y.c tos
m
de d n
y o
U stu me
6

6
a: et a
r-

r-
.b

.b
m .n in
m

m
co

co
or w re
y.

y.
ud

ud
af w T
st

st
et

et
at : w dy
.n

.n
w

w
w

w
Observação: o pacote e a request que acabaram de ser criados serão
w

w
Pl te tu
Si ets

utilizados até o final do treinamento.


Criar pacote no dia a dia é bem difícil, porém request acontece com
N

frequência.

12) Após criar o pacote iremos informá-lo no POPOP que ficou aberto na
sessão anterior (onde estamos criando o programa ZR0001) e clique no
botão “Salvar”.
6

6
r-

r-

r-
.b

.b

.b
om

om

om

5
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
7

7
r-

r-

r-
.b

.b

.b
m

m
co

co

co
y.

y.

y.
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
13) Será solicitado a request para salvar o programa que estamos criando,
iremos utilizar a mesma request criada anteriormente (já aparecerá
sugerido, caso não apareça clique no botão “Own Requests” e selecione ela),
clique em OK.

14) Será apresentada a tela abaixo onde iremos desenvolver o programa,


inserir o trecho marcado em vermelho.

br
m y.c tos
m
de d n
y o
U stu me
7

7
a: et a
r-

r-
.b

.b
m .n in
m

m
co

co
or w re
y.

y.
ud

ud
af w T
st

st
et

et
at : w dy
.n

.n
w

w
w

w
w

w
Pl te tu
Si ets
N

Comando WRITE é responsável por imprimir o texto “Hello World” quando o


programa for executado.

15) Após digitar o código acima será necessário clicar nos seguintes botões:
 Botão Salvar – serão salvas as alterações realizadas;
 Botão Verificar – será verificado se existe alguma inconsistência
no código fonte;
 Botão Ativar – o programa será ativado caso não seja encontrado
nenhuma inconsistência no passo anterior.

DICA = executar sempre o procedimento acima, dessa maneira nos


precavemos em caso de perda de conexão com o servidor SAP; caso isso
aconteça não perdemos o trabalho realizado.
7

7
r-

r-

r-
.b

.b

.b
om

om

om

6
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
8

8
r-

r-

r-
.b

.b

.b
m

m
co

co

co
y.

y.

y.
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
16) Caso tenha efetuado todos os passos anteriores corretamente o seu
programa deverá estar com o status de “Ativo”.

17) Clique no botão Executar ou Apertar (F8), com isso o programa será

br
executado e deverá aparecer o seguinte resultado:
m y.c tos
m
de d n
y o
U stu me
8

8
a: et a
r-

r-
.b

.b
m .n in
m

m
co

co
or w re
y.

y.
ud

ud
af w T
st

st
et

et
at : w dy
.n

.n
w

w
w

w
w

w
Pl te tu
Si ets
N

18) Estão aparecendo dois textos “Hello World”, porém um deles é o título
do programa que foi feito no passo 3; para fazer esse título desaparecer
clique no botão Voltar e insira o seguinte comando:
8

8
r-

r-

r-
.b

.b

.b
om

om

om

7
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
9

9
r-

r-

r-
.b

.b

.b
m

m
co

co

co
y.

y.

y.
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
O comando “NO STANDARD PAGE HEADING” não apresenta o cabeçalho
padrão.

19) Após inserir o comando acima faça novamente a sequência do passo 15


(salvar, verificar e ativar) e execute novamente o programa (passo 17),
deverá ser apresentado o seguinte resultado:

br
m y.c tos
m
de d n
y o
Parabéns, você acaba de fazer seu primeiro programa em ABAP!
U stu me
-9

-9
a: et a
r

r
EXEMPLO Nº2
.b

.b
m .n in
m

m
co

co
or w re

Para nos aprofundarmos mais no comando “WRITE”, crie um novo programa


y.

y.
ud

ud
af w T

com as características abaixo:


st

st
et

et
at : w dy
.n

.n
Nome programa = ZR0002
w

w
w

w
w

w
Pl te tu

Descrição = Comando WRITE


Si ets

Tipo = programa executável


Pacote = ZTREINAMENTO
N

Request = mesma utilizada no desenvolvimento anterior

Após preencher as informações acima digite o seguinte código:


9

9
r-

r-

r-
.b

.b

.b
om

om

om

8
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
10

10

10
r-

r-

r-
.b

.b

.b
om

om

om
.c

.c

.c
y

y
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
Após digitar o código acima execute o procedimento de SALVAR, VERIFICAR
w

w
e ATIVAR, após isso execute o programa com a tecla F8 ou o botão ,o
seguinte resultado deverá ser apresentado:

br
m y.c tos
m
de d n
y o
U stu me

EXEMPLO Nº3
0

0
Neste exemplo adicionaremos novos comandos que auxiliam na impressão
-1

-1
a: et a
r

r
m .n in
.b

.b
de resultados. Crie um novo programa com as características abaixo:
m

m
co

co
or w re

Nome programa = ZR0003


y.

y.
ud

ud
af w T
st

st
Descrição = Comando WRITE, ULINE, SKIP e COLOR
et

et
at : w dy
.n

.n
w

w
Tipo = programa executável
w

w
Pl te tu
w

w
Pacote = ZTREINAMENTO
Si ets

Request = mesma utilizada no desenvolvimento anterior


N

Após preencher as informações acima digite o seguinte código:


10

10

10
r-

r-

r-
.b

.b

.b
om

om

om

9
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
11

11

11
r-

r-

r-
.b

.b

.b
om

om

om
.c

.c

.c
y

y
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
Após digitar o código acima execute o procedimento de SALVAR, VERIFICAR
w

w
e ATIVAR, após isso execute o programa com a tecla F8 ou o botão ,o
seguinte resultado deverá ser apresentado:

Observação: mais detalhes sobre os comandos acima serão explicados na


videoaula.

br
m y.c tos
m
de d n
y o
U stu me
1

1
-1

-1
a: et a
r

r
m .n in
.b

.b
m

m
co

co
or w re
y.

y.
ud

ud
af w T
st

st
et

et
at : w dy
.n

.n
w

w
w

w
Pl te tu
w

w
Si ets
N
11

11

11
r-

r-

r-
.b

.b

.b
om

om

om

10
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
12

12

12
r-

r-

r-
.b

.b

.b
om

om

om
.c

.c

.c
y

y
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
1.2. INSTRUÇÕES DECLARATIVAS
w

w
Essas instruções definem os tipos de dados ou declaram que serão utilizados
em um programa ou rotina.

Exemplos: TYPES, DATA, CONSTANTE, TABLES, e ETC.

DECLARAÇÕES LOCAIS E GLOBAIS


 LOCAIS = essas declarações são apenas vistas dentro da mesma sub-
rotina. São utilizadas no caso de processos individuais dentro do
programa.
 GLOBAIS = essas declarações podem ser vistas de qualquer ponto no
programa, seja dentro de um evento ou sub-rotina. É boa a prática de
colocar definições globais na parte superior do programa.

br
m y.c tos
m
de d n
y o
U stu me

1.3. TIPOS DE DADOS


Os tipos de dados disponíveis na linguagem ABAP são:
2

2
-1

-1
a: et a
r

r
Tipos completos
m .n in
.b

.b
m

m
co

co
or w re

 I – Inteiro, tamanho de 8.
y.

y.
ud

ud
af w T

 D – Data (YYYYMMDD), tamanho de 10.


st

st
et

et
at : w dy
.n

.n
 T – Tempo (HHMMSS), tamanho de 8.
w

w
w

w
Pl te tu
w

w
 F – Ponto flutuante, tamanho de 8.
Si ets

 String – Cadeira de caracteres de comprimento variável.


 Xstring – Cadeira de caracteres (hexadecimal) de comprimento
N

variável.
Tipos incompletos
 C – Caractere.
 N – Numérico.
 X – Sequência de bytes (hexadecimal);
 P – Sequência de 1 a 16 bytes com duas casas decimais (package).

DICA = ao declarar uma variável referente a um campo de uma tabela é


recomendável utilizar como referência a “tabela/campo” em vez de utilizar
os tipos citados acima; declarando a variável dessa maneira não corre o risco
de um valor armazenado na “tabela/campo” não ser compatível com o tipo
e o tamanho da variável.
12

12

12
r-

r-

r-
.b

.b

.b
om

om

om

11
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
13

13

13
r-

r-

r-
.b

.b

.b
om

om

om
.c

.c

.c
y

y
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
1.4. VARIÁVEL
w

w
É um espaço na memória o qual reservamos e damos um nome, com isso é
capaz de armazenar um valor ou expressão; essa informação é armazenada
“somente” em tempo de execução e pode ser alterada.
Sempre são iniciadas com o comando DATA, abaixo segue um exemplo:

Exemplo A
DATA: V_DATA TYPE D.
No exemplo A foi declarada uma variável chamada V_DATA e essa variável
será do tipo “D” (data); assim a variável será criada com as características de
tamanho e tipo herdadas do tipo “D” (YYYYMMDD).

Exemplo B

br
DATA: V_DATA1 LIKE V_DATA.
m y.c tos
m
No exemplo B foi declarada uma nova variável chamada V_DATA1, porém,
de d n
y o
neste exemplo está sendo utilizado o comando LIKE; esse comando é
U stu me

utilizado quando será declarado um objeto (no nosso caso a variável


13

13
a: et a
r-

r-
V_DATA1) com referência a um objeto já declarado (a variável V_DATA do
m .n in
.b

.b
m

m
co

co
or w re

exemplo A).
y.

y.
ud

ud
af w T
st

st
et

et
at : w dy
.n

.n
Neste exemplo a variável V_DATA1 terá as mesmas características da
w

w
w

w
Pl te tu
w

w
variável declarada no Exemplo A. Esse comando tornou-se obsoleto, pois
Si ets

não funciona com a versão orientada a objeto do ABAP. A SAP recomenda o


uso de TYPE para todos os casos de declaração de variáveis.
N

DICA = apesar de não existir restrição para nomear variável é recomendado


para variável global iniciar a declaração com “V_” e para variáveis locais
“VL_”. Dessa maneira você seguirá a padronização utilizada pela maioria dos
programadores ABAP.
13

13

13
r-

r-

r-
.b

.b

.b
om

om

om

12
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
14

14

14
r-

r-

r-
.b

.b

.b
om

om

om
.c

.c

.c
y

y
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
1.5. CONSTANTE
w

w
É um espaço na memória o qual reservamos e damos um nome e um valor
no momento da sua criação, esse valor armazenado não pode ser alterado.
Sempre são iniciadas com o comando CONSTANTS, abaixo segue um
exemplo:
CONSTANTS: V_DATA TYPE D VALUE ‘20140101’.

No exemplo acima foi declarada uma constante que terá como valor fixo
“20140101”.
Para declaração de constantes também é possível a utilização do comando
LIKE.
DICA = apesar de não existir restrição para nomear constante é
recomendado iniciar a declaração com “C_”.

br
m y.c tos
m
EXEMPLO Nº4
de d n
y o
Neste exemplo criaremos variáveis e constantes e atribuiremos valores a
U stu me

elas.
4

4
-1

-1
a: et a

Nome programa = ZR0004


r

r
m .n in
.b

.b
m

m
co

co
or w re

Descrição = Utilizando variáveis e constantes


y.

y.
ud

ud
af w T

Tipo = programa executável


st

st
et

et
at : w dy
.n

.n
Pacote = ZTREINAMENTO
w

w
w

w
Pl te tu
w

w
Request = mesma utilizada no desenvolvimento anterior
Si ets

Após preencher as informações acima digite o seguinte código:


N
14

14

14
r-

r-

r-
.b

.b

.b
om

om

om

13
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
15

15

15
r-

r-

r-
.b

.b

.b
om

om

om
.c

.c

.c
y

y
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
Após digitar o código acima execute o procedimento de SALVAR, VERIFICAR
w

w
e ATIVAR, após isso execute o programa com a tecla F8 ou o botão ,o
seguinte resultado deverá ser apresentado:

Observação: mais detalhes sobre os comandos acima serão explicados na


videoaula.

br
m y.c tos
m
de d n
y o
U stu me
5

5
-1

-1
a: et a
r

r
m .n in
.b

.b
m

m
co

co
or w re
y.

y.
ud

ud
af w T
st

st
et

et
at : w dy
.n

.n
w

w
w

w
Pl te tu
w

w
Si ets
N
15

15

15
r-

r-

r-
.b

.b

.b
om

om

om

14
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
16

16

16
r-

r-

r-
.b

.b

.b
om

om

om
.c

.c

.c
y

y
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
1.6. PARÂMETROS DE ENTRADA
w

w
Existem dois tipos de comandos para criar entrada de valores para o
desenvolvimento de REPORT, são os seguintes:
 PARAMETER: permite que se especifique um valor único e também
oferece a opção de colocar os valores nos formatos de: checkbox e
radiobutton;
 SELECT-OPTIONS: permite que se especifique um ou mais intervalo
de valores.
Observação: mais à frente detalharemos melhor as funcionalidades do
comando SELECT-OPTIONS, neste momento iremos focar a utilização do
comando PARAMETER.

Tanto o comando PARAMETER como o comando SELECT-OPTIONS são

br
comandos de interface com o usuário, permitindo que se introduzam valores
m y.c tos
m
para execução do programa.
de d n
y o
U stu me

EXEMPLO Nº5
16

16
a: et a
r-

r-
Neste exemplo iremos criar um programa com as mesmas características do
m .n in
.b

.b
m

m
co

co
or w re

exemplo Nº4, porém os valores não serão passados pelas variáveis e sim via
y.

y.
ud

ud
af w T

PARAMETER.
st

st
et

et
at : w dy
.n

.n
Nome programa = ZR0005
w

w
w

w
Pl te tu
w

w
Descrição = Utilizando PARAMETER
Si ets

Tipo = programa executável


Pacote = ZTREINAMENTO
N

Request = mesma utilizada no desenvolvimento anterior

Após preencher as informações acima digite o seguinte código:


16

16

16
r-

r-

r-
.b

.b

.b
om

om

om

15
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
17

17

17
r-

r-

r-
.b

.b

.b
om

om

om
.c

.c

.c
y

y
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
Observação: mais detalhes sobre os comandos acima serão explicados na
w

w
videoaula.

Após digitar o código acima execute o procedimento de SALVAR, VERIFICAR


e ATIVAR, em seguida execute o programa com a tecla F8 ou o botão ,a
seguinte tela de seleção deverá ser apresentada:

br
m y.c tos
m
de d n
y o
U stu me
7

7
-1

-1
a: et a

Preencha informações nos campos acima e execute o programa com a tecla


r

r
m .n in
.b

.b
m

m
F8 ou o botão , deverá ser apresentado um resultado com as
co

co
or w re
y.

y.
ud

ud
af w T

características abaixo:
st

st
et

et
at : w dy
.n

.n
w

w
w

w
Pl te tu
w

w
Si ets
N

DICA = recomendado iniciar a declaração do parameter com “P_”.


17

17

17
r-

r-

r-
.b

.b

.b
om

om

om

16
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
18

18

18
r-

r-

r-
.b

.b

.b
om

om

om
.c

.c

.c
y

y
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
1.7. INSTRUÇÕES COMPARATIVAS
w

w
COMANDO IF
O comando IF é um dos comandos mais comuns e um dos mais importantes
na programação; este comando é responsável por tomadas de decisões e
existe praticamente em todas as linguagens de programação.

Exemplo:
IF <condição>
>execute<
ELSEIF <condição>
>execute<
ELSE <condição>

br
>execute<
m y.c tos
m
ENDIF.
de d n
y o
U stu me

COMANDO CASE
18

18
a: et a
r-

r-
O comando CASE também é utilizado para tomadas de decisões; existe
m .n in
.b

.b
m

m
co

co
or w re

praticamente em todas as linguagens de programação, porém, em algumas


y.

y.
ud

ud
af w T

linguagens como C ele é encontrado como SWITCH.


st

st
et

et
at : w dy
.n

.n
w

w
w

w
Pl te tu
w

w
Exemplo:
Si ets

CASE variável
WHEN 1
N

>execute<
WHEN 2
>execute<
WHEN OTHERS
>execute<
ENDCASE.

Atenção, NÃO é permitido realizar operações aritméticas nas condições IF e


CASE.
18

18

18
r-

r-

r-
.b

.b

.b
om

om

om

17
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
19

19

19
r-

r-

r-
.b

.b

.b
om

om

om
.c

.c

.c
y

y
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
2.8. OPERADORES DE COMPARAÇÃO
w

w
Estes tipos de operadores permitem fazer comparações entre dois
operandos; abaixo segue a lista de operadores disponíveis no ABAP:

Operador Equivalente Descrição


= EQ Igual a (equal to)
< > ou >< NE Diferente de (not equal to)
> GT Maior que (greater than)
< LT Menor que (Less than)
>= GE Maior ou igual a (greater than or equal to)
<= LE Menor ou igual a (less than or equal to)

br
2.9. OPERADORES LÓGICOS OU CONECTIVOS LÓGICOS
m y.c tos
m
Estes servem para conectar duas expressões relacionais; abaixo segue a
de d n
y o
U stu me

lista de operadores disponíveis no ABAP:


 AND = E
9

9
-1

-1
a: et a

 OR = OU
r

r
m .n in
.b

.b
m

m
co

co
or w re

 NOT = Negação
y.

y.
ud

ud
af w T
st

st
et

et
at : w dy
.n

.n
w

w
w

w
Pl te tu
w

w
2.10. OPERADORES ARITMÉTICOS
Si ets

Abaixo segue a lista de operadores aritméticos disponível no ABAP:


N

Operador Objetivo Prioridade Exemplo Opção


** Expoente 1 P = m ** n.
MOD Resto da divisão 2 P = m MOD n.
DIV Divisão inteira 2 P = m DIV n.
/ Divisão 2 P = m / n. DIVIDE m BY n.
* Multiplicação 2 P = m * n. MULTIPLY m BY n.
+ Adição 3 P=n+m ADD n TO m.
- Subtração 3 P = m – n. SUBTRACT n FROM m.
19

19

19
r-

r-

r-
.b

.b

.b
om

om

om

18
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
20

20

20
r-

r-

r-
.b

.b

.b
om

om

om
.c

.c

.c
y

y
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
EXEMPLO Nº6 – Etapa 1
w

w
Neste exemplo iremos criar uma calculadora utilizando os comandos que
foram apresentados anteriormente.
Nome programa = ZR0006
Descrição = Calculadora
Tipo = programa executável
Pacote = ZTREINAMENTO
Request = mesma utilizada no desenvolvimento anterior

Após preencher as informações acima digite o seguinte código:

br
m y.c tos
m
de d n
y o
U stu me
0

0
-2

-2
a: et a
r

r
m .n in
.b

.b
m

m
co

co
or w re
y.

y.
ud

ud
af w T
st

st
et

et
at : w dy
.n

.n
w

w
w

w
Pl te tu
w

w
Si ets
N

Após digitar o código acima execute o procedimento de SALVAR, VERIFICAR


e ATIVAR, em seguida execute o programa com a tecla F8 ou o botão ,a
seguinte tela de seleção deverá ser apresentada:
20

20

20
r-

r-

r-
.b

.b

.b
om

om

om

19
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
w w w
w w w
w w w
.n .n .n
et et et
st st st
ud ud ud
y .c y. y .c
om co
m om
.b .b .b
r- r -2 r-
21 1 21

tecla F8 ou o botão
características abaixo:
Si ets
Pl te tu
at : w dy
w w
af w T
w w
w w
.n .n
or w re
et et
st st
m .n in
ud ud
y .c y .c
a: et a
om om
.b .b
U stu me
r- de d n r-
21 21

www.netstudy.com.br
m y.c tos
y o
m
br
, deverá ser apresentado um resultado com as
Preencha as informações nos campos acima e execute o programa com a

w w w

20
w w w
w w w
.n .n .n
et et et
st st st
CONECTANDO VOCÊ AO CONHECIMENTO

ud ud ud
y .c y. y .c
om co
m om
.b .b .b
r- r -2 r-
21 1 21
22

22

22
r-

r-

r-
.b

.b

.b
om

om

om
.c

.c

.c
y

y
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
2.11. ELEMENTOS DE TEXTOS
w

w
Até o momento as informações apresentadas para o usuário estão sendo
apresentadas com os nomes técnicos na tela de seleção, porém, o correto é
atribuir texto a esses campos para que a interface se torne amigável.

Para isso utilizamos os símbolos de texto opção “textos de seleção”; abaixo


segue o procedimento de utilização:

EXEMPLO Nº6 – Etapa 2


1) Clique no menu Goto  Text Elements  Selection Texts.

br
m y.c tos
m
de d n
y o
U stu me
2

2
-2

-2
a: et a

2) Vincule aos parâmetros de seleção os textos conforme abaixo:


r

r
m .n in
.b

.b
m

m
co

co
or w re
y.

y.
ud

ud
af w T
st

st
et

et
at : w dy
.n

.n
w

w
w

w
Pl te tu
w

w
Si ets
N
22

22

22
r-

r-

r-
.b

.b

.b
om

om

om

21
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
23

23

23
r-

r-

r-
.b

.b

.b
om

om

om
.c

.c

.c
y

y
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
3) Após informar os textos SALVE e ATIVE e volte para o código fonte e
w

w
execute novamente o relatório, deverá ser exibida a seguinte tela:

Além dos textos de seleção existem mais duas opções:

br
Text symbols: usados para cadastrar os textos que serão apresentados no
m y.c tos
m
programa. Esses textos são usados pelo comando TEXT seguido pelo
de d n
y o
número respectivo da mensagem (000 a 999), exemplo: TEXT-001. A
U stu me

vantagem de trabalhar dessa maneira é que o texto pode ser traduzido


23

23
a: et a
r-

r-
para outros idiomas, além disso a SAP não recomenda utilizar textos
m .n in
.b

.b
m

m
co

co
or w re

literais diretamente no código fonte.


y.

y.
ud

ud
af w T
st

st
et

et
at : w dy
.n

.n
 List headings: usado para facilitar o preenchimento do cabeçalho de um
w

w
w

w
Pl te tu
w

w
relatório.
Si ets
N
23

23

23
r-

r-

r-
.b

.b

.b
om

om

om

22
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
24

24

24
r-

r-

r-
.b

.b

.b
om

om

om
.c

.c

.c
y

y
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
2.12. MENSAGEM
w

w
Comando MESSAGE = utilizado para enviar mensagens na tela; essas
mensagens podem ser de sucesso, aviso e erro e podem ser apresentadas em
forma de janela ou barra de status da aplicação, abaixo seguem alguns
exemplos:

Mensagem tipo erro (apresentada barra de status)

Mensagem tipo sucesso (apresentada barra de status)

Mensagem tipo informação (apresentada em forma de janela)

br
m y.c tos
m
de d n
y o
U stu me
4

4
-2

-2
a: et a
r

r
m .n in
.b

.b
m

m
co

co
or w re
y.

y.
ud

ud
af w T
st

st
et

et
at : w dy
.n

.n
Existem várias formas de utilizar esse comando, abaixo segue um exemplo:
w

w
w

w
Pl te tu
w

w
MESSAGE ‘SUCESSO’ TYPE ‘S’.
Si ets

Também é possível apresentar uma mensagem de um tipo com o


N

comportamento visual de outro, abaixo segue a sintaxe para isso:


MESSSAGE ‘TESTE MSG’ TYPE ‘S’ DISPLAY LIKE ‘I’.
24

24

24
r-

r-

r-
.b

.b

.b
om

om

om

23
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
25

25

25
r-

r-

r-
.b

.b

.b
om

om

om
.c

.c

.c
y

y
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
2.13. CLASSE DE MENSAGEM
w

w
A classe de mensagem é um repositório de mensagens, utilizando essa
funcionalidade é possível a reutilização de mensagens tirando assim a
necessidade de sempre ter que criar mensagens locais no programa.
A transação desse repositório é a SE91, através dessa transação é possível
criar, modificar e exibir a classe de mensagens.

Abaixo segue um exemplo:

br
m y.c tos
m
de d n
y o
U stu me
5

5
-2

-2
a: et a
r

r
m .n in
.b

.b
m

m
co

co
or w re
y.

y.
ud

ud
af w T
st

st
et

et
at : w dy
.n

.n
w

w
w

w
Pl te tu
w

w
Si ets

Vermelho = Nome da classe de mensagem


N

Verde = Número da mensagem


Azul = Texto vinculado ao número da mensagem.

Existem várias formas de utilizar o comando MESSAGE utilizando uma classe


de mensagem, abaixo segue um exemplo:

MESSAGE I001(A&) WITH ‘VAL1’ ‘VAL2’.

Para explicar a composição do comando acima iremos utilizar a classe de


mensagem “A&” que está ilustrando nesse tópico.

Nesse exemplo o caractere “I” está informando o tipo da mensagem, já a


sequência numérica “001” está indicando o número da mensagem, entre
parênteses o valor “A&” é a classe da mensagem e para finalizar foi utilizado
25

25

25

o comando WITH e entre aspas os valores “VAL1” e “VAL2”, com essa


r-

r-

r-
.b

.b

.b
om

om

om

24
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
w w w
w w w
w w w
.n .n .n
et et et
st st st
ud ud ud
y .c y. y .c
om co
m om
.b .b .b
r- r- r-
26 26 26

N
Si ets
Pl te tu
at : w dy
w w
af w T
w w
w w
.n .n
or w re
et et
st st
m .n in
ud ud
y .c y .c
a: et a
om om
.b .b
U stu me
r- de d n r-
26 26

www.netstudy.com.br
m y.c tos
y o
m
serão substituídos pelos textos literais “VAL1” e VAL2”.

br
Abaixo segue como a mensagem seria apresentada para o usuário.
funcionalidade os valores que se encontram fixo na mensagem “&1” e “&2”

w w w

25
w w w
w w w
.n .n .n
et et et
st st st
ud ud ud
CONECTANDO VOCÊ AO CONHECIMENTO

y .c y. y .c
om co
m om
.b .b .b
r- r- r-
26 26 26
27

27

27
r-

r-

r-
.b

.b

.b
om

om

om
.c

.c

.c
y

y
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
2.14. ERRO EM TEMPO DE EXECUÇÃO (DUMP)
w

w
No programa Calculadora informe na tela de seleção as informações abaixo
e execute o programa:

br
m y.c tos
m
O sistema exibirá uma tela de erro em tempo de execução; nessa tela é
de d n
y o
U stu me

possível identificar o que está gerando o erro e também o ponto do código


7

7
onde se encontra o problema.
-2

-2
a: et a
r

r
m .n in
.b

.b
m

m
co

co
or w re

Abaixo seguem as principais informações dessa tela:


y.

y.
ud

ud
af w T
st

st
et

et
at : w dy
.n

.n
w

w
w

w
Pl te tu
w

w
Si ets
N

Vermelho = causa do erro (divisão por zero)


Amarelo = programa que aconteceu o erro
27

27

27
r-

r-

r-
.b

.b

.b
om

om

om

26
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
28

28

28
r-

r-

r-
.b

.b

.b
om

om

om
.c

.c

.c
y

y
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
Um pouco abaixo na tela podemos identificar o ponto do programa em que
w

w
aconteceu o erro, ele é identificado por >>>>>>

br
m y.c tos
m
de d n
y o
U stu me

DICA: Os erros em tempo de execução também podem ser consultados


28

28
através da transação ST22.
a: et a
r-

r-
m .n in
.b

.b
m

m
co

co
or w re
y.

y.
ud

ud
af w T
st

st
et

et
at : w dy
.n

.n
w

w
w

w
Pl te tu
w

w
Si ets
N
28

28

28
r-

r-

r-
.b

.b

.b
om

om

om

27
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
29

29

29
r-

r-

r-
.b

.b

.b
om

om

om
.c

.c

.c
y

y
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
2.15. TRATAMENTO PARA CLASSE DE EXCEÇÃO
w

w
Para tratamento de erro (DUMP) também é possível utilizar o comando TRY;
isso é possível apenas quando existe uma classe de exceção para o erro.
Abaixo segue um exemplo de como utilizar esse comando:

EXEMPLO Nº6 – Etapa 3


1) Identificando a classe de exceção.

br
m y.c tos
m
de d n
y o
U stu me
9

9
-2

-2
a: et a
r

r
m .n in
.b

.b
m

m
co

co
or w re
y.

y.
ud

ud
af w T
st

st
2) Implemente a rotina abaixo no programa ZR0006.
et

et
at : w dy
.n

.n
w

w
w

w
Pl te tu
w

w
Si ets
N

Dessa forma não será mais apresentada a tela de erro, mas, sim, a mensagem
abaixo:
29

29

29
r-

r-

r-
.b

.b

.b
om

om

om

28
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
w w w
w w w
w w w
.n .n .n
et et et
st st st
ud ud ud
y .c y. y .c
om co
m om
.b .b .b
r- r -3 r-
30 0 30

N
Si ets
Pl te tu
at : w dy
comando IF conforme abaixo:

w w
af w T
w w
w w
.n .n
or w re
et et
st st
m .n in
ud ud
y .c y .c
a: et a
om om
.b .b
U stu me
r- de d n r-
30 30

www.netstudy.com.br
m y.c tos
y o
m
br
Observação: Esse tratamento também poderia ser feito utilizando o

w w w

29
w w w
w w w
.n .n .n
et et et
st st st
ud ud
CONECTANDO VOCÊ AO CONHECIMENTO

ud
y .c y. y .c
om co
m om
.b .b .b
r- r -3 r-
30 0 30
31

31

31
r-

r-

r-
.b

.b

.b
om

om

om
.c

.c

.c
y

y
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
2.16. TRANSAÇÃO
w

w
Todos os programadas SAP podem ser acessados por meio de transações, a
SAP também permite que seja criada transações para programas
customizados, isso é feito através da transação SE93.

EXEMPLO Nº6 – Etapa 4


Crie uma transação para programa calculadora:
1) Acesse a transação SE93 e digitar ZTR0001 e clique no botão CREATE.

br
m y.c tos
m
de d n
y o
2) Selecione a segunda opção.
U stu me
1

1
-3

-3
a: et a
r

r
m .n in
.b

.b
m

m
co

co
or w re
y.

y.
ud

ud
af w T
st

st
et

et
at : w dy
.n

.n
w

w
w

w
Pl te tu
w

w
Si ets
N

Observação: mais detalhes sobre a tela acima serão explicados na videoaula.


31

31

31
r-

r-

r-
.b

.b

.b
om

om

om

30
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

w
32

32

32
r-

r-

r-
.b

.b

.b
om

om

om
.c

.c

.c
y

y
ud

ud

ud
CONECTANDO VOCÊ AO CONHECIMENTO
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
Preencha as informações abaixo:
w

w
br
m y.c tos
m
de d n
y o
U stu me
2

2
-3

-3
a: et a
r

r
m .n in
.b

.b
m

m
co

co
or w re
y.

y.
ud

ud
af w T
st

st
et

et
at : w dy
.n

.n
w

w
w

w
Pl te tu
w

w
Si ets

Observação: mais detalhes sobre a tela acima serão explicados na videoaula.


N

3) Clique no botão SALVAR.

4) Abra uma nova sessão e digite o código da transação no campo de


comando para efetuar um teste.

Parabéns, você acaba de terminar o desenvolvimento do exemplo Nº6.


32

32

32
r-

r-

r-
.b

.b

.b
om

om

om

31
.c

.c

.c
y

www.netstudy.com.br
ud

ud

ud
st

st

st
et

et

et
.n

.n

.n
w

w
w

w
w

Você também pode gostar