You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The system executes PATCH requests with delta payload using batch delete and [upsert](../java/working-with-cql/query-api#bulk-upsert) statements. These requests are more efficient than OData [batch requests](https://docs.oasis-open.org/odata/odata/v4.01/csprd02/part1-protocol/odata-v4.01-csprd02-part1-protocol.html#sec_BatchRequests).
105
+
The system executes PATCH requests with a delta payload using batch delete and [upsert](../java/working-with-cql/query-api#bulk-upsert) statements. These requests are more efficient than OData [batch requests](https://docs.oasis-open.org/odata/odata/v4.01/csprd02/part1-protocol/odata-v4.01-csprd02-part1-protocol.html#sec_BatchRequests).
106
106
107
107
Use PATCH on entity collections to upload mass data using a dedicated service secured with [role-based authorization](../guides/security/authorization#requires). Enable delta updates explicitly by annotating the entity with
108
108
@@ -122,7 +122,7 @@ Limitations:
122
122
123
123
## Mapping of CDS Types { #type-mapping}
124
124
125
-
The table below lists [CDS's built-in types](../cds/types) and their mapping to the OData EDM type system.
125
+
The following table lists [CDS's built-in types](../cds/types) and their mapping to the OData EDM type system.
@@ -144,7 +144,7 @@ The table below lists [CDS's built-in types](../cds/types) and their mapping to
144
144
|`Binary`|_Edm.Binary_|
145
145
|`LargeBinary`|_Edm.Binary_|
146
146
|`LargeString`|_Edm.String_|
147
-
|`Map`| represented as empty, open complex type |
147
+
|`Map`| represented as an empty, open complex type |
148
148
|`Vector`| not supported <sup>(2)</sup> |
149
149
150
150
> <sup>(1)</sup> Mapping can be changed with, for example, `@odata.Type='Edm.String'`
@@ -187,7 +187,7 @@ entity Books {
187
187
```
188
188
189
189
::: warning
190
-
This annotation affects the client-side facing API only. No automatic data modification occurs behind the scenes, such as rounding, truncation, or conversion. You must perform all required modifications on the data stream so that the values match their type in the API.
190
+
This annotation affects the client-side facing API only. No automatic data modification occurs behind the scenes, such as rounding, truncation, or conversion. You must perform all the required modifications on the data stream so that the values match their type in the API.
191
191
If you don't do the required conversions, you can "cast" any scalar CDS type into any incompatible EDM type:
192
192
193
193
```cds
@@ -272,8 +272,8 @@ For each annotated target definition in CSN, the rules for restructuring from CS
272
272
273
273
1. Annotations with a single-identifier key are skipped (as OData annotations always have a `@Vocabulary.Term...` key signature).
274
274
2. All individual annotations with the same `@<Vocabulary.Term>` prefix are collected.
275
-
3. If there is only one annotation without a suffix, → that one is a scalar or array value of an OData term.
276
-
4. If there are more annotations with suffix key parts → it's a record value for the OData term.
275
+
3. If there's only one annotation without a suffix, → that one is a scalar or array value of an OData term.
276
+
4. If there are more annotations with suffix key parts →, it's a record value for the OData term.
277
277
278
278
279
279
### Qualified Annotations
@@ -355,7 +355,7 @@ All three expressions result in the following rendering:
355
355
356
356
> Note: The `@Some` annotation isn't a valid term definition. The following example illustrates the rendering of record values.
357
357
358
-
The system maps record-like source structures to `<Record>` nodes in EDMX, with primitive types translated analogously to the above:
358
+
The system maps record-like source structures to `<Record>` nodes in EDMX, with primitive types translated analogously to what was mentioned earlier:
359
359
360
360
```cds
361
361
@Some.Record: {
@@ -563,7 +563,7 @@ to these references, and they are translated to the flat model.
563
563
564
564
::: tip
565
565
566
-
Although CAP supports structured types and elements, we recommend to use them only
566
+
Although CAP supports structured types and elements, we recommend using them only
567
567
if they bring a real benefit. In general, you should keep your models as flat as possible.
568
568
569
569
:::
@@ -732,7 +732,7 @@ If the expression you provide as an annotation value is more complex than just a
732
732
733
733
::: info
734
734
735
-
While the flattening of references described in the section above is applied to all
735
+
While the flattening of references described in the preceding section is applied to all
736
736
annotations, the syntactic translation of expressions is only done for annotations
737
737
defined in one of the [OData vocabularies](#vocabularies).
738
738
@@ -849,7 +849,7 @@ converted into the corresponding EDM primitive type.
849
849
850
850
CAP only provides a syntactic translation. It is up to each client
851
851
whether an expression value is supported for a particular annotation.
852
-
See for example [SAP Fiori Elements' list of supported annotations](https://ui5.sap.com/#/topic/0e7b890677c240b8ba65f8e8d417c048).
852
+
See, for example, [SAP Fiori Elements' list of supported annotations](https://ui5.sap.com/#/topic/0e7b890677c240b8ba65f8e8d417c048).
853
853
854
854
:::
855
855
@@ -922,9 +922,9 @@ In any case, the resulting EDMX is:
922
922
923
923
::: tip Use CDS expression syntax
924
924
925
-
Use the EDM JSON expression syntax only as fallback mechanism.
925
+
Use the EDM JSON expression syntax only as a fallback mechanism.
926
926
Whenever possible, use [expression-like annotation values](#expression-annotations) instead.
927
-
For the example below, simply write `@UI.Hidden: (status <> 'visible')`.
927
+
For the following example, simply write `@UI.Hidden: (status <> 'visible')`.
928
928
929
929
:::
930
930
@@ -1062,9 +1062,9 @@ The annotation is added to the OData API, as well as the mandatory reference to
1062
1062
```
1063
1063
1064
1064
The compiler evaluates neither annotation values nor the URI.
1065
-
It is your responsibility to make the URI accessible if required.
1065
+
It is your responsibility to make the URI accessible if necessary.
1066
1066
Unlike for the standard vocabularies listed above, the compiler has no access to the content of
1067
-
the vocabulary, so the values are translated completely generically.
1067
+
the vocabulary, so the values are translated generically.
1068
1068
1069
1069
1070
1070
## Data Aggregation
@@ -1186,7 +1186,7 @@ GET /Books?$apply=aggregate(stock with sum as stock) HTTP/1.1
1186
1186
1187
1187
#### Currencies and Units of Measure
1188
1188
1189
-
If a property represents a monetary amount, it may have a related property that indicates the amount's *currency code*. Analogously, a property representing a measured quantity can be related to a *unit of measure*. To indicate that a property is a currency code or a unit of measure it can be annotated with the [Semantics Annotations](https://help.sap.com/docs/SAP_NETWEAVER_750/cc0c305d2fab47bd808adcad3ca7ee9d/fbcd3a59a94148f6adad80b9c97304ff.html)`@Semantics.currencyCode` or `@Semantics.unitOfMeasure`.
1189
+
If a property represents a monetary amount, it may have a related property that indicates the amount's *currency code*. Analogously, a property representing a measured quantity can be related to a *unit of measure*. To indicate that a property is a currency code or a unit of measure, it can be annotated with the [Semantics Annotations](https://help.sap.com/docs/SAP_NETWEAVER_750/cc0c305d2fab47bd808adcad3ca7ee9d/fbcd3a59a94148f6adad80b9c97304ff.html)`@Semantics.currencyCode` or `@Semantics.unitOfMeasure`.
1190
1190
The aggregation method (typically, sum) is specified with the `@Aggregation.default` annotation.
1191
1191
1192
1192
```cds
@@ -1290,7 +1290,7 @@ Dynamic properties are not persisted in the underlying data source automatically
1290
1290
1291
1291
#### Simple Types
1292
1292
1293
-
The simple values of deserialized JSON payload can be of type: `String`, `Boolean`, `Number` or simply an `Object` for `null` values.
1293
+
The simple values of a deserialized JSON payload can be of type: `String`, `Boolean`, `Number` or simply an `Object` for `null` values.
As mentioned above, you can access singletons without specifying keys in the request URL. They can contain navigation properties, and other entities can include singletons as their navigation properties as well. The `$expand` query option is also supported.
1341
+
As mentioned earlier, you can access singletons without specifying keys in the request URL. They can contain navigation properties, and other entities can include singletons as their navigation properties as well. The `$expand` query option is also supported.
0 commit comments