SAP Business Application Studio和SAP云平台Destination

网友投稿 586 2022-05-29

根据SAP官方文档,在SAP Cloud Platform CloudFoundry环境里创建的Destination,在SAP Business Application Studio的consume SAP systems里可以被解析为System URL或者catalog两种类别:

那么SAP Business Application Studio是根据什么样的条件来解析的呢?

根据Jerry的测试,只要SAP Cloud Platform CloudFoundry环境里创建的Destination,带上了附加属性WebIDEUsage = odata_abap, 根据SAP官方文档,这个属性告诉SAP WebIDE或者SAP Business Application Studio,该Destination指向的系统内有一个ABAP实现的OData catalog service,能够把系统里暴露出的OData服务以清单的形式显示给消费者

反之,WebIDEUsage = odata_gen的Destination,会被SAP Business Application Studio解析成System Url.

需要强调的是,被SAP Business Application Studio使用的Destination,还需要加上HTML5.DynamicDestination = true这一句。

SM30的Maintenance View是通过SE11里面的工具生成的,所有的显示和增删改查的逻辑都是自动生成的代码,通常这些代码在和Maintenance View同名的Function Group里面。

Function Group: CRMV_PR_SUBSTRAC

SAP Business Application Studio和SAP云平台Destination

同时SAP提供了一些事件可以加到Maintenance View让USER可以自定义一些逻辑,进入上面的Table Maintenance Generator之后,再进入下面的Menu:

Maintenance View支持事件: http://help.sap.com/saphelp_47x200/helpdata/en/91/ca9f0ea9d111d1a5690000e82deaaa/frameset.htm

每个事件是一个Sub Routine, 工具自动生成的代码预留了调用这些Sub Routine的地方,其中有一个事件是’Before Save Data to Database’,我觉得这个事件是最适合验证数据的地方.

把验证逻辑写完之后,可以验证用户输入的数据是否和Allow Product Set type Change里面的数据冲突,也可以提示用户Error Message.

Input data.

Save

现在的问题是,Save之后,用户正在编辑的行灰掉了,不能重新点击Change继续编辑,只能回退,取消Save.

我研究得出的原因是,系统生成打代码调用了用户自定义的事件之后,不管结果如何,都会执行后续的逻辑,所以Screen无法停留在刚才的状态。而且所有的控制都是由系统生成代码完成,USER无法干预。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python pandas模块输出每行中间省略号问题
下一篇:关于Flutter的那些事儿
相关文章