Saludos a todos, vengo con la siguiente duda,
realizando un reporte con la clase cl_salv_table quisiera poder usar la misma dynpro para al ejecutar una función “al presionar un botón customizado de status” se genere un nuevo grid sin necesidad de generar otra pantalla es decir que se refresque el grid actual y muestre nuevos datos (nueva tabla y catalogo de datos), actualmente probé con el metodo refresh( ). y cl_gui_cfw=>flush( ). sin resultados adjunto un código para mejor comprensión, en espera de su gentil ayuda.
PD: Usar display( ). genera otra dynpro lo cual no deseo que suceda.
Buen día @jumanago, agradezco tu tiempo y ayuda si la tabla b_components_t es la nueva tabla a mostrar con los datos nuevos, actualmente el reporte muestra una dynpro autogenerada “1000” y ahí se muestran los datos no utilizo un contenedor, es absolutamente necesario crear un contenedor para actualizar estos datos?, el reporte no es de la clase que muestro datos dependiendo de una selección como digo en el post, el reporte ya muestra datos al cargar pero estos deben “actualizarse” (mostrar una tabla en el mismo contenedor con una estructura totalmente diferente) si presiono un boton por ejemplo mis datos se muestran actualmente por días y presionando un boton cambian a semanas o meses, no se si me explico?.
@adrian_vera para que se pueda ver los datos nuevos tienes que controlar los PBO y PAI de la dynpro, si lo generas automáticamente"1000" no puedes mostrar los nuevos datos por que estos se ejecutaría fuera del evento de la impresión de pantalla, ya que no puedes modificarla.
No conozco otra forma, diría que tienes que crear una dynpro y el contenedor para que logres mostrar la tabla que quieres visualizar con la estructura que quieras.
Recuerda
PBO (Process Before Output) : En este evento se programa todo lo necesario justo antes de mostrar la pantalla o dynpro.
PAI (Process After input): En este evento se programa todas las acciones que un usuario haga sobre la pantalla. Pulsar un botón, invocar un menú, etc
@jumanago yo lo tengo mas que claro pero es un proyecto inmenso que no lo inicie yo (ese es el problema de contratar tercecros?) en todo caso si es necesario el contenedor me toca buscar otra solución como generar otro modo o sesión en todo caso agradezco tu tiempo y respuestas! y doy este tema por cerrado
@adrian_vera la otra es que se me ocurre, seria que en la selección screen agregues un checkbox de que forma quieres que salga el ALV seria por días, semanas o meses, y organices la información y la muestra el ALV actual como esta.
@SidV usar el método factory( ). y mostrar otras dynpro generadas de forma automática la única diferencia es que para cuando se quiera ver en mes o semana siempre se regresara a días con el boton back lo cual no crea ninguna inconsistencia y no es necesario refrescar la tabla es menos practico pero es la solución que me salvo, saludos .