-
Notifications
You must be signed in to change notification settings - Fork 62
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
8649020
commit bde5886
Showing
9 changed files
with
189 additions
and
143 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
{ | ||
"$Version": "4.01", | ||
"$Reference": { | ||
"https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Core.V1.json": { | ||
"$Include": [{ "$Namespace": "Org.OData.Core.V1", "$Alias": "Core" }] | ||
}, | ||
"https://sap.github.io/odata-vocabularies/vocabularies/Common.json": { | ||
"$Include": [{ "$Namespace": "com.sap.vocabularies.Common.v1", "$Alias": "Common" }] | ||
} | ||
}, | ||
"com.sap.vocabularies.Batch.v1": { | ||
"$Alias": "Batch", | ||
"@Core.Description": "Terms for advanced batch request processing", | ||
"@Core.Description#Published": "2024-08-29 © Copyright 2024 SAP SE. All rights reserved.", | ||
"@Core.Links": [ | ||
{ "rel": "alternate", "href": "https://sap.github.io/odata-vocabularies/vocabularies/Batch.xml" }, | ||
{ "rel": "latest-version", "href": "https://sap.github.io/odata-vocabularies/vocabularies/Batch.json" }, | ||
{ "rel": "describedby", "href": "https://github.com/sap/odata-vocabularies/blob/main/vocabularies/Batch.md" } | ||
], | ||
"@Common.Experimental": true, | ||
"CorrespondingContentIDs": { | ||
"$Kind": "Term", | ||
"$Collection": true, | ||
"$Type": "Batch.CorrespondingContentID", | ||
"$AppliesTo": ["Action"], | ||
"@Common.Experimental": true, | ||
"@Core.Description": "Correspondence between `Core.ContentID` in a parameter and in the return type of an action", | ||
"@Core.LongDescription": "If values in the action invocation are annotated with `Core.ContentID`,\n the corresponding values returned by the action are annotated with the same `Core.ContentID`\n and can thus be referenced in subsequent requests within the same batch request." | ||
}, | ||
"CorrespondingContentID": { | ||
"$Kind": "ComplexType", | ||
"@Common.Experimental": true, | ||
"@Core.Description": "Establishes a correspondence between a value in a parameter and a value in the return type", | ||
"@Core.LongDescription": "Given a sales quotation with items for coffee, sugar and paper,\nthe following batch request to [this service](../examples/Batch.CorrespondingContentIDs-sample.xml)\ninvokes an action to create a sales order for sugar and paper\nand adds a 10% discount for the sugar.\n```json\n{\"requests\": [{\n \"id\": \"1\",\n \"method\": \"post\",\n \"url\": \"SalesQuotation(68)/self.CreateSalesOrder\",\n \"body\": {\n \"items\": [\n {\"product\": \"Sugar\", \"@Core.ContentID\": \"I1\"},\n {\"product\": \"Paper\"}\n ]\n }\n}, {\n \"id\": \"2\",\n \"dependsOn\": [ \"1\" ],\n \"method\": \"post\",\n \"url\": \"$I1/Discounts\",\n \"body\": {\n \"percent\": 10\n }\n}]}\n```\nIn the response to the action invocation the sales order item for the sugar is annotated\nwith `\"@Core.ContentID\": \"I1\"`. The subsequent POST request can reference this item without knowing its key.", | ||
"ParameterValue": { | ||
"$Type": "Edm.AnyPropertyPath", | ||
"@Core.Description": "Path to a value in a parameter that may be annotated with `Core.ContentID`" | ||
}, | ||
"ReturnedValue": { | ||
"$Type": "Edm.AnyPropertyPath", | ||
"@Core.Description": "Path to a value in the return type that will be annotated with the same `Core.ContentID`" | ||
} | ||
} | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
# Batch Vocabulary | ||
**Namespace: [com.sap.vocabularies.Batch.v1](Batch.xml)** | ||
|
||
Terms for advanced batch request processing | ||
|
||
|
||
## Terms | ||
|
||
Term|Type|Description | ||
:---|:---|:---------- | ||
[CorrespondingContentIDs](Batch.xml#L35) *([Experimental](Common.md#Experimental))*|\[[CorrespondingContentID](#CorrespondingContentID)\]|<a name="CorrespondingContentIDs"></a>Correspondence between `Core.ContentID` in a parameter and in the return type of an action<br>If values in the action invocation are annotated with `Core.ContentID`, the corresponding values returned by the action are annotated with the same `Core.ContentID` and can thus be referenced in subsequent requests within the same batch request. | ||
|
||
<a name="CorrespondingContentID"></a> | ||
## [CorrespondingContentID](Batch.xml#L44) *([Experimental](Common.md#Experimental))* | ||
Establishes a correspondence between a value in a parameter and a value in the return type | ||
|
||
Given a sales quotation with items for coffee, sugar and paper, | ||
the following batch request to [this service](../examples/Batch.CorrespondingContentIDs-sample.xml) | ||
invokes an action to create a sales order for sugar and paper | ||
and adds a 10% discount for the sugar. | ||
```json | ||
{"requests": [{ | ||
"id": "1", | ||
"method": "post", | ||
"url": "SalesQuotation(68)/self.CreateSalesOrder", | ||
"body": { | ||
"items": [ | ||
{"product": "Sugar", "@Core.ContentID": "I1"}, | ||
{"product": "Paper"} | ||
] | ||
} | ||
}, { | ||
"id": "2", | ||
"dependsOn": [ "1" ], | ||
"method": "post", | ||
"url": "$I1/Discounts", | ||
"body": { | ||
"percent": 10 | ||
} | ||
}]} | ||
``` | ||
In the response to the action invocation the sales order item for the sugar is annotated | ||
with `"@Core.ContentID": "I1"`. The subsequent POST request can reference this item without knowing its key. | ||
|
||
Property|Type|Description | ||
:-------|:---|:---------- | ||
[ParameterValue](Batch.xml#L76)|AnyPropertyPath|Path to a value in a parameter that may be annotated with `Core.ContentID` | ||
[ReturnedValue](Batch.xml#L79)|AnyPropertyPath|Path to a value in the return type that will be annotated with the same `Core.ContentID` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,87 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.01"> | ||
<edmx:Reference Uri="https://oasis-tcs.github.io/odata-vocabularies/vocabularies/Org.OData.Core.V1.xml"> | ||
<edmx:Include Alias="Core" Namespace="Org.OData.Core.V1" /> | ||
</edmx:Reference> | ||
<edmx:Reference Uri="https://sap.github.io/odata-vocabularies/vocabularies/Common.xml"> | ||
<edmx:Include Alias="Common" Namespace="com.sap.vocabularies.Common.v1" /> | ||
</edmx:Reference> | ||
<edmx:DataServices> | ||
<Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="com.sap.vocabularies.Batch.v1" Alias="Batch"> | ||
<Annotation Term="Core.Description"> | ||
<String>Terms for advanced batch request processing</String> | ||
</Annotation> | ||
<Annotation Term="Core.Description" Qualifier="Published"> | ||
<String>2024-08-29 © Copyright 2024 SAP SE. All rights reserved.</String> | ||
</Annotation> | ||
<Annotation Term="Core.Links"> | ||
<Collection> | ||
<Record> | ||
<PropertyValue Property="rel" String="latest-version" /> | ||
<PropertyValue Property="href" String="https://sap.github.io/odata-vocabularies/vocabularies/Batch.xml" /> | ||
</Record> | ||
<Record> | ||
<PropertyValue Property="rel" String="alternate" /> | ||
<PropertyValue Property="href" String="https://sap.github.io/odata-vocabularies/vocabularies/Batch.json" /> | ||
</Record> | ||
<Record> | ||
<PropertyValue Property="rel" String="describedby" /> | ||
<PropertyValue Property="href" String="https://github.com/sap/odata-vocabularies/blob/main/vocabularies/Batch.md" /> | ||
</Record> | ||
</Collection> | ||
</Annotation> | ||
<Annotation Term="Common.Experimental" /> | ||
|
||
<Term Name="CorrespondingContentIDs" Type="Collection(Batch.CorrespondingContentID)" Nullable="false" AppliesTo="Action"> | ||
<Annotation Term="Common.Experimental" /> | ||
<Annotation Term="Core.Description" String="Correspondence between `Core.ContentID` in a parameter and in the return type of an action" /> | ||
<Annotation Term="Core.LongDescription"> | ||
<String>If values in the action invocation are annotated with `Core.ContentID`, | ||
the corresponding values returned by the action are annotated with the same `Core.ContentID` | ||
and can thus be referenced in subsequent requests within the same batch request.</String> | ||
</Annotation> | ||
</Term> | ||
<ComplexType Name="CorrespondingContentID"> | ||
<Annotation Term="Common.Experimental" /> | ||
<Annotation Term="Core.Description" String="Establishes a correspondence between a value in a parameter and a value in the return type" /> | ||
<Annotation Term="Core.LongDescription"> | ||
<String>Given a sales quotation with items for coffee, sugar and paper, | ||
the following batch request to [this service](../examples/Batch.CorrespondingContentIDs-sample.xml) | ||
invokes an action to create a sales order for sugar and paper | ||
and adds a 10% discount for the sugar. | ||
```json | ||
{"requests": [{ | ||
"id": "1", | ||
"method": "post", | ||
"url": "SalesQuotation(68)/self.CreateSalesOrder", | ||
"body": { | ||
"items": [ | ||
{"product": "Sugar", "@Core.ContentID": "I1"}, | ||
{"product": "Paper"} | ||
] | ||
} | ||
}, { | ||
"id": "2", | ||
"dependsOn": [ "1" ], | ||
"method": "post", | ||
"url": "$I1/Discounts", | ||
"body": { | ||
"percent": 10 | ||
} | ||
}]} | ||
``` | ||
In the response to the action invocation the sales order item for the sugar is annotated | ||
with `"@Core.ContentID": "I1"`. The subsequent POST request can reference this item without knowing its key.</String> | ||
</Annotation> | ||
<Property Name="ParameterValue" Type="Edm.AnyPropertyPath" Nullable="false"> | ||
<Annotation Term="Core.Description" String="Path to a value in a parameter that may be annotated with `Core.ContentID`" /> | ||
</Property> | ||
<Property Name="ReturnedValue" Type="Edm.AnyPropertyPath" Nullable="false"> | ||
<Annotation Term="Core.Description" String="Path to a value in the return type that will be annotated with the same `Core.ContentID`" /> | ||
</Property> | ||
</ComplexType> | ||
|
||
</Schema> | ||
</edmx:DataServices> | ||
</edmx:Edmx> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.