Ver Mensaje Individual
  #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