lunes, 13 de febrero de 2012

Edad con dos decimales, como texto

DATA: aux_date type sy-datum,
aux_year type numc4,
aux_age(200) type c.
DATA: aux_age_num type p DECIMALS 2.
Data: valor type numc5.

clear: aux_year, aux_date, aux_age, aux_age_num ,valor.
aux_year = sy-datum(4).
CONCATENATE aux_year '05' '30' into aux_date.

CALL FUNCTION 'DAYS_BETWEEN_TWO_DATES'
EXPORTING
I_DATUM_BIS = TRAN_STRUCTURE-GBDAT
I_DATUM_VON = aux_date
IMPORTING
E_TAGE = aux_age.
CALL FUNCTION 'CHAR_NUMC_CONVERSION'
EXPORTING
INPUT = aux_age
IMPORTING
NUMCSTR = aux_age_num.
valor = 100 * ( aux_age_num ) / ( 365 + ( 25 / 100 ) ) .
*RESULT = valor.

CONCATENATE valor+1(2) ',' valor+3(2) into RESULT .