ABAP ALV勾选一行或多行保存至内表

第一步:在内表中定义一个字段用来勾选,比如 SEL

第二步:定义FIELDCAT相关组件设置,比如

DEFINE FILL_FIELD.
  CLEAR GS_FIELDCAT.
  GS_FIELDCAT-FIELDNAME     = &1.  "字段的名字(内表中定义的字段名)
  GS_FIELDCAT-SCRTEXT_L     = &2.  "字段的文本描述,输出时候显示。长描述
  GS_FIELDCAT-QFIELDNAME    = &3.  "计量单位字段名,例如如值EA对应的字段名
  GS_FIELDCAT-NO_ZERO       = &4.  "如果取值为零,则为空,既不输出零。
  GS_FIELDCAT-EDIT          = &5.  "当前列可编辑
  GS_FIELDCAT-REF_TABLE     = &6.  "该字段的参考表
  GS_FIELDCAT-REF_FIELD     = &7.  "该字段的参考字段
  GS_FIELDCAT-CHECKBOX      = &8.  "选择框
  GS_FIELDCAT-ICON          = 'X'.  "图标功能
  APPEND GS_FIELDCAT TO GT_FIELDCAT.
END-OF-DEFINITION.

第三步:在FIELDCAT中编辑SEL相关信息,比如 FILL_FIELD:'SEL'     '选择'          '' '' 'X' '' '' 'X'.

 第四步:调用相关函数和方法将ALV上的改动更新到内表,比如

FORM FRM_SAVE.
  DATA: LR_GRID TYPE REF TO CL_GUI_ALV_GRID.
  DATA: L_VALID TYPE C.
  CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
    IMPORTING
      E_GRID = LR_GRID.

  CALL METHOD LR_GRID->CHECK_CHANGED_DATA
    IMPORTING
      E_VALID = L_VALID.
ENDFORM.

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值