diff --git a/srv/extension_service.cds b/srv/extension_service.cds index 0a1cc05d..3e67b60d 100644 --- a/srv/extension_service.cds +++ b/srv/extension_service.cds @@ -9,4 +9,3 @@ extend service OrdersService with { entity Z_Customers as projection on ext.Z_Customers; entity Z_SalesRegion as projection on ext.Z_SalesRegion; } - diff --git a/srv/extension_service_ui.cds b/srv/extension_service_ui.cds index 5faae590..c7cd0e07 100644 --- a/srv/extension_service_ui.cds +++ b/srv/extension_service_ui.cds @@ -7,6 +7,7 @@ annotate OrdersService.Z_Customers with @odata.draft.enabled; // new codelist entity -- draft enabled annotate OrdersService.Z_SalesRegion with @odata.draft.enabled; + // new entity -- titles annotate OrdersService.Z_Customers with { ID @( @@ -168,25 +169,69 @@ annotate OrdersService.Z_Remarks with @( // extend existing entity Orders with new extension fields and new composition +@odata.draft.enabled annotate OrdersService.Orders with @( UI: { - LineItem: [..., - {Value: Z_Customer_ID, Label:'Customer'}, // extension field - {Value: Z_SalesRegion_regionCode, Label:'Sales Region'}, // extension field - {Value: Z_priority, Label:'Priority'} // extension field + SelectionFields: [ createdAt, createdBy ], + LineItem: [ + {Value: OrderNo, Label:'OrderNo'}, + {Value: Z_Customer_ID, Label:'Customer'}, // extension field + {Value: Z_SalesRegion_regionCode, Label:'Sales Region'}, // extension field + {Value: Z_priority, Label:'Priority'}, // extension field + {Value: createdAt, Label:'Date'} ], - Facets: [..., - {$Type: 'UI.ReferenceFacet', Label: 'Remarks', Target: 'Z_Remarks/@UI.LineItem'} // new composition + HeaderInfo: { + TypeName: 'Order', TypeNamePlural: 'Orders', + Title: { + Label: 'Order number ', //A label is possible but it is not considered on the ObjectPage yet + Value: OrderNo + }, + Description: {Value: createdBy} + }, + Identification: [ //Is the main field group + {Value: createdBy, Label:'Customer'}, + {Value: createdAt, Label:'Date'}, + {Value: OrderNo }, + ], + HeaderFacets: [ + {$Type: 'UI.ReferenceFacet', Label: '{i18n>Created}', Target: '@UI.FieldGroup#Created'}, + {$Type: 'UI.ReferenceFacet', Label: '{i18n>Modified}', Target: '@UI.FieldGroup#Modified'}, + ], + Facets: [ + {$Type: 'UI.ReferenceFacet', Label: '{i18n>Details}', Target: '@UI.FieldGroup#Details'}, + {$Type: 'UI.ReferenceFacet', Label: '{i18n>OrderItems}', Target: 'Items/@UI.LineItem'}, + {$Type: 'UI.ReferenceFacet', Label: 'Remarks', Target: 'Z_Remarks/@UI.LineItem'} // new composition ], FieldGroup#Details: { - Data: [..., - {Value: Z_Customer_ID, Label:'Customer'}, // extension field + Data: [ + {Value: currency_code, Label:'Currency'}, + {Value: Z_Customer_ID, Label:'Customer'}, // extension field {Value: Z_SalesRegion_regionCode, Label:'Sales Region'}, // extension field - {Value: Z_priority, Label:'Priority'} // extension field + {Value: Z_priority, Label:'Priority'} // extension field ] - } - } -); + }, + FieldGroup#Created: { + Data: [ + {Value: createdBy}, + {Value: createdAt}, + ] + }, + FieldGroup#Modified: { + Data: [ + {Value: modifiedBy}, + {Value: modifiedAt}, + ] + }, + }, +) + +{ + createdAt @UI.HiddenFilter:false; + createdBy @UI.HiddenFilter:false; +} +; + + // new field in existing service -- exchange ID with text annotate OrdersService.Orders with { @@ -209,4 +254,5 @@ annotate OrdersService.Orders with @( } } ); -} \ No newline at end of file +} +