第一步:在内表中定义一个字段用来勾选,比如 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.