PDA

Ver la Versión Completa : significado del código


romario2
18/11/09, 13:06:10
No comprendo bien la funcionalidad de este código:

FORM llena_cadena.
DATA: indice LIKE sy-fdpos, resto LIKE sy-fdpos.
CLEAR: cadena, indice, resto.

* Construcción de la cadena de caracteres a partir de la tabla TEXTO

LOOP AT texto.
CHECK NOT ( texto-tdline IS INITIAL ).
IF sy-tabix = 1.
cadena = texto-tdline.
ELSE.
IF resto = 0.
resto = 150.
ENDIF.
cadena+indice(resto) = texto-tdline.
ENDIF.

indice = STRLEN( cadena ) + 1.
resto = 150 - indice.
IF indice GE 150.
EXIT.
ENDIF.

ENDLOOP.

ENDFORM. " llena_cadena


Alguien me puede ayudar?:p

josellamazares
18/11/09, 14:00:02
Hola ronaldo2,

lo que hace es concatenar todas las lineas de la tabla interna texto en la variable cadena. El siguiente código haría exactamente lo mismo y es más fácil de entender:


FORM llena_cadena.

CLEAR cadena.

* Construcción de la cadena de caracteres a partir de la tabla TEXTO

LOOP AT texto.
CHECK NOT ( texto-tdline IS INITIAL ).
IF cadena IS INITIAL.
cadena = texto-tdline.
ELSE.
CONCATENATE cadena texto-tdline INTO cadena SEPARATED BY space.
ENDIF.
ENDLOOP.

ENDFORM. " llena_cadena

romario2
18/11/09, 14:19:15
Gracias por tu rápida respuesta, Jose, tomaré nota!;)