MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Separador miles , (foro/showthread.php?t=12043)

goyleo 26/03/08 20:22:15

Separador miles ,
 
Hola que tal gente les comento mi problema.
Estoy haciendo un formulario SAPSCRIPT el cual llama a un pool de subrutinas, a una de las mismas le paso datos por medio de la tabla IN, este dato es un numero que tiene separador de miles con coma pero lo pasa como string (creo), mi pregunta es como paso a un entero esa string a un numero entero para poder trabajarlo como tal, ya que al leer el dato me tira DUMP

DATA: TOT_TARAG TYPE F,
TOT_BRGEW TYPE F.


TABLA IN
-----------------
Pos__VALUE
1---> 746,000
2---> 7,460
-----------------

READ TABLE in INDEX 3.
TOT_TARAG = in-value. >>>>>>>> :mad: DUMP al asignar el valor....

HAy alguna funcion que me resuelva el problema :confused: ???

Muchas Gracias :) .

DavidXD_XD 26/03/08 20:51:18

Hola, podrias imprimir el texto que arroja el DUMP en la parte "Analisis de Error", asi se podria saber un poco mas del supuesto error ....

goyleo 27/03/08 11:25:48

Descripcion del DUMP
 
Esta es la descripcion del DUMP.


Texto breve
Unable to interpret "746,000 " as a number.


Anál.errores
An exception occurred that is explained in detail below.
The exception, which is assigned to class 'CX_SY_CONVERSION_NO_NUMBER', was not
caught in
procedure "SUM_TOT" "(FORM)", nor was it propagated by a RAISING clause.
Since the caller of the procedure could not have anticipated that the
exception would occur, the current program is terminated.
The reason for the exception is:
The program attempted to interpret the value "746,000 " as a number, but
since the value contravenes the rules for correct number formats,
this was not possible.

DavidXD_XD 27/03/08 14:31:06

Tengo un compañero al cual le salio el mismo problema, al parecer estan igualando una cadena a un entero ... me explico

data: frac(10) TYPE p decimals 2,
cadena TYPE string,
frac2 TYPE resb-bdmng. "2 decimales

fracc = 10000 / 7. " fracc = 1428.57

write fracc TO cadena.
"cadena = 1,428.57 -> dependiendo de la configuracion de usuario para decimales

frac2 = cadena. ->DUMP frac2 no puede ser 1,428.57

Tal vez eso sea el problema, el de asignar doble ....

m@ry@net 27/03/08 14:59:21

conversiones de p a c o de c a p
 
hola

hay dos funciones

conversion de tipo p a c
unpack <p_num> to <string>
desempaqueta p_num en la variable string colocando ceros a la izquierda

conversion de tipo c a p
pack <string> to <p_num>
es el caso contario

donde p es de tipo packet y puedes definirlo para que contenga los decimales que deseas.

saludos

goyleo 27/03/08 16:14:22

gracias
 
muchas gracias gente ya me funciono, fueron de gran ayuda :D

Ariel-StaFe 19/06/15 19:45:29

Punto decimal en prog y coma decimal en formulario
 
Estimados:
perdon que me sume a esta conversacion cerrada hace un tiempo.
pero el problema que tengo yo es que en el programa de control, esta ok, como lo necesito. con . decimal.. x ej (1234.56)
pero al momento de imprimir esa variable en el formulario, la imprime como 1.234,56
A que se debe ?

He probado de mover esas variables a string y me convierte a coma decimal (ej. 1.234,56) y al imprimir sale igual..

No logro imprimir con el punto (.) decimal.

Ya tengo seteado el parametro del usuario como 1,234.56 y nada.

Alguien me podria dar una mano?

sconoredhot 22/06/15 11:30:12

hola
 
Sap a las variables de precio (NETWR) siempre intenta imprimirlas con este formato, 1.234,56, en realidad, al formato que tenga seteado el usuario en la SU01.

Si lo que necesitas es que se muestre asi: 1234.56, tienes que mover ese valor a una variable tipo char, e imprimir esa en lugar de la que este declarada como NETWR.

Saludos

Ariel-StaFe 22/06/15 12:43:23

Sebas:
Es como dijiste. Gracias.
Ahora, no habra manera de que se muestren los separadores de miles ?
1,234.56 ?
en lugar de 1234.56 ?
Ya es mucho pedir.. con tipo char no lo veo posible.. tendre que trabajar sobre la variable char como una cadena y hacer yo el separado x codigo ?. no habra algo mas directo ?.
Gracias desde ya.

Ariel-StaFe 23/06/15 14:27:16

Bueno. Lo resolvi teniendo el valor final en una variable Char y haciendo TRANSLATE.
Gracias
Saludos


Husos Horarios son GMT. La hora en este momento es 11:42:30.

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