弹出ALV的几种方法(ALV POPUP)
***方法1
DATA: go_alv ? ?TYPE REF TO cl_salv_table,
? ? ? go_funlst TYPE REF TO cl_salv_functions_list.
DATA: itab TYPE STANDARD TABLE OF t001.
DATA: cxroot TYPE REF TO cx_root,
? ? ? excmsg TYPE ? ? ? ?string.
SELECT * FROM t001 INTO TABLE itab .
TRY.
? ? cl_salv_table=>factory(
? ? ? IMPORTING
? ? ? ? r_salv_table = go_alv
? ? ? CHANGING
? ? ? ? t_table ? ? ?= itab[] ).
? CATCH ?cx_root INTO cxroot.
? ? excmsg = cxroot->get_text( ).
? ? MESSAGE e000(oo) WITH excmsg.
ENDTRY.
go_funlst = go_alv->get_functions( ).
go_funlst->set_all( 'X' ).
IF go_alv IS BOUND.
? go_alv->set_screen_popup(
? ? start_column = 10
? ? end_column ?= 110
? ? start_line ?= 5
? ? end_line ? ?= 15 ).
? go_alv->display( ).
ENDIF.
***方法2
DATA: go_grid TYPE REF TO ? cl_rs_alv_grid_popup,
? ? ? itab ? ?TYPE TABLE OF t001 ?.
SELECT * FROM t001 INTO TABLE itab .
CALL SCREEN 100.
MODULE status_0100 OUTPUT.
? CREATE OBJECT go_grid
? ? EXPORTING
? ? ? i_structure_name = 'T001'
? ? ? i_repid ? ? ? ? ?= sy-repid
? ? ? i_dynnr ? ? ? ? ?= '0100'
? ? ? i_left ? ? ? ? ? = 80
? ? ? i_top ? ? ? ? ? ?= 80
? ? ? i_height ? ? ? ? = 300
? ? ? i_width ? ? ? ? ?= 800.
? CALL METHOD go_grid->show_data
? ? EXPORTING
? ? ? i_t_data = itab[].
ENDMODULE. ? ? ? ? ? ? ? ? " STATUS_0100 ?OUTPUT
***方法3
DATA:?itab???TYPE?TABLE?OF?t001?,
??????result?TYPE??????????c??.
SELECT?*?FROM?t001?INTO?TABLE?itab?.
CALL?FUNCTION?'REUSE_ALV_POPUP_TO_SELECT'
??EXPORTING
????i_title???????????????=?'TEST'
????i_screen_start_column?=?15
????i_screen_start_line???=?1
????i_screen_end_column???=?128
????i_screen_end_line?????=?20
????i_tabname?????????????=?''
????i_selection???????????=?''
????i_structure_name??????=?'T001'
??IMPORTING
????e_exit????????????????=?result
??TABLES
????t_outtab??????????????=?itab
??EXCEPTIONS
????program_error?????????=?1
????OTHERS????????????????=?2.?
總結
以上是生活随笔為你收集整理的弹出ALV的几种方法(ALV POPUP)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VA01保存后都更新了什么表
- 下一篇: 内表数据写到服务器上