|
#1
|
|||
|
|||
2 Alv
Hola.
Estoy buscando la manera de mostrar 2 ALV LIST en pantalla. Estuve revisando y veo que hay funciones para hacerlo, el problema es que mi primer ALV es un TREE y las funciones BLOCK, por lo que vi, trabajan con LIST comunes. Entonces, tengo un ALV LIST TREE y debajo tengo que mostrar un LIST comun. Se puede??? Como ?? Gracias. |
#2
|
|||
|
|||
Solucionado!!
Bueno gente.
Mirando un std pude hacerlo. Les paso a explicar como: -Tenemos que cargar la tabla de Eventos con el evento 'END_OF_LIST' FORM eventos . DATA: ls_event TYPE slis_alv_event. * CALL FUNCTION 'REUSE_ALV_EVENTS_GET' EXPORTING i_list_type = 0 IMPORTING et_events = gt_events. READ TABLE gt_events WITH KEY name = slis_ev_end_of_list INTO ls_event. IF sy-subrc = 0. MOVE 'END_OF_LIST' TO ls_event-form. APPEND ls_event TO gt_events. ENDIF. ENDFORM. " EVENTOS - Luego, llamo a mi ALV TREE normalmente (con la tabla de eventos cargada) FORM listado. CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY' EXPORTING i_callback_program = g_repid is_layout = gs_layout it_fieldcat = gt_fieldcat[] IT_EVENTS = GT_EVENTS[] i_tabname_header = 'GT_HEADER' i_tabname_item = 'GT_ITEM' is_keyinfo = gs_key TABLES t_outtab_header = gt_header[] t_outtab_item = gt_item[] EXCEPTIONS program_error = 1 OTHERS = 2 . IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. ENDFORM. " LISTADO - Y dentro del evento que declaramos, colocamos nuestro otro ALV: FORM end_of_list. DATA: text(20) TYPE c, gs_print TYPE slis_print_alv. "print settings DATA: lr_grid TYPE REF TO cl_salv_form_layout_grid, lr_abap TYPE REF TO cl_salv_form_abap. CREATE OBJECT lr_grid. CREATE OBJECT lr_abap. lr_grid->create_label( row = 1 column = 20 text = text-001 ). "LINEA DE TITULO QUE APARECERA ANTES DEL ALV LIST lr_grid->create_text( row = 1 column = 52 text = '' ). lr_grid->add_row( ). lr_abap->set_content( lr_grid ). lr_abap->display( ). PERFORM filcat2. "DEBEMOS GENERAR EL NUEVO LAYOUT gs_layout-list_append = 'X'. gs_print-no_new_page = 'X'. CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY' EXPORTING i_callback_program = g_repid i_structure_name = 'GT_ITEM' is_layout = gs_layout it_fieldcat = gt_fieldcat[] TABLES t_outtab = gt_item[]. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. ENDFORM. "END_OF_LIST - LISTO !! En pantalla saldra primero nuestro TREE y al final aparecera nuestro LIST normal. (use las mismas tablas ya que es una prueba solamente) slds. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|