#1
|
|||
|
|||
Imprimir varios custom controls en una dynpro
Hola a todos,
Tengo 4 custom container en una misma dynpro, necesitaria imprimir la pantalla entera pero solo me imprime el primer control, alguien sabe como hacerlo? |
#2
|
||||
|
||||
La receta
Si tienes 4 custom que quieres mostrar al mismo tiempo es claro que debes crear 4 objetos que lo controlen y estos a su vez ubicarlos en 4 subscreen
es decir necesitas. 1 Dynpro normal ( en este screen painter colocas los 4 subscreen ) desde este dynpro se controlan los demas no olvides invocarlos en el PBO y el PAI. 4 Subscreen ( en cada uno colocas un custom y cada uno lo llamas distinto) 4 custom 4 objetos pd( esto es un ajemple de como lo haces en POO, no olvides generar el cataolo de datos para cada uno.) container = 'CONTENIDO'. if go_container is initial. create object go_container exporting container_name = container exceptions cntl_error = 1 cntl_system_error = 2 create_error = 3 lifetime_error = 4 others = 5. if sy-subrc eq 0. create object go_cl_alvgrid exporting i_parent = go_container. * Invocar a los metodos del objeto go_cl_alvgrid. call method go_cl_alvgrid->register_edit_event exporting i_event_id = cl_gui_alv_grid=>mc_evt_modified. call method go_cl_alvgrid->register_edit_event exporting i_event_id = cl_gui_alv_grid=>mc_evt_enter. call method go_cl_alvgrid->set_ready_for_input exporting i_ready_for_input = 1. perform genera_catalogo tables gtd_fieldcat. create object go_event. set handler go_event->handle_data_changed for go_cl_alvgrid. set handler go_event->handle_on_f4 for go_cl_alvgrid. set handler go_event->handle_hotspot_click for go_cl_alvgrid. call method go_cl_alvgrid->set_table_for_first_display exporting is_layout = gst_layout i_save = 'A' changing it_outtab = it_mostrar it_fieldcatalog = gtd_fieldcat. perform switch_edit_mode. endif. else. mod_line-row = 'X'. call method go_cl_alvgrid->refresh_table_display exporting is_stable = mod_line i_soft_refresh = 'X'. data cambio type c. call method go_cl_alvgrid->check_changed_data importing e_valid = cambio. endif. Espero te ayude cualquier cosa my skype es fleonardo26, hay otra formaa de hacerlo con un solo dynpro pero hay que utilizar un objeto CL_GUI_SPLITTER_CONTAINER mas o menos asi se llaman ahora no recuerdo pero si los necesitas me avisas.
__________________
Cordialmente Fabián Leonardo Velásquez P. Consultor SAP ABAP Bogota - Colombia Úlima edición por Fabian leonardo velasquez fecha: 01/09/10 a las 18:21:32. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|