SAP Business Application Studio和SAP云平台Destination
根据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提供了一些事件可以加到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无法干预。
- 点赞
- 收藏
- 关注作者
评论(0)