Desktop Studio上下文获取导致产生未定义的值

2020-08-14 12:51发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)亲爱的社区, 我试图在SAP中...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


亲爱的社区,

我试图在SAP中较早地获取从gridview收集的上下文数据,并将其输入到标准的多次选择SAP框中。 不幸的是,我没有在列表中插入值,而是在字段中插入了未定义值。

我在做什么错了?

分解步骤:

1。 我使用下面的给定代码(插入到Custom块中)从SE16N gridview表中收集值,同时使之成为名为" Customers"的上下文项。 正如我在调试器测试器中看到的那样,这些数字已正确收集。

//收集所有客户编号
 rootData.Temp.Customers = SAPLogon750.pKNKKResults.oKNKKResults.getRowsByColumn('KUNNR'); 

SE16N网格视图:

2。 我在其中创建一个上下文" Temp"文件夹,其中包含" Customers"项,并使其成为数组。 完全需要此步骤吗?

3。 我尝试获取上下文数据并在另一个tcode的"选择单个值"选项卡的"多个选择"框中进行设置。 我尝试将可见表字段捕获为单个字段并使用发生方法-可见的是后者:

要获取和设置上下文数据,我使用标准的Set活动,并尝试将其与上述上下文项目链接:

为此生成的代码如下所示:

 SAPLogon750.pMultipleCustomer.edValues.i(0).set(rootData.Temp.Customers [0],是); 

4。 如果运行它,最终会得到一个未定义值,而不是存储在上下文中的客户编号:

非常感谢您的建议!

最诚挚的问候,

Filip

se16n-gridview.jpg (51.8 kB)
付费偷看设置
发送
2条回答
落灬小鱼
1楼 · 2020-08-14 13:20.采纳回答

您好-请使用CTX.LOG输出客户上下文数据,并查看在调试器模式下打印的内容。 这将帮助您了解该值是否在上下文中真正填满。

另一种观察结果是:您正在尝试将第一行(customers [0])的数据放入弹出窗口中,并且如果您希望自从将目标定为目标后,将在弹出窗口中填充客户上下文的所有记录 ,那么我真的不确定是否可行。 我曾尝试做类似的事情,但后来不得不采用LOOP -将值->单击插入-> ENDLOOP。

我真的很想知道您的方法是否可以那样简化机器人程序的执行。

蓋茨
2楼-- · 2020-08-14 13:05

您好,Srinivas,

我从继续进行项目中得到了些许休息,但我回来了,这是我的最新发现。

我确实添加了一个日志来检查上下文中的内容,结果很好,但是我的问题的根本原因是我忘记了在不同情况下设置使用的上下文数据(我有几个) )。 当我最终将其设置为可见时,它开始获取正确的数据:

在将值添加到"多重选择"屏幕时,您是对的,它不能使用以前共享的代码。 我必须创建一个包含插入新行的循环(下面给出的代码)。 现在它就像一种魅力!

 for(var j = 0; j <(rootData.Temp.Customers).length; j ++){
     SAPLogon750.pMultipleCustomer.edValues.setFocus();
     SAPLogon750.pMultipleCustomer.edValues.set(rootData.Temp.Customers [j],true);
     SAPLogon750.pMultipleCustomer.btInsertRows.click();
         } 

一周热门 更多>