Data Type – Parte 1

Um dos assuntos que mais causa confusão nos iniciados em ABAP é o assunto de Data Types. Uma das características do ABAP é o fato dela ser tipada. Isso significa que qualquer variável (Data Object), parâmetro de Function Module, subrotina (forms), métodos etc. são baseados em tipos.

DATA var TYPE i.

Acabei de criar um Data Object para armazenar valores numéricos inteiros. Isso quer dizer que a variável var não pode receber um valor com decimais, ponto flutuante, hexadecimal ou caracter.

Os tipos em ABAP estão divididos em 3 grupos, standards (ou instalados), locais e globais.

Tipos Standards

Esses são os tipos que fazem parte da linguagem ABAP, não importa a instalação, servidor ou versão do application server. Os tipos standards são divididos em completos (não necessitam de um complemento, como por exemplo tamanho) e incompletos (exigem complemento).

Veja mais detalhes dos tipos de dados standards aqui. Os tipos numéricos são:

Integer (I): Vão do número -2147483647 até 2147483647, e somente possui números inteiros. Se mover um número não inteiro, ele será arredondado, não será truncado. Tipos inteiros são usados para contadores, index de tabelas, etc.

Package (P): É um tipo de dado que permite casas decimais e são definidos na declaração da variável. Os valores permitidos variam de acordo com o tamanho do campo. Variáveis tipo package são geralmente usados para receber resultados de expressões, operações monetárias etc., onde a questão do arredondamento não pode influenciar no resultado final.

Floating (F): Variáveis floating são na verdade uma representação matemática do número. Isto significa que a precisão do número varia de acordo com o hardware. Floating é usado em casos de grandes números e a questão do arredondamento não é crítico.

Um forma curiosa de verificar a precisão, faça a seguinte conta: 7 / 9 * 9, nessa ordem. Faça essa conta em uma calculadora simples de quatro operações (escolha aquelas “Xing Ling”). Se a resposta for 6,999999, então a calculadora não é possui uma boa exatidão. Se você usar a calculadora do Windows, celular ou HP, você obterá exatamente 7.

Usar variáveis Integer e Floating são mais rápidos do que Package, mas não são tão precisos como o Package.

E para finalizar os tipos standard completos, temos mais outros dois tipos:

Date (D) – Cria variáveis do tipo data, com 8 posições. O formato padrão de data no SAP é YYYYMMDD. Com esse tipo, é possivel efetuar operações com datas, por exemplo:

DATA v_date TYPE D VALUE “20081031”.

ADD 1 TO v_date.

O valor final de v_date será “20081101”.

Time (T) – Cria variáveis do tipo time, com 6 posições. O formato padrão de tempo no SAP é HHMMSS. A exemplo do tipo date, também podemos fazer operações matemáticas com tempos:

DATA v_time TYPE T VALUE “125959”.

ADD 1 to v_time.

O valor final de v_time será “130000”.

Nós próximos posts, vou discutir os outros tipos de dados standard não numéricos.

References:

Defining Data Types

1 Resultado

  1. outubro 26, 2008

    […] a nossa discussão sobre Data Types em ABAP (parte 1), vamos agora ver os tipos standards imcompletos, ou seja, que exigem um complemento no momento da […]