Problema con decimales

Hola a todos…a ver si alguno me puede ayudar.
Estoy recién comenzando a programar enAbap y me topo con el sgte problema:
este programa:

SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; } .L0S31 { font-style: italic; color: #808080; } .L0S32 { color: #3399FF; } .L0S33 { color: #4DA619; } .L0S52 { color: #0000FF; } .L0S55 { color: #800080; } REPORT Y_LB_DIVISION.

data: valor1 type netpr.
data: cantidad type LFIMG.
data: total type NTGEW_15.
*DATA: total1 TYPE decfloat34.
DATA: total1 TYPE p DECIMALS 4.

valor1 = 10 / 32.
cantidad = 10.

WRITE:/ VALOR1.
WRITE:/ CANTIDAD.

total = cantidad * valor1.
total1 = total.

write:/ total1.

write:/ total CURRENCY 'USD'.
write:/ total CURRENCY 'CLP'.

me entrega como resultados:

0,31
10.000
3.1000
31,00
3.100

no puedo hacer que me entregue el resultado correcto que es 0,3125
alguien me puede ayudar por favor
Gracias

A esa variable la podes declarar como type P decimals 4 (igual que como declaraste total1), para que te devuelva ese valor.
Saludos.

3 Me gusta

muchas gracias @sconoredhot te pasaste. me funcionó.

2 Me gusta

Hola!! :raising_hand_woman:

Fijate que, cuando declaraste la variable valor1 type netpr, le indicaste que tuviera el formato asignado al elemento de dato netpr.
Tipo%20Dato%20Netpr
Como puedes observar el tipo de dato es de dos decimales, por esa razón solo te aparecían dos decimales.
En la transacción SE11 puedes consultar el tipo de dato

Saludos!

1 me gusta

OHH gracias @chivis , tienes razón. :grinning:

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.