miércoles, octubre 28, 2009

Trabajar con decimales

Puede interesar redondear cantidades. Para ello hay dos opciones:
- Utitlizar variables de tipo entero, que realizan automáticamente la conversión.
- Utilizar las sentencias de ABAP, 'floor' y 'ceil'.

DATOS:
Cantidad 1 1,200
Cantidad 2 1,600

RESULTADO:
Variable tipo "I" cantidad 1 = 1 ( parte decimal < 0,50 )
Variable tipo "I" cantidad 2 = 2 ( parte decimal > 0,50 )

Sentencia "Ceil" cantidad 1 = 2,000
Sentencia "Floor" cantidad 1 = 1,000

lunes, octubre 05, 2009

MF - Trabajar con importes

Tenemos un fichero con importes y queremos grabarlo en SAP (separador decimales = ',')
Definir variables de tipo char de tamaño = longitud+decimales+1 del punto
SAP guardar los importes con el separador de importe '.'
Utilizar el MF:

data: l_importe_c(28).
data: l_importe type BAPIWRBTR.
CALL FUNCTION 'MOVE_CHAR_TO_NUM'
EXPORTING
chr = l_importe_c
IMPORTING
NUM = l_importe
EXCEPTIONS
CONVT_NO_NUMBER = 1
CONVT_OVERFLOW = 2
OTHERS = 3.