PDA

Ver la Versión Completa : pasar DATOS


romario2
29/12/08, 11:30:29
Hola,

tengo datos de un mensaje en TEXT_TAB

DATA: line(255) TYPE c,
text_tab LIKE STANDARD TABLE OF line,
field LIKE line.

Ahora quiero pasar estos datos así:

wa_textos = text_tab.

LOOP AT text_tab INTO wa_textos.
CONCATENATE texto_salida wa_textos INTO
texto_salida SEPARATED BY SPACE.
ENDLOOP.



ZCCBMM_T_AGNTS_F-REBUIG_TXT = texto_salida.



Pero me falta declarar texto_salida wa_textos , lo he hecho de la manera ortodoxa pero no compila, dice SAP que no puede convertir wa_textos = text_tab.

Alguien sabe la declaración correcta y contrastada?

Gracias!:o

Mauricio Hidalgo
29/12/08, 11:51:19
data wa_textos like line of text_tab.

romario2
29/12/08, 12:05:03
Gracias Mauricio,

y texto_salida como lo definirías?

Saludos

Mauricio Hidalgo
29/12/08, 12:46:09
data texto_salida type ZCCBMM_T_AGNTS_F-REBUIG_TXT.

romario2
29/12/08, 14:27:54
Hola,

muchas gracias por tu ayuda.
He declarado como me has comentado.
Me sale un error, no compila.
El mensaje es:

el tipo wa_textos no puede convertirse al tipo text_tab

Saludos

Mauricio Hidalgo
29/12/08, 15:25:40
Bueno no sé para que tienes esta sentencia

wa_textos = text_tab.

seguro aquí es el error porque no puedes pretender pasar una tabla a una estructura.

basta con el loop que tienes para recorrer la tabla e ir concatenando el contenido de ella en la la variable texto_Salida.

saludos

romario2
29/12/08, 17:38:37
Hola,

de momento ya veo que compila y que puedo pasar datos a la tabla Z.
Ahora he añadido un select para que cada registro de mensaje tenga sus parámetros correpondientes para que pueda ser identificado.

Este es el código, si hay que cambiar algo, cualquier comentario es bienvenido:

DATA: line(255) TYPE c,
text_tab LIKE STANDARD TABLE OF line,
field LIKE line.


DATA wa_textos TYPE c.


DATA texto_salida(255) TYPE c.

DATA: wa_itab TYPE text_tab.



CALL METHOD editor->get_text_as_stream
IMPORTING
text = text_tab.

CLEAR it_zccbmm_t_agnts_f.


LOOP AT text_tab INTO wa_itab.

CONCATENATE texto_salida wa_itab INTO
texto_salida SEPARATED BY space.

ENDLOOP.



SELECT SINGLE *
FROM zccbmm_t_agnts_f
INTO it_zccbmm_t_agnts_f
WHERE responsable = sy-uname.

IF sy-subrc = 0.

it_zccbmm_t_agnts_f-rebuig_txt = texto_salida.

ENDIF.

MODIFY zccbmm_t_agnts_f FROM it_zccbmm_t_agnts_f.


Saludos y muchas gracias,:)