Hola a todos. Tengo una tabla dinamica en la cual le inserto un numero variable de campos definido por la variable cont. La primera variable es un char de 3 y me la inserta bien, pero a partir de la segunda todas las variables de los siguientes campos solo me admite 1 caracter (donde meto '143' solo me coje el 1). Alguien podria decirme a que es debido?
* Se crea la estructura de la tabla dinamica
CALL METHOD ls_struc->create
EXPORTING
i_dynamic = rs_c_false
RECEIVING
r_r_data = lo_data
EXCEPTIONS
wrong_struc_definition = 1
no_struc_definition = 2
OTHERS = 3.
* La variable lo_data lleva un numerajo que es el handle para manejar ese objeto
* por lo que tenemos que utilizar el operador ->* para referenciar al contenido
* de ese objeto, en este caso una estructura
ASSIGN lo_data->* TO <linea>.
* previamente hemos creado una wa ahora crearemos la tabla del tipo de esa misma wa
CREATE DATA lo_data LIKE TABLE OF <linea>.
* la asignamos a otro fieldsymbol
ASSIGN lo_data->* TO <tabla>.
* Recorremos e insertamos en la tabla dinamica todos los campos.
loop at P_IT_CATRE into wa_catre.
cont2 = 1.
ASSIGN COMPONENT cont2 OF STRUCTURE <linea> TO <campo>.
<campo> = wa_catre-CATEGORIA_REPART.
cont2 = cont2 + 1.
do cont times.
ASSIGN COMPONENT cont2 OF STRUCTURE <linea> TO <campo>.
<campo> = '143'.
cont2 = cont2 + 1.
enddo.
APPEND <linea> TO <tabla>.
endloop.
* Se crea la estructura de la tabla dinamica
CALL METHOD ls_struc->create
EXPORTING
i_dynamic = rs_c_false
RECEIVING
r_r_data = lo_data
EXCEPTIONS
wrong_struc_definition = 1
no_struc_definition = 2
OTHERS = 3.
* La variable lo_data lleva un numerajo que es el handle para manejar ese objeto
* por lo que tenemos que utilizar el operador ->* para referenciar al contenido
* de ese objeto, en este caso una estructura
ASSIGN lo_data->* TO <linea>.
* previamente hemos creado una wa ahora crearemos la tabla del tipo de esa misma wa
CREATE DATA lo_data LIKE TABLE OF <linea>.
* la asignamos a otro fieldsymbol
ASSIGN lo_data->* TO <tabla>.
* Recorremos e insertamos en la tabla dinamica todos los campos.
loop at P_IT_CATRE into wa_catre.
cont2 = 1.
ASSIGN COMPONENT cont2 OF STRUCTURE <linea> TO <campo>.
<campo> = wa_catre-CATEGORIA_REPART.
cont2 = cont2 + 1.
do cont times.
ASSIGN COMPONENT cont2 OF STRUCTURE <linea> TO <campo>.
<campo> = '143'.
cont2 = cont2 + 1.
enddo.
APPEND <linea> TO <tabla>.
endloop.