ABAP ALV 单击时如何获取行号(或者说获取数据)

举例:屏幕9010为ALV列表,有两列数据,物料号和物料名称,还有个自定义的变更按钮,屏幕9020为物料的详细信息,有物料号、物料名称、重量、体积、库存数量等信息。现在需... 举例:屏幕9010为ALV列表,有两列数据,物料号和物料名称,还有个自定义的变更按钮,屏幕9020为物料的详细信息,有物料号、物料名称、重量、体积、库存数量等信息。现在需要在9010上单击某行数据,再点击变更按钮,根据物料号获取详细数据,跳转到9020对数据进行变更。
问题:我现在单击某行获取到的总是ALV列表最后一行的数据,我要怎么获取到ALV的行号呢,或者说我要怎么获取到单击行的物料号呢?
展开
 我来答
neutc
2012-09-05 · TA获得超过683个赞
知道小有建树答主
回答量:428
采纳率:100%
帮助的人:467万
展开全部
我假设你用的是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这个参数在你双击之后回传进来你双击的条目的行号,用这个在内表里就能定位双击的条目对应的内表数据了.
XUJINHUA731
2012-09-12
知道答主
回答量:3
采纳率:0%
帮助的人:4652
展开全部
在 SCREEN 属性中 W/COLUMN 属性 取名 CHECK
单击某行

点击变更按钮时
取到的是 主键的直 如
IF check IS NOT INITIAL.
取到的直 gs_stu-edu_id.
READ TABLE ..... WITH KEY EDU_ID = gs_stu-edu_id.
ENDIF.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qwer7542801
2012-09-05
知道答主
回答量:3
采纳率:0%
帮助的人:2.7万
展开全部
CALL METHOD GS_ALV->GET_SELECTED_ROWS
IMPORTING
ET_INDEX_ROWS = GT_ROW
ET_ROW_NO = GT_TYP.
这是class alv上获取选中行的方法 请参考 谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
静水逐花
推荐于2018-03-11 · TA获得超过1032个赞
知道小有建树答主
回答量:733
采纳率:0%
帮助的人:491万
展开全部
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. 这个就是行号
追问
u_selfield 这个是什么
追答
u_selfield TYPE slis_selfield.

这个是定义子form user_command时的一个参数
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lihan913
2012-09-18 · TA获得超过233个赞
知道小有建树答主
回答量:251
采纳率:0%
帮助的人:162万
展开全部
你用OO方式还是FM方式?
追问
2种都想知道
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式