Code: Alles auswählen.
IF <fs_sel_cell> IS ASSIGNED.
READ TABLE me->gt_stg INDEX <fs_sel_cell>-row_id INTO ls_stg.
sdescr ?= cl_abap_typedescr=>describe_by_data( ls_stg ).
DO.
ASSIGN COMPONENT sy-index OF STRUCTURE ls_stg TO <fs_field>.
IF sy-subrc <> 0.
EXIT.
ENDIF.
READ TABLE sdescr->components ASSIGNING <fs_components> INDEX sy-index.
ls_data-name = <fs_components>-name.
ls_data-value = <fs_field>.
APPEND ls_data TO lt_data.
ENDDO.
ENDIF.wie hast du denn den Baustein aufgerufen? Folgendes Beispiel funktioniert bei mir problemlos und die Spalten sind vom Typ nicht identischABAP_User hat geschrieben:Dabei hab ich jetzt einen Kurzdump erhalten. Grund:
In der Schnittstelle des Funktionsbausteins wurde festgelegt, daß
unter "COLUMNS" nur Felder eines bestimmten Typs und einer bestim
Länge mitgegeben werden dürfen. Das aktuell mitgegebene Feld
" " hat zwar den richtigen Typ, nicht aber die richtige Länge.
Code: Alles auswählen.
TYPES: BEGIN OF t_mara,
matnr TYPE matnr,
mtart TYPE mtart,
END OF t_mara.
DATA: gt_mara TYPE STANDARD TABLE OF t_mara WITH DEFAULT KEY.
DATA: popup_tab TYPE STANDARD TABLE OF help_value WITH DEFAULT KEY,
wa_tab LIKE LINE OF popup_tab,
v_indx LIKE sy-index.
SELECT matnr mtart FROM mara
APPENDING TABLE gt_mara UP TO 50 ROWS.
* Überschriften für popup_tabelle füllen
wa_tab-tabname = 'MARA'.
wa_tab-fieldname = 'MATNR'.
wa_tab-selectflag = 'X'.
APPEND wa_tab TO popup_tab.
wa_tab-tabname = 'MARA'.
wa_tab-fieldname = 'MTART'.
APPEND wa_tab TO popup_tab..
CALL FUNCTION 'MD_POPUP_SHOW_INTERNAL_TABLE'
EXPORTING
title = 'Test Popup'
IMPORTING
index = v_indx
TABLES
values = gt_mara
columns = popup_tab
EXCEPTIONS
leave = 1
OTHERS = 2.
Code: Alles auswählen.
ls_layout_alv-no_toolbar = 'X'.Code: Alles auswählen.
APPEND cl_gui_alv_grid=>mc_fc_detail TO lt_ui_functions.
CALL METHOD alv_grid->set_table_for_first_display
EXPORTING
is_layout = me->ls_layout_alv
it_toolbar_excluding = lt_ui_functions
CHANGING
it_outtab = me->gt_stg
it_fieldcatalog = me->lvc_fieldcat.Code: Alles auswählen.
METHOD handle_double_click.
DATA lv_detail LIKE sy-ucomm.
lv_detail = cl_gui_alv_grid=>mc_fc_detail.
this_screen->alv_staging->set_function_code( CHANGING c_ucomm = lv_detail ).
ENDMETHOD. Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
ABAP_User
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
ABAP_User