Code: Alles auswählen.
REPORT ztest.
TABLES eban.
TYPE-POOLS: slis.
TYPES: BEGIN OF t_eban,
ekorg TYPE eban-ekorg,
banfn TYPE eban-banfn,
dummy TYPE i,
END OF t_eban.
DATA: ekorg_buffer TYPE t_eban-ekorg,
banfn_buffer TYPE t_eban-banfn,
dummy_buffer TYPE t_eban-dummy.
DATA: it_eban TYPE STANDARD TABLE OF t_eban WITH HEADER LINE, "INITIAL SIZE 0,
wa_eban TYPE t_eban.
*Alv data declarations
DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE,
gd_tab_group TYPE slis_t_sp_group_alv,
gd_layout TYPE slis_layout_alv,
gd_repid LIKE sy-repid.
START-OF-SELECTION.
PERFORM data_retrieval.
PERFORM build_fieldcatalog.
PERFORM build_layout.
PERFORM display_alv_report.
*&---------------------------------------------------------------------*
*& Form data_retrieval
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM data_retrieval .
* SELECT ekorg banfn FROM eban INTO TABLE it_eban.
ekorg_buffer = 'MIK'.
banfn_buffer = '111'.
dummy_buffer = 222.
MOVE ekorg_buffer TO wa_eban-ekorg.
MOVE banfn_buffer TO wa_eban-banfn.
MOVE dummy_buffer TO wa_eban-dummy.
APPEND wa_eban TO it_eban.
ekorg_buffer = 'AAA'.
banfn_buffer = '222'.
dummy_buffer = 333.
MOVE ekorg_buffer TO wa_eban-ekorg.
MOVE banfn_buffer TO wa_eban-banfn.
MOVE dummy_buffer TO wa_eban-dummy.
APPEND wa_eban TO it_eban.
ENDFORM. " data_retrieval
*&---------------------------------------------------------------------*
*& Form build_fieldcatalog
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM build_fieldcatalog .
fieldcatalog-fieldname = 'EKORG'.
fieldcatalog-seltext_m = 'Purchasing organization'.
fieldcatalog-col_pos = 0.
fieldcatalog-outputlen = 10.
fieldcatalog-emphasize = 'X'.
fieldcatalog-key = 'X'.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'BANFN'(201).
fieldcatalog-seltext_m = 'Purchase Order number'.
fieldcatalog-col_pos = 1.
fieldcatalog-outputlen = 10.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'DUMMY'.
fieldcatalog-seltext_m = 'Purchase Order number'.
fieldcatalog-col_pos = 2.
fieldcatalog-outputlen = 10.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
ENDFORM. " build_fieldcatalog
*&---------------------------------------------------------------------*
*& Form build_layout
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM build_layout .
gd_layout-no_input = 'X'.
gd_layout-colwidth_optimize = 'X'.
gd_layout-totals_text = 'Totals'(201).
ENDFORM. " build_layout
*&---------------------------------------------------------------------*
*& Form display_alv_report
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM display_alv_report .
gd_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = gd_repid
is_layout = gd_layout
it_fieldcat = fieldcatalog[]
i_save = 'X'
TABLES
t_outtab = it_eban
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc EQ 0.
WRITE: / ' An Error occured'.
ENDIF.
ENDFORM. " display_alv_report
Code: Alles auswählen.
[...]
i_callback_program = lf_repid "Reportname (SY-REPID)
i_callback_user_command = 'CALLBACK_UCOMM'
[...]
Code: Alles auswählen.
FORM callback_ucomm USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE r_ucomm.
WHEN '&IC1'.
perform anzeige_neues_grid.
* rs_selfield-exit = 'X'.
endcase.
Code: Alles auswählen.
*&---------------------------------------------------------------------*
*& Report ZTEST
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ztest.
TABLES eban.
TYPE-POOLS: slis.
TYPES: BEGIN OF t_eban,
ekorg TYPE eban-ekorg,
banfn TYPE eban-banfn,
dummy TYPE i,
END OF t_eban.
DATA: ekorg_buffer TYPE t_eban-ekorg,
banfn_buffer TYPE t_eban-banfn,
dummy_buffer TYPE t_eban-dummy.
DATA: it_eban TYPE STANDARD TABLE OF t_eban WITH HEADER LINE, "INITIAL SIZE 0,
wa_eban TYPE t_eban.
*Alv data declarations
DATA: fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE,
gd_tab_group TYPE slis_t_sp_group_alv,
gd_layout TYPE slis_layout_alv,
gd_repid LIKE sy-repid,
lf_repid LIKE sy-repid.
START-OF-SELECTION.
PERFORM data_retrieval.
PERFORM build_fieldcatalog.
PERFORM build_layout.
PERFORM display_alv_report.
*&---------------------------------------------------------------------*
*& Form data_retrieval
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM data_retrieval .
* SELECT ekorg banfn FROM eban INTO TABLE it_eban.
ekorg_buffer = 'MIK'.
banfn_buffer = '111'.
dummy_buffer = 222.
MOVE ekorg_buffer TO wa_eban-ekorg.
MOVE banfn_buffer TO wa_eban-banfn.
MOVE dummy_buffer TO wa_eban-dummy.
APPEND wa_eban TO it_eban.
ekorg_buffer = 'AAA'.
banfn_buffer = '222'.
dummy_buffer = 333.
MOVE ekorg_buffer TO wa_eban-ekorg.
MOVE banfn_buffer TO wa_eban-banfn.
MOVE dummy_buffer TO wa_eban-dummy.
APPEND wa_eban TO it_eban.
ENDFORM. " data_retrieval
*&---------------------------------------------------------------------*
*& Form build_fieldcatalog
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM build_fieldcatalog .
fieldcatalog-fieldname = 'EKORG'.
fieldcatalog-seltext_m = 'Purchasing organization'.
fieldcatalog-col_pos = 0.
fieldcatalog-outputlen = 10.
fieldcatalog-emphasize = 'X'.
fieldcatalog-key = 'X'.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'BANFN'(201).
fieldcatalog-seltext_m = 'Purchase Order number'.
fieldcatalog-col_pos = 1.
fieldcatalog-outputlen = 10.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'DUMMY'.
fieldcatalog-seltext_m = 'Purchase Order number'.
fieldcatalog-col_pos = 2.
fieldcatalog-outputlen = 10.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
ENDFORM. " build_fieldcatalog
*&---------------------------------------------------------------------*
*& Form build_layout
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM build_layout .
gd_layout-no_input = 'X'.
gd_layout-colwidth_optimize = 'X'.
gd_layout-totals_text = 'Totals'(201).
ENDFORM. " build_layout
*&---------------------------------------------------------------------*
*& Form display_alv_report
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM display_alv_report .
gd_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = lf_repid "gd_repid
i_callback_user_command = 'CALLBACK_UCOMM'
is_layout = gd_layout
it_fieldcat = fieldcatalog[]
i_save = 'X'
TABLES
t_outtab = it_eban
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc EQ 0.
WRITE: / ' An Error occured'.
ENDIF.
ENDFORM. " display_alv_report
*&---------------------------------------------------------------------*
*& Form callback_ucomm
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->R_UCOMM text
* -->RS_SELFIELD text
*----------------------------------------------------------------------*
FORM callback_ucomm USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE r_ucomm.
WHEN '&IC1'.
PERFORM anzeige_neues_grid.
* rs_selfield-exit = 'X'.
ENDCASE.
ENDFORM. "callback_ucomm
*&---------------------------------------------------------------------*
*& Form anzeige_neues_grid
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM anzeige_neues_grid .
WRITE: /'Zweites Layout'.
ENDFORM. " anzeige_neues_grid
hier musst du wieder gd_repid übergeben!gd_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = lf_repid "gd_repid
Code: Alles auswählen.
FORM display_alv_report .
gd_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = lf_repid "gd_repid
i_callback_user_command = 'CALLBACK_UCOMM'
is_layout = gd_layout
it_fieldcat = fieldcatalog[]
i_save = 'X'
TABLES
t_outtab = it_eban
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc EQ 0.
WRITE: / ' An Error occured'.
ENDIF.
ENDFORM. " display_alv_report
Gruß, EnnoLehmo hat geschrieben: gd_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = gd_repid
i_callback_user_command = 'CALLBACK_UCOMM'
is_layout = gd_layout
jap! ich kenn das... geht mir auch soewx hat geschrieben:PS: hockt man eigentlich zuviel vor einem SAP-system, wenn man seine Beiträge mit CTRL-F3 abschicken will....![]()
ewx hat geschrieben:Gruß, EnnoLehmo hat geschrieben: gd_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = gd_repid
i_callback_user_command = 'CALLBACK_UCOMM'
is_layout = gd_layout
ja,aber dann waerst du bei der OO und da wolltest du ja nicht hin oder?...Lehmo hat geschrieben:Gibt es auch eine Möglichkeit die Werte aus der Doppelgeklickten Zeile des ALVs auszulesen??
Vielen Dank schonmal soweit.
Der Wert der doppelgeklicken Zeile steht in: rs_selfield-tabindex.Lehmo hat Folgendes geschrieben:
Gibt es auch eine Möglichkeit die Werte aus der Doppelgeklickten Zeile des ALVs auszulesen??
Code: Alles auswählen.
read table itab index rs_selfield-tabindex.
Natürlich sogar ohne OOLehmo hat geschrieben:Gibt es auch eine Möglichkeit die Werte aus der Doppelgeklickten Zeile des ALVs auszulesen??