Ver la Versión Completa : Como quitar caracteres extraños despues de WS_UPLOAD
Estoy realizando una interface de descarga de datos de un fichero de texto plano, y he detectado que en la parte de uno de los importes me coje un simbolo '#', no se aprecia en el fichero, pero una vez lo descargo a la tabla de SAP lo veo.
Es el char(36) de la tabla ANSI, como puedo detectarlo y quitarlo.... para que luego al operar con ese campo de importe no me de el dump 'CONVT_NO_NUMBER'.
Como se valida que el campo no es numerico... sin que me el dump ...
Gracias
ic_man_777
23/12/08, 15:04:04
Hay una función que se llama SCP_REPLACE_STRANGE_CHARS, talvez te podría ser útil. O podrías tratar de barrer la tabla y reemplazar con REPLACE?:confused:
Salu2.
Al final he hecho otra cosa, dado que no habia forma de hacer el replace bien, y evitar posibles errores con otros caracteres extraños.
CATCH SYSTEM-EXCEPTIONS conversion_errors = 1.
ENDCATCH
IF sy-subrc <> 0.
ENDIF.
De esta manera bloqueo el posible DUMP, con el objeto de avisar al usuario en el Log de errores de donde esta ese caracter raro.
Salu2
torrescano
23/12/08, 18:11:31
buen dia dmgman.
en q version de SAP R/3 estas?
la funcion ws_uploap es obsoleta para versiones 5.0 en adelante, te recomiendo usar GUI_UPLOAD.
ademas utiliza la funcion F4_FILENAME para mostrar un browser y seleccionar tu archivo plano a cargar.
con estas dos funciones evitaras los caracteres extraños o los espacios en blanco
saludos.
Estoy realizando una interface de descarga de datos de un fichero de texto plano, y he detectado que en la parte de uno de los importes me coje un simbolo '#', no se aprecia en el fichero, pero una vez lo descargo a la tabla de SAP lo veo.
Es el char(36) de la tabla ANSI, como puedo detectarlo y quitarlo.... para que luego al operar con ese campo de importe no me de el dump 'CONVT_NO_NUMBER'.
Como se valida que el campo no es numerico... sin que me el dump ...
Gracias
También puedes usar la sentencia
REPLACE ALL OCCURRENCES OF '#' IN <variable tipo C o STRING> WITH ''.
La version de SAP es la 4.6C
Todas las interface q usaban en ese sitio iban con la WS_UPLOAD, por ello no he querido usar el GUI_UPLOAD.
Mi duda sigue siendo cual es la simple forma de validar si un campo numerico.
Martin Niño Arriaga
23/12/08, 23:18:08
Funcion:
CALL FUNCTION 'IF_CA_MAKE_STRING_NUMERICAL'
EXPORTING
INPUT_STRING = w_car_rang2
IMPORTING
VALUE = w2_rang2
EXCEPTIONS
NOT_NUMERICAL = 1
OTHERS = 2.
Saludos!!
Gracias por resolver mi duda.
Salu2
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web