Fiori列表报告操作:通过注释传递参数

2020-08-19 05:58发布

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

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


对于这是一个基本问题,我深表歉意,但是我是Fiori的新手,所以我已经为此苦苦挣扎了一段时间。 有没有一种方法可以利用注释将参数传递给调用导入函数的操作? 只能通过代码完成吗? 如果仅使用代码,那么在哪里以及如何完成? 我认为这似乎是一个简单且常见的用例,但可以通过注释来处理,但我当然还没有弄清楚如何实现这一点。 任何帮助将不胜感激。

我的用例是,我的OData中有一个导入函数,该函数具有2个导入参数,每个参数共享列表报告中一个字段的名称。 我在" Fiori列表报告"中添加了一个操作按钮,单击该按钮后,它会创建$ batch请求,但是http请求的正文仅对该操作进行了一次调用,无论我有多少项,它都不会显示任何参数 从列表报告中选择。

这是我用于处理的列表以及操作按钮:

单击我的按钮时,我收到以下消息,我认为是由于缺少参数:

这是我的HTTP请求正文:

(24.1 kB)

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

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


对于这是一个基本问题,我深表歉意,但是我是Fiori的新手,所以我已经为此苦苦挣扎了一段时间。 有没有一种方法可以利用注释将参数传递给调用导入函数的操作? 只能通过代码完成吗? 如果仅使用代码,那么在哪里以及如何完成? 我认为这似乎是一个简单且常见的用例,但可以通过注释来处理,但我当然还没有弄清楚如何实现这一点。 任何帮助将不胜感激。

我的用例是,我的OData中有一个导入函数,该函数具有2个导入参数,每个参数共享列表报告中一个字段的名称。 我在" Fiori列表报告"中添加了一个操作按钮,单击该按钮后,它会创建$ batch请求,但是http请求的正文仅对该操作进行了一次调用,无论我有多少项,它都不会显示任何参数 从列表报告中选择。

这是我用于处理的列表以及操作按钮:

单击我的按钮时,我收到以下消息,我认为是由于缺少参数:

这是我的HTTP请求正文:

(24.1 kB)
付费偷看设置
发送
6条回答
shere_lin
1楼-- · 2020-08-19 06:15

你好,

成功的关键在于函数import参数。 您必须至少具有实体键作为参数。

示例:如果您的主实体具有OrderNum和Plant作为键,则在函数导入中必须至少具有这两个字段作为输入参数。 然后,当您单击操作时,系统将从功能导入中为您提供所有其他输入参数。

问候,

Joseph

路亽曱_Ryan
2楼-- · 2020-08-19 06:06

嗨,约瑟夫。

恐怕新参数也无法改善。 在这里,您可以在我的OData服务的元数据中看到新参数:

从列表报告中再次运行该函数会给出相同的错误(带有"代码查看"作为标题的黄色和红色弹出窗口),并且错误日志仍然显示无效的导入参数,这是有意义的,因为主体没有尝试发送 函数的参数。 此外,尽管在列表中选择了2个项目,但我们看到该主体仅对CodeReview进行了一次调用。 还有其他想法我在这里做错了吗?

谢谢!

黑丝骑士
3楼-- · 2020-08-19 06:03

您好大卫·凯洛格

< img src=" https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcRhBHxGWcj5Oq0Ts5lO7TIaEC06E7fd42tvzqO7S75FoV04k8BS&usqp=CAU"不会说话。

首先,不要让错误让您相信您是在SAP论坛上这里问"基本问题",在这里其他人可能会发现相同或不同。 可以问这样的新问题。 最欢迎:-)我们都做! ;-)

对于您的问题,据我了解,您有一个现有的应用程序,该应用程序可以使用函数导入

#1。 我假设在OData项目中您已经在DPC_EXT中实现了此方法,即方法/IWBEP/IF_MGW_APPL_SRV_RUNTIME~EXECUTE_ACTION。

#2。 我在屏幕快照中看到您正在尝试使用实体集名称来执行POST方法。

换句话说,应该将其更改为类似以下名称:

/sap/opu/odata/sap/ZTEST_GW_SRV/CodeReviewFuncImport?CheckFlag ='X'ℜquestID='0000000001'

希望这会有所帮助,如果没有,请分享您要访问的URL:-)

Br,

Pavan Golesar

黑丝骑士
4楼-- · 2020-08-19 06:09

#1:是的,EXECUTE_ACTION已实现且运行良好。 我已经能够通过/IWFND/GW_CLIENT在单个POST和包含多个传入项目的$ batch中有效地触发它。我很惊讶地诚实地取得了如此成功,这是一个非常有效的问题!/p>

#2:POST正在调用功能CodeReview。 在我的OData中(目前)设置的唯一实体是一个称为Transports .... sorry的集合,因为没有将其包含在我的原始屏幕截图中。 因此,Fiori应用程序正在生成的POST片段与预期的一样,只是缺少参数。 我可以肯定地以某种方式弄乱了注释,但不知道在哪里。

以下是我认为是相关的注释(其中一些可能是垃圾,因为我一直在弄乱这些注释,试图使某些事情前进)

还有其他注释,但大部分只是LineItem和Header定义,但是如果您需要查看更多注释,请告诉我,我将尽一切可能发布。 我在将屏幕快照添加到这些帖子时遇到了一些问题。

spaceman01
5楼-- · 2020-08-19 06:12

好吧,您可以在此处共享URL吗?

软件心理学工程师
6楼-- · 2020-08-19 06:12

sap/opu/odata/sap/YDJK_TRANSPORTS_SRV/$ batch

在请求数据中,只有一次调用Code Review,但没有发送任何参数,并且无论我在屏幕上选择了多少项,请求数据中都只有一个调用。 请求数据如下所示:

-batch_ba50-5a1e-7577

内容类型:多部分/混合; boundary = changeset_a4a3-8618-fe16

-changeset_a4a3-8618-fe16

内容类型:application/http

content-transfer-encoding:二进制

POST CodeReview HTTP/1.1

sap-contextid-accept:标头

接受:application/json

接受语言:美国

DataServiceVersion:2.0

MaxDataServiceVersion:2.0

sap-cancel-on-close:true

x-csrf令牌:mv8ixb7cCjJ3QAwIxOF6OQ ==

Content-Type:应用程序/json

-changeset_a4a3-8618-fe16--

-batch_ba50-5a1e-7577-

顺便说一句,我能够成功使用扩展名使按钮工作并进行不同的编码。 如果有人对如何使它起作用有任何建议,我会保留通过注释添加的按钮。 似乎仍应由注解来处理,否则为什么根本不能在按钮中注解?

一周热门 更多>