rellenar un string con espacios

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • javibest
    Senior Member
    • ene
    • 185

    #1

    rellenar un string con espacios

    Hola.
    Quiero rellenar un string con espacios en blanco a la derecha, para luego escribirlo en fichero.

    El tema es que el concatenate no concatena espacios en blanco

    DATA: lv_string TYPE string.
    DATA : d_strlen(4) TYPE n.

    d_strlen = strlen( lv_string ).
    WHILE d_strlen < 172.
    CONCATENATE lv_string ' ' INTO lv_string.
    d_strlen = strlen( lv_string ).
    ENDWHILE.

    Alguna idea ?
  • mkelber
    Junior Member
    • abr
    • 2

    #2
    Podes reemplazar el espacio en blanco comun por el siguiente espacio en blanco: ALT + 0160.

    Saludos.

    Comentario

    • mkelber
      Junior Member
      • abr
      • 2

      #3
      Otra forma es colocar en el CONCATENATE un '*' u otro simbolo y luego hacer un TRANSLATE var USING '* '.

      Comentario

      • DavidXD_XD
        Moderator
        • ago
        • 1255

        #4
        Al escribirlo en un fichero supongo q usas la funcion GUI_DOWNLOAD, ahi tienes que pasarle parametros muy aparte de los que le pasas siempre para que te complete los espacios en blanco, de preferencia usa una variable de una cantidad definida de caracteres ....
        David Carballido Córdova

        Comentario

        • Daynet
          Junior Member
          • feb
          • 11

          #5
          Saludos a Todos.

          Necesitaba un formato específico para un archivo de texto plano. He probado con todo, concatenando con caracteres especiales y luego reemplazandolos con SPACE y espacios en hexadecimal, con la función shift.. con todo, y lo único que me funcionó fue en la llamada a GUI_DOWNLOAD, pasarle al parámetro filetype = 'ASC'. Así se especifica que el archivo generado será de texto y respetará las alineaciones de la columna. Saludos!

          Comentario

          • mysmb2
            Senior Member
            • ene
            • 406

            #6
            Agregale a la sentencia concatenate RESPECTING BLANKS de la siguiente manera:

            CONCATENATE lv_string ' ' INTO lv_string.
            d_strlen = strlen( lv_string ) RESPECTING BLANKS.



            Saludos!
            Originalmente publicado por javibest
            Hola.
            Quiero rellenar un string con espacios en blanco a la derecha, para luego escribirlo en fichero.

            El tema es que el concatenate no concatena espacios en blanco

            DATA: lv_string TYPE string.
            DATA : d_strlen(4) TYPE n.

            d_strlen = strlen( lv_string ).
            WHILE d_strlen < 172.
            CONCATENATE lv_string ' ' INTO lv_string.
            d_strlen = strlen( lv_string ).
            ENDWHILE.

            Alguna idea ?
            Sebastián Chiavia
            http://www.programacionabap.com.ar

            Comentario

            Trabajando...