点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我正在尝试使用屏幕角...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我正在尝试使用屏幕角...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我正在尝试使用屏幕角色(3.0 SP 11)来简化最终用户的用户个人资料屏幕。 我正在努力访问参数表中的某个单元格。
如您所见,我完成了一些标签合并并添加了一些新字段。 我相信我需要使用javascript将一些参数从参数表中拉到新字段中(如果有更简单的方法,我很高兴)。 我觉得自己已经走了很多路,但是我无法获取某些单元格的内容,这对我来说没有任何意义。
这是我到目前为止的代码。 该代码在onLoad屏幕事件期间触发。
//打开参数选项卡(如果尚未选择) 如果(session.findById(" wnd [0]/usr/tabsTABSTRIP1")。selectedTab!== session.findById(" wnd [0]/usr/tabsTABSTRIP1/tabpPARAM")){ session.findById(" wnd [0]/usr/tabsTABSTRIP1/tabpPARAM")。select(); session.findById(" wnd [0]/usr/tabsTABSTRIP1/tabpDEFA/ssubMAINAREA:SAPLSUID_MAINTENANCE:1105/ctxtSUID_ST_NODE_DEFAULTS-SPLD")。setFocus(); } //将网格视图表转换为变量。 var pTable = session.findById(" wnd [0]/usr/tabsTABSTRIP1/tabpPARAM/ssubMAINAREA:SAPLSUID_MAINTENANCE:1104/cntlG_PARAMETER_CONTAINER/shellcont/shell"); //获取表中的总行数 var numRows = pTable.rowCount; //获取保存变量的列名 var columnNames = pTable.getColumnName(0); var columnValues = pTable.getColumnName(1); //在表格下翻页,确保所需的行可见-不确定是否有必要 pTable.firstVisibleRow = 25; //将当前单元格设置为29-这可行 pTable.setCurrentCell(29,columnNames); //获取单元格29的值-这不起作用。 var pid = pTable.getCellValue(29,columnNames); session.utils.alert(pid); //尝试找到VKB参数的索引 //var i = 0; //while(i我的目的是查看表第一列中的每一行,找到所需参数的索引,然后从第二列中获取这些单元格。 您可以在末尾的注释部分中看到开头。 但是,由于某种原因,无论何时代码调用getCellValue方法调用的索引为29,都会引发错误。 将29设置为当前单元格可以很好地工作,但是获取其内容失败(您可以在错误消息后面的屏幕截图中看到已选择它)。 我在这里做错什么了吗?
谢谢。
布莱恩
(58.4 kB)
感谢Krists,这确实是问题所在。
我发现的一件事-看来我的JavaScript执行得比我的SAP系统快。 当我设置firstVisibleRow属性时,它通常在读取下一行时会失败。 我实现了睡眠功能,使其在尝试下一行之前等待50ms。
那正常吗?
为以后寻找的任何人编辑-这是最终有效的脚本:
一周热门 更多>