ABAP ALV 单击时如何获取行号(或者说获取数据)
举例:屏幕9010为ALV列表,有两列数据,物料号和物料名称,还有个自定义的变更按钮,屏幕9020为物料的详细信息,有物料号、物料名称、重量、体积、库存数量等信息。现在需...
举例:屏幕9010为ALV列表,有两列数据,物料号和物料名称,还有个自定义的变更按钮,屏幕9020为物料的详细信息,有物料号、物料名称、重量、体积、库存数量等信息。现在需要在9010上单击某行数据,再点击变更按钮,根据物料号获取详细数据,跳转到9020对数据进行变更。
问题:我现在单击某行获取到的总是ALV列表最后一行的数据,我要怎么获取到ALV的行号呢,或者说我要怎么获取到单击行的物料号呢? 展开
问题:我现在单击某行获取到的总是ALV列表最后一行的数据,我要怎么获取到ALV的行号呢,或者说我要怎么获取到单击行的物料号呢? 展开
5个回答
展开全部
我假设你用的是FM:REUSE_ALV_GRID_DISPLAY这个功能模块.在调用的时候有个参数:
i_callback_user_command , 这个参数你要传入一个FORM, 假如你的form叫做:USER_COMMAND.
那么在你定义这个form的时候,他的传入传出参数是一定的:
FORM user_command USING u_ucomm LIKE sy-ucomm
u_selfield TYPE slis_selfield.
ENDFOR.
其中u_selfield这个参数在你双击之后回传进来你双击的条目的行号,用这个在内表里就能定位双击的条目对应的内表数据了.
i_callback_user_command , 这个参数你要传入一个FORM, 假如你的form叫做:USER_COMMAND.
那么在你定义这个form的时候,他的传入传出参数是一定的:
FORM user_command USING u_ucomm LIKE sy-ucomm
u_selfield TYPE slis_selfield.
ENDFOR.
其中u_selfield这个参数在你双击之后回传进来你双击的条目的行号,用这个在内表里就能定位双击的条目对应的内表数据了.
展开全部
在 SCREEN 属性中 W/COLUMN 属性 取名 CHECK
单击某行
点击变更按钮时
取到的是 主键的直 如
IF check IS NOT INITIAL.
取到的直 gs_stu-edu_id.
READ TABLE ..... WITH KEY EDU_ID = gs_stu-edu_id.
ENDIF.
单击某行
点击变更按钮时
取到的是 主键的直 如
IF check IS NOT INITIAL.
取到的直 gs_stu-edu_id.
READ TABLE ..... WITH KEY EDU_ID = gs_stu-edu_id.
ENDIF.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CALL METHOD GS_ALV->GET_SELECTED_ROWS
IMPORTING
ET_INDEX_ROWS = GT_ROW
ET_ROW_NO = GT_TYP.
这是class alv上获取选中行的方法 请参考 谢谢
IMPORTING
ET_INDEX_ROWS = GT_ROW
ET_ROW_NO = GT_TYP.
这是class alv上获取选中行的方法 请参考 谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
FORM user_command USING u_ucomm LIKE sy-ucomm u_selfield TYPE slis_selfield.
READ TABLE GT_SHOW INDEX u_selfield-tabindex. “行号
……
endform.
u_selfield-tabindex. 这个就是行号
READ TABLE GT_SHOW INDEX u_selfield-tabindex. “行号
……
endform.
u_selfield-tabindex. 这个就是行号
追问
u_selfield 这个是什么
追答
u_selfield TYPE slis_selfield.
这个是定义子form user_command时的一个参数
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你用OO方式还是FM方式?
追问
2种都想知道
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询