sexta-feira, 15 de março de 2013

Trabalhando com Números

  *  Salve Abapers, vamos conversar hoje sobre comandos que ajudam muito
* a gente quando estamos trabalhando com valores e números, são todos
* comandos simples, e como sempre feito pelo Blog, vou explicar e dar
* pelomenos um exemplo...
*&---------------------------------------------------------------------*
REPORT z_work_with_numbers.

* Primeiro vamos declarar as variáveis que vamos trabalhar...
DATA : v_int_pos  TYPE VALUE  '5',
       v_int_zero TYPE VALUE  '0',
       v_int_neg  TYPE VALUE '-5',
       v_dec_pos  TYPE DECIMALS VALUE  '1234.56',
       v_dec_neg  TYPE DECIMALS VALUE '-1234.89',
       v_string   TYPE string VALUE 'a1bcde2fg3hij5lmn78z'.

* Variáveis para tratativas numéricas
DATA : v_sign     TYPE i,
       v_trunc    TYPE i,
       v_frac     TYPE DECIMALS 2,
       v_sqrt     TYPE DECIMALS 2,
       v_sqrt_f   TYPE f,
       v_mod      TYPE i,
       v_div      TYPE i
       .

* Variáveis para tratativas alfanumericos.
DATA : v_strlen   TYPE i
       .





BREAK-POINT.
*  SIGN - Esse comando informa o sinal do valor, nas condições abaixo,
*          Varialvel > 0 =  1,
*          Varialvel = 0 =  0,
*          Varialvel < 0 = -1.

v_sign SIGNv_int_pos ) .

v_sign SIGNv_int_zero ) .

v_sign SIGNv_int_neg ) .


BREAK-POINT.
*  TRUNC - Esse comando retorna a parte inteira de um número fracionado.

v_trunc TRUNCv_dec_pos ).

v_trunc TRUNCv_dec_neg ).


BREAK-POINT.
*  FRAC - Esse comando retorna a parte fracionada do número.

v_frac FRACv_dec_pos ).

v_frac FRACv_dec_neg ).

v_frac FRACv_int_pos ).


BREAK-POINT.
*  SQRT - Raiz Quadrada, de um número positivo. Se você usar numero negativo ele
* vai dar Dump.

v_sqrt   SQRTv_int_pos ).

v_sqrt_f SQRTv_int_pos ).


BREAK-POINT.
*  DIV - informa o numero exato de uma divisão.
*  MOD - Informa o saldo de uma divisão.

v_div 13 DIV 4.
v_mod 13 MOD 4.


BREAK-POINT.
*  STRLEN - Esse comando retorna a quantidade de caracteres que tem a variável,
* esse comando funciona para tipos especificos de data-types.(C, N, D, T ou string)

v_strlen STRLENv_string ).

BREAK-POINT.

2 comentários:

  1. Excelente iniciativa, parabéns por disponiblizar seus conhecimentos!

    ResponderExcluir
  2. Estou começando no mundo ABAP, muito bom me ajudou a resolver uma atividade.

    ResponderExcluir