|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Como colocar los titulos de un ALV Jerarquico (las posiciones en la Cabecera)
FORM append_alv_for_documents .
DATA: ls_layout TYPE slis_layout_alv, lt_fieldcat TYPE slis_t_fieldcat_alv, lt_fieldcat_all TYPE slis_t_fieldcat_alv, lt_eventtab TYPE slis_t_event, ls_key TYPE slis_keyinfo_alv, ls_events TYPE slis_alv_event. FIELD-SYMBOLS: <ls_fieldcat> TYPE slis_fieldcat_alv. CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE' EXPORTING i_program_name = sy-repid i_structure_name = 'FAGL_S_RFBELJ10_DOCUMENTS_HEAD' CHANGING ct_fieldcat = lt_fieldcat EXCEPTIONS inconsistent_interface = 1 program_error = 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. LOOP AT lt_fieldcat ASSIGNING <ls_fieldcat>. <ls_fieldcat>-tabname = 'HEAD'. CASE <ls_fieldcat>-fieldname. * WHEN 'USNAM'. * <ls_fieldcat>-no_out = 'X'. * if poland is initial. * <ls_fieldcat>-no_out = 'X'. * endif. WHEN 'BUKRS' OR 'GJAHR'. <ls_fieldcat>-no_out = 'X'. * WHEN 'NUMBR'. * <ls_fieldcat>-seltext_l = text-140. * <ls_fieldcat>-seltext_m = text-140. * <ls_fieldcat>-seltext_s = text-140. * <ls_fieldcat>-reptext_ddic = text-140. * <ls_fieldcat>-no_zero = 'X'. WHEN 'WAERS'. <ls_fieldcat>-no_out = 'X'. WHEN 'CPUDT'. <ls_fieldcat>-no_out = 'X'. WHEN 'BLDAT'. <ls_fieldcat>-no_out = 'X'. WHEN 'BLAR'. <ls_fieldcat>-no_out = 'X'. WHEN 'DOCNR'. <ls_fieldcat>-no_out = 'X'. WHEN 'RYEAR'. <ls_fieldcat>-no_out = 'X'. WHEN 'STBLG'. <ls_fieldcat>-no_out = 'X'. WHEN 'STJAH'. <ls_fieldcat>-no_out = 'X'. ENDCASE. ENDLOOP. APPEND LINES OF lt_fieldcat TO lt_fieldcat_all. REFRESH lt_fieldcat. CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE' EXPORTING i_program_name = sy-repid i_structure_name = 'FAGL_S_RFBELJ10_DOCUMENTS_ITEM' CHANGING ct_fieldcat = lt_fieldcat EXCEPTIONS inconsistent_interface = 1 program_error = 2 OTHERS = 3. LOOP AT lt_fieldcat ASSIGNING <ls_fieldcat>. <ls_fieldcat>-tabname = 'ITEM'. CASE <ls_fieldcat>-fieldname. WHEN 'BUKRS' OR 'GJAHR' OR 'BELNR' OR 'NUMBR' OR 'HWAER' OR 'NAME2' OR 'PSTLZ' OR 'ORT01' OR 'STRAS' OR 'SGTXT'. <ls_fieldcat>-no_out = 'X'. WHEN 'WRSHB'. <ls_fieldcat>-no_out = 'X'. WHEN 'BUZEI'. <ls_fieldcat>-no_out = 'X'. WHEN 'DOCLN'. <ls_fieldcat>-no_out = 'X'. WHEN 'GSBER'. <ls_fieldcat>-no_out = 'X'. WHEN 'BSCHL'. <ls_fieldcat>-no_out = 'X'. WHEN 'UMSKZ'. <ls_fieldcat>-no_out = 'X'. WHEN ' XNEGP'. <ls_fieldcat>-no_out = 'X'. WHEN 'KOART'. <ls_fieldcat>-no_out = 'X'. "note955881 WHEN 'XNEGP'. <ls_fieldcat>-no_out = 'X'. WHEN 'DMHAB'. "HABER <ls_fieldcat>-do_sum = 'X'. IF italy IS INITIAL. "note955881 <ls_fieldcat>-no_zero = 'X'. <ls_fieldcat>-seltext_l = text-131. <ls_fieldcat>-seltext_m = text-131. <ls_fieldcat>-seltext_s = text-131. <ls_fieldcat>-reptext_ddic = text-131. ENDIF. * <ls_fieldcat>-outputlen = 15. WHEN 'DMSOL'. "DEBE <ls_fieldcat>-do_sum = 'X'. IF italy IS INITIAL. "note955881 <ls_fieldcat>-no_zero = 'X'. <ls_fieldcat>-seltext_l = text-130. <ls_fieldcat>-seltext_m = text-130. <ls_fieldcat>-seltext_s = text-130. <ls_fieldcat>-reptext_ddic = text-130. ENDIF. * <ls_fieldcat>-outputlen = 15. WHEN 'DOCLN'. IF NOT fagl_active IS INITIAL AND par_docc IS INITIAL. ELSE. <ls_fieldcat>-no_out = 'X'. ENDIF. ENDCASE. ENDLOOP. APPEND LINES OF lt_fieldcat TO lt_fieldcat_all. ls_layout-list_append = 'X'. ls_layout-min_linesize = 255. ls_layout-info_fieldname = 'COLOR'. ls_events-name = 'END_OF_LIST'. ls_events-form = 'OUTPUT_EOL'. append ls_events to lt_eventtab. ls_events-name = 'TOP_OF_PAGE'. ls_events-form = 'TOP_OF_PAGE'. APPEND ls_events TO lt_eventtab. ls_events-name = 'END_OF_PAGE'. ls_events-form = 'END_OF_PAGE'. APPEND ls_events TO lt_eventtab. ls_key-header01 = 'BUKRS'. ls_key-item01 = 'BUKRS'. ls_key-header02 = 'BELNR'. ls_key-item02 = 'BELNR'. ls_key-header03 = 'GJAHR'. ls_key-item03 = 'GJAHR'. gs_variant-report = sy-repid. gs_variant-variant = par_var1. CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY' EXPORTING i_callback_program = sy-repid is_layout = ls_layout it_fieldcat = lt_fieldcat_all * it_sort = lt_sort_acc is_variant = gs_variant i_save = 'A' it_events = lt_eventtab i_tabname_header = 'HEAD' i_tabname_item = 'ITEM' is_keyinfo = ls_key is_print = gs_print TABLES t_outtab_header = gt_doc_head t_outtab_item = gt_doc_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. (Necesito colocar las posiciones en la misma linea de la cabecera |
#2
|
|||
|
|||
Busque y no encontre como hacer eso... si lo encuentras me avisas =)
Yo lo unico que pude hacer fue, a mi tabla interna de items agregarle un campo blank de tamaño de un caracter. E ir metiendo ese campo al fieldcat cuando era necesario, para alinearlo aproximadamente a la columna del header. Puedes meter varias veces el mismo campo en la tabla de items, así que, si metes un campo en blanco este lo espaciará... en el titulo de este campo tambien lo dejé vacío... |
Herramientas | Buscar en Tema |
Desplegado | |
|
|