我正在开发一个全栈 ABAP OData 和 SAPUI5 应用程序。 我在连接请求中的两个实体时遇到一些问题。 我有一张名为“
Flight
”的桌子和一张名为“Airport
”的桌子。
在“Flight
”表中,我有一个主键和两个外键。
外键是“DepartureAirportId
”和“ArrivalAirportId
”。
我使用事务 SEGW 创建了一个 oData-Service。我已经在 ABAP 中创建了一个关联,其中主要实体为 Flight,子实体为 Airport。
当我致电该协会时,我取回了数据库中存储的所有机场,但我只想要其中两个机场,出发机场和到达机场。
如何重新创建关联以仅获取 id 指定的两个机场?
在“获取机场实体集”中,从 IT_KEY_TAB 中读取密钥。 在这里您将获得飞行的主键。 通过它,您可以获取到达和出发机场的外键,并使用机场 ID 选择机场详细信息,并将它们返回到 et_entityset 中。
您可以创建两个名为 DepartureAirport 和 ArrivalAirport 的实体,并创建与 Flight 实体的关联。这样,您可以获得包含航班信息的行中的深层结构,其中包含有关两个不同机场的单独信息。我确信有更好的想法,但您可以用此方法实现它。