SAP ByDesign component
The SAP ByDesign Component is designed to facilitate interaction with the SAP OData API.
Table of Contents
Description
The SAP ByDesign Component is designed to facilitate interaction with the SAP OData API.
This component has been tested with SAP UI5 Version 1.108.9
, User Interface Version 2408.1.1
.
Credentials
Before you begin using this component, you must expose the necessary objects to the OData API. Detailed instructions can be found here.
The configuration fields for component credentials are as follows:
- Service URL (string, required) - The URL to your OData metadata endpoint, for example,
https://my123456.sapbydesign.com/sap/byd/odata/v1/company/$metadata
.
- Username (string, required) - The username of an individual who has the rights to access this OData endpoint.
- Password (string, required) - The password for OData authentication.
Actions
Delete Object By ID
Delete a single object by its ID.
Configuration Fields
- Object Type - (string, required): Object-type to lookup on. E.g
Users
.
- ID Value - (string, required): Value for ID of the object to delete.
Object with result of delete.
Lookup Object By ID
Lookup a single object by its ID.
Configuration Fields
- Object Type - (string, required): Object-type to lookup on. E.g
Users
.
- ID Value - (string, required): Value for ID of the object to lookup.
Object with result of lookup as value.
Lookup Objects (plural)
Lookup a set of object by defined criteria list. Can be emitted in different way.
Configuration Fields
- Object Type - (dropdown, required): Object-type to lookup on. E.g
Users
.
- Emit Behavior - (dropdown, optional, default
Emit individually
): Defines the way result objects will be emitted, one of Emit page
or Emit individually
.
- Number of search terms - (strings, optional): specify a number of search terms (positive integer number [0-99]).
- Expert Mode for Filter Expression - (checkbox, optional, default to false): if checked, any OData filter expression can be entered in metadata field
Filter Expression
.
If configuration field Expert Mode for Filter Expression
is enabled:
- Filter Expression - (strings, required): any OData filter expression (without
$filter=
). For advanced users. Examples:
startswith(displayName,'J') and jobTitle eq 'Software Engineer'
DocumentType eq 'Order'
If configuration field Expert Mode for Filter Expression
is disabled:
-
Depend on configuration field Number of search terms
. If = N
- N search term and N-1 logical operators will be generated, if = 0 - any search term will be generated.
Each term contains the following fields:
- Field name - (string, required): The name of the chosen entity’s field. You must select one field from the Allowed Values section.
- Condition - (string, required): The condition used to compare the selected field with the value. The available conditions are described as follows:
gt
- Greater than
lt
- Less than
eq
- Equal to
ne
- Not equal to
ge
- Greater than or equal to
le
- Less than or equal to
has
- Contains (in the context of membership or presence)
in
- Belongs to a set or collection
startswith
- Begins with
endswith
- Ends with
contains
- Includes or possesses within
- Field value - (string, required): The value that the field must match according to the specified condition.
- Detect type - (boolean, optional): When set to true, the component will attempt to detect the value type and apply additional conditions, such as adding single quotes to strings.
Between search terms, there is a Logical operator to combine multiple terms. Available options:
Example for Number of search terms = 2
:
{
"sTerm_1": {
"fieldName": "id",
"condition": "eq",
"fieldValue": "1",
"detectType": true
},
"link_1_2": "and",
"sTerm_2": {
"fieldName": "displayName",
"condition": "eq",
"fieldValue": "Cronus",
"detectType": true
}
}
If selected Emit Behavior
is Emit page
additionally fields will be added:
- Page Size - (number, defaults to 100, max 1000): Indicates amount of objects per page.
Make Raw Request
This action executes a custom request.
Configuration Fields
- Don’t throw error on 404 Response - (optional, boolean): Treats 404 HTTP responses as non-errors; defaults to
false
.
- Url - (string, required): The path of the resource relative to the base URL.
- Method - (string, required): The HTTP verb to use in the request, which can be one of
GET
, POST
, PUT
, PATCH
, or DELETE
.
- Request Body - (object, optional): The body of the request to send.
- Headers - (object, optional): You can put here additional headers.
- Status Code - (number, required): The HTTP status code of the response.
- HTTP headers - (object, required): The HTTP headers included in the response.
- Response Body - (object, optional): The body of the HTTP response.
Upsert Object
Updates (if record found) or creates a new object.
Configuration Fields
- Object Type - (dropdown, required): Object-type to upsert
- Field to search object - (dropdown, required): Select uniq field that will be used to search object to perform update
- Throw error if not found - (checkbox, optional): If value to search is provided and object not found, component will throw an error instead of trying to create new
- Value to search in “{Field to search object}” - (string, optional): identifier of the object to upsert.
And dynamically generated fields according to chosen
Upsert Schema
.
The result object from the upsert operation. It contains the full object in the case of creation, and only the object ID if an existing object was updated.
Triggers
Get New and Updated Objects Polling
Retrieve new or updated objects based on timestamp field.
Configuration Fields
- Object Type - (string, required): Object-type to lookup on. E.g
Users
.
- Timestamp field to poll on - (string, optional): Select available timestamp field than will be used to filter new or updated objects
- Emit behavior - (dropdown, optional): Indicates emit objects behavior -
Emit individually
or Emit page
(by default)
- Start Time - (string, optional): The timestamp, in ISO8601 format, to start polling from (exclusive). Default value empty - poll all records
- Size of Polling Page - (optional, positive integer, defaults to 100, max 1000): Indicates the number of items that will be fetched per request
- Additional filter - (string, optional): You can put here additional filter, for example:
city eq 'Leiden'
None.
- For
Fetch page
: An object with key results that has an array as its value
- For
Emit Individually
: Each object fills the entire message
Known Limitations
- For operations that involve changes to objects (create, update, delete), the component will make an additional call to fetch the CSRF protection token.