用CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' 显示ALV报表

REPORT  zmmr003 .

TYPE-POOLS :slis .
TABLES :mast mara stko makt afko afpo aufk .

DATA :stb  LIKE stpox  OCCURS  WITH  HEADER  LINE .

DATA BEGIN  OF matcat  OCCURS  0 .
         INCLUDE  STRUCTURE cscmat .
DATA END  OF matcat .

DATA BEGIN  OF mats .
         INCLUDE  STRUCTURE cscmat .
DATA END  OF mats .

DATA BEGIN  OF selpool .
         INCLUDE  STRUCTURE cstmat .
DATA : END  OF selpool .

DATA dstst_flg  LIKE csdata -xfeld .

DATA layout  TYPE slis_layout_alv ,
      gs_layout  TYPE slis_layout_alv ,
      g_repid  LIKE sy -repid .

DATA wa_alv_field  TYPE slis_fieldcat_alv "列描述内表,列清单
wa_alv_fieldcat  TYPE slis_t_fieldcat_alv , "定义内表
g_user_command  TYPE slis_formname  VALUE  'USER_COMMAND' .

DATA : BEGIN  OF wa_data ,
  werks  LIKE aufk -werks ,
  aufnr  LIKE afko -aufnr ,
  objnr  LIKE aufk -objnr ,
  plnbez  LIKE afko -plnbez ,
  gamng  LIKE afko -gamng ,
   END  OF wa_data .
DATA it_data  LIKE wa_data  OCCURS  WITH  HEADER  LINE .

DATA itab  TYPE  TABLE  OF zmmsf003  WITH  HEADER  LINE .
DATA it_out  TYPE  TABLE  OF zmmsf003  WITH  HEADER  LINE .

DATA :it_objnr  TYPE  TABLE  OF jest  WITH  HEADER  LINE .

DATA : BEGIN  OF wa_batch ,
  werks  TYPE mchb -werks ,
  matnr  TYPE mchb -matnr ,
  lgort  TYPE mchb -lgort ,
  charg  TYPE mchb -charg ,
  clabs  TYPE mchb -clabs ,
   END  OF wa_batch .
DATA it_batch  LIKE  TABLE  OF wa_batch  WITH  HEADER  LINE .

SELECTION-SCREEN  BEGIN  OF  BLOCK block1  WITH  FRAME  TITLE  text - 001 .
SELECT-OPTIONS s_werks  FOR aufk -werks .
SELECT-OPTIONS s_aufnr  FOR afko -aufnr .
SELECT-OPTIONS  :s_matnr  FOR afko -plnbez .
PARAMETERS s_auart  LIKE aufk -auart .
SELECTION-SCREEN  END  OF  BLOCK block1 .

INITIALIZATION .
  g_repid  sy -repid .

START-OF-SELECTION .
   PERFORM getdata .
   PERFORM displaydata .
   PERFORM layout_init  CHANGING gs_layout .

   CALL  FUNCTION  'REUSE_ALV_GRID_DISPLAY'  "调用ALV 显示表单数据
   EXPORTING
  i_callback_program  sy -repid
   "i_callback_top_of_page = 'TOP_OF_PAGE'
  it_fieldcat  wa_alv_fieldcat
  is_layout  gs_layout
  i_callback_user_command  g_user_command
   TABLES
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用REUSE_ALV_GRID_DISPLAY_LVC函数的box_fname属性可以在ALV表格中创建选择框列。如果您需要在用户勾选或取消勾选某一行时触发相应的事件,可以通过以下步骤实现: 1. 在LVC_S_FCAT结构体中,为选择框列添加一个fieldname。您可以为该列指定一个唯一的名称,例如'SELECTION'. 2. 在LVC_T_EVENT结构体中,为该选择列添加一个事件处理程序。可以使用程序名和事件名称来指定事件处理程序。例如,您可以使用'ON_CLICK'事件来处理用户单击选择框列中的某一行时触发的事件。 3. 在事件处理程序中,您可以使用参数P_EVENT来获取用户选择的行信息。这个参数是一个结构体类型的变量,包含了有关用户选择的行的信息。您可以使用其中的GRID_ROW和GRID_COLUMN属性来获取行和列的索引。 下面是一个简单的示例,演示如何在REUSE_ALV_GRID_DISPLAY_LVC中处理选择框列的单击事件: ``` DATA: lt_fieldcat TYPE lvc_t_fcat, lt_events TYPE lvc_t_event. * 添加选择框列 lt_fieldcat-fieldname = 'SELECTION'. lt_fieldcat-seltext_m = 'Select'. APPEND lt_fieldcat TO lt_fieldcat. * 添加单击事件处理程序 CLEAR lt_events. lt_events-eventid = cl_gui_alv_grid=>mc_evt_click_cell. lt_events-form = 'ON_CLICK'. APPEND lt_events TO lt_events. * 显示ALV表格 CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC' EXPORTING i_callback_program = sy-repid it_fieldcat = lt_fieldcat it_events = lt_events i_save = 'A' TABLES t_outtab = lt_data. * 事件处理程序 FORM on_click USING p_event TYPE slvc_fullscreen_event. DATA: lv_row TYPE i. lv_row = p_event-grid_row. IF lv_row <> 0. IF lt_data[ lv_row ]-selection = abap_true. " 用户勾选了该行 ELSE. " 用户取消勾选了该行 ENDIF. ENDIF. ENDFORM. ``` 希望这个示例能够帮助您处理REUSE_ALV_GRID_DISPLAY_LVC函数的选择框列事件。如果您有其他问题或疑问,请随时提出。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值