Вы находитесь на странице: 1из 33

N N N

et et et
s tu st st
dy udy ud
y
tre tre tre
in in in
am am am
en en en
to to to
s s s
-0 -0 -0

PROGRAMAÇÃO I

NETSTUDY | WWW.NETSTDY.COM.BR
N N N
et et et
s tu st st
dy udy ud
y
tre tre tre
in in in
am am am
en en en
to to to
s s s
-0 -0 -0
Treinamento ABAP

N N N
et et et
s tu st st
dy udy ud
y
tre tre tre
in in in
am am am
en en en
to to to
s s s
-0 -0 -0
-1

-1

-1
s

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
y

y
ud

ud

ud
Sumário
st

st

st
et

et

et
N

N
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
2.12. MENSAGEM ............................................................................................................ 23
2.13. CLASSE DE MENSAGEM ........................................................................................ 24
2.14. ERRO EM TEMPO DE EXECUÇÃO (DUMP) .......................................................... 26
-1

-1

-1
s

s
to

to

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

en

en
am

am

am
2.16. TRANSAÇÃO ........................................................................................................... 30
in

in

in
tre

tre

tre
dy

dy

dy
u

u
st

st

st
et

et

et
N

N
-1

-1

-1
s

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
-2

-2

-2
s

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
CONECTANDO VOCÊ AO CONHECIMENTO
y

y
ud

ud

ud
st

st

st
et

et

et
1. AMBIENTE DESENVOLVIMENTO E SINTAXE ABAP
N

N
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.

O SAP possui vários tipos de request, porém os dois principais são:


 Workbench = utilizada para desenvolvimentos ABAP.
 Customizing = utilizada para parametrizações do sistema.
-2

-2

-2
s

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
EXEMPLO Nº1
dy

dy

dy
u

u
Existe uma lenda, que se dirige ao aluno que está aprendendo qualquer tipo
st

st

st
et

et

et
N

N
de programação, que, se na sua primeira aula não realizar o “hello world”,
nunca aprenderá a linguagem em questão. Então, para não contrariar a lenda
urbana, esse será nosso primeiro exercício.

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

-2
s

s
to

to

to
en

en

en

1
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
-3

-3

-3
s

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
CONECTANDO VOCÊ AO CONHECIMENTO
y

y
ud

ud

ud
st

st

st
et

et

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

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

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


-3

-3

-3
“Save”.
s

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
dy

dy

dy
u

u
st

st

st
et

et

et
N

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


videoaula.
-3

-3

-3
s

s
to

to

to
en

en

en

2
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
-4

-4

-4
s

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
CONECTANDO VOCÊ AO CONHECIMENTO
y

y
ud

ud

ud
st

st

st
et

et

et
4) Será solicitado o nome do Pacote onde o programa deverá ser
N

N
armazenado.

5) Para criar o Pacote será necessário abrir uma nova sessão, para isso clique
na figura que aparece no quanto superior esquerdo do pop-up, conforme
abaixo e clique na opção “Create session”.
-4

-4

-4
s

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
dy

dy

dy
u

u
st

st

st
et

et

et
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

-4
s

s
to

to

to
en

en

en

3
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
-5

-5

-5
s

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
CONECTANDO VOCÊ AO CONHECIMENTO
y

y
ud

ud

ud
st

st

st
et

et

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

N
8) No campo descrição informe o texto “Treinamento ABAP” e clique no
botão .
-5

-5

-5
s

s
to

to

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

en

en
am

am

am
videoaula.
in

in

in
tre

tre

tre
dy

dy

dy
u

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

st

st
et

et

et
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

-5
s

s
to

to

to
en

en

en

4
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
-6

-6

-6
s

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
CONECTANDO VOCÊ AO CONHECIMENTO
y

y
ud

ud

ud
st

st

st
et

et

et
N

N
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
clique no botão OK .
-6

-6

-6
s

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
dy

dy

dy
u

u
st

st

st
et

et

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

N
utilizados até o final do treinamento.
Criar pacote no dia a dia é bem difícil, porém request acontece com
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

-6
s

s
to

to

to
en

en

en

5
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
-7

-7

-7
s

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
CONECTANDO VOCÊ AO CONHECIMENTO
y

y
ud

ud

ud
st

st

st
et

et

et
13) Será solicitado a request para salvar o programa que estamos criando,
N

N
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.
-7

-7

-7
s

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
dy

dy

dy
u

u
st

st

st
et

et

et
N

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

-7
s

s
to

to

to
en

en

en

6
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
-8

-8

-8
s

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
CONECTANDO VOCÊ AO CONHECIMENTO
y

y
ud

ud

ud
st

st

st
et

et

et
16) Caso tenha efetuado todos os passos anteriores corretamente o seu
N

N
programa deverá estar com o status de “Ativo”.

17) Clique no botão Executar ou Apertar (F8), com isso o programa será
executado e deverá aparecer o seguinte resultado:
-8

-8

-8
s

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
dy

dy

dy
u

u
st

st

st
et

et

et
N

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

-8
s

s
to

to

to
en

en

en

7
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
-9

-9

-9
s

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
CONECTANDO VOCÊ AO CONHECIMENTO
y

y
ud

ud

ud
st

st

st
et

et

et
O comando “NO STANDARD PAGE HEADING” não apresenta o cabeçalho
N

N
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:

Parabéns, você acaba de fazer seu primeiro programa em ABAP!


-9

-9

-9
s

s
to

to

to
EXEMPLO Nº2
en

en

en
am

am

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

in

in
tre

tre

tre
com as características abaixo:
dy

dy

dy
u

u
Nome programa = ZR0002
st

st

st
et

et

et
Descrição = Comando WRITE
N

N
Tipo = programa executável
Pacote = ZTREINAMENTO
Request = mesma utilizada no desenvolvimento anterior

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


-9

-9

-9
s

s
to

to

to
en

en

en

8
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
0

0
-1

-1

-1
s

s
to

to

to
en

en

en
am

am

am
in

in

in
CONECTANDO VOCÊ AO CONHECIMENTO
tre

tre

tre
y

y
ud

ud

ud
st

st

st
et

et

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

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

EXEMPLO Nº3
0

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

-1

-1
s

s
to

to

to
de resultados. Crie um novo programa com as características abaixo:
en

en

en
am

am

am
Nome programa = ZR0003
in

in

in
tre

tre

tre
Descrição = Comando WRITE, ULINE, SKIP e COLOR
dy

dy

dy
u

u
Tipo = programa executável
st

st

st
et

et

et
N

N
Pacote = ZTREINAMENTO
Request = mesma utilizada no desenvolvimento anterior

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


0

0
-1

-1

-1
s

s
to

to

to
en

en

en

9
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
1

1
-1

-1

-1
s

s
to

to

to
en

en

en
am

am

am
in

in

in
CONECTANDO VOCÊ AO CONHECIMENTO
tre

tre

tre
y

y
ud

ud

ud
st

st

st
et

et

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

N
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.
1

1
-1

-1

-1
s

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
dy

dy

dy
u

u
st

st

st
et

et

et
N

N
1

1
-1

-1

-1
s

s
to

to

to
en

en

en

10
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
2

2
-1

-1

-1
s

s
to

to

to
en

en

en
am

am

am
in

in

in
CONECTANDO VOCÊ AO CONHECIMENTO
tre

tre

tre
y

y
ud

ud

ud
st

st

st
et

et

et
1.2. INSTRUÇÕES DECLARATIVAS
N

N
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.

1.3. TIPOS DE DADOS


2

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

-1

-1
s

s
Tipos completos
to

to

to
en

en

en
 I – Inteiro, tamanho de 8.
am

am

am
in

in

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

tre

tre
dy

dy

dy
 T – Tempo (HHMMSS), tamanho de 8.
u

u
st

st

st
et

et

et
 F – Ponto flutuante, tamanho de 8.
N

N
 String – Cadeira de caracteres de comprimento variável.
 Xstring – Cadeira de caracteres (hexadecimal) de comprimento
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.
2

2
-1

-1

-1
s

s
to

to

to
en

en

en

11
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
3

3
-1

-1

-1
s

s
to

to

to
en

en

en
am

am

am
in

in

in
CONECTANDO VOCÊ AO CONHECIMENTO
tre

tre

tre
y

y
ud

ud

ud
st

st

st
et

et

et
1.4. VARIÁVEL
N

N
É 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
DATA: V_DATA1 LIKE V_DATA.
No exemplo B foi declarada uma nova variável chamada V_DATA1, porém,
neste exemplo está sendo utilizado o comando LIKE; esse comando é
utilizado quando será declarado um objeto (no nosso caso a variável
3

3
-1

-1

-1
s

s
V_DATA1) com referência a um objeto já declarado (a variável V_DATA do
to

to

to
en

en

en
exemplo A).
am

am

am
in

in

in
tre

tre

tre
dy

dy

dy
Neste exemplo a variável V_DATA1 terá as mesmas características da
u

u
st

st

st
et

et

et
variável declarada no Exemplo A. Esse comando tornou-se obsoleto, pois
N

N
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.

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.
3

3
-1

-1

-1
s

s
to

to

to
en

en

en

12
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
4

4
-1

-1

-1
s

s
to

to

to
en

en

en
am

am

am
in

in

in
CONECTANDO VOCÊ AO CONHECIMENTO
tre

tre

tre
y

y
ud

ud

ud
st

st

st
et

et

et
1.5. CONSTANTE
N

N
É 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_”.

EXEMPLO Nº4
Neste exemplo criaremos variáveis e constantes e atribuiremos valores a
elas.
4

4
-1

-1

-1
s

s
Nome programa = ZR0004
to

to

to
en

en

en
Descrição = Utilizando variáveis e constantes
am

am

am
in

in

in
tre

tre

tre
Tipo = programa executável
dy

dy

dy
Pacote = ZTREINAMENTO
u

u
st

st

st
et

et

et
Request = mesma utilizada no desenvolvimento anterior
N

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

4
-1

-1

-1
s

s
to

to

to
en

en

en

13
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
5

5
-1

-1

-1
s

s
to

to

to
en

en

en
am

am

am
in

in

in
CONECTANDO VOCÊ AO CONHECIMENTO
tre

tre

tre
y

y
ud

ud

ud
st

st

st
et

et

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

N
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.
5

5
-1

-1

-1
s

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
dy

dy

dy
u

u
st

st

st
et

et

et
N

N
5

5
-1

-1

-1
s

s
to

to

to
en

en

en

14
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
6

6
-1

-1

-1
s

s
to

to

to
en

en

en
am

am

am
in

in

in
CONECTANDO VOCÊ AO CONHECIMENTO
tre

tre

tre
y

y
ud

ud

ud
st

st

st
et

et

et
1.6. PARÂMETROS DE ENTRADA
N

N
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


comandos de interface com o usuário, permitindo que se introduzam valores
para execução do programa.

EXEMPLO Nº5
6

6
-1

-1

-1
s

s
Neste exemplo iremos criar um programa com as mesmas características do
to

to

to
en

en

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

am

am
in

in

in
tre

PARAMETER.
tre

tre
dy

dy

dy
Nome programa = ZR0005
u

u
st

st

st
et

et

et
Descrição = Utilizando PARAMETER
N

N
Tipo = programa executável
Pacote = ZTREINAMENTO
Request = mesma utilizada no desenvolvimento anterior

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


6

6
-1

-1

-1
s

s
to

to

to
en

en

en

15
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
7

7
-1

-1

-1
s

s
to

to

to
en

en

en
am

am

am
in

in

in
CONECTANDO VOCÊ AO CONHECIMENTO
tre

tre

tre
y

y
ud

ud

ud
st

st

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

et

et
N

N
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:
7

7
-1

-1

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

s
to

to

to
en

en

en
F8 ou o botão , deverá ser apresentado um resultado com as
am

am

am
in

in

in
características abaixo:
tre

tre

tre
dy

dy

dy
u

u
st

st

st
et

et

et
N

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


7

7
-1

-1

-1
s

s
to

to

to
en

en

en

16
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
8

8
-1

-1

-1
s

s
to

to

to
en

en

en
am

am

am
in

in

in
CONECTANDO VOCÊ AO CONHECIMENTO
tre

tre

tre
y

y
ud

ud

ud
st

st

st
et

et

et
1.7. INSTRUÇÕES COMPARATIVAS
N

N
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>
>execute<
ENDIF.

COMANDO CASE
8

8
-1

-1

-1
s

s
O comando CASE também é utilizado para tomadas de decisões; existe
to

to

to
en

en

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

am

am
in

in

in
tre

linguagens como C ele é encontrado como SWITCH.


tre

tre
dy

dy

dy
u

u
st

st

st
et

et

et
Exemplo:
N

N
CASE variável
WHEN 1
>execute<
WHEN 2
>execute<
WHEN OTHERS
>execute<
ENDCASE.

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


CASE.
8

8
-1

-1

-1
s

s
to

to

to
en

en

en

17
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
9

9
-1

-1

-1
s

s
to

to

to
en

en

en
am

am

am
in

in

in
CONECTANDO VOCÊ AO CONHECIMENTO
tre

tre

tre
y

y
ud

ud

ud
st

st

st
et

et

et
2.8. OPERADORES DE COMPARAÇÃO
N

N
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)

2.9. OPERADORES LÓGICOS OU CONECTIVOS LÓGICOS


Estes servem para conectar duas expressões relacionais; abaixo segue a
lista de operadores disponíveis no ABAP:
 AND = E
9

9
-1

-1

-1
s

s
 OR = OU
to

to

to
en

en

en
 NOT = Negação
am

am

am
in

in

in
tre

tre

tre
dy

dy

dy
u

u
st

st

st
et

et

et
N

N
2.10. OPERADORES ARITMÉTICOS
Abaixo segue a lista de operadores aritméticos disponível no ABAP:

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.
9

9
-1

-1

-1
s

s
to

to

to
en

en

en

18
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
0

0
-2

-2

-2
s

s
to

to

to
en

en

en
am

am

am
in

in

in
CONECTANDO VOCÊ AO CONHECIMENTO
tre

tre

tre
y

y
ud

ud

ud
st

st

st
et

et

et
EXEMPLO Nº6 – Etapa 1
N

N
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:


0

0
-2

-2

-2
s

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
dy

dy

dy
u

u
st

st

st
et

et

et
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:
0

0
-2

-2

-2
s

s
to

to

to
en

en

en

19
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
N N N
et et et
s tu st st
dy udy ud
y
tre tre tre
in in in
am am am
en en en
to to to
s s s
-2 -2 -2
1 1 1

tecla F8 ou o botão
características abaixo:
N N N
et et et
s tu st st
dy udy ud
y
tre tre tre
in in in
am am am
en en en
to to to
s s s
-2 -2 -2
1 1 1

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

N N N

20
et et et
s tu st st
dy udy ud
y
tre tre tre
CONECTANDO VOCÊ AO CONHECIMENTO

in in in
am am am
en en en
to to to
s s s
-2 -2 -2
1 1 1
2

2
-2

-2

-2
s

s
to

to

to
en

en

en
am

am

am
in

in

in
CONECTANDO VOCÊ AO CONHECIMENTO
tre

tre

tre
y

y
ud

ud

ud
st

st

st
et

et

et
2.11. ELEMENTOS DE TEXTOS
N

N
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.
2

2
-2

-2

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

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
dy

dy

dy
u

u
st

st

st
et

et

et
N

N
2

2
-2

-2

-2
s

s
to

to

to
en

en

en

21
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
3

3
-2

-2

-2
s

s
to

to

to
en

en

en
am

am

am
in

in

in
CONECTANDO VOCÊ AO CONHECIMENTO
tre

tre

tre
y

y
ud

ud

ud
st

st

st
et

et

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

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

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


Text symbols: usados para cadastrar os textos que serão apresentados no
programa. Esses textos são usados pelo comando TEXT seguido pelo
número respectivo da mensagem (000 a 999), exemplo: TEXT-001. A
vantagem de trabalhar dessa maneira é que o texto pode ser traduzido
3

3
-2

-2

-2
s

s
para outros idiomas, além disso a SAP não recomenda utilizar textos
to

to

to
en

en

en
am

am

am
literais diretamente no código fonte.
in

in

in
tre

tre

tre
dy

dy

dy
 List headings: usado para facilitar o preenchimento do cabeçalho de um
u

u
st

st

st
et

et

et
relatório.
N

N
3

3
-2

-2

-2
s

s
to

to

to
en

en

en

22
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
4

4
-2

-2

-2
s

s
to

to

to
en

en

en
am

am

am
in

in

in
CONECTANDO VOCÊ AO CONHECIMENTO
tre

tre

tre
y

y
ud

ud

ud
st

st

st
et

et

et
2.12. MENSAGEM
N

N
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)


4

4
-2

-2

-2
s

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
dy

dy

dy
Existem várias formas de utilizar esse comando, abaixo segue um exemplo:
u

u
st

st

st
et

et

et
MESSAGE ‘SUCESSO’ TYPE ‘S’.
N

N
Também é possível apresentar uma mensagem de um tipo com o
comportamento visual de outro, abaixo segue a sintaxe para isso:
MESSSAGE ‘TESTE MSG’ TYPE ‘S’ DISPLAY LIKE ‘I’.
4

4
-2

-2

-2
s

s
to

to

to
en

en

en

23
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
5

5
-2

-2

-2
s

s
to

to

to
en

en

en
am

am

am
in

in

in
CONECTANDO VOCÊ AO CONHECIMENTO
tre

tre

tre
y

y
ud

ud

ud
st

st

st
et

et

et
2.13. CLASSE DE MENSAGEM
N

N
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:


5

5
-2

-2

-2
s

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
dy

dy

dy
u

u
st

st

st
et

et

et
N

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
5

5
-2

-2

-2

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


s

s
to

to

to
en

en

en

24
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
6

6
-2

-2

-2
s

s
to

to

to
en

en

en
am

am

am
in

in

in
CONECTANDO VOCÊ AO CONHECIMENTO
tre

tre

tre
y

y
ud

ud

ud
st

st

st
et

et

et
funcionalidade os valores que se encontram fixo na mensagem “&1” e “&2”
N

N
serão substituídos pelos textos literais “VAL1” e VAL2”.

Abaixo segue como a mensagem seria apresentada para o usuário.


6

6
-2

-2

-2
s

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
dy

dy

dy
u

u
st

st

st
et

et

et
N

N
6

6
-2

-2

-2
s

s
to

to

to
en

en

en

25
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
7

7
-2

-2

-2
s

s
to

to

to
en

en

en
am

am

am
in

in

in
CONECTANDO VOCÊ AO CONHECIMENTO
tre

tre

tre
y

y
ud

ud

ud
st

st

st
et

et

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

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

O sistema exibirá uma tela de erro em tempo de execução; nessa tela é


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

7
-2

-2

-2
onde se encontra o problema.
s

s
to

to

to
en

en

en
am

am

am
Abaixo seguem as principais informações dessa tela:
in

in

in
tre

tre

tre
dy

dy

dy
u

u
st

st

st
et

et

et
N

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


Amarelo = programa que aconteceu o erro
7

7
-2

-2

-2
s

s
to

to

to
en

en

en

26
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
8

8
-2

-2

-2
s

s
to

to

to
en

en

en
am

am

am
in

in

in
CONECTANDO VOCÊ AO CONHECIMENTO
tre

tre

tre
y

y
ud

ud

ud
st

st

st
et

et

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

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

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


8

8
através da transação ST22.
-2

-2

-2
s

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
dy

dy

dy
u

u
st

st

st
et

et

et
N

N
8

8
-2

-2

-2
s

s
to

to

to
en

en

en

27
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
9

9
-2

-2

-2
s

s
to

to

to
en

en

en
am

am

am
in

in

in
CONECTANDO VOCÊ AO CONHECIMENTO
tre

tre

tre
y

y
ud

ud

ud
st

st

st
et

et

et
2.15. TRATAMENTO PARA CLASSE DE EXCEÇÃO
N

N
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.
9

9
-2

-2

-2
s

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
2) Implemente a rotina abaixo no programa ZR0006.
dy

dy

dy
u

u
st

st

st
et

et

et
N

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

9
-2

-2

-2
s

s
to

to

to
en

en

en

28
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
N N N
et et et
s tu st st
dy udy ud
y
tre tre tre
in in in
am am am
en en en
to to to
s s s
-3 -3 -3
0 0 0

comando IF conforme abaixo:

N N N
et et et
s tu st st
dy udy ud
y
tre tre tre
in in in
am am am
en en en
to to to
s s s
-3 -3 -3
0 0 0

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

N N N

29
et et et
s tu st st
dy udy ud
y
tre tre tre
in in
CONECTANDO VOCÊ AO CONHECIMENTO

in
am am am
en en en
to to to
s s s
-3 -3 -3
0 0 0
1

1
-3

-3

-3
s

s
to

to

to
en

en

en
am

am

am
in

in

in
CONECTANDO VOCÊ AO CONHECIMENTO
tre

tre

tre
y

y
ud

ud

ud
st

st

st
et

et

et
2.16. TRANSAÇÃO
N

N
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.

2) Selecione a segunda opção.


1

1
-3

-3

-3
s

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
dy

dy

dy
u

u
st

st

st
et

et

et
N

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


1

1
-3

-3

-3
s

s
to

to

to
en

en

en

30
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

N
2

2
-3

-3

-3
s

s
to

to

to
en

en

en
am

am

am
in

in

in
CONECTANDO VOCÊ AO CONHECIMENTO
tre

tre

tre
y

y
ud

ud

ud
st

st

st
et

et

et
Preencha as informações abaixo:
N

N
2

2
-3

-3

-3
s

s
to

to

to
en

en

en
am

am

am
in

in

in
tre

tre

tre
dy

dy

dy
u

u
st

st

st
et

et

et
N

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

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.


2

2
-3

-3

-3
s

s
to

to

to
en

en

en

31
am

am

am
in

in

in

www.netstudy.com.br
tre

tre

tre
dy

dy

dy
tu

tu

tu
s

s
et

et

et
N

Вам также может понравиться