PDA

Ver la Versión Completa : Problema con Concatenate - respecting blanks


Rodolfo Montiel Rivera
25/05/09, 20:17:08
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.


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

DavidXD_XD
25/05/09, 20:28:31
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:
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 :D