ALV简单实例
为实现打印入库单时,勾选某个行项目,则同一个单子的行项都要自动勾上。需要用到单击事件。
1.为需要响应单击按钮的列设定:
WA_FIELDCAT-HOTSPOT = 'X'. "单击 其中 WA_FIELDCAT TYPE LINE OF SLIS_T_FIELDCAT_ALV,
2.在ALV事件里响应:
CASE R_UCOMM.
WHEN '&IC1'. "单击复选框 勾选(取消)后同一预留号都自动勾选(取消)
READ TABLE ITAB_TOTAL INDEX R_SEL-tabindex INTO DATA(WA_SEL_TEMP). "获取单击行
IF R_SEL-fieldname = 'SEL' AND WA_SEL_TEMP-SEL = ''.
LOOP AT ITAB_TOTAL ASSIGNING FIELD-SYMBOL() WHERE RSNUM = WA_SEL_TEMP-RSNUM .
-SEL = 'X'.
ENDLOOP.
ELSEIF R_SEL-fieldname = 'SEL' AND WA_SEL_TEMP-SEL = 'X'.
LOOP AT ITAB_TOTAL ASSIGNING FIELD-SYMBOL() WHERE RSNUM = WA_SEL_TEMP-RSNUM .
-SEL = ''.
ENDLOOP.
ENDIF.
3.最后注意响应事件前加GET_GLOBALS_FROM_SLVC_FULLSCR,响应后刷新CALL ME