CAP-不能在ON条件的定义中使用非托管关联

2020-08-14 04:14发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 实现CAP应用程序,...

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

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


你好

实现CAP应用程序,我具有以下数据模型:

实体驱动程序:托管,cuid {
     seqID:整数;
     firstName:字符串;
     ...
     车辆:许多DriverVehicles的关联
                    在cars.driver = $ self;
 }

 实体车辆:托管,液体{
     seqID:整数;
     numberPlate:字符串;
     ...
     驾驶员:与许多DriverVehicles的关联
                     在drivers.vehicle = $ self;
 }

 实体DriverVehicles {
     关键驱动程序:与驱动程序的关联;
     关键车辆:车辆协会;
 }
 

现在,我想定义一个视图,以便可以在搜索驱动程序时使用它。 在这里,我还需要能够通过车辆ID进行搜索。 因此,我具有以下视图定义:

查看驱动程序搜索为
      从驱动程序中选择
      左外连接DriverVehicles
        在Drivers.ID = DriverVehicles.driver.ID上
      左外连接车辆
        在Vehicles.ID = DriverVehicles.vehicle.ID上
      {
        concat(Drivers.ID,Installations.ID)作为recordID:字符串,
        键" ABC"作为键:字符串,
        Drivers.ID作为driverID,
        Drivers.firstName,
        ...
        Vehicles.ID作为vehicleID,
        Vehicles.numberPlate
     };
 

稍作调整*,以上内容即可在SQLite中编译并正常运行(几乎**)。 但是,在将cds部署到HANA时,会引发错误消息:

 ...
 错误:com.sap.hana.di.cds:无法在打开条件的定义中使用非托管关联
 ... 

现在,检查用于多对多关联的CAP文档 ,以上两个似乎是托管关联。 那么,有什么想法可以支持上述用例,但如果我不能正确设置呢?

问候

Serdar

* SQLite不支持concat(); 因此,我将行更改为:

 ...
 Drivers.ID ||  Installations.ID作为recordID:字符串,
 ... 

**为简短起见,如果HANA也出现此问题,我将另开一篇文章

4条回答
lukcy2020
2020-08-14 04:19

您好Sergei

感谢您的建议。 但是,我也需要让驾驶员没有车辆。 这就是为什么它必须以Drivers开头并且必须进行外部联接的原因。

一周热门 更多>