|
#1
|
||||
|
||||
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)...
|
#2
|
|||
|
|||
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 | |
|
|