SAP CL_SALV_TABLE 的用法学习记录

DATA: ISPFLI TYPE TABLE OF SPFLI.
DATA: GR_TABLE TYPE REF TO CL_SALV_TABLE.
*  使用CL_SALV_FUNCTIONS添加工具栏
DATA: GR_FUNCTIONS TYPE REF TO CL_SALV_FUNCTIONS.
"显示标题
DATA: GR_DISPLAY TYPE REF TO CL_SALV_DISPLAY_SETTINGS.
"列格式
DATA: GR_COLUMNS TYPE REF TO CL_SALV_COLUMNS_TABLE.
DATA: GR_COLUMN TYPE REF TO CL_SALV_COLUMN_TABLE.
"排序
DATA: GR_SORTS TYPE REF TO CL_SALV_SORTS.
"字段汇总
DATA: GR_AGG TYPE REF TO CL_SALV_AGGREGATIONS.
"字段过滤
DATA: GR_FILTER TYPE REF TO CL_SALV_FILTERS.
"增加变式保存
DATA: GR_LAYOUT TYPE REF TO CL_SALV_LAYOUT.


DATA: KEY TYPE SALV_S_LAYOUT_KEY.
"颜色
DATA: COLOR TYPE LVC_S_COLO.


START-OF-SELECTION.
  SELECT * INTO TABLE ISPFLI FROM SPFLI.
  CL_SALV_TABLE=>FACTORY( IMPORTING R_SALV_TABLE = GR_TABLE CHANGING T_TABLE = ISPFLI ).
  "使用CL_SALV_FUNCTIONS添加工具栏
  GR_FUNCTIONS = GR_TABLE->GET_FUNCTIONS( ).
  GR_FUNCTIONS->SET_ALL( ABAP_TRUE ).
  "添加标题
  GR_DISPLAY = GR_TABLE->GET_DISPLAY_SETTINGS( ).
  GR_DISPLAY->SET_STRIPED_PATTERN( CL_SALV_DISPLAY_SETTINGS=>TRUE ).
  GR_DISPLAY->SET_LIST_HEADER( 'This is the heading' ).
  "表格列样式
  GR_COLUMNS = GR_TABLE->GET_COLUMNS( ).
*  GR_COLUMN ?= GR_COLUMNS->GET_COLUMN( 'CITYTO' ).
*  GR_COLUMN->SET_LONG_TEXT( 'This is long text' ).
*  GR_COLUMN->SET_MEDIUM_TEXT( 'This is med text' ).
*  GR_COLUMN->SET_SHORT_TEXT( 'This is sh' ).
  GR_COLUMN ?= GR_COLUMNS->GET_COLUMN( 'CITYFROM' ).
  COLOR-COL = '6'.
  COLOR-INT = '1'.
  COLOR-INV = '0'.
  GR_COLUMN->SET_COLOR( COLOR ).
  "排序
  GR_SORTS = GR_TABLE->GET_SORTS( ).
  " GR_SORTS->ADD_SORT( 'CITYTO' ).
"字段汇总
  GR_SORTS->ADD_SORT( COLUMNNAME = 'CITYTO' SUBTOTAL = ABAP_TRUE ).
  GR_AGG = GR_TABLE->GET_AGGREGATIONS( ).
  GR_AGG->ADD_AGGREGATION( 'DISTANCE' ).
  "过滤
  GR_FILTER = GR_TABLE->GET_FILTERS( ).
  GR_FILTER->ADD_FILTER( COLUMNNAME = 'CARRID' LOW = 'LH' ).
"增加变式保存
  GR_LAYOUT = GR_TABLE->GET_LAYOUT( ).
  KEY-REPORT = SY-REPID.
  GR_LAYOUT->SET_KEY( KEY ).
  GR_LAYOUT->SET_SAVE_RESTRICTION( CL_SALV_LAYOUT=>RESTRICT_NONE ).


  GR_TABLE->DISPLAY( ).
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ABAP SALVSAP List Viewer)是一个用于在SAP系统中创建和显示报表的工具。要在ABAP SALV报表中添加复选框(checkbox),你可以按照以下步骤进行操作: 1. 定义内表(table):首先,你需要定义一个内表来存储数据和复选框的状态。可以使用`TYPES`关键字定义一个包含所需字段的结构。 2. 填充内表数据:将需要显示的数据填充到内表中。可以使用`APPEND`语句将数据行添加到内表中。 3. 创建SALV对象:使用`CL_SALV_TABLE`类创建一个SALV对象,并将内表作为参数传递给构造方法。 4. 添加复选框列:通过调用`ADD_CHECKBOX_COLUMN`方法,为SALV对象添加一个复选框列。可以指定该列的标题和字段名。 5. 显示报表:使用`DISPLAY`方法显示SALV报表。 下面是一个简单的示例代码: ```abap DATA: lt_data TYPE TABLE OF (your_structure), lo_salv TYPE REF TO cl_salv_table. * 定义内表类型 TYPES: BEGIN OF ty_data, field1 TYPE data_type, field2 TYPE data_type, checkbox TYPE abap_bool, END OF ty_data. * 填充内表数据 APPEND VALUE #( field1 = value1 field2 = value2 ) TO lt_data. * 创建SALV对象 lo_salv = cl_salv_table=>factory( ). * 添加复选框列 lo_salv->add_checkbox_column( title = 'CheckBox' fieldname = 'CHECKBOX' ). * 设置内表数据 lo_salv->set_table_for_first_display( exporting i_structure_name = 'TY_DATA' changing it_outtab = lt_data ). * 显示报表 lo_salv->display( ). ``` 这段代码将在SALV报表中显示一个复选框列,用户可以选择或取消选择复选框。请根据你的实际需求修改字段名称、数据类型和内表数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值