SAP ABAP - Tipos de dados
Ao programar em ABAP, precisamos usar uma variedade de variáveis para armazenar várias informações. As variáveis nada mais são do que locais de memória reservados para armazenar valores. Isso significa que, ao criar uma variável, você reserva algum espaço na memória. Você pode gostar de armazenar informações de vários tipos de dados, como caractere, inteiro, ponto flutuante, etc. Com base no tipo de dados de uma variável, o sistema operacional aloca memória e decide o que pode ser armazenado na memória reservada.
Tipos de dados elementares
O ABAP oferece ao programador uma rica variedade de tipos de dados de comprimento fixo e variável. A tabela a seguir lista os tipos de dados elementares ABAP -
Tipo | Palavra-chave |
---|---|
Campo de byte | X |
Campo de texto | C |
Inteiro | Eu |
Ponto flutuante | F |
Número embalado | P |
String de texto | CORDA |
Alguns dos campos e números podem ser modificados usando um ou mais nomes como a seguir -
- byte
- numeric
- character-like
A tabela a seguir mostra o tipo de dado, quanta memória é necessária para armazenar o valor na memória e os valores mínimo e máximo que podem ser armazenados neste tipo de variáveis.
Tipo | Comprimento Típico | Alcance Típico |
---|---|---|
X | 1 byte | Qualquer valor de byte (00 a FF) |
C | 1 personagem | 1 a 65535 |
N (preenchido com texto numérico) | 1 personagem | 1 a 65535 |
D (data semelhante a um caractere) | 8 caracteres | 8 caracteres |
T (tempo semelhante ao caractere) | 6 caracteres | 6 caracteres |
Eu | 4 bytes | -2147483648 a 2147483647 |
F | 8 bytes | 2.2250738585072014E-308 a 1.7976931348623157E + 308 positivo ou negativo |
P | 8 bytes | [-10 ^ (2len -1) +1] a [+ 10 ^ (2len -1) 1] (onde len = comprimento fixo) |
CORDA | Variável | Quaisquer caracteres alfanuméricos |
XSTRING (string de byte) | Variável | Qualquer valor de byte (00 a FF) |
Exemplo
REPORT YR_SEP_12.
DATA text_line TYPE C LENGTH 40.
text_line = 'A Chapter on Data Types'.
Write text_line.
DATA text_string TYPE STRING.
text_string = 'A Program in ABAP'.
Write / text_string.
DATA d_date TYPE D.
d_date = SY-DATUM.
Write / d_date.
Neste exemplo, temos uma sequência de caracteres do tipo C com comprimento predefinido 40. STRING é um tipo de dados que pode ser usado para qualquer sequência de caracteres de comprimento variável (sequências de texto). Objetos de dados do tipo STRING geralmente devem ser usados para conteúdo semelhante a caracteres onde o comprimento fixo não é importante.
O código acima produz a seguinte saída -
A Chapter on Data Types
A Program in ABAP
12092015
O tipo DATE é usado para o armazenamento de informações de data e pode armazenar oito dígitos, conforme mostrado acima.
Tipos complexos e de referência
Os tipos complexos são classificados em Structure types e Table types. Nos tipos de estrutura, tipos e estruturas elementares (isto é, estrutura embutida em uma estrutura) são agrupados. Você pode considerar apenas o agrupamento de tipos elementares. Mas você deve estar ciente da disponibilidade de aninhamento de estruturas.
Quando os tipos elementares são agrupados, o item de dados pode ser acessado como um item de dados agrupado ou os itens de dados de tipo elementar individuais (campos de estrutura) podem ser acessados. Os tipos de tabela são mais conhecidos como matrizes em outras linguagens de programação.Arrayspodem ser arrays simples ou de estrutura. No ABAP, os arrays são chamados de tabelas internas e podem ser declarados e operados de várias maneiras quando comparados a outras linguagens de programação. A tabela a seguir mostra os parâmetros de acordo com os quais as tabelas internas são caracterizadas.
S.No. | Parâmetro e Descrição |
---|---|
1 | Line or row type A linha de uma tabela interna pode ser do tipo elementar, complexo ou de referência. |
2 | Key Especifica um campo ou grupo de campos como uma chave de uma tabela interna que identifica as linhas da tabela. Uma chave contém os campos de tipos elementares. |
3 | Access method Descreve como os programas ABAP acessam entradas de tabela individuais. |
Os tipos de referência são usados para se referir a instâncias de classes, interfaces e itens de dados de tempo de execução. Os serviços de tipo de tempo de execução ABAP OOP (RTTS) permitem a declaração de itens de dados em tempo de execução.