点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
我们可以在实时数据模型中修改实际数据吗?
在这种情况下,如果我使用下图所示的滑块将购买成本增加到某个值,则需要增加表的"购买成本"列中所有物料的购买成本值。
例如:材料MDQ-TMPL-03的实际购买成本为60美元。 我将购买成本滑块值增加到16,这16美元被添加到实际购买成本值中,它将显示为76美元。 像所有材料一样,我需要根据滑块值增加我的购买成本值。
采购成本=采购成本+ Slider_purchase成本价值
然后,我需要通过OData服务将此新修改的值发送到后端,以更新数据库中条件记录的购买成本。 我需要更新表中物料的新采购成本值。
(102.5 kB)
您好Bhargav,
据我了解,您有2个要求:-
1。 创建一个包含购买成本+滑块值的计算列。
2。 需要使用Odata回写数据库。
据我所知,仅使用SAC应用程序设计器是不可能的。 但是您可以通过SAC + HTML来实现。
1。 借助HTLM,我们可以基于单击更新按钮来创建Who侦听器,以读取列值和滑块值。
您可以通过getValue();轻松读取的滑块值。 然后,在HTML中,您需要编写代码以添加动态列,以通过购买成本+滑块值的计算来显示。
2。 现在,如果您的数据库是s4HANA,则写回数据库,那么您可以直接使用SAC应用程序设计器的Odata服务,否则请使用以下流程
HTML-> SAC-> ODATA服务->过程
HTML可以使用嵌入式SAC应用程序设计器。 通过创建iframe和Listener,您可以达到第一个要求。
要回写,我们需要在HANA Web IDE中创建odata服务
service {" TABLE_A" as" test_table"; 使用" Path :: Procedure"创建" Path"作为"新列"键(" Material"); }注释{启用OData4SAP; }
一旦您从侦听器中读取了消息,就从相同的HTML调用此Odata,然后调用Odata服务,这将触发该过程。 该过程将直接插入您的表中。
我可以理解它看起来很复杂,但是一旦您了解了流程,就很容易实现。 我尝试使用HANA数据库及其工作。
此致
Sanjay Guha
嗨,
您可以通过创建动态列在HTML本身中实现。 并创建一个更新按钮以将其写回到数据库。
PS:此处,新列是根据滑块值动态创建的,因此一旦更新和刷新数据,您将只能看到一列具有最新更新值的采购成本。 因此,再次更改滑块值时,它将重新创建HTML动态列。
这里的问题是以连续的方式更改滑块值,例如首先将其设置为10,这样全新的动态列将显示所需的结果,但是再次将滑块值设置为20,它将再添加一个列,现在添加值20 所有购买费用。 在这种情况下,OData服务将仅读取添加了10的列。 要解决此问题,您需要编写逻辑来检查是否已经存在一个新的动态列,而不是通过一个标志变量来实现的。 如果存在,请删除该列并重新创建。 如果不只是创建。
希望这会有所帮助。
此致
Sanjay Guha
嗨Sanjay,
实际上我做了前两个案例,也很好。
但是我的要求是在将数据更新到后端之前,我希望在不增加column(Calculated column)的情况下在表本身中看到递增的值。
一周热门 更多>