Problema con Concatenate - respecting blanks

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • Rodolfo Montiel Rivera
    Member
    • oct
    • 92

    #1

    Problema con Concatenate - respecting blanks

    Tengo el siguiente codigo en una version de SAP 7, el problema radica que el programa se pasara a una versión anterior 4.6 y en esta versión marca error en el "respecting blanks" y esto era para respetar el ancho de la columna segun la longitud del campo como puedo seguir presentando lo mismo cambiando el "respecting blanks" por alguna otra cosa.

    Código:
      
    Data: t_convert TYPE STANDARD TABLE OF STRING WITH HEADER LINE,
            t_file        TYPE STANDARD TABLE OF STRING WITH HEADER LINE.
    
    Data: l_tab type c value cl_abap_char_utilities=>horizontal_tab.
    
      loop at t_convert.
     concatenate: t_convert-lifnr        t_convert-bukrs     t_convert-ktokk    
                        t_convert-ekorg      t_convert-title      t_convert-name1
                into t_file
        separated by l_tab
        respecting blanks.
    append t_file.
    endloop.
    Gracias
    01010000
    01001010
    10011000
    10100001

    De Byte a Beat.
  • DavidXD_XD
    Moderator
    • ago
    • 1255

    #2
    Hola, ahi hay un problemon puesto que el RESPECTING BLANK es una sentencia propia de la version 4.7 o 6.0 para arriba, yo hice algo parecido, veras ... queria concatenar esto

    Material xxnnnnnnn
    Centro CCCC
    Lote XXXXXXXXX
    Concatenado: xxnnnnnnn CCCCXXXXXXXXX

    Para eso hice esto:
    Código:
    l_matnr = <gfs_mseg>-matnr.
        l_int = STRLEN( l_matnr ).
        IF l_int LE 18.
          TRANSLATE l_matnr+l_int USING ' .'.
        ENDIF.
        CONCATENATE l_matnr
                    <gfs_mseg>-werks
                    <gfs_mseg>-charg INTO l_objectid.
        DO.
          REPLACE '.' WITH ' ' INTO l_objectid.
          IF sy-subrc NE 0.
            EXIT.
          ENDIF.
        ENDDO.
    El codigo de material tiene 18 posiciones, por tal llene lo q faltaba con puntos para que asi al momento de realizar el CONCATENATE no borrara los espacios en blancos, luego que concateno reemplaze cada punto por un espacio en blanco y pude obtener lo que la sentencia CONCATENATE RESPECTING BLANK hace, espero te pueda ayudar
    David Carballido Córdova

    Comentario

    Trabajando...