ABAP 字段隐藏的方法

正文部分

​
*数据库表spfli相关
TABLES: spfli, sflight.
START-OF-SELECTION.
  SKIP.
*输出
  ULINE AT /(91).
  WRITE: / sy-vline,(15) '航线承运人', sy-vline , (15) '航班连接', sy-vline,
         (15) '国家代码', sy-vline,(15) '起飞城市', sy-vline,
         (15) '起飞机场',sy-vline.
  ULINE AT /(91).
*输出
  SELECT * FROM spfli.
    WRITE: / sy-vline,(15) spfli-carrid,sy-vline,
                      (15) spfli-connid,sy-vline,
                      (15) spfli-countryto,sy-vline,
                      (15) spfli-cityfrom,sy-vline,
                      (15) spfli-airpfrom, sy-vline.
* 隐藏关键字
    HIDE: spfli-carrid,spfli-connid.
    ULINE AT /(91).
  ENDSELECT.
AT LINE-SELECTION.
*只输出第一页
  IF sy-lsind = 1.
*根据隐藏字段读取并打印从表
    SELECT * FROM sflight
      WHERE carrid = spfli-carrid AND connid = spfli-connid.
      WRITE: / sflight-carrid,sy-vline,sflight-connid,
               sy-vline,sflight-fldate,sy-vline,sflight-price.
    ENDSELECT.
  ENDIF.

​

 

点击进入:ABAP 字段隐藏的方法

### 关于 ABAP SALV 中字段名称的使用方法ABAP 开发中,`CL_SALV_TABLE` 是 SAP 提供的一个用于创建 ALV 报表的强大工具。为了自定义报表中的列及其行为,通常会涉及 `CL_SALV_COLUMNS_TABLE` 和 `CL_SALV_COLUMN_TABLE` 类来操作字段名称及相关属性。 以下是关于如何在 ABAP SALV 中处理字段名称的具体说明和示例: #### 设置字段名称及属性 可以通过 `CL_SALV_COLUMNS_TABLE` 来访问并修改表格中的列属性。这些属性包括但不限于字段名称、标题、宽度以及可见性等。下面是一个简单的代码示例,展示了如何设置字段名称和其他相关属性[^1]。 ```abap DATA: lo_columns TYPE REF TO cl_salv_columns_table, lo_column TYPE REF TO cl_salv_column. TRY. " 创建 ALV 表格对象 cl_salv_table=>factory( IMPORTING r_salv_table = DATA(lo_alv) CHANGING t_table = it_data ). " 获取列集合 lo_columns ?= lo_alv->get_columns( ). " 遍历每一列并调整其属性 LOOP AT lo_columns->get_static() INTO lo_column. CASE lo_column->get_id( ). WHEN 'FIELDNAME1'. " 假设 FIELDNAME1 是数据表中的某个字段名 lo_column->set_title( '新标题' ). " 修改该字段对应的列标题 lo_column->set_output_length( 20 ). " 调整列宽 WHEN 'FIELDNAME2'. lo_column->set_visible( abap_false ). " 将此列隐藏 ENDCASE. ENDLOOP. CATCH cx_root INTO DATA(lx_error). WRITE: / lx_error->get_text( ). ENDTRY. ``` 上述代码片段演示了如何通过遍历列集合 (`cl_salv_columns_table`) 并针对特定字段名称应用不同的配置选项来定制 ALV 显示效果[^2]。 #### 动态获取屏幕字段值并与 SALV 结合 如果需要动态读取屏幕上的某些输入控件(如字段或表格)的内容,并将其应用于 SALV,则可以利用 `ASSIGN` 或者 `FIELD-SYMBOLS` 实现这一目标。例如,假设有一个名为 `P_FIELD` 的参数字段存储用户指定的目标字段名称,那么可以根据这个值进一步筛选或过滤 SALV 数据源[^3]。 ```abap FIELD-SYMBOLS: <fs_field> TYPE any. " 假定 P_FIELD 包含由用户提供的有效字段名字符串 ASSIGN COMPONENT p_field OF STRUCTURE wa_data TO <fs_field>. IF sy-subrc EQ 0. IF <fs_field> IS INITIAL OR <fs_field> GT 0. " 自定义条件判断逻辑 APPEND wa_data TO filtered_itab. ENDIF. ENDIF. ``` 以上代码段表明了如何基于运行时传入的字段标识符安全地存取内部结构成员的数据项,从而支持更灵活的应用场景需求。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值