quitar almohadilla en un texto

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Paola79
    Member
    • oct
    • 62

    #1

    quitar almohadilla en un texto

    Hola a todos,

    Tenmos el siguiente problema:

    En el campo de la BSEG SGTXT tenemos el texto de la siguiente forma (no se da en todos los casos)

    CAMAPAÑA DE PUBLICIDAD ## MES DE ABRIL.

    Lo que queremos remplazar es ## por espacio, ya que las almohadillas en el fichero de la AL11 lo toma como salto de linea.

    Lo hemos probado todo para quitarlo pero no nos reconoce el campo.

    Alguien me puede echar una mano.

    Muchas gracias de antemano,

    Un saludo:
  • daniel1050
    Member
    • oct
    • 58

    #2
    Hola!

    Esto que es? un formulario?

    Comentario

    • pancho6102
      Senior Member
      • jun
      • 238

      #3
      No entendi bien que es lo que hacen.

      me imagino que leen registros de la bseg para despues formar un archivo en algun directorio de la AL11 y lo hacen primero llenado una tabla interna.

      pues lo que se me ocurre es recorrer la tabla antes de hacer el fichero y hacer esta modificacion:

      loop at it-bseg into wa_bseg.
      REPLACE '#' WITH SPACE INTO wa_bseg-SGTXT.
      modify it_bseg from wa_bseg
      endloop.

      esto es lo que me imagino ojala y puedas explicarlo mejor.

      Saludos!!.
      Francisco Ramirez.
      consultor SAP ABAP Netweaver
      Queretaro, Mexico.

      Comentario

      • fdelacruz
        Senior Member
        • jun
        • 111

        #4
        Como dice pancho6102, esa sería una opción, ahora si está mal de que se registre así, podrías hacer una validación al momento de la contabilización.

        Saludos!

        Comentario

        • Paola79
          Member
          • oct
          • 62

          #5
          Hola buenos días,

          Perdon por la tardanza, voy a intentar explicarlo mejor.

          El problema esque tenemos esque subimos al servidor (AL11) con todos las posiciones de la bseg. Hay posiciones que en el texto se encuentra la # lo reconoce como salto de linea, un intro. Estamos probando de todo y no lo reconoce. Como el replace que indicais más arriba, leer toda la cadena de caracteres etc...
          A ver si a alguien se le ocurre alguna otra cosa.

          Un saludo y muchas gracias de antemano

          Comentario

          • Alfredosite
            Senior Member
            • jul
            • 135

            #6
            Originalmente publicado por Paola79
            Hola buenos días,

            Perdon por la tardanza, voy a intentar explicarlo mejor.

            El problema esque tenemos esque subimos al servidor (AL11) con todos las posiciones de la bseg. Hay posiciones que en el texto se encuentra la # lo reconoce como salto de linea, un intro. Estamos probando de todo y no lo reconoce. Como el replace que indicais más arriba, leer toda la cadena de caracteres etc...
            A ver si a alguien se le ocurre alguna otra cosa.

            Un saludo y muchas gracias de antemano
            Hola intenta resolverlo con esta instrucción:

            DATA: v_bseg_descr TYPE string,
            lv_simbol TYPE c value CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.

            v_bseg_descr = bseg-sgtxt. "Es tu cadena con tu simbolo '#'
            REPLACE ALL OCCURRENCES OF lv_simbol IN v_bseg_descr WITH space."replac
            CONDENSE v_bseg_descr.

            Nos cuentas si te sirvió,
            AP.
            Saludos Cordiales,
            Alfredo Pastor Avendaño
            SAP - Consultant HCM

            Comentario

            • Paola79
              Member
              • oct
              • 62

              #7
              Al final hemos encontrado esto y funciona.

              DATA: lv_ctab(1) TYPE c.
              DATA: lv_fin(1) TYPE c.

              FIELD-SYMBOLS <f_hex> TYPE x.

              ASSIGN lv_ctab TO <f_hex> CASTING.

              <f_hex> ='0A'.

              ASSIGN lv_fin TO <f_hex> CASTING.

              <f_hex> ='0D'.

              REPLACE ALL OCCURRENCES OF lv_ctab IN ls_tabla-sgtxt WITH ' '.

              REPLACE ALL OCCURRENCES OF lv_fin IN ls_tabla-sgtxt WITH ' '.

              Un saludo y muchas gracais

              Comentario

              Trabajando...