点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
我已经看到许多关于相同问题,但没有解决方案对我有用。
问题:GET_SELECTED_ROWS第一次触发按钮时返回所选索引,但是即使刷新内部表和网格后第二次也不返回任何值。
即使设置 SEL_MODE 对我也不起作用。
致电9000屏幕。 MODULE STATUS_9000输出。 将PF状态设置为"状态"。 如果MATRL_R ='X'。 设置标题栏"标题"。 其他。 设置标题栏" TITLE1"。 万一。 创建对象容器 出口 CONTAINER_NAME ='CCONTAINER'。 创建对象分割器 出口 父母=集装箱 行= 2 栏= 1。 呼叫方法分割-> GET_CONTAINER 出口 行= 1 栏= 1 接收 CONTAINER = CONTAINER_1。 呼叫方法分割-> GET_CONTAINER 出口 行= 2 栏= 1 接收 CONTAINER = CONTAINER_2。 创建对象网格1 出口 I_PARENT = CONTAINER_1。 创建对象网格2 出口 I_PARENT = CONTAINER_2。 如果MATRL_R ='X'。 执行M_OO。 其他。 执行S_OO。 万一。 ENDMODULE。 模组USER_COMMAND_9000输入。 案例SY-UCOMM。 当"返回"时。 离开屏幕0。 当"取消"时。 离开程序。 当"退出"时。 离开屏幕0。 当"显示"时。 如果MATRL_R ='X'。 执行LINE_MATERIAL。 呼叫方法GRID2-> REFRESH_TABLE_DISPLAY 出口 I_SOFT_REFRESH ='X'。 其他。 执行LINE_SALES。 呼叫方法GRID1-> REFRESH_TABLE_DISPLAY 出口 I_SOFT_REFRESH ='X'。 万一。 清除SY-UCOMM。 结束。 ENDMODULE。 表格M_OO。 GS_LAYOUT-GRID_TITLE ='材料报告'。 * gs_layout-SEL_MODE ='A'。 呼叫方法GRID1-> SET_TABLE_FOR_FIRST_DISPLAY 出口 IS_LAYOUT = GS_LAYOUT 改变 IT_OUTTAB = IT_FINAL IT_FIELDCATALOG = IT_FCAT。 ENDFORM。 表格S_OO。 GS_LAYOUT-GRID_TITLE ='销售报告'。 * gs_layout-SEL_MODE ='A'。 呼叫方法GRID1-> SET_TABLE_FOR_FIRST_DISPLAY 出口 IS_LAYOUT = GS_LAYOUT 改变 IT_FIELDCATALOG = IT_FCAT1 IT_OUTTAB = IT_VBAK。 ENDFORM。
呼叫方法GRID1-> GET_SELECTED_ROWS 输入 ET_INDEX_ROWS =行。 环行成WA_ROWS。 将表IT_MARA读入WA_MARA INDEX WA_ROWS-INDEX。 WA_FINAL-MATNR = WA_MARA-MATNR。 WA_FINAL-ERSDA = WA_MARA-ERSDA。 WA_FINAL-ERNAM = WA_MARA-ERNAM。 WA_FINAL-LAEDA = WA_MARA-LAEDA。 WA_FINAL-MTART = WA_MARA-MTART。 WA_FINAL-MATKL = WA_MARA-MATKL。 WA_FINAL-MEINS = WA_MARA-MEINS。 使用键MATNR = WA_FINAL-MATNR将表IT_MARD读入WA_MARD。 WA_FINAL-LGORT = WA_MARD-LGORT。 WA_FINAL-WERKS = WA_MARD-WERKS。 将WA_FINAL附加到IT_FINAL。 ENDLOOP。
完整代码
请参考 full-code.txt
谢谢
full-code.txt (14.8 kB)
首先更正您的代码,不需要一次又一次地创建相同的对象引用(容器和网格),仅在初始/不活动时才创建。
也
感谢您回答 chandrashekhar chitme 。
据我所知,您已添加:
但是第二次不起作用:(
您的代码包含将GRID1用于GRID2的错误,反之亦然。
请注意,不建议使用ET_INDEX_ROWS, 您应该按照文档使用ET_ROW_NO(但仍然可以使用)。
+可以执行雷蒙德的建议。
对我来说,代码可以正常工作,而且我每次都能得到值 所选行数的时间
此致
Chitme
如果您将CL_SALV_TABLE类与自定义容器一起使用,则必须调用方法
GET_METADATA,然后才能访问所选行aso
chandrashekhar chitme
非常抱歉,我忘了取消注释。 :P
有效。 非常感谢。
->您无需一次又一次地创建相同的对象引用(容器和网格),只需在初始/不活动时创建 em>。
谢谢,它成功了。
一周热门 更多>