Aplicar CONDENSE a toda una tabla interna

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • andresf02
    Senior Member
    • nov
    • 190

    #1

    Aplicar CONDENSE a toda una tabla interna

    Buenos Dias.

    Tengo una tabla interna con informacion de varios tipos (enteros, string, flotantes, etc) la cual tengo que descargar a un archivo .txt separado por tabulaciones el cual se va a cargar a una plataforma web.

    Eso ya lo tengo hecho y se genera el archivo correctamente separado por tabulaciones, pero al generar el archivo con el programa abap, este respeta el tamaño de cada uno de los campos de la tabla interna donde esta la informacion, es decir, para el caso de los nombres de los clientes que es un CHAR40, por ejemplo si el cliente se llama "IPSA LTDA." esta cadena ocupa 10 caracteres de los 40 que soporta el CHAR40, pero en el archivo .txt quedaria de la siguiente manera:

    *10 caracteres ocupados por el nombre
    *30 caracteres en blanco (no usados)
    *Tabulacion



    Lo que necesito es si existe alguna forma de aplicar un CONDENSE (sin usar el NO-GASP) a toda la tabla interna ya completa, o debo aplicar condense a cada campo que voy llenado dentro del LOOP. O almenos poder aplicar condense al Work Area antes de hacerle el APPEND a la tabla interna.


    Gracias!
  • ballan
    Senior Member
    • oct
    • 671

    #2
    si descargas el fichero en online con la funcion GUI_DOWNLOAD se que hay un parametro que se llama TRUNC_TRAILING_BLANKS o algo parecido que te quita los espacios

    Si lo haces en fondo puedes aplicar el condense a la cadena que utilizas en el transfer dataset

    Comentario

    • andresf02
      Senior Member
      • nov
      • 190

      #3
      Gracias por la respuesta Ballan.

      Probe tu solucion con los parametros

      TRUNC_TRAILING_BLANKS_eol = 'X'
      TRUNC_TRAILING_BLANKS_eol = ''
      TRUNC_TRAILING_BLANKS = 'X'
      TRUNC_TRAILING_BLANKS = ''

      Pero el resultado no fue el esperado, en el archivo se continuan conservando los espacios en blanco segun la capacidad del campo. Por ejemplo CHA40, en el archivo quedan los 40 espacios asi no se utilizen todos.

      Comentario

      • ballan
        Senior Member
        • oct
        • 671

        #4
        Pues me parece extraño, puedes poner el codigo para que veamos como esta declarada la tabla que usas en la gui_download y tambien como haces la llamada a la funcion?

        Comentario

        • andresf02
          Senior Member
          • nov
          • 190

          #5
          El codigo es el siguiente:


          Código:
          CALL FUNCTION 'GUI_DOWNLOAD'
            EXPORTING
          *   BIN_FILESIZE                    =
              FILENAME                        = nombre_file
              FILETYPE                        = 'ASC'
              trunc_trailing_blanks_eol       = ''
            TABLES
          *    DATA_TAB                        = t_dfile.
              DATA_TAB                        = ti_plano.

          y el formato como salen los datos en el archivo es:

          Código:
          TIPO_MERCADO          TIPO_CLIENTE          TIPO_TRANSACCION
                               1                    3                     1
                               1                    3                     1
                               1                    3                     1
                               1                    3                     1
                               2                    3                     2
          Editado por última vez por andresf02; 19/08/2010, 18:36:17.

          Comentario

          • andresf02
            Senior Member
            • nov
            • 190

            #6
            He pasado los campos de la tabla interna, como una sola cadena a otra tabla interna con un campo string de tamaño 800 y asi logré eliminar estos espacion en blanco en el archivo

            Pero resulta que en el archivo, justo antes del TABULADO, me queda 1 solo espacio en blanco para todos los datos sin importar el tamaño de los campos.

            Queda asi:

            [VALOR][Espacio en Blanco][Tabulacion][valor siguiente campo]......

            Nota: No puedo aplicar el NO-GAPS porque hay campo donde aparecen los nombres de los clientes y se debe respetar los espaciones entre los nombres.
            Editado por última vez por andresf02; 19/08/2010, 21:18:16.

            Comentario

            Trabajando...