initial load
This commit is contained in:
58
orders/db/performance_example_schema.cds
Normal file
58
orders/db/performance_example_schema.cds
Normal file
@@ -0,0 +1,58 @@
|
||||
using { Currency, User, managed, cuid } from '@sap/cds/common';
|
||||
using {Orders, OrderItems} from '../schema';
|
||||
|
||||
namespace sap.capire.orders;
|
||||
|
||||
entity OrdersHeaders : managed {
|
||||
key ID : UUID;
|
||||
OrderNo : String @title:'Order Number'; //> readable key
|
||||
buyer : User;
|
||||
currency : Currency;
|
||||
Items : Composition of many OrdersItems on Items.Header = $self;
|
||||
}
|
||||
|
||||
entity OrdersItems {
|
||||
key ID : UUID;
|
||||
product : Association to Products;
|
||||
quantity : Integer;
|
||||
title : String; //> intentionally replicated as snapshot from product.title
|
||||
price : Double; //> materialized calculated field
|
||||
Header : Association to OrdersHeaders;
|
||||
};
|
||||
|
||||
|
||||
// static
|
||||
view OrdersItemsViewJoin as select
|
||||
|
||||
OrdersHeaders.ID as Header_ID,
|
||||
OrdersHeaders.OrderNo as OrderNo,
|
||||
OrdersHeaders.buyer as buyer,
|
||||
OrdersHeaders.currency as currency,
|
||||
OrdersItems.ID as Item_ID,
|
||||
OrdersItems.product as product,
|
||||
OrdersItems.quantity as quantity,
|
||||
OrdersItems.title as title,
|
||||
OrdersItems.price as price
|
||||
|
||||
from OrdersHeaders JOIN OrdersItems on OrdersHeaders.ID = OrdersItems.Header;
|
||||
|
||||
// dynamic entity
|
||||
entity OrderItemsViewAssoc as projection on Orders;
|
||||
|
||||
// sort on right table
|
||||
view SortedOrdersJoin as select
|
||||
OrderNo,
|
||||
buyer,
|
||||
currency,
|
||||
Item_ID,
|
||||
product,
|
||||
quantity,
|
||||
title,
|
||||
price
|
||||
from OrdersItemsViewJoin
|
||||
order by title;
|
||||
|
||||
// sort on items and join back to header via assoc
|
||||
view SortedOrdersAssoc as select
|
||||
from OrdersItems {*, Header.OrderNo, Header.buyer, Header.currency }
|
||||
order by OrdersItems.title;
|
||||
5
orders/srv/performance_example_orders-service.cds
Normal file
5
orders/srv/performance_example_orders-service.cds
Normal file
@@ -0,0 +1,5 @@
|
||||
using { sap.capire.orders as my } from '../db/schema';
|
||||
|
||||
service OrdersService {
|
||||
entity Orders as projection on my.Orders;
|
||||
}
|
||||
Reference in New Issue
Block a user