Como quitar caracteres extraños despues de WS_UPLOAD

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • dmgman
    Senior Member
    • feb
    • 149

    #1

    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
    Carpe Diem !!
  • ic_man_777
    Member
    • oct
    • 97

    #2
    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?



    Salu2.

    Comentario

    • dmgman
      Senior Member
      • feb
      • 149

      #3
      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
      Carpe Diem !!

      Comentario

      • torrescano
        Member
        • may
        • 57

        #4
        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.
        Saludos amigos SAPeros

        Comentario

        • Garces
          Senior Member
          • ago
          • 321

          #5
          Originalmente publicado por dmgman
          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 ''.
          Miguel Ángel Garcés Ramírez

          Comentario

          • dmgman
            Senior Member
            • feb
            • 149

            #6
            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.
            Carpe Diem !!

            Comentario

            • Martin Niño Arriaga
              Junior Member
              • jun
              • 9

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

              Comentario

              • dmgman
                Senior Member
                • feb
                • 149

                #8
                Gracias por resolver mi duda.
                Salu2
                Carpe Diem !!

                Comentario

                Trabajando...