cancel
Showing results for 
Search instead for 
Did you mean: 

对动态内表生成的ALV 在屏幕上如何选择一行记录

Former Member
0 Kudos

请教各位:

FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM

RS_SELFIELD TYPE SLIS_SELFIELD.

DATA: V_COUNT TYPE I.

CLEAR: V_COUNT,<dyn_wa>.

LOOP AT <dyn_table> INTO <dyn_wa>. "WHERE <dyn_field> = 'X'. u201C这里我应该怎样写来获得屏幕上选的是一行记录?

V_COUNT = V_COUNT + 1.

ENDLOOP.

if not rs_selfield-tabindex eq 0 AND V_COUNT NE 0.

IF R_UCOMM = '&CHANGE'.

IF sy-subrc = 0.

IF V_COUNT = 1.

CALL SCREEN 100.

perform dny_field_value_update.

rs_selfield-refresh = 'X'.

ENDIF.

ENDIF.

endif.

endif.

ENDFORM. "USER_COMMAND

Edited by: andy1982999 on Apr 2, 2010 4:15 AM

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

u201C这里我应该怎样写来获得屏幕上选的是一行记录?

麻烦你把上面这句话写清楚,是要获得屏幕上选择的行,还是要确定屏幕上只选择了一行记录。

Former Member
0 Kudos

u201C这里我应该怎样写来获得屏幕上选的是一行记录?麻烦你把上面这句话写清楚,是要获得屏幕上选择的行,还是要确定屏幕上只选择了一行记录。

Sorry,我是要获得屏幕上选择的一条记录。

谢谢你了。

现在已经有解决办法了。

SY-INDEX = rs_selfield-tabindex. "取屏幕选择行数赋给动态内表的索引

READ TABLE <dyn_table> INTO <dyn_wa> INDEX SY-INDEX.