cl_salv_table - Limpiar tabla

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • marianoboni
    Member
    • abr
    • 75

    #1

    cl_salv_table - Limpiar tabla

    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
    Member
    • abr
    • 75

    #2
    Solucionado parcialmente

    Originalmente publicado por marianoboni
    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.

    Comentario

    • crounly
      Senior Member
      • nov
      • 227

      #3
      Si por descargar te refieres a un archivo, prueba la función SAP_CONVERT_TO_XLS_FORMAT
      http://codigoderetorno.blogspot.com.es/

      Comentario

      Trabajando...