PDA

Ver la Versión Completa : Imprimir Tabla Internan En Html


gponteh
02/12/14, 12:36:29
:confused: BUENAS QUE TAL LES ESCRIBO A VER SI ME PUEDEN HECHAR UNA MANO.

El caso es el siguiente. El sistema envia un reporte por correo este reporte esta en html me imprime todo al momento de enviarlo pero al momento que modifique y agrege una tabla internan me da error dice: "ITAB_ZIKG" cannot be converted to the line type of "LV_MESSAGE".

yo he creado una tabla internan y aun asi no funciona aqui les dejo el codigo

***********************types: begin of tabla_zikg,
BUDAT TYPE ZIK2-BUDAT,
XBLNR TYPE ZIK2-XBLNR,
ZUONR TYPE ZIK2-ZUONR,
end of tabla_zikg.
*************************

***********
data: itab_zikg type table of tabla_zikg,
witab_zikg type tabla_zikg.
*************
DATA: lv_message TYPE bcsy_text.

SELECT BUDAT XBLNR ZUONR FROM ZIK2 INTO CORRESPONDING FIELDS OF TABLE itab_zikg WHERE BUKRS EQ BUKRS.



APPEND '<TABLE BORDER=1 WIDTH=300>' TO lv_message.
APPEND '<TR><TD WIDTH=100>Fecha Documento</TD>' TO lv_message.
APPEND '<TD WIDTH=100>Numero Factura</TD>' TO lv_message.
APPEND '<TD WIDTH=100>Nro. Control de Documento</TD> </TR>' TO lv_message.
APPEND '<TR><TD WIDTH=100>' TO lv_message.
APPEND itab_zikg TO lv_message. *** AQUI DONDE ESTA EL PROBLEMA
APPEND '</TD> </TR>' TO lv_message.
APPEND '</TABLE>' TO lv_message.

sconoredhot
03/12/14, 10:56:43
Hola,

Lo que sucede es que la estructura tiene que ser del mismo tipo que la tabla, si no nunca le vas a poder hacer un append!

Y por otro lado, deberia ser alrevez, uno appendea la estructura a la tabla y no la tabla a la estructura.

calanis
06/12/14, 17:22:45
Hola Gponteh!

Te paso lo que considero te ayudara a resolver lo que necesitas realizar.
1-Un ejemplo Simple de una tabla HTML
2-El código de lo que deseas realizar.

***********************
types:
begin of t_zikg,
BUDAT TYPE ZIK2-BUDAT,
XBLNR TYPE ZIK2-XBLNR,
ZUONR TYPE ZIK2-ZUONR,
end of t_zikg.

Data:
lt_zikg type table of t_zikg,
ls_zikg type t_zikg,
lt_message type bcsy_text,
ls_message type SOLI,
lv_budat type char10.
*************

SELECT BUDAT XBLNR ZUONR
INTO TABLE lt_zikg
FROM ZIK2
WHERE BUKRS EQ BUKRS.
IF sy-subrc IS INTIAL.
APPEND '<TABLE BORDER=1 WIDTH=300>' TO lt_message.
APPEND '<TR><TD WIDTH=100>Fecha Documento</TD>' TO lt_message.
APPEND '<TD WIDTH=100>Numero Factura</TD>' TO lt_message.
APPEND '<TD WIDTH=100>Nro. Control de Documento</TD> </TR>' TO lt_message.
LOOP AT lt_zikg into ls_zikg.
WRITE ls_zikg-budat to lv_budat."Hacer solo si el tipo es DATUM
CONCATENATE '<TR><TD WIDTH=100>' lv_budat '</TD>'
<TD WIDTH=100>' ls_zikg-xblnr '</TD>'
<TD WIDTH=100>' ls_zikg-zuonr '</TD> </TR>' into ls_message-line.
APPEND ls_message TO lt_message.
ENDLOOP.
APPEND '</TABLE>' TO lt_message.
ELSE.
*Mensaje de Advertencia o Error de que no se encontro para la Sociedad X
ENDIF.


Espero que te sea de utilidad.