Imprimir varios custom controls en una dynpro

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • agv1976
    Member
    • jun
    • 66

    #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?
  • Fabian leonardo velasquez
    Member
    • sep
    • 62

    #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.
    Editado por última vez por Fabian leonardo velasquez; 01/09/2010, 18:21:32.
    Cordialmente
    Fabián Leonardo Velásquez P.
    Consultor SAP ABAP
    Bogota - Colombia

    Comentario

    Trabajando...