PDA

Ver la Versión Completa : cl_salv_table - Limpiar tabla


marianoboni
22/06/11, 17:20:38
Tengo el siguiente código que es responsable de crear la grilla usando el objeto cl_salv_table; el fragmento de código que muestra la grilla una vez cargada la tabla (dinámica) es este:


CREATE OBJECT oCContainerOfCuentas
EXPORTING
container_name = 'CC_CUENTAS'.

TRY.
cl_salv_table=>factory(
EXPORTING
r_container = oCContainerOfCuentas
IMPORTING
r_salv_table = cl_salv_cuentas
CHANGING
t_table = <f_tab> ).

CATCH cx_salv_msg.
ENDTRY.

cl_salv_cuentas->display( ).

Esta Grilla se muestra en un DYNPRO, cuando salgo del mismo, vuelvo al DYNPRO anterior; y si quiero volver al DYNPRO nuevamente observo que la grilla continua cargada.
Lo mismo ocurre si cambio el contenido de la tabla dinámica, no veo que me actualice las filas.

El tema es que estoy usando una tabla dinámica <f_tab> y no sé bien como debo descargar su contenido.

Su definición es:

FIELD-SYMBOLS: <f_tab> TYPE STANDARD TABLE,"TYPE ANY TABLE,
<f_line> TYPE ANY,
<f_field> TYPE ANY.

Desde ya mucha gracias.

marianoboni
22/06/11, 17:55:06
Tengo el siguiente código que es responsable de crear la grilla usando el objeto cl_salv_table; el fragmento de código que muestra la grilla una vez cargada la tabla (dinámica) es este:


CREATE OBJECT oCContainerOfCuentas
EXPORTING
container_name = 'CC_CUENTAS'.

TRY.
cl_salv_table=>factory(
EXPORTING
r_container = oCContainerOfCuentas
IMPORTING
r_salv_table = cl_salv_cuentas
CHANGING
t_table = <f_tab> ).

CATCH cx_salv_msg.
ENDTRY.

cl_salv_cuentas->display( ).

Esta Grilla se muestra en un DYNPRO, cuando salgo del mismo, vuelvo al DYNPRO anterior; y si quiero volver al DYNPRO nuevamente observo que la grilla continua cargada.
Lo mismo ocurre si cambio el contenido de la tabla dinámica, no veo que me actualice las filas.

El tema es que estoy usando una tabla dinámica <f_tab> y no sé bien como debo descargar su contenido.

Su definición es:

FIELD-SYMBOLS: <f_tab> TYPE STANDARD TABLE,"TYPE ANY TABLE,
<f_line> TYPE ANY,
<f_field> TYPE ANY.

Desde ya mucha gracias.

Al final, al descargar el DYNPRO llamo al metodo del contenedor de la grilla que descarga los objetos que él contiene :

CALL METHOD oCContainerOfCuentas->free
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2.
IF sy-subrc <> 0.
*
ENDIF.

CALL METHOD cl_gui_cfw=>flush
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2.

IF sy-subrc <> 0.
*
ENDIF.

Con esto resuelvo mi problema, pero que me quedaria por averiguar es como descargo una tabla interna dinamica y que la grilla acuse estos cambios sin recurrir a la destruccion del objeto contenedor.
Saludos.

crounly
24/06/11, 12:26:08
Si por descargar te refieres a un archivo, prueba la función SAP_CONVERT_TO_XLS_FORMAT