read table 时关键字TRANSPORTING NO FIELDS的用法

 关键字TRANSPORTING NO FIELDS 用于read table with key 一般用于等读取内表的时候,只是判断该内表中是否有次数据 不需要读取到工作区中。

    READ TABLE gt_zppt026 INDEX tcl_0001-current_line
      TRANSPORTING NO FIELDS.

此处是判断内表gt_zppt026 是否有数据,一般接下来都是用 

IF sy-subrc = 0 判断该表中是否有次数据

转载于:https://www.cnblogs.com/caizjian/p/3520541.html

### 设置 `CL_SALV_TABLE` 类以使表格可编辑 为了使由 `CL_SALV_TABLE` 创建的 ALV 表格具备可编辑功能,需调整相应属性并处理数据更新逻辑。下面展示了一个简单的例子来说明这一过程。 #### 初始化和配置 ALV 表格对象 ```abap DATA: lo_alv TYPE REF TO cl_salv_table, lt_fieldcat TYPE lvc_t_fcat. TRY. " 创建 ALV 对象实例 cl_salv_table=>factory( EXPORTING r_container = gr_custom_container IMPORTING r_salv_table = lo_alv CHANGING t_table = gt_data ). CATCH cx_root INTO DATA(lx_error). " 错误处理... ENDTRY. ``` #### 启用单元格编辑模式 要启用某些字段上的输入操作,则需要定义这些字段为可编辑状态: ```abas " 定义哪些列为可编辑 lo_alv->get_columns( )->set_editable( abap_true ). " 或者更精确地指定某几列可以被修改 lt_fieldcat = lo_alv->get_metadata( )->get_fieldcatalog( ). READ TABLE lt_fieldcat TRANSPORTING NO FIELDS WITH KEY fieldname = 'EDITABLE_COLUMN'. IF sy-subrc EQ 0. MODIFY lt_fieldcat INDEX sy-tabix FROM VALUE #( editable = abap_true ). ENDIF. lo_alv->set_fieldcatalog( lt_fieldcat ). ``` 上述代码片段展示了如何全局开启所有列的编辑权限以及针对特定列单独设定其是否支持编辑[^1]。 #### 处理用户更改事件 当用户完成对表格内数据项的操作后,通常还需要捕获这些变化以便进一步保存到数据库或其他持久存储介质中去。为此可以在创建 `cl_salv_table` 实例之后注册回调函数用于监听用户的交互动作。 ```abap " 注册修改后的确认事件处理器 SET HANDLER me->on_modify FOR lo_alv. METHODS on_modify FOR EVENT data_changed OF cl_salv_events IMPORTING e_modified_rows. METHOD on_modify. LOOP AT e_modified_rows ASSIGNING FIELD-SYMBOL(<modified_row>). " 此处编写业务逻辑以响应每一行的数据变更 ENDLOOP. ENDMETHOD. ``` 此部分实现了对用户提交的新值进行验证或执行其他必要的商业规则检查,并最终决定是否接受此次改动[^2]. 通过以上步骤即可成功构建一个基于 `CL_SALV_TABLE` 的可编辑 ALV 报表应用,在实际开发过程中可根据具体需求灵活调整各项参数设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值