MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 09/04/07, 14:04:15
tate tate is offline
Senior Member
 
Fecha de Ingreso: feb 2007
Mensajes: 106
Cambiar el dato

Tengo un campo de una estructura de sap, el VBDPL-LFIMG, y bien:

Ese campo esta definido en la estructura como : typ: Quan, de longitud 13, y lo que me pasa esque al hacer esto:

tvdpl-netwr = v_kbetr * tvbdpl-lfimg.

el campo tvbdpl-lfimg me vale 5000.00(vamos cincomil) y yo kiero que valga 5 que es el numero de unidades de ese factura que realizo.

Lo que he hecho ha sio dividir el total entre 1000, pero me parece mu cutr y por si habria alguna otra manera.
****mio cutre*******
tvdpl-netwr = v_kbetr * tvbdpl-lfimg.
tvdpl-netwr = tvdpl-netwr / 1000.

Espero haberme explicado bien.

Gracias.
Responder Con Cita
  #2  
Viejo 09/04/07, 20:59:32
Avatar de abapedro
abapedro abapedro is offline
Member
 
Fecha de Ingreso: mar 2007
Mensajes: 83
Exclamation Conversión de cantidades

Hola,

La estructura VBDPL "Vista posición documento albarán de entrega" contiene dos campos relacionados entre sí:

LFIMG "Cantidad entregada efectivamente en UMV"
VRKME "Unidad de medida de venta"

El segundo campo (VRKME) indica la unidad de medida en la cual está expresada la cantidad del primer campo.

Como dice la estructura, el campo de cantidad SIEMPRE es 13 cifras con 3 decimales.

Esto significa que las cantidades:

12345
1234.5
123.45
12.345
1.2345

Todas se almacenan en el campo así:

12.345

Lo que deternmina la posición real del punto (o coma) decimal es la propia unidad de medida.

La definición de la unidad de medida determina con cuantos decimales se trabaja dicha unidad de medida universalmente dentro del sistema (R/3). Por ejemplo:

LFMIG dice: 12.300

y la unidad especificada en VRKME dice que se trabaja con 2 decimales, entonces la cantidad real (como se presenta en cualquier dynpro) es: 123.00

si la unidad especificada en VRKME dijera que se trabaja con 1 decimal, entonces la cantidad real (como se presenta en cualquier dynpro) sería: 1230.0

Si observa la pestaña titulada "Campos de moneda/cantidad" que aparece al consultar la estructura por la SE11, verá que en el campo LFMIG se indica que el campo de referencia es VRKME.

En la tabla T006 está el catálogo de unidades de medida. El campo MSEHI es la unidad de medida (nombre código de 3 letras) y el campo ANDEC dice la cantidad de cifras decimales con que trabaja esa unidad.

Los nombres de las unidades de medida están en la tabla T006A (en los distintos idiomas que existan en el sistema).

Por ejemplo, la unidad "KG" (kilogramo) tiene "2" en el campo ANDEC en la T006. Esto significa que la cantidad real 345.2 se almacenaría en el campo LFMIG así: 34.520. La cantidad 345.0 se almacenaría así: 34.500, la cantidad
345.26 así: 34.526

Con base en toda esta explicación, la cantidad real se debe obtener basandose en la definción de la unidad de medida. No conozco una rutina de conversión que evite tener que consultar la T006 para determinar la posición real del punto decimal.

Espero que esto le sirva y en todo caso estoy a sus ordenes para cualquier consulta.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 21:33:32.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web