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 18/05/10, 13:06:33
tate tate is offline
Senior Member
 
Fecha de Ingreso: feb 2007
Mensajes: 106
remplazar '.' en un tipo quan

Hola necesito remplazar '.' por ',' en un dato de tipo quan.

Uso el replace pero no puedo dado que es para tipo char.

Alguien sabria como podria hacerlo.

Un saludo.
Responder Con Cita
  #2  
Viejo 18/05/10, 13:10:56
emerson.tosin emerson.tosin is offline
Member
 
Fecha de Ingreso: dic 2006
Localización: Sao Paulo, Brasil
Mensajes: 57
Se la substituición és de QUAN para CHAR. És solo utilizar el comando "WRITE".
Ejemplo: WRITE v_quan TO v_char.

espero que ayude!
Responder Con Cita
  #3  
Viejo 18/05/10, 15:16:19
tate tate is offline
Senior Member
 
Fecha de Ingreso: feb 2007
Mensajes: 106
El caso que yo tengo esto

var1 tipo quan (13,3)
var2 tipo int1 (3)

move var1 to var2.

El caso esque si var1 es 1,123 no da dump y va bien, pero si es 1.123 me da dump.

Entonces no se como hacer para que sea ',' pero con replace no puedo.

Lo que me dices no puedo ya que que es un INT1 y seguiria con la coma.
Responder Con Cita
  #4  
Viejo 18/05/10, 15:58:24
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,255
Hola Tate ... primero q nada la configuracion de tu usuario esta predeterminado para usar la coma como separador de miles, ahora lo que necesariamente se tiene que hacer es:

1. Crear un tipo char para pasar esa cantidad
2. Usar la BAPI BAPI_USER_GET_DETAIL para saber la configuracion de usuario y ver si esta usando el '.' o ',' como separador de miles, eso lo ves en el campo DEFAULTS-DCPFM
3. Si es . no realizar REPLACE sobre la variable de tipo CHAR, y si lo es realizar el REPLACE con la ,
4. Una vez que este modificado el valor de tipo char con la cantidad puedes realizar el pase a la variable de tipo QUAN

Espero te ayude
__________________
David Carballido Córdova
Responder Con Cita
  #5  
Viejo 18/05/10, 16:01:23
nievesmp nievesmp is offline
Member
 
Fecha de Ingreso: abr 2009
Mensajes: 95

Escribelo hacia una variable tipo char con un write (write var_quan to var_char) sólo con eso, ya lo pasa con coma, despues lo devuelves a la var_quan. O bien, carga el dato inicialmente en un char, aplicas el REPLACE y luego lo mueves hacia el tipo quan.
Responder Con Cita
  #6  
Viejo 18/05/10, 16:06:56
tate tate is offline
Senior Member
 
Fecha de Ingreso: feb 2007
Mensajes: 106
DavidXD_XD ese campo me viene en blanco.

No habria otra manera de poder cambiar el . por la , es lo q peta.
Responder Con Cita
  #7  
Viejo 18/05/10, 16:11:05
tate tate is offline
Senior Member
 
Fecha de Ingreso: feb 2007
Mensajes: 106
esto es lo que realizo y no compila

data var(17) TYPE c.
** wa_materiales-cantidad. ES quant 13 con 3 decimales
write wa_materiales-cantidad to var.
REPLACE '.' WITH ',' INTO var . "wa_materiales-cantidad.
CONDENSE var NO-GAPS.
WRITE var to wa_materiales-cantidad.



ERROR QUE ME DA AL COMPLIAR <--"WA_MATERIALES-CANTIDAD" must be a character-type field (data type C,
N, D, or T) . "INTERFACE". by "INTERFACE". by "INTERFACE". "INTERFACE".
by "INTERFACE". by "INTERFACE".
Responder Con Cita
  #8  
Viejo 18/05/10, 16:18:43
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,255
Pero ahi la variable de wa_materiales-cantidad ya tiene un valor

write wa_materiales-cantidad to var.

La idea es q lo tengas inicialmente en un valor de tipo var, y tbm por lo que veo lo estas llenando en un proceso de UPLOAD o de interfaces ... como inicialmente se esta llenando esa variable???
__________________
David Carballido Córdova
Responder Con Cita
  #9  
Viejo 18/05/10, 17:32:54
tate tate is offline
Senior Member
 
Fecha de Ingreso: feb 2007
Mensajes: 106
es una funcion, que se le pasa la cantidad.

y cuando le iguala al int1 es cuando peta.

lo paso a var, que es de char, y cambio el punto por la coma, pero luego, ya no puedo pasar var al campo original cantidad, o al que quiero igualar que es de tipo int1
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 23:04:02.


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