Introdução ao ABAP: tipos de dados, Operatores e Editor – Tutorial

⚡ Resumo Inteligente

Introdução ao ABAP aborda a linguagem SAP Criado para o desenvolvimento de aplicações no sistema R/3. Este recurso explica os tipos de dados, os operadores, as instruções de controle, a tabela interna e o editor SE38, onde todo programa ABAP é iniciado.

  • 🔤 Sintaxe da declaração: O comando DATA nome_da_variável TYPE tipo_da_variável declara todas as variáveis ​​em ABAP.
  • 🔢 Tipos de dados: I, F e P contêm números; C, D, N e T contêm caracteres; X contém dados hexadecimais.
  • Operatores: Os operadores aritméticos alteram valores, enquanto os operadores lógicos, como EQ, NE, GT e LT, determinam as decisões.
  • 🔁 Instruções de controle: IF, CASE, WHILE e DO determinam quais linhas de um programa são realmente executadas.
  • 📋 Tabelas internas: Uma tabela interna armazena várias linhas na memória e é a base de todos os relatórios ABAP.
  • 🖥️ Editor: A transação SE38 é o Editor ABAP, onde os programas são escritos, verificados e executados.

Introduction to SAP ABAP

O que é ABAP?

ABAP significa Advanced Business Application Programming (Programação Avançada de Aplicações Empresariais). É uma linguagem de programação para desenvolvimento de aplicações empresariais.ping aplicações para o SAP Sistema R/3.

A versão mais recente do ABAP é chamada de ABAP Objects e oferece suporte à programação orientada a objetos. SAP executará aplicativos escritos usando ABAP/4, a versão anterior do ABAP, bem como aplicativos usando objetos ABAP.

Esta introdução não pretende documentar todos os aspectos. Linguagem ABAP O livro "Construct" apresenta os conceitos-chave rapidamente, permitindo que você comece a escrever programas funcionais e, em seguida, avance para tópicos mais complexos.

Tipos de dados

Todo programa ABAP começa declarando os dados com os quais irá trabalhar.

Sintaxe para declarar uma variável em ABAP –

DATA Variable_Name TYPE Variable_Type.

Exemplo:

DATA employee_number TYPE I.

A seguir, apresentamos uma lista dos tipos de dados suportados pelo ABAP.

Tipo de dados Comprimento inicial do campo Comprimento de campo válido Valor inicial Significado
Tipos numéricos
I 4 4 0 Inteiro (número inteiro)
F 8 8 0 número de ponto flutuante
P 8 1 - 16 0 Número embalado
Tipos de personagens
C 1 1 - 65535 '...' Campo de texto (caracteres alfanuméricos)
D 8 8 '00000000' Campo de data (formato: AAAAMMDD)
N 1 1 - 65535 '0...0' Campo de texto numérico (caracteres numéricos)
T 6 6 '000000' Campo de tempo (formato: HHMMSS)
Tipo hexadecimal
X 1 1 - 65535 X'0… 0′ Campo hexadecimal

Os oito tipos acima são os tipos clássicos de comprimento fixo. O ABAP também oferece dois tipos de comprimento variável que os iniciantes encontram quase imediatamente: STRING para textos de qualquer extensão, e XSTRING para dados binários de qualquer comprimento.

ABAP Operatoros

Uma vez que os dados são declarados, os operadores são responsáveis ​​por modificá-los e compará-los.

Atribuição de valores

a = 16.
MOVE 16 TO a.
WRITE a TO b.

Todas as três instruções movem um valor. O sinal de igual é a forma moderna, enquanto MOVE e WRITE TO são os equivalentes mais antigos que você ainda encontrará em programas legados.

Operaçoes aritimeticas

COMPUTE a = a * 100.

ABAP também suporta ADD e SUB.TRACT, MULTIPLY e DIVIDE como palavras-chave independentes, mas a forma COMPUTE mostrada acima é a mais usada.

Os operadores lógicos

Os operadores lógicos retornam verdadeiro ou falso, e são eles que todas as instruções de controle na próxima seção testam. Cada um possui uma forma verbal e uma forma simbólica, e ambas são intercambiáveis.

Forma da palavra Forma simbólica Significado
EQ = Igual a
NE <> Diferente de
GT > Melhor que
GE >= Melhor que ou igual a
LT < Less do que
LE <= Less que ou igual a

Declarações de controle

As instruções de controle usam os operadores lógicos acima para decidir quais linhas de código são executadas e com que frequência.

SE … FIM SE

IF [NOT] exp [ AND / OR [NOT] exp ].
  ........
[ELSEIF exp.
  .......]
[ELSE.
  .......]
ENDIF.

Declaração CASE

CASE variable.
  WHEN value1.
    .........
  WHEN value2.
    .........
  [WHEN OTHERS.
    .........]
ENDCASE.

ENQUANTO loop

WHILE <logical expression>.
  .....
ENDWHILE.

loop DO

DO <n> TIMES.
  .....
ENDDO.

Um laço WHILE é executado enquanto sua condição for verdadeira. Um laço DO é executado um número fixo de vezes, ou indefinidamente, até que uma instrução EXIT o interrompa.

Tabelas internas em ABAP

Variáveis ​​únicas raramente são suficientes. Programas empresariais leem muitas linhas simultaneamente, e a tabela interna é a estrutura que as armazena na memória.

Uma tabela interna é uma matriz dinâmica. Ela não tem tamanho fixo, existe apenas durante a execução do programa e é a maneira padrão de mover linhas entre o banco de dados e a tela.

" Declare an internal table and a work area
DATA: lt_employees TYPE TABLE OF pa0001,
      ls_employee  TYPE pa0001.

" Fill it from the database
SELECT * FROM pa0001 INTO TABLE lt_employees UP TO 10 ROWS.

" Read it row by row
LOOP AT lt_employees INTO ls_employee.
  WRITE: / ls_employee-pernr, ls_employee-ename.
ENDLOOP.

As três operações acima abrangem a maior parte do trabalho diário: declarar a tabela, preenchê-la com um SELECT e, em seguida, percorrer a tabela com LOOP AT. APPEND adiciona uma linha, READ TABLE encontra uma linha e DELETE remove linhas que correspondem a uma condição.

Editor ABAP/4

Toda a sintaxe acima é digitada em um único lugar.

transação SE38 Abre o Editor ABAP, onde você passará a maior parte do tempo como desenvolvedor criando e modificando programas.

Editor ABAP/4

O Editor ABAP/4, transação SE38

Como escrever seu primeiro programa ABAP

A tela acima mostra onde os seguintes passos são realizados. A sequência abaixo gera um relatório funcional em poucos minutos.

  1. Abra o editor. Insira o código da transação SE38 no SAP Campo de comando da GUI, pressione Enter.
  2. Dê um nome ao programa. Digite um nome que comece com Z or Y, Por exemplo ZHELLO_WORLDEssas duas letras representam o espaço de nomes do cliente, e SAP Garante que nunca os sobrescreverá durante uma atualização.
  3. Crie-o. Clique CriarInsira uma breve descrição e selecione Programa executável como o tipo.
  4. Atribua um pacote. Escolha Objeto local Para fins de prática. Um objeto local permanece em seu sistema e não requer nenhuma solicitação de transporte.
  5. Escreva o código.
REPORT zhello_world.

DATA employee_name TYPE string.
employee_name = 'Guru99'.

WRITE: / 'Hello, ABAP!',
       / 'Welcome', employee_name.
  1. Verifique a sintaxe. Imprensa Ctrl + F2A barra de status exibe qualquer erro e a linha que o causou.
  2. Ative o programa. Imprensa Ctrl + F3Um programa inativo não pode ser executado.
  3. Executar. Imprensa F8A lista de saída é aberta e exibe ambas as linhas WRITE.

A barra invertida na instrução WRITE força uma nova linha. Removê-la imprime tudo em uma única linha, que é o primeiro hábito de formatação que a maioria dos iniciantes adquire.

Transação ABAP comum Codes

Um pequeno conjunto de códigos de transação abrange praticamente tudo o que um novo desenvolvedor ABAP precisa.

transação Propósito
SE38 Editor ABAP. Crie, edite, verifique e execute programas.
SE80 Navegador de Objetos. Uma única área de trabalho para programas, classes, pacotes e telas.
SE11 Dicionário ABAP. Defina e inspecione tabelas de banco de dados, elementos de dados e domínios.
SE16N Navegador de dados. Visualize o conteúdo de qualquer tabela sem precisar escrever um comando SELECT.
SE37 Construtor de funções. Crie e teste módulos de função.
SE24 Construtor de classes. Crie classes globais para objetos ABAP.
ST22 Análise de despejo de memória. Leia o erro de tempo de execução quando um programa for encerrado.

SE38 e SE11 são suficientes para gerar um primeiro relatório. ST22 torna-se o mais valioso do grupo no momento em que um programa trava.

Perguntas Frequentes

Z e Y formam o espaço de nomes do cliente. SAP O sistema nunca envia objetos com esses prefixos, portanto, uma atualização não pode sobrescrever seu programa. Nomes fora desse namespace correm o risco de serem substituídos.

ABAP/4 é a versão procedural, construída com base em relatórios e sub-rotinas. ABAP Objects adiciona classes, interfaces e herança. Ambos são executados no mesmo sistema, portanto, o código antigo e o novo coexistem.

Use o tipo P, o tipo compactado. Ele armazena decimais com exatidão, que é o que o dinheiro exige. O tipo F é um número de ponto flutuante e introduz erros de arredondamento que tornam os totais financeiros não confiáveis.

Sim. Um assistente de IA pode explicar um erro de execução (dump), traduzir pseudocódigo para ABAP e sugerir um loop mais limpo. Sempre execute a verificação de sintaxe, pois o código gerado pode fazer referência a tabelas que seu sistema não possui.

Não sem revisão. O código gerado frequentemente ignora verificações de autorização, regras de desempenho e a lista de APIs lançadas pelo ABAP Cloud. Trate-o como um primeiro rascunho e teste-o como faria com qualquer outro código.

Resuma esta postagem com: