供应商自动配送功能

1.最终演示地址:

测试时默认了登陆用户,使用中使用用户KEY来测试,可用的用户KEY有两个:

a1234567

b1234567

只为了练习,所以假想了一个需求,就是甲方在自己的SAP系统里创建采购订单(SAP gui),然后货品供应商在网页中打开网页( fiori APP)查找需要配送的货品(可以按计划交易日期来,或者甲方告诉供应商采购订单)创建配送单,供应商可按自己实际库存修改配送量(不能大于采购订单量),然后确认配送,最后供应把货品送到甲方,甲方在SAP 中操作进行采购收货。

此实际代码使用SAP RAP的 ELEMENTS方式实现,使用ODATA V2,保证最大程度的使用后端ABAP开发,不使用JS前台代码。

2.注意事实

  • 在开发中要注意所有可以使用单引号标注的内容,都是区分大小写的,比如在CDS中定义按钮的dataAction: ‘cancelApproval’,这里是区分大小写的,这时,在behavior中定义使用此ACTION时action (features: instance) cancelApproval ;没有单引号,但在这里是要区分大小写的,不能写错
  • 在ODATA V4时,执行完成按钮后,LIST不会自动刷新(V2会自动刷新),需要前台执行手动刷新(这个现没找到解决办法,所以我只能用了V2)
  • ODATA V4时,好多代码逻辑都需要很严谨,好多代码在V2时可以执行出结果 ,但V4时就得细节都照顾到。比如ZI_Delivery_H中的behavior,在V2时,不用处理draft action ( features : instance ) Edit,只要在GET_INSTANCE_FEATURES中设置%FEATURES-%UPDATE= ‘01’(不可更新)时此节点“编辑”按钮就不会出现,但在V4时就不行,必须还要指定EDIT,并控制EDIT的可用性。
  • 在CDS中定义了@UI.selectionPresentationVariant用于显示默认变式,不生效,但使用VSCODE引入设置后却可以使用变式。
  • 为了打开FIORI不输入用户密码,需在SICF中设置ODATA,及对应的FIORI APP使用默认登陆用户,另外还需要设置CATALOGSERVICE,LREP这两使用默认登陆,这两个是全局的,不太确认会有什么影响。

所以此功能设想了两个FIORI APP:

1.按采购订单创建配送单;

2.配送单的修改,审批,确认配送等功能;

供应商自动配送功能 - 第1张  | 优通SAP
供应商自动配送功能 - 第2张  | 优通SAP

3.实现逻辑代码