Ich bekenne mich schuldig. Hatte zum Einstieg den REUSE verwendet, und mit diesem werde ich nicht besonders glücklich. Jetzt bin ich auf das OO-ALV-Grid aufmerksam geworden. Allerdings stehe ich jetzt auch hier vor einem kleinen Problemchen. Ich habe mich nach einem Tutorial gerichtet. Der Editor zeigt mir KEINE Syntax-Fehler an, allerdings wird bei der Programmausführung das Grid nicht angezeigt. Wenn es genauert interessiert, das Coding.Zunächst einmal gehe ich davon aus, dass du den OO-ALV-Grid verwendest und nicht den REUSE-FuBa.
Code: Alles auswählen.
REPORT ZXYZ.
*--- ALV Grid instance reference
data gr_alvgrid type ref to cl_gui_alv_grid.
*--- Name of the custom control added on the screen
data gc_custom_control_name TYPE scrfname VALUE 'CC_ALV'.
*--- Custom container instance reference
data gr_ccontainer type ref to cl_gui_custom_container.
*--- Field catalog table
data gt_fieldcat type lvc_t_fcat.
*--- Layout structure
data gs_layout type lvc_s_layo.
data: begin of gt_list occurs 0,
table1 like t441r-prreg.
data: end of gt_list.
select prreg from t441r
into table gt_list.
*print for testing
loop at gt_list.
write:/ gt_list-table1.
endloop.
perform display_alv.
*----------------------------------------------------------
form display_alv.
IF gr_alvgrid IS INITIAL.
*----Creating custom container instance
CREATE OBJECT gr_ccontainer
EXPORTING
container_name = gc_custom_control_name
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
others = 6.
IF sy-subrc <> 0.
*--Ecxception handling
ENDIF.
*----Creating ALV Grid instance
CREATE OBJECT gr_alvgrid
EXPORTING
i_parent = gr_ccontainer
EXCEPTIONS
error_cntl_create = 1
error_cntl_init = 2
error_cntl_link = 3
error_dp_create = 4
others = 5 .
IF sy-subrc <> 0.
*--Exception handling
ENDIF.
*----Preparing field catalog.
PERFORM prepare_field_catalog CHANGING gt_fieldcat .
*----Preparing layout structure
PERFORM prepare_layout CHANGING gs_layout .
*----Here will be additional preparations
*--e.g. initial sorting criteria, initial filtering criteria, excluding
*--functions
CALL METHOD gr_alvgrid->set_table_for_first_display
EXPORTING
* I_BUFFER_ACTIVE =
* I_CONSISTENCY_CHECK =
* I_STRUCTURE_NAME =
* IS_VARIANT =
* I_SAVE =
* I_DEFAULT = 'X'
is_layout = gs_layout
* IS_PRINT =
* IT_SPECIAL_GROUPS =
* IT_TOOLBAR_EXCLUDING =
* IT_HYPERLINK =
CHANGING
it_outtab = gt_list[]
it_fieldcatalog = gt_fieldcat
* IT_SORT =
* IT_FILTER =
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4 .
IF sy-subrc <> 0.
*--Exception handling
ENDIF.
ELSE.
CALL METHOD gr_alvgrid->refresh_table_display
* EXPORTING
* IS_STABLE =
* I_SOFT_REFRESH =
EXCEPTIONS
finished = 1
OTHERS = 2.
IF sy-subrc <> 0.
*--Exception handling
ENDIF.
ENDIF.
ENDFORM.
*----------------------------------------------------------
FORM prepare_field_catalog CHANGING pt_fieldcat TYPE lvc_t_fcat.
DATA ls_fcat type lvc_s_fcat.
ls_fcat-fieldname = 'TABLE1'.
ls_fcat-ref_table = 'T441R'.
ls_fcat-ref_field = 'PRREG'.
ls_fcat-coltext = 'testheader'.
APPEND ls_fcat to pt_fieldcat.
ENDFORM.
*----------------------------------------------------------
FORM prepare_layout CHANGING ps_layout TYPE lvc_s_layo.
ps_layout-zebra = 'X'.
ps_layout-grid_title = 'Flights'.
ps_layout-smalltitle = 'X'.
ENDFORM.
besteht noch interesse ???Hallo,
zu 1) keine Ahnung,
aber Punkt 2 und 3 lassen sich mit dem REUSE-ALV realisieren. Der REUSE ist sicherlich der einfachere, da du hier kein Dynpro brauchst.
Die Frage ist jetzt: nimmst du jetzt den ALV-OO oder den ALV-Reuse
2 und 3 kann ich dir gern erklären, wenn du wieder mit dem REUSE arbeiten willst.
mfg
Richard
Code: Alles auswählen.
* Bei Datendeklaration
TYPE-POOLS: slis.
* beim ALV Aufruf, Parameter setzen
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_top_of_page = 'DO_TOP_OF_PAGE'
Code: Alles auswählen.
FORM do_top_of_page.
DATA: it_top_of_page TYPE slis_t_listheader,
wa_top_of_page TYPE slis_listheader.
* Hier ist folgendes möglich
* (H)eader: - Listenüberschrift
* (S)election: - Wichtige Kopfinformationen
* (A)ction: - Aktionsinfo
wa_top_of_page-typ = 'S'.
* Text, max 60 Zeichen
wa_top_of_page-info = 'Selectionsdatum:'.
* Wenn mit Typ 'S' gearbeitet wird, ist die Ausgabe zweispaltig
* 2 Spalte befüllen (sonst nicht), max 20 Zeichen
wa_top_of_page-key = sy-datum.
APPEND wa_top_of_page TO it_top_of_page.
* Hier dann auf die gleiche Weise der nächste Text
ENDFORM. "DO_TOP_OF_PAGE
Code: Alles auswählen.
* Bei Datendeklaration
TYPE-POOLS: slis.
* beim ALV Aufruf, Parameter setzen
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_top_of_page = 'DO_TOP_OF_PAGE'
Code: Alles auswählen.
FORM do_top_of_page.
DATA: it_top_of_page TYPE slis_t_listheader,
wa_top_of_page TYPE slis_listheader.
* Hier ist folgendes möglich
* (H)eader: - Listenüberschrift
* (S)election: - Wichtige Kopfinformationen
* (A)ction: - Aktionsinfo
wa_top_of_page-typ = 'S'.
* Text, max 60 Zeichen
wa_top_of_page-info = 'Selectionsdatum:'.
* Wenn mit Typ 'S' gearbeitet wird, ist die Ausgabe zweispaltig
* 2 Spalte befüllen (sonst nicht), max 20 Zeichen
wa_top_of_page-key = sy-datum.
APPEND wa_top_of_page TO it_top_of_page.
* Hier dann auf die gleiche Weise der nächste Text
*
*
*
*
* zum Schluß
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = it_top_of_page.
ENDFORM. "DO_TOP_OF_PAGE