From 36346533bb653c37b23599de5eb5c69a8851871f Mon Sep 17 00:00:00 2001 From: Wolfgang Koch Date: Fri, 7 May 2021 17:45:39 +0200 Subject: [PATCH] Z Namespace --- ...p.extension-Z_CustomerPostalAddresses._csv | 5 + ...op.extension-Z_CustomerPostalAddresses.csv | 10 +- db/data/Z_bookshop.extension-Z_Customers._csv | 3 + db/data/Z_bookshop.extension-Z_Customers.csv | 6 +- db/data/sap.capire.orders-Orders._csv | 3 + db/data/sap.capire.orders-Orders.csv | 2 +- db/extension.cds | 11 +- gen/srv/srv/csn.json | 1047 +++++++---------- srv/extension_service_ui.cds | 28 +- 9 files changed, 472 insertions(+), 643 deletions(-) create mode 100644 db/data/Z_bookshop.extension-Z_CustomerPostalAddresses._csv create mode 100644 db/data/Z_bookshop.extension-Z_Customers._csv create mode 100644 db/data/sap.capire.orders-Orders._csv diff --git a/db/data/Z_bookshop.extension-Z_CustomerPostalAddresses._csv b/db/data/Z_bookshop.extension-Z_CustomerPostalAddresses._csv new file mode 100644 index 00000000..7bafa31b --- /dev/null +++ b/db/data/Z_bookshop.extension-Z_CustomerPostalAddresses._csv @@ -0,0 +1,5 @@ +ID;modifiedAt;createdAt;createdBy;modifiedBy;Z_Customer_ID;Z_description;Z_street;Z_town;Z_country_code +1e2f2640-6866-4dcf-8f4d-3027aa831cad;2019-04-04;2019-01-31;admin@business.com;admin@business.com;8e2f2640-6866-4dcf-8f4d-3027aa831cad;Home;Hauptstrasse 11;Berlin;DE +24e718c9-ff99-47f1-8ca3-950c850777d4;2019-04-04;2019-01-30;admin@business.com;admin@business.com;74e718c9-ff99-47f1-8ca3-950c850777d4;Home;Main Street 22;London;GB +3e2f2640-6866-4dcf-8f4d-3027aa831cad;2019-04-04;2019-01-31;admin@business.com;admin@business.com;8e2f2640-6866-4dcf-8f4d-3027aa831cad;Work;Siemensstrasse 21;Berlin;DE +44e718c9-ff99-47f1-8ca3-950c850777d4;2019-04-04;2019-01-30;admin@business.com;admin@business.com;74e718c9-ff99-47f1-8ca3-950c850777d4;Work;Work Street 34;London;GB diff --git a/db/data/Z_bookshop.extension-Z_CustomerPostalAddresses.csv b/db/data/Z_bookshop.extension-Z_CustomerPostalAddresses.csv index 7bafa31b..c8632cf1 100644 --- a/db/data/Z_bookshop.extension-Z_CustomerPostalAddresses.csv +++ b/db/data/Z_bookshop.extension-Z_CustomerPostalAddresses.csv @@ -1,5 +1,5 @@ -ID;modifiedAt;createdAt;createdBy;modifiedBy;Z_Customer_ID;Z_description;Z_street;Z_town;Z_country_code -1e2f2640-6866-4dcf-8f4d-3027aa831cad;2019-04-04;2019-01-31;admin@business.com;admin@business.com;8e2f2640-6866-4dcf-8f4d-3027aa831cad;Home;Hauptstrasse 11;Berlin;DE -24e718c9-ff99-47f1-8ca3-950c850777d4;2019-04-04;2019-01-30;admin@business.com;admin@business.com;74e718c9-ff99-47f1-8ca3-950c850777d4;Home;Main Street 22;London;GB -3e2f2640-6866-4dcf-8f4d-3027aa831cad;2019-04-04;2019-01-31;admin@business.com;admin@business.com;8e2f2640-6866-4dcf-8f4d-3027aa831cad;Work;Siemensstrasse 21;Berlin;DE -44e718c9-ff99-47f1-8ca3-950c850777d4;2019-04-04;2019-01-30;admin@business.com;admin@business.com;74e718c9-ff99-47f1-8ca3-950c850777d4;Work;Work Street 34;London;GB +Z_ID;Z_Customer_Z_ID;Z_description;Z_street;Z_town;Z_country_code +1e2f2640-6866-4dcf-8f4d-3027aa831cad;8e2f2640-6866-4dcf-8f4d-3027aa831cad;Home;Hauptstrasse 11;Berlin;DE +24e718c9-ff99-47f1-8ca3-950c850777d4;74e718c9-ff99-47f1-8ca3-950c850777d4;Home;Main Street 22;London;GB +3e2f2640-6866-4dcf-8f4d-3027aa831cad;8e2f2640-6866-4dcf-8f4d-3027aa831cad;Work;Siemensstrasse 21;Berlin;DE +44e718c9-ff99-47f1-8ca3-950c850777d4;74e718c9-ff99-47f1-8ca3-950c850777d4;Work;Work Street 34;London;GB diff --git a/db/data/Z_bookshop.extension-Z_Customers._csv b/db/data/Z_bookshop.extension-Z_Customers._csv new file mode 100644 index 00000000..b490b075 --- /dev/null +++ b/db/data/Z_bookshop.extension-Z_Customers._csv @@ -0,0 +1,3 @@ +ID;modifiedAt;createdAt;createdBy;modifiedBy;Z_email;Z_firstName;Z_lastName;Z_creditCardNo;Z_dateOfBirth;Z_status;Z_creditScore +8e2f2640-6866-4dcf-8f4d-3027aa831cad;2019-04-04;2019-01-31;admin@business.com;admin@business.com;john.doe@test.com;John;Doe;9977-6655-4433-2211;1970-01-01;gold;80.0 +74e718c9-ff99-47f1-8ca3-950c850777d4;2019-04-04;2019-01-30;admin@business.com;admin@business.com;jane.doe@sap.com;Jane;Doe;2211-3344-5566-7788;1980-11-11;platinum;100.0 \ No newline at end of file diff --git a/db/data/Z_bookshop.extension-Z_Customers.csv b/db/data/Z_bookshop.extension-Z_Customers.csv index b490b075..adf464dd 100644 --- a/db/data/Z_bookshop.extension-Z_Customers.csv +++ b/db/data/Z_bookshop.extension-Z_Customers.csv @@ -1,3 +1,3 @@ -ID;modifiedAt;createdAt;createdBy;modifiedBy;Z_email;Z_firstName;Z_lastName;Z_creditCardNo;Z_dateOfBirth;Z_status;Z_creditScore -8e2f2640-6866-4dcf-8f4d-3027aa831cad;2019-04-04;2019-01-31;admin@business.com;admin@business.com;john.doe@test.com;John;Doe;9977-6655-4433-2211;1970-01-01;gold;80.0 -74e718c9-ff99-47f1-8ca3-950c850777d4;2019-04-04;2019-01-30;admin@business.com;admin@business.com;jane.doe@sap.com;Jane;Doe;2211-3344-5566-7788;1980-11-11;platinum;100.0 \ No newline at end of file +Z_ID;Z_email;Z_firstName;Z_lastName;Z_creditCardNo;Z_dateOfBirth;Z_status;Z_creditScore +8e2f2640-6866-4dcf-8f4d-3027aa831cad;john.doe@test.com;John;Doe;9977-6655-4433-2211;1970-01-01;gold;80.0 +74e718c9-ff99-47f1-8ca3-950c850777d4;jane.doe@sap.com;Jane;Doe;2211-3344-5566-7788;1980-11-11;platinum;100.0 \ No newline at end of file diff --git a/db/data/sap.capire.orders-Orders._csv b/db/data/sap.capire.orders-Orders._csv new file mode 100644 index 00000000..141d9cb3 --- /dev/null +++ b/db/data/sap.capire.orders-Orders._csv @@ -0,0 +1,3 @@ +ID;createdAt;createdBy;buyer;OrderNo;currency_code;Z_Customer_ID;Z_priority +7e2f2640-6866-4dcf-8f4d-3027aa831cad;2019-01-31;john.doe@test.com;john.doe@test.com;1;EUR;8e2f2640-6866-4dcf-8f4d-3027aa831cad;high +64e718c9-ff99-47f1-8ca3-950c850777d4;2019-01-30;jane.doe@test.com;jane.doe@test.com;2;EUR;74e718c9-ff99-47f1-8ca3-950c850777d4;low \ No newline at end of file diff --git a/db/data/sap.capire.orders-Orders.csv b/db/data/sap.capire.orders-Orders.csv index 141d9cb3..09acc6b9 100644 --- a/db/data/sap.capire.orders-Orders.csv +++ b/db/data/sap.capire.orders-Orders.csv @@ -1,3 +1,3 @@ -ID;createdAt;createdBy;buyer;OrderNo;currency_code;Z_Customer_ID;Z_priority +ID;createdAt;createdBy;buyer;OrderNo;currency_code;Z_Customer_Z_ID;Z_priority 7e2f2640-6866-4dcf-8f4d-3027aa831cad;2019-01-31;john.doe@test.com;john.doe@test.com;1;EUR;8e2f2640-6866-4dcf-8f4d-3027aa831cad;high 64e718c9-ff99-47f1-8ca3-950c850777d4;2019-01-30;jane.doe@test.com;jane.doe@test.com;2;EUR;74e718c9-ff99-47f1-8ca3-950c850777d4;low \ No newline at end of file diff --git a/db/extension.cds b/db/extension.cds index f43bc945..03742caa 100644 --- a/db/extension.cds +++ b/db/extension.cds @@ -17,7 +17,9 @@ extend orders.Orders with { } // new entity - as association target -entity Z_Customers : cuid, managed { +entity Z_Customers // : cuid, managed +{ + key Z_ID : UUID; // workaround Z_email : String; Z_firstName : String; Z_lastName : String; @@ -35,7 +37,9 @@ annotate Z_Customers with @assert.unique: { Z_email: [ Z_email ] } } // new entity - as composition target -entity Z_CustomerPostalAddresses : cuid, managed { +entity Z_CustomerPostalAddresses // : +{ + key Z_ID : UUID; // workaround Z_Customer : Association to one Z_Customers; Z_description : String; Z_street : String; @@ -44,8 +48,9 @@ entity Z_CustomerPostalAddresses : cuid, managed { }; // new entity - as composition target -entity Z_Remarks : cuid, managed +entity Z_Remarks // : cuid, managed { + key Z_ID : UUID; // workaround Z_parent : Association to one orders.Orders; Z_number : Integer; Z_remarksLine : String; diff --git a/gen/srv/srv/csn.json b/gen/srv/srv/csn.json index c76010dd..8d454115 100644 --- a/gen/srv/srv/csn.json +++ b/gen/srv/srv/csn.json @@ -1,11 +1,11 @@ { - "namespace": "sap.bookshop.extension", + "namespace": "Z_bookshop.extension", "definitions": { - "sap.bookshop.extension.Customers": { + "Z_bookshop.extension.Z_Customers": { "kind": "entity", - "@assert.unique.email": [ + "@assert.unique.Z_email": [ { - "=": "email" + "=": "Z_email" } ], "includes": [ @@ -78,23 +78,23 @@ "type": "User", "length": 255 }, - "email": { + "Z_email": { "@mandatory": true, "type": "cds.String" }, - "firstName": { + "Z_firstName": { "type": "cds.String" }, - "lastName": { + "Z_lastName": { "type": "cds.String" }, - "creditCardNo": { + "Z_creditCardNo": { "type": "cds.String" }, - "dateOfBirth": { + "Z_dateOfBirth": { "type": "cds.Date" }, - "status": { + "Z_status": { "@assert.range": true, "type": "cds.String", "enum": { @@ -107,7 +107,7 @@ "val": "bronze" } }, - "creditScore": { + "Z_creditScore": { "@assert.range": [ 1, 100 @@ -116,87 +116,43 @@ "default": { "val": 50 } + }, + "Z_PostalAddresses": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "Z_bookshop.extension.Z_CustomerPostalAddresses", + "on": [ + { + "ref": [ + "Z_PostalAddresses", + "Z_Customer" + ] + }, + "=", + { + "ref": [ + "$self" + ] + } + ] } } }, - "sap.bookshop.extension.CustomerPostalAddresses": { + "Z_bookshop.extension.Z_CustomerPostalAddresses": { "kind": "entity", - "includes": [ - "cuid", - "managed" - ], "elements": { - "ID": { + "Z_ID": { "@Core.Computed": true, - "key": true, "type": "cds.UUID" }, - "createdAt": { - "@Core.Immutable": true, - "@UI.HiddenFilter": true, - "@cds.on.insert": { - "=": "$now" - }, - "@odata.on.insert": { - "#": "now" - }, - "@readonly": true, - "@title": "{i18n>CreatedAt}", - "type": "cds.Timestamp" - }, - "createdBy": { - "@Core.Immutable": true, - "@UI.HiddenFilter": true, - "@cds.on.insert": { - "=": "$user" - }, - "@description": "{i18n>UserID.Description}", - "@odata.on.insert": { - "#": "user" - }, - "@readonly": true, - "@title": "{i18n>CreatedBy}", - "type": "User", - "length": 255 - }, - "modifiedAt": { - "@UI.HiddenFilter": true, - "@cds.on.insert": { - "=": "$now" - }, - "@cds.on.update": { - "=": "$now" - }, - "@odata.on.update": { - "#": "now" - }, - "@readonly": true, - "@title": "{i18n>ChangedAt}", - "type": "cds.Timestamp" - }, - "modifiedBy": { - "@UI.HiddenFilter": true, - "@cds.on.insert": { - "=": "$user" - }, - "@cds.on.update": { - "=": "$user" - }, - "@description": "{i18n>UserID.Description}", - "@odata.on.update": { - "#": "user" - }, - "@readonly": true, - "@title": "{i18n>ChangedBy}", - "type": "User", - "length": 255 - }, - "Customer": { + "Z_Customer": { "type": "cds.Association", "cardinality": { "max": 1 }, - "target": "sap.bookshop.extension.Customers", + "target": "Z_bookshop.extension.Z_Customers", "keys": [ { "ref": [ @@ -205,16 +161,16 @@ } ] }, - "description": { + "Z_description": { "type": "cds.String" }, - "street": { + "Z_street": { "type": "cds.String" }, - "town": { + "Z_town": { "type": "cds.String" }, - "country": { + "Z_country": { "@description": "{i18n>CountryCode.Description}", "@title": "{i18n>Country}", "type": "Country", @@ -229,79 +185,14 @@ } } }, - "sap.bookshop.extension.Remarks": { + "Z_bookshop.extension.Z_Remarks": { "kind": "entity", - "includes": [ - "cuid", - "managed" - ], "elements": { - "ID": { + "Z_ID": { "@Core.Computed": true, - "key": true, "type": "cds.UUID" }, - "createdAt": { - "@Core.Immutable": true, - "@UI.HiddenFilter": true, - "@cds.on.insert": { - "=": "$now" - }, - "@odata.on.insert": { - "#": "now" - }, - "@readonly": true, - "@title": "{i18n>CreatedAt}", - "type": "cds.Timestamp" - }, - "createdBy": { - "@Core.Immutable": true, - "@UI.HiddenFilter": true, - "@cds.on.insert": { - "=": "$user" - }, - "@description": "{i18n>UserID.Description}", - "@odata.on.insert": { - "#": "user" - }, - "@readonly": true, - "@title": "{i18n>CreatedBy}", - "type": "User", - "length": 255 - }, - "modifiedAt": { - "@UI.HiddenFilter": true, - "@cds.on.insert": { - "=": "$now" - }, - "@cds.on.update": { - "=": "$now" - }, - "@odata.on.update": { - "#": "now" - }, - "@readonly": true, - "@title": "{i18n>ChangedAt}", - "type": "cds.Timestamp" - }, - "modifiedBy": { - "@UI.HiddenFilter": true, - "@cds.on.insert": { - "=": "$user" - }, - "@cds.on.update": { - "=": "$user" - }, - "@description": "{i18n>UserID.Description}", - "@odata.on.update": { - "#": "user" - }, - "@readonly": true, - "@title": "{i18n>ChangedBy}", - "type": "User", - "length": 255 - }, - "parent": { + "Z_parent": { "type": "cds.Association", "cardinality": { "max": 1 @@ -315,103 +206,104 @@ } ] }, - "number": { + "Z_number": { "type": "cds.Integer" }, - "remarksLine": { + "Z_remarksLine": { "type": "cds.String" } } }, - "OrdersService.Customers": { + "OrdersService.Z_Customers": { "kind": "entity", "@UI.Facets": [ { "$Type": "UI.ReferenceFacet", "Label": "Main", "Target": "@UI.FieldGroup#Main" + }, + { + "$Type": "UI.ReferenceFacet", + "Label": "Customer Postal Addresses", + "Target": "Z_PostalAddresses/@UI.LineItem" } ], "@UI.FieldGroup#Main.Data": [ { "Value": { - "=": "firstName" + "=": "Z_firstName" } }, { "Value": { - "=": "lastName" + "=": "Z_lastName" } }, { "Value": { - "=": "email" + "=": "Z_email" } }, { "Value": { - "=": "status" + "=": "Z_status" } }, { "Value": { - "=": "creditScore" + "=": "Z_creditScore" } } ], "@UI.HeaderInfo.Title.$Type": "UI.DataField", "@UI.HeaderInfo.Title.Value": { - "=": "email" + "=": "Z_email" }, "@UI.HeaderInfo.TypeName": "Customer", "@UI.HeaderInfo.TypeNamePlural": "Customers", "@UI.LineItem": [ { "Value": { - "=": "firstName" + "=": "Z_firstName" } }, { "Value": { - "=": "lastName" + "=": "Z_lastName" } }, { "Value": { - "=": "email" + "=": "Z_email" } }, { "Value": { - "=": "status" + "=": "Z_status" } }, { "Value": { - "=": "creditScore" + "=": "Z_creditScore" } } ], - "@assert.unique.email": [ + "@assert.unique.Z_email": [ { - "=": "email" + "=": "Z_email" } ], "@odata.draft.enabled": true, "projection": { "from": { "ref": [ - "sap.bookshop.extension.Customers" + "Z_bookshop.extension.Z_Customers" ] } }, "elements": { "ID": { - "@Common.Text": { - "=": "email" - }, "@Core.Computed": true, - "@UI.Hidden": true, "key": true, "type": "cds.UUID" }, @@ -475,28 +367,28 @@ "type": "User", "length": 255 }, - "email": { + "Z_email": { "@mandatory": true, "@title": "Email", "type": "cds.String" }, - "firstName": { + "Z_firstName": { "@title": "First Name", "type": "cds.String" }, - "lastName": { + "Z_lastName": { "@title": "Last Name", "type": "cds.String" }, - "creditCardNo": { + "Z_creditCardNo": { "@title": "Credit Card No", "type": "cds.String" }, - "dateOfBirth": { + "Z_dateOfBirth": { "@title": "Date of Birth", "type": "cds.Date" }, - "status": { + "Z_status": { "@assert.range": true, "@title": "Status", "type": "cds.String", @@ -510,7 +402,7 @@ "val": "bronze" } }, - "creditScore": { + "Z_creditScore": { "@assert.range": [ 1, 100 @@ -520,191 +412,24 @@ "default": { "val": 50 } - } - } - }, - "OrdersService.CustomerPostalAddresses": { - "kind": "entity", - "@UI.Facets": [ - { - "$Type": "UI.ReferenceFacet", - "Label": "Main", - "Target": "@UI.FieldGroup#Main" - } - ], - "@UI.FieldGroup#Main.Data": [ - { - "Value": { - "=": "Customer_ID" - } }, - { - "Value": { - "=": "description" - } - }, - { - "Value": { - "=": "street" - } - }, - { - "Value": { - "=": "town" - } - }, - { - "Value": { - "=": "country_code" - } - } - ], - "@UI.HeaderInfo.Title.$Type": "UI.DataField", - "@UI.HeaderInfo.Title.Value": { - "=": "description" - }, - "@UI.HeaderInfo.TypeName": "CustomerPostalAddress", - "@UI.HeaderInfo.TypeNamePlural": "CustomerPostalAddresses", - "@UI.LineItem": [ - { - "Value": { - "=": "Customer_ID" - } - }, - { - "Value": { - "=": "description" - } - }, - { - "Value": { - "=": "street" - } - }, - { - "Value": { - "=": "town" - } - }, - { - "Value": { - "=": "country_code" - } - } - ], - "@odata.draft.enabled": true, - "projection": { - "from": { - "ref": [ - "sap.bookshop.extension.CustomerPostalAddresses" - ] - } - }, - "elements": { - "ID": { - "@Common.Text": { - "=": "description" - }, - "@Core.Computed": true, - "@UI.Hidden": true, - "key": true, - "type": "cds.UUID" - }, - "createdAt": { - "@Core.Immutable": true, - "@UI.HiddenFilter": true, - "@cds.on.insert": { - "=": "$now" - }, - "@odata.on.insert": { - "#": "now" - }, - "@readonly": true, - "@title": "{i18n>CreatedAt}", - "type": "cds.Timestamp" - }, - "createdBy": { - "@Core.Immutable": true, - "@UI.HiddenFilter": true, - "@cds.on.insert": { - "=": "$user" - }, - "@description": "{i18n>UserID.Description}", - "@odata.on.insert": { - "#": "user" - }, - "@readonly": true, - "@title": "{i18n>CreatedBy}", - "type": "User", - "length": 255 - }, - "modifiedAt": { - "@UI.HiddenFilter": true, - "@cds.on.insert": { - "=": "$now" - }, - "@cds.on.update": { - "=": "$now" - }, - "@odata.on.update": { - "#": "now" - }, - "@readonly": true, - "@title": "{i18n>ChangedAt}", - "type": "cds.Timestamp" - }, - "modifiedBy": { - "@UI.HiddenFilter": true, - "@cds.on.insert": { - "=": "$user" - }, - "@cds.on.update": { - "=": "$user" - }, - "@description": "{i18n>UserID.Description}", - "@odata.on.update": { - "#": "user" - }, - "@readonly": true, - "@title": "{i18n>ChangedBy}", - "type": "User", - "length": 255 - }, - "Customer": { - "type": "cds.Association", + "Z_PostalAddresses": { + "type": "cds.Composition", "cardinality": { - "max": 1 + "max": "*" }, - "target": "OrdersService.Customers", - "keys": [ + "target": "OrdersService.Z_CustomerPostalAddresses", + "on": [ { "ref": [ - "ID" + "Z_PostalAddresses", + "Z_Customer" ] - } - ] - }, - "description": { - "@title": "Description", - "type": "cds.String" - }, - "street": { - "@title": "Street", - "type": "cds.String" - }, - "town": { - "@title": "Town", - "type": "cds.String" - }, - "country": { - "@description": "{i18n>CountryCode.Description}", - "@title": "Country", - "type": "Country", - "target": "OrdersService.Countries", - "keys": [ + }, + "=", { "ref": [ - "code" + "$self" ] } ] @@ -2887,7 +2612,7 @@ { "$Type": "UI.ReferenceFacet", "Label": "Remarks", - "Target": "Remarks/@UI.LineItem" + "Target": "Z_Remarks/@UI.LineItem" } ], "@UI.FieldGroup#Created.Data": [ @@ -2911,9 +2636,15 @@ }, { "Value": { - "=": "Customer_ID" + "=": "Z_Customer_ID" }, "Label": "Customer" + }, + { + "Value": { + "=": "Z_priority" + }, + "Label": "Priority" } ], "@UI.FieldGroup#Modified.Data": [ @@ -2977,13 +2708,13 @@ }, { "Value": { - "=": "Customer_ID" + "=": "Z_Customer_ID" }, "Label": "Customer" }, { "Value": { - "=": "priority" + "=": "Z_priority" }, "Label": "Priority" }, @@ -3120,36 +2851,33 @@ } ] }, - "Customer": { + "Z_Customer": { "@Common.Text": { - "=": "Customer.email" + "=": "Z_Customer.Z_email" }, "@Common.TextArrangement": { "#": "TextOnly" }, - "@Common.ValueList.CollectionPath": "Customers", + "@Common.ValueList.CollectionPath": "Z_Customers", "@Common.ValueList.Label": "Customers", "@Common.ValueList.Parameters": [ { "$Type": "Common.ValueListParameterInOut", "LocalDataProperty": { - "=": "Customer_ID" + "=": "Z_Customer_ID" }, "ValueListProperty": "ID" }, { "$Type": "Common.ValueListParameterDisplayOnly", - "ValueListProperty": "email" + "ValueListProperty": "Z_email" } ], - "@UI.MultiLineText": { - "=": "IsActiveEntity" - }, "type": "cds.Association", "cardinality": { "max": 1 }, - "target": "OrdersService.Customers", + "target": "OrdersService.Z_Customers", "keys": [ { "ref": [ @@ -3158,21 +2886,28 @@ } ] }, - "Remarks": { + "Z_Remarks": { "type": "cds.Composition", "cardinality": { "max": "*" }, - "target": "OrdersService.Remarks", - "keys": [ + "target": "OrdersService.Z_Remarks", + "on": [ { "ref": [ - "ID" + "Z_Remarks", + "Z_parent" + ] + }, + "=", + { + "ref": [ + "$self" ] } ] }, - "priority": { + "Z_priority": { "@assert.range": true, "type": "cds.String", "enum": { @@ -3914,12 +3649,12 @@ } ] }, - "Customer": { + "Z_Customer": { "type": "cds.Association", "cardinality": { "max": 1 }, - "target": "sap.bookshop.extension.Customers", + "target": "Z_bookshop.extension.Z_Customers", "keys": [ { "ref": [ @@ -3928,21 +3663,28 @@ } ] }, - "Remarks": { + "Z_Remarks": { "type": "cds.Composition", "cardinality": { "max": "*" }, - "target": "sap.bookshop.extension.Remarks", - "keys": [ + "target": "Z_bookshop.extension.Z_Remarks", + "on": [ { "ref": [ - "ID" + "Z_Remarks", + "Z_parent" + ] + }, + "=", + { + "ref": [ + "$self" ] } ] }, - "priority": { + "Z_priority": { "@assert.range": true, "type": "cds.String", "enum": { @@ -4422,122 +4164,120 @@ } } }, - "OrdersService.Countries": { + "OrdersService.Z_CustomerPostalAddresses": { "kind": "entity", - "@UI.Identification": [ + "@UI.Facets": [ + { + "$Type": "UI.ReferenceFacet", + "Label": "Main", + "Target": "@UI.FieldGroup#Main" + } + ], + "@UI.FieldGroup#Main.Data": [ { "Value": { - "=": "name" + "=": "Z_description" + } + }, + { + "Value": { + "=": "Z_street" + } + }, + { + "Value": { + "=": "Z_town" + } + }, + { + "Value": { + "=": "Z_country_code" + } + } + ], + "@UI.HeaderInfo.Title.$Type": "UI.DataField", + "@UI.HeaderInfo.Title.Value": { + "=": "Z_description" + }, + "@UI.HeaderInfo.TypeName": "CustomerPostalAddress", + "@UI.HeaderInfo.TypeNamePlural": "CustomerPostalAddresses", + "@UI.LineItem": [ + { + "Value": { + "=": "Z_description" + } + }, + { + "Value": { + "=": "Z_street" + } + }, + { + "Value": { + "=": "Z_town" + } + }, + { + "Value": { + "=": "Z_country_code" } } ], - "@cds.autoexpose": true, "@cds.autoexposed": true, - "@cds.odata.valuelist": true, - "@cds.persistence.skip": "if-unused", "query": { "SELECT": { "from": { "ref": [ - "sap.common.Countries" + "Z_bookshop.extension.Z_CustomerPostalAddresses" ] } } }, "elements": { - "name": { - "@title": "{i18n>Name}", - "localized": true, - "type": "cds.String", - "length": 255 - }, - "descr": { - "@title": "{i18n>Description}", - "localized": true, - "type": "cds.String", - "length": 1000 - }, - "code": { + "Z_ID": { "@Common.Text": { - "=": "name" + "=": "Z_description" }, - "@title": "{i18n>CountryCode}", - "key": true, - "type": "cds.String", - "length": 3 + "@Core.Computed": true, + "@UI.Hidden": true, + "type": "cds.UUID" }, - "regions": { - "type": "cds.Composition", - "cardinality": { - "max": "*" - }, - "target": "OrdersService.Regions", - "on": [ - { - "ref": [ - "regions", - "_parent" - ] - }, - "=", - { - "ref": [ - "$self", - "code" - ] - } - ] - }, - "texts": { - "type": "cds.Composition", - "cardinality": { - "max": "*" - }, - "target": "OrdersService.Countries.texts", - "on": [ - { - "ref": [ - "texts", - "code" - ] - }, - "=", - { - "ref": [ - "code" - ] - } - ] - }, - "localized": { + "Z_Customer": { "type": "cds.Association", - "target": "OrdersService.Countries.texts", - "on": [ + "cardinality": { + "max": 1 + }, + "target": "OrdersService.Z_Customers", + "keys": [ { "ref": [ - "localized", - "code" + "ID" ] - }, - "=", + } + ] + }, + "Z_description": { + "@title": "Description", + "type": "cds.String" + }, + "Z_street": { + "@title": "Street", + "type": "cds.String" + }, + "Z_town": { + "@title": "Town", + "type": "cds.String" + }, + "Z_country": { + "@description": "{i18n>CountryCode.Description}", + "@title": "Country", + "type": "Country", + "target": "OrdersService.Countries", + "keys": [ { "ref": [ "code" ] - }, - "and", - { - "ref": [ - "localized", - "locale" - ] - }, - "=", - { - "ref": [ - "$user", - "locale" - ] } ] } @@ -5715,7 +5455,7 @@ } } }, - "OrdersService.Remarks": { + "OrdersService.Z_Remarks": { "kind": "entity", "@UI.Facets": [ { @@ -5727,30 +5467,30 @@ "@UI.FieldGroup#Main.Data": [ { "Value": { - "=": "number" + "=": "Z_number" } }, { "Value": { - "=": "remarksLine" + "=": "Z_remarksLine" } } ], "@UI.HeaderInfo.Title.$Type": "UI.DataField", "@UI.HeaderInfo.Title.Value": { - "=": "number" + "=": "Z_number" }, "@UI.HeaderInfo.TypeName": "Remark", "@UI.HeaderInfo.TypeNamePlural": "Remarks", "@UI.LineItem": [ { "Value": { - "=": "number" + "=": "Z_number" } }, { "Value": { - "=": "remarksLine" + "=": "Z_remarksLine" } } ], @@ -5759,78 +5499,17 @@ "SELECT": { "from": { "ref": [ - "sap.bookshop.extension.Remarks" + "Z_bookshop.extension.Z_Remarks" ] } } }, "elements": { - "ID": { + "Z_ID": { "@Core.Computed": true, - "key": true, "type": "cds.UUID" }, - "createdAt": { - "@Core.Immutable": true, - "@UI.HiddenFilter": true, - "@cds.on.insert": { - "=": "$now" - }, - "@odata.on.insert": { - "#": "now" - }, - "@readonly": true, - "@title": "{i18n>CreatedAt}", - "type": "cds.Timestamp" - }, - "createdBy": { - "@Core.Immutable": true, - "@UI.HiddenFilter": true, - "@cds.on.insert": { - "=": "$user" - }, - "@description": "{i18n>UserID.Description}", - "@odata.on.insert": { - "#": "user" - }, - "@readonly": true, - "@title": "{i18n>CreatedBy}", - "type": "User", - "length": 255 - }, - "modifiedAt": { - "@UI.HiddenFilter": true, - "@cds.on.insert": { - "=": "$now" - }, - "@cds.on.update": { - "=": "$now" - }, - "@odata.on.update": { - "#": "now" - }, - "@readonly": true, - "@title": "{i18n>ChangedAt}", - "type": "cds.Timestamp" - }, - "modifiedBy": { - "@UI.HiddenFilter": true, - "@cds.on.insert": { - "=": "$user" - }, - "@cds.on.update": { - "=": "$user" - }, - "@description": "{i18n>UserID.Description}", - "@odata.on.update": { - "#": "user" - }, - "@readonly": true, - "@title": "{i18n>ChangedBy}", - "type": "User", - "length": 255 - }, - "parent": { + "Z_parent": { "type": "cds.Association", "cardinality": { "max": 1 @@ -5844,11 +5523,11 @@ } ] }, - "number": { + "Z_number": { "@title": "Remark Number", "type": "cds.Integer" }, - "remarksLine": { + "Z_remarksLine": { "@title": "Remark", "type": "cds.String" } @@ -5897,7 +5576,7 @@ } } }, - "OrdersService.Regions": { + "OrdersService.Countries": { "kind": "entity", "@UI.Identification": [ { @@ -5914,7 +5593,7 @@ "SELECT": { "from": { "ref": [ - "sap.common_countries.Regions" + "sap.common.Countries" ] } } @@ -5933,11 +5612,15 @@ "length": 1000 }, "code": { + "@Common.Text": { + "=": "name" + }, + "@title": "{i18n>CountryCode}", "key": true, "type": "cds.String", - "length": 5 + "length": 3 }, - "children": { + "regions": { "type": "cds.Composition", "cardinality": { "max": "*" @@ -5946,7 +5629,7 @@ "on": [ { "ref": [ - "children", + "regions", "_parent" ] }, @@ -5959,37 +5642,12 @@ } ] }, - "cities": { - "type": "cds.Composition", - "cardinality": { - "max": "*" - }, - "target": "OrdersService.Cities", - "on": [ - { - "ref": [ - "cities", - "region" - ] - }, - "=", - { - "ref": [ - "$self" - ] - } - ] - }, - "_parent": { - "type": "cds.String", - "length": 11 - }, "texts": { "type": "cds.Composition", "cardinality": { "max": "*" }, - "target": "OrdersService.Regions.texts", + "target": "OrdersService.Countries.texts", "on": [ { "ref": [ @@ -6007,7 +5665,7 @@ }, "localized": { "type": "cds.Association", - "target": "OrdersService.Regions.texts", + "target": "OrdersService.Countries.texts", "on": [ { "ref": [ @@ -6039,49 +5697,6 @@ } } }, - "OrdersService.Countries.texts": { - "kind": "entity", - "@cds.autoexposed": true, - "@odata.draft.enabled": false, - "query": { - "SELECT": { - "from": { - "ref": [ - "sap.common.Countries.texts" - ] - } - } - }, - "elements": { - "locale": { - "key": true, - "type": "cds.String", - "length": 14 - }, - "name": { - "@title": "{i18n>Name}", - "localized": false, - "type": "cds.String", - "length": 255 - }, - "descr": { - "@title": "{i18n>Description}", - "localized": false, - "type": "cds.String", - "length": 1000 - }, - "code": { - "@Common.Text": { - "=": "name" - }, - "@odata.containment.ignore": true, - "@title": "{i18n>CountryCode}", - "key": true, - "type": "cds.String", - "length": 3 - } - } - }, "AdminService.Genres.texts": { "kind": "entity", "@cds.autoexposed": true, @@ -6289,6 +5904,191 @@ } } }, + "OrdersService.Regions": { + "kind": "entity", + "@UI.Identification": [ + { + "Value": { + "=": "name" + } + } + ], + "@cds.autoexpose": true, + "@cds.autoexposed": true, + "@cds.odata.valuelist": true, + "@cds.persistence.skip": "if-unused", + "query": { + "SELECT": { + "from": { + "ref": [ + "sap.common_countries.Regions" + ] + } + } + }, + "elements": { + "name": { + "@title": "{i18n>Name}", + "localized": true, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": true, + "type": "cds.String", + "length": 1000 + }, + "code": { + "key": true, + "type": "cds.String", + "length": 5 + }, + "children": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "OrdersService.Regions", + "on": [ + { + "ref": [ + "children", + "_parent" + ] + }, + "=", + { + "ref": [ + "$self", + "code" + ] + } + ] + }, + "cities": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "OrdersService.Cities", + "on": [ + { + "ref": [ + "cities", + "region" + ] + }, + "=", + { + "ref": [ + "$self" + ] + } + ] + }, + "_parent": { + "type": "cds.String", + "length": 11 + }, + "texts": { + "type": "cds.Composition", + "cardinality": { + "max": "*" + }, + "target": "OrdersService.Regions.texts", + "on": [ + { + "ref": [ + "texts", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + } + ] + }, + "localized": { + "type": "cds.Association", + "target": "OrdersService.Regions.texts", + "on": [ + { + "ref": [ + "localized", + "code" + ] + }, + "=", + { + "ref": [ + "code" + ] + }, + "and", + { + "ref": [ + "localized", + "locale" + ] + }, + "=", + { + "ref": [ + "$user", + "locale" + ] + } + ] + } + } + }, + "OrdersService.Countries.texts": { + "kind": "entity", + "@cds.autoexposed": true, + "@odata.draft.enabled": false, + "query": { + "SELECT": { + "from": { + "ref": [ + "sap.common.Countries.texts" + ] + } + } + }, + "elements": { + "locale": { + "key": true, + "type": "cds.String", + "length": 14 + }, + "name": { + "@title": "{i18n>Name}", + "localized": false, + "type": "cds.String", + "length": 255 + }, + "descr": { + "@title": "{i18n>Description}", + "localized": false, + "type": "cds.String", + "length": 1000 + }, + "code": { + "@Common.Text": { + "=": "name" + }, + "@odata.containment.ignore": true, + "@title": "{i18n>CountryCode}", + "key": true, + "type": "cds.String", + "length": 3 + } + } + }, "OrdersService.Cities": { "kind": "entity", "@UI.Identification": [ @@ -6690,6 +6490,17 @@ { "annotate": "cds.UUID", "@Core.Computed": true + }, + { + "annotate": "OrdersService.Z_Customers", + "elements": { + "Z_ID": { + "@Common.Text": { + "=": "Z_email" + }, + "@UI.Hidden": true + } + } } ], "meta": { diff --git a/srv/extension_service_ui.cds b/srv/extension_service_ui.cds index f322f8d0..7bd7b953 100644 --- a/srv/extension_service_ui.cds +++ b/srv/extension_service_ui.cds @@ -7,7 +7,7 @@ annotate OrdersService.Z_Customers with @odata.draft.enabled; // new entity -- titles annotate OrdersService.Z_Customers with { - ID @( + Z_ID @( // workaround UI.Hidden, Common : {Text : Z_email} ); @@ -22,7 +22,7 @@ annotate OrdersService.Z_Customers with { // new entity -- titles annotate OrdersService.Z_CustomerPostalAddresses with { - ID @( + Z_ID @( // workaround UI.Hidden, Common : {Text : Z_description} ); @@ -137,8 +137,8 @@ annotate OrdersService.Orders with @( SelectionFields: [ createdAt, createdBy ], LineItem: [ {Value: OrderNo, Label:'OrderNo'}, - {Value: Z_Customer_ID, Label:'Customer'}, // extension field - {Value: Z_priority, Label:'Priority'}, // extension field + {Value: Z_Customer_Z_ID, Label:'Customer'}, // workaround - extension field + {Value: Z_priority, Label:'Priority'}, // extension field {Value: createdAt, Label:'Date'} ], HeaderInfo: { @@ -165,9 +165,9 @@ annotate OrdersService.Orders with @( ], FieldGroup#Details: { Data: [ - {Value: currency_code, Label:'Currency'}, // correction - {Value: Z_Customer_ID, Label:'Customer'}, // extension field - {Value: Z_priority, Label:'Priority'} // extension field + {Value: currency_code, Label:'Currency'}, // correction + {Value: Z_Customer_Z_ID, Label:'Customer'}, // workaround - extension field + {Value: Z_priority, Label:'Priority'} // extension field ] }, FieldGroup#Created: { @@ -183,10 +183,12 @@ annotate OrdersService.Orders with @( ] }, }, -) { - createdAt @UI.HiddenFilter:false; - createdBy @UI.HiddenFilter:false; -}; +) +//{ +// createdAt @UI.HiddenFilter:false; +// createdBy @UI.HiddenFilter:false; +//} +; // new field in existing service -- exchange ID with text annotate OrdersService.Orders with { @@ -199,8 +201,8 @@ annotate OrdersService.Orders with @( CollectionPath: 'Z_Customers', Parameters: [ { $Type: 'Common.ValueListParameterInOut', - LocalDataProperty: Z_Customer_ID, - ValueListProperty: 'ID' + LocalDataProperty: Z_Customer_Z_ID, // workaround + ValueListProperty: 'Z_ID' // workaround }, { $Type: 'Common.ValueListParameterDisplayOnly', ValueListProperty: 'Z_email'