#1
|
||||
|
||||
ALV en Bloques - Impresion en una pagina
Hola amigos,
He realizado un ALV en bloques, muestro 2 resumenes, osea he llamado 2 veces a la funcion del ALV... me muestra ambos bloques de manera correcta, uno seguido del otro. El problema esta al momento de imprimir, yo puedo imprimir ambos bloques en una sola pagina? al imprimir me imprime un bloque en una pagina y el otro en otra pagina... Si alguien me ayuda. Gracias anticipadamente. Sld |
#2
|
||||
|
||||
Nadie conoce como hacer esto? -.-
No puedo encontrar como hacer esto... Al parecer no se pueden imprimir dos ALV en bloques en una misma pagina.. (o los que alcancen, que no salte la hoja)...
|
#3
|
|||
|
|||
un ejemplo de codigo es algo parecido lo que tienes que hacer
*&---------------------------------------------------------------------* *& Form REPORT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM report . *eventos de encabezado de listas PERFORM x_toppage. PERFORM x_toplist. PERFORM e04_comment_build1 USING gt_list_top_of_page[]. PERFORM e04_comment_build USING gt_list_top_of_list[]. PERFORM fieldcat_valida. PERFORM init_fieldcat. *5to paso Subrutina para Mostrar listado ****************** *INIT prueba de reporte en bloques DATA: pfstatus TYPE slis_formname VALUE 'STANDAR', gt_print TYPE slis_print_alv. CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT' EXPORTING i_callback_program = sy-repid i_callback_user_command = 'USER_COMMAND' i_callback_pf_status_set = pfstatus. PERFORM init_layout. gs_keyinfo-header01 = 'PRCTR'. gs_keyinfo-item01 = 'PRCTR'. *SORT H_REPORTE3 BY PRCTR. * *DELETE ADJACENT DUPLICATES FROM H_REPORTE3 COMPARING PRCTR. CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_HS_APPEND' EXPORTING is_layout = gs_layout it_fieldcat = gt_fieldcat is_keyinfo = gs_keyinfo i_header_tabname = 'H_REPORTE3' i_item_tabname = 'T_REPORTE3' it_events = gt_events[] TABLES t_outtab_header = h_reporte3 t_outtab_item = t_reporte3 EXCEPTIONS program_error = 1 maximum_of_appends_reached = 2 OTHERS = 3. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF. CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND' EXPORTING it_fieldcat = gt_fieldcatx is_layout = gs_layout i_tabname = 'T_REPORTE1' it_events = gt_eventsx[] i_text = text-013 TABLES t_outtab = t_reporte1. gt_print-reserve_lines = 2. CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY' EXPORTING is_print = gt_print. ENDFORM. " REPORT *&---------------------------------------------------------------------* *& Form E03_EVENTTAB_BUILD *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->P_GT_EVENTS[] text *----------------------------------------------------------------------* FORM e03_eventtab_build USING e03_lt_events TYPE slis_t_event. DATA: ls_event TYPE slis_alv_event. * CALL FUNCTION 'REUSE_ALV_EVENTS_GET' EXPORTING i_list_type = 0 IMPORTING et_events = e03_lt_events. READ TABLE e03_lt_events WITH KEY name = slis_ev_top_of_page INTO ls_event. IF sy-subrc = 0. MOVE gc_formname_top_of_page TO ls_event-form. APPEND ls_event TO e03_lt_events. ENDIF. ENDFORM. " E03_EVENTTAB_BUILD *&---------------------------------------------------------------------* *& Form E04_COMMENT_BUILD *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->P_GT_LIST_TOP_OF_PAGE[] text *----------------------------------------------------------------------* FORM e04_comment_build USING e04_lt_top_of_list TYPE slis_t_listheader. DATA: ls_line TYPE slis_listheader, l_bukrs LIKE t001-butxt, l_texto(70). CLEAR ls_line. ls_line-typ = 'S'. CONCATENATE text-010 p_hkont INTO ls_line-info SEPARATED BY space. APPEND ls_line TO e04_lt_top_of_list. * Kopfinfo: Typ S CLEAR ls_line. ENDFORM. " E04_COMMENT_BUILD *&---------------------------------------------------------------------* *& Form INIT_FIELDCAT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM init_fieldcat . DATA: l_count TYPE i. * CLEAR: gfield. l_count = l_count + 1. gfield-col_pos = l_count. gfield-fieldname = 'PRCTR'. "Columna gfield-ref_tabname = 'T_REPORTE3'. "Tabla de salida gfield-seltext_l = text-002. "Mandante nom colum. *FIELD-outputlen = '10'. "Pone el ancho fijo a las filas gfield-just = 'L'. "Centra los registros gfield-tabname = 'H_REPORTE3'. *gfield-key = 'X'. APPEND gfield TO gt_fieldcat. CLEAR gfield. l_count = l_count + 1. gfield-col_pos = l_count. gfield-fieldname = 'PRCTR'. "Columna gfield-ref_tabname = 'T_REPORTE3'. "Tabla de salida gfield-seltext_l = text-002. "Mandante nom colum. *FIELD-outputlen = '10'. "Pone el ancho fijo a las filas gfield-just = 'L'. "Centra los registros gfield-tabname = 'T_REPORTE3'. gfield-key = 'X'. APPEND gfield TO gt_fieldcat. CLEAR gfield. l_count = l_count + 1. gfield-col_pos = l_count. gfield-fieldname = 'BELNR'. "Columna gfield-ref_tabname = 'T_REPORTE3'. "Tabla de salida gfield-seltext_l = text-003. "Mandante nom colum. gfield-outputlen = '10'. "Pone el ancho fijo a las filas gfield-just = 'L'. "Centra los registros gfield-tabname = 'T_REPORTE3'. APPEND gfield TO gt_fieldcat. CLEAR gfield. l_count = l_count + 1. gfield-col_pos = l_count. gfield-fieldname = 'DMBTR'. "Columna gfield-ref_tabname = 'T_REPORTE3'. "Tabla de salida gfield-seltext_l = text-005. "Mandante nom colum. gfield-outputlen = '16'. "Pone el ancho fijo a las filas gfield-just = 'L'. "Centra los registros gfield-tabname = 'T_REPORTE3'. APPEND gfield TO gt_fieldcat. CLEAR gfield. l_count = l_count + 1. gfield-col_pos = l_count. gfield-fieldname = 'TEXT1'. "Columna gfield-ref_tabname = 'T_REPORTE3'. "Tabla de salida gfield-seltext_l = text-006. "Mandante nom colum. gfield-outputlen = '100'. "Pone el ancho fijo a las filas gfield-just = 'L'. "Centra los registros gfield-tabname = 'T_REPORTE3'. APPEND gfield TO gt_fieldcat. CLEAR gfield. ENDFORM. " INIT_FIELDCAT *---------------------------------------------------------------------* * FORM TOP_OF_PAGE * *---------------------------------------------------------------------* * ........ * *---------------------------------------------------------------------* FORM xtop_of_page. * CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE' EXPORTING * i_logo = 'HTMLCNTL_TESTHTM2_SAPLOGO' *I_LOGO = 'ENJOYSAP_LOGO' it_list_commentary = gt_list_top_of_page i_end_of_list_grid = space i_alv_form = 'X'. ENDFORM. "TOP_OF_PAGE *---------------------------------------------------------------------* * FORM XTOP_OF_LIST * *---------------------------------------------------------------------* * ........ * *---------------------------------------------------------------------* FORM xtop_of_list. * BREAK-POINT. *WRITE: / 'X_TOP_OF_LIST'. CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE' EXPORTING * i_logo = 'HTMLCNTL_TESTHTM2_SAPLOGO' *I_LOGO = 'ENJOYSAP_LOGO' it_list_commentary = gt_list_top_of_list i_end_of_list_grid = space i_alv_form = 'X'. ENDFORM. "XTOP_OF_LIST *&---------------------------------------------------------------------* *& Form INIT_LAYOUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM init_layout . * gs_layout-box_fieldname = 'HKONT'. * gs_layout-box_tabname = 'T_REPORTE3'. *gs_layout-info_fieldname = 'LISTINFO'. ENDFORM. " INIT_LAYOUT *&---------------------------------------------------------------------* *& Form LISTADO *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM listado . DATA: u_tabname TYPE slis_tabname, lt_sort TYPE slis_t_sortinfo_alv. g_repid = sy-repid. CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING i_callback_program = g_repid "Nombre del reporte i_grid_settings = t_grid_settings i_grid_title = text-010 it_fieldcat = gt_fieldcat[] "Titulos reporte it_events = gt_events is_print = t_print i_save = 'A' TABLES t_outtab = t_reporte3. "Tabla de salida ENDFORM. " LISTADO *&---------------------------------------------------------------------* *& Form FORMATO_GRID *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM formato_grid . ************************** Formato al Grid ***************************** t_print-no_print_listinfos = 'X'. t_grid_settings-top_p_only = 'X'. t_grid_settings-eol_p_only = 'X'. ************************************************************************ ENDFORM. " FORMATO_GRID *---------------------------------------------------------------------* * FORM PF_STATUS_SET * *---------------------------------------------------------------------* * ........ * *---------------------------------------------------------------------* * --> EXTAB * *---------------------------------------------------------------------* FORM pf_status_set USING extab TYPE slis_t_extab. * BREAK-POINT. SET PF-STATUS 'STANDARD' . ENDFORM. "PF_STATUS_SET *&---------------------------------------------------------------------* *& Form FIELDCAT_VALIDA *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM fieldcat_valida . gfieldx-fieldname = 'HKONT'. "Columna gfieldx-ref_tabname = 'T_REPORTE1'. "Tabla de salida gfieldx-seltext_l = text-002. "Mandante nom colum. gfieldx-outputlen = '10'. "Pone el ancho fijo a las filas gfieldx-just = 'L'. "Centra los registros APPEND gfieldx TO gt_fieldcatx. CLEAR gfieldx. gfieldx-fieldname = 'TEXT1'. "Columna gfieldx-ref_tabname = 'T_REPORTE1'. "Tabla de salida gfieldx-seltext_l = text-006. "Mandante nom colum. gfieldx-outputlen = '100'. "Pone el ancho fijo a las filas gfieldx-just = 'L'. "Centra los registros APPEND gfieldx TO gt_fieldcatx. CLEAR gfieldx. ENDFORM. " FIELDCAT_VALIDA *&---------------------------------------------------------------------* *& Form E03_EVENTTAB_BUILD1 *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->P_GT_EVENTS[] text *----------------------------------------------------------------------* FORM e03_eventtab_build1 USING e03_lt_events TYPE slis_t_event. DATA: ls_event TYPE slis_alv_event. * CALL FUNCTION 'REUSE_ALV_EVENTS_GET' EXPORTING i_list_type = 0 IMPORTING et_events = e03_lt_events. READ TABLE e03_lt_events WITH KEY name = slis_ev_top_of_page INTO ls_event. IF sy-subrc = 0. MOVE gc_formname_top_of_page TO ls_event-form. APPEND ls_event TO e03_lt_events. ENDIF. ENDFORM. " E03_EVENTTAB_BUILD1 *&---------------------------------------------------------------------* *& Form X_TOPLIST *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM x_toplist . CLEAR xs_event. xs_event-name = slis_ev_top_of_list. xs_event-form = 'XTOP_OF_LIST'. APPEND xs_event TO gt_events. ENDFORM. " X_TOPLIST *&---------------------------------------------------------------------* *& Form X_TOPPAGE *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM x_toppage . CLEAR xs_event. xs_event-name = slis_ev_top_of_page. xs_event-form = 'XTOP_OF_PAGE'. APPEND xs_event TO gt_events. ENDFORM. " X_TOPPAGE *&---------------------------------------------------------------------* *& Form E04_COMMENT_BUILD1 *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->P_GT_LIST_TOP_OF_PAGE[] text *----------------------------------------------------------------------* FORM e04_comment_build1 USING e04_lt_top_of_page TYPE slis_t_listheader. DATA: ls_line TYPE slis_listheader, l_bukrs LIKE t001-butxt, l_texto(70). *ESTRA EL NOMBRE EN TEXTO DE LA SOCIEDAD SELECT SINGLE butxt INTO l_bukrs FROM t001 WHERE spras = sy-langu AND bukrs = p_bukrs. *ESCRIBRE LA SOCIEDAD CONCATENATE p_bukrs l_bukrs INTO l_texto SEPARATED BY space. ls_line-typ = 'S'. ls_line-key = text-012. ls_line-info = l_texto. APPEND ls_line TO e04_lt_top_of_page. CLEAR ls_line. ENDFORM. " E04_COMMENT_BUILD1 |
Herramientas | Buscar en Tema |
Desplegado | |
|
|