MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Como quitar caracteres extraños despues de WS_UPLOAD (foro/showthread.php?t=27022)

dmgman 23/12/08 12:57:07

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

funcion
 
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.

dmgman 23/12/08 15:28:55

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.

Garces 23/12/08 19:10:18


También puedes usar la sentencia

REPLACE ALL OCCURRENCES OF '#' IN <variable tipo C o STRING> WITH ''.

dmgman 23/12/08 21:30:37

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!!

dmgman 24/12/08 05:07:41

Gracias por resolver mi duda.
Salu2


Husos Horarios son GMT. La hora en este momento es 07:08:33.

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