public class LegalCategory extends VdmEntity<LegalCategory>
Original entity name from the Odata EDM: A_LegalCategoryType
Modifier and Type | Class and Description |
---|---|
static class |
LegalCategory.LegalCategoryBuilder
Helper class to allow for fluent creation of LegalCategory instances.
|
Modifier and Type | Field and Description |
---|---|
static LegalCategorySelectable |
ALL_FIELDS
Selector for all available fields of LegalCategory.
|
static LegalCategoryField<String> |
LGL_CNTNT_M_CAT_CONSTANT
Use with available fluent helpers to apply the LglCntntMCatConstant field to query operations.
|
static LegalCategoryField<Boolean> |
LGL_CNTNT_M_CAT_IS_MULTI_SELECTION
Use with available fluent helpers to apply the LglCntntMCatIsMultiSelection field to query operations.
|
static LegalCategoryField<Boolean> |
LGL_CNTNT_M_CAT_IS_OBSOLETE
Use with available fluent helpers to apply the LglCntntMCatIsObsolete field to query operations.
|
static LegalCategoryField<Boolean> |
LGL_CNTNT_M_CAT_IS_SELECT
Use with available fluent helpers to apply the LglCntntMCatIsSelect field to query operations.
|
static LegalCategoryField<Boolean> |
LGL_CNTNT_M_CAT_IS_SYST_GENERATED
Use with available fluent helpers to apply the LglCntntMCatIsSystGenerated field to query operations.
|
static LegalCategoryField<Short> |
LGL_CNTNT_M_CAT_LEVEL
Use with available fluent helpers to apply the LglCntntMCatLevel field to query operations.
|
static LegalCategoryField<String> |
LGL_CNTNT_M_CAT_MODEL
Use with available fluent helpers to apply the LglCntntMCatModel field to query operations.
|
static LegalCategoryField<String> |
LGL_CNTNT_M_CAT_PURPOSE
Use with available fluent helpers to apply the LglCntntMCatPurpose field to query operations.
|
static LegalCategoryField<String> |
LGL_CNTNT_M_CAT_TYPE
Use with available fluent helpers to apply the LglCntntMCatType field to query operations.
|
static LegalCategoryField<String> |
LGL_CNTNT_M_CATEGORY
Use with available fluent helpers to apply the LglCntntMCategory field to query operations.
|
static LegalCategoryField<String> |
LGL_CNTNT_M_CATEGORY_VALUE
Use with available fluent helpers to apply the LglCntntMCategoryValue field to query operations.
|
static LegalCategoryField<String> |
LGL_CNTNT_M_CHANGED_BY_USER
Use with available fluent helpers to apply the LglCntntMChangedByUser field to query operations.
|
static LegalCategoryField<ZonedDateTime> |
LGL_CNTNT_M_CHANGED_UTC_DATE_TIME
Use with available fluent helpers to apply the LglCntntMChangedUTCDateTime field to query operations.
|
static LegalCategoryField<String> |
LGL_CNTNT_M_CREATED_BY_USER
Use with available fluent helpers to apply the LglCntntMCreatedByUser field to query operations.
|
static LegalCategoryField<ZonedDateTime> |
LGL_CNTNT_M_CREATED_UTC_DATE_TIME
Use with available fluent helpers to apply the LglCntntMCreatedUTCDateTime field to query operations.
|
static LegalCategoryField<String> |
LGL_CNTNT_M_PARENT_CATEGORY
Use with available fluent helpers to apply the LglCntntMParentCategory field to query operations.
|
static LegalCategoryField<String> |
LGL_CNTNT_M_ROOT_CATEGORY
Use with available fluent helpers to apply the LglCntntMRootCategory field to query operations.
|
static LegalCategoryLink<LegalCategoryText> |
TO_LEGAL_CATEGORY_TEXT
Use with available fluent helpers to apply the to_LegalCategoryText navigation property to query
operations.
|
changedOriginalFields
Constructor and Description |
---|
LegalCategory() |
LegalCategory(String lglCntntMCategory,
String lglCntntMCatType,
Boolean lglCntntMCatIsSelect,
Boolean lglCntntMCatIsMultiSelection,
Short lglCntntMCatLevel,
Boolean lglCntntMCatIsObsolete,
String lglCntntMCatModel,
String lglCntntMCategoryValue,
String lglCntntMChangedByUser,
ZonedDateTime lglCntntMChangedUTCDateTime,
String lglCntntMCreatedByUser,
ZonedDateTime lglCntntMCreatedUTCDateTime,
String lglCntntMParentCategory,
String lglCntntMRootCategory,
String lglCntntMCatPurpose,
Boolean lglCntntMCatIsSystGenerated,
String lglCntntMCatConstant,
List<LegalCategoryText> toLegalCategoryText) |
Modifier and Type | Method and Description |
---|---|
void |
addLegalCategoryText(LegalCategoryText... entity)
Adds elements to the list of associated LegalCategoryText entities.
|
void |
attachToService(String servicePath,
HttpDestinationProperties destination)
Sets the service path and destination for the fetch commands of this entity.
|
static LegalCategory.LegalCategoryBuilder |
builder() |
protected boolean |
canEqual(Object other) |
boolean |
equals(Object o) |
List<LegalCategoryText> |
fetchLegalCategoryText()
Fetches the LegalCategoryText entities (one to many) associated with this entity.
|
static <T> LegalCategoryField<T> |
field(String fieldName,
Class<T> fieldType)
Use with available fluent helpers to apply an extension field to query operations.
|
static <T,DomainT> |
field(String fieldName,
TypeConverter<T,DomainT> typeConverter)
Use with available fluent helpers to apply an extension field to query operations.
|
protected void |
fromMap(Map<String,Object> inputValues) |
protected String |
getDefaultServicePath()
Used by fluent helpers and navigation property methods to construct OData queries.
|
HttpDestinationProperties |
getDestinationForFetch()
Convienence field for reusing the same destination with multiple queries (e.g.
|
protected String |
getEntityCollection()
Used by fluent helpers and navigation property methods to construct OData queries.
|
protected Map<String,Object> |
getKey() |
io.vavr.control.Option<List<LegalCategoryText>> |
getLegalCategoryTextIfPresent()
Retrieval of associated LegalCategoryText entities (one to many).
|
List<LegalCategoryText> |
getLegalCategoryTextOrFetch()
Retrieval of associated LegalCategoryText entities (one to many).
|
String |
getLglCntntMCatConstant()
Constraints: Not nullable, Maximum length: 55
|
String |
getLglCntntMCategory()
(Key Field) Constraints: Not nullable, Maximum length: 6
|
String |
getLglCntntMCategoryValue()
Constraints: Not nullable, Maximum length: 15
|
Boolean |
getLglCntntMCatIsMultiSelection()
Constraints: none
|
Boolean |
getLglCntntMCatIsObsolete()
Constraints: none
|
Boolean |
getLglCntntMCatIsSelect()
Constraints: none
|
Boolean |
getLglCntntMCatIsSystGenerated()
Constraints: none
|
Short |
getLglCntntMCatLevel()
Constraints: none
|
String |
getLglCntntMCatModel()
Constraints: Not nullable, Maximum length: 120
|
String |
getLglCntntMCatPurpose()
Constraints: Not nullable, Maximum length: 1
|
String |
getLglCntntMCatType()
Constraints: Not nullable, Maximum length: 1
|
String |
getLglCntntMChangedByUser()
Constraints: Not nullable, Maximum length: 12
|
ZonedDateTime |
getLglCntntMChangedUTCDateTime()
Constraints: Not nullable, Precision: 7
|
String |
getLglCntntMCreatedByUser()
Constraints: Not nullable, Maximum length: 12
|
ZonedDateTime |
getLglCntntMCreatedUTCDateTime()
Constraints: Not nullable, Precision: 7
|
String |
getLglCntntMParentCategory()
Constraints: Not nullable, Maximum length: 6
|
String |
getLglCntntMRootCategory()
Constraints: Not nullable, Maximum length: 6
|
Class<LegalCategory> |
getType() |
int |
hashCode() |
void |
setLegalCategoryText(List<LegalCategoryText> value)
Overwrites the list of associated LegalCategoryText entities for the loaded navigation property
to_LegalCategoryText.
|
void |
setLglCntntMCatConstant(String lglCntntMCatConstant)
Constraints: Not nullable, Maximum length: 55
|
void |
setLglCntntMCategory(String lglCntntMCategory)
(Key Field) Constraints: Not nullable, Maximum length: 6
|
void |
setLglCntntMCategoryValue(String lglCntntMCategoryValue)
Constraints: Not nullable, Maximum length: 15
|
void |
setLglCntntMCatIsMultiSelection(Boolean lglCntntMCatIsMultiSelection)
Constraints: none
|
void |
setLglCntntMCatIsObsolete(Boolean lglCntntMCatIsObsolete)
Constraints: none
|
void |
setLglCntntMCatIsSelect(Boolean lglCntntMCatIsSelect)
Constraints: none
|
void |
setLglCntntMCatIsSystGenerated(Boolean lglCntntMCatIsSystGenerated)
Constraints: none
|
void |
setLglCntntMCatLevel(Short lglCntntMCatLevel)
Constraints: none
|
void |
setLglCntntMCatModel(String lglCntntMCatModel)
Constraints: Not nullable, Maximum length: 120
|
void |
setLglCntntMCatPurpose(String lglCntntMCatPurpose)
Constraints: Not nullable, Maximum length: 1
|
void |
setLglCntntMCatType(String lglCntntMCatType)
Constraints: Not nullable, Maximum length: 1
|
void |
setLglCntntMChangedByUser(String lglCntntMChangedByUser)
Constraints: Not nullable, Maximum length: 12
|
void |
setLglCntntMChangedUTCDateTime(ZonedDateTime lglCntntMChangedUTCDateTime)
Constraints: Not nullable, Precision: 7
|
void |
setLglCntntMCreatedByUser(String lglCntntMCreatedByUser)
Constraints: Not nullable, Maximum length: 12
|
void |
setLglCntntMCreatedUTCDateTime(ZonedDateTime lglCntntMCreatedUTCDateTime)
Constraints: Not nullable, Precision: 7
|
void |
setLglCntntMParentCategory(String lglCntntMParentCategory)
Constraints: Not nullable, Maximum length: 6
|
void |
setLglCntntMRootCategory(String lglCntntMRootCategory)
Constraints: Not nullable, Maximum length: 6
|
protected void |
setServicePathForFetch(String servicePathForFetch)
The service path only used for the fetch commands of this entity.
|
protected Map<String,Object> |
toMapOfFields() |
protected Map<String,Object> |
toMapOfNavigationProperties() |
String |
toString() |
getServicePathForFetch, getVersionIdentifier, setDestinationForFetch, setVersionIdentifier
getChangedFields, getCustomField, getCustomField, getCustomFieldNames, getCustomFields, getSetOfCustomFields, getSetOfFields, getSetOfNavigationProperties, hasCustomField, hasCustomField, rememberChangedField, resetChangedFields, setCustomField, setCustomField, toMap, toMapOfCustomFields
public static final LegalCategorySelectable ALL_FIELDS
public static final LegalCategoryField<String> LGL_CNTNT_M_CATEGORY
public static final LegalCategoryField<String> LGL_CNTNT_M_CAT_TYPE
public static final LegalCategoryField<Boolean> LGL_CNTNT_M_CAT_IS_SELECT
public static final LegalCategoryField<Boolean> LGL_CNTNT_M_CAT_IS_MULTI_SELECTION
public static final LegalCategoryField<Short> LGL_CNTNT_M_CAT_LEVEL
public static final LegalCategoryField<Boolean> LGL_CNTNT_M_CAT_IS_OBSOLETE
public static final LegalCategoryField<String> LGL_CNTNT_M_CAT_MODEL
public static final LegalCategoryField<String> LGL_CNTNT_M_CATEGORY_VALUE
public static final LegalCategoryField<String> LGL_CNTNT_M_CHANGED_BY_USER
public static final LegalCategoryField<ZonedDateTime> LGL_CNTNT_M_CHANGED_UTC_DATE_TIME
public static final LegalCategoryField<String> LGL_CNTNT_M_CREATED_BY_USER
public static final LegalCategoryField<ZonedDateTime> LGL_CNTNT_M_CREATED_UTC_DATE_TIME
public static final LegalCategoryField<String> LGL_CNTNT_M_PARENT_CATEGORY
public static final LegalCategoryField<String> LGL_CNTNT_M_ROOT_CATEGORY
public static final LegalCategoryField<String> LGL_CNTNT_M_CAT_PURPOSE
public static final LegalCategoryField<Boolean> LGL_CNTNT_M_CAT_IS_SYST_GENERATED
public static final LegalCategoryField<String> LGL_CNTNT_M_CAT_CONSTANT
public static final LegalCategoryLink<LegalCategoryText> TO_LEGAL_CATEGORY_TEXT
public LegalCategory()
public LegalCategory(@Nullable String lglCntntMCategory, @Nullable String lglCntntMCatType, @Nullable Boolean lglCntntMCatIsSelect, @Nullable Boolean lglCntntMCatIsMultiSelection, @Nullable Short lglCntntMCatLevel, @Nullable Boolean lglCntntMCatIsObsolete, @Nullable String lglCntntMCatModel, @Nullable String lglCntntMCategoryValue, @Nullable String lglCntntMChangedByUser, @Nullable ZonedDateTime lglCntntMChangedUTCDateTime, @Nullable String lglCntntMCreatedByUser, @Nullable ZonedDateTime lglCntntMCreatedUTCDateTime, @Nullable String lglCntntMParentCategory, @Nullable String lglCntntMRootCategory, @Nullable String lglCntntMCatPurpose, @Nullable Boolean lglCntntMCatIsSystGenerated, @Nullable String lglCntntMCatConstant, List<LegalCategoryText> toLegalCategoryText)
@Nonnull public Class<LegalCategory> getType()
getType
in class VdmObject<LegalCategory>
public void setLglCntntMCategory(@Nullable String lglCntntMCategory)
Original property name from the Odata EDM: LglCntntMCategory
lglCntntMCategory
- Category IDpublic void setLglCntntMCatType(@Nullable String lglCntntMCatType)
Original property name from the Odata EDM: LglCntntMCatType
lglCntntMCatType
- Category Typepublic void setLglCntntMCatIsSelect(@Nullable Boolean lglCntntMCatIsSelect)
Original property name from the Odata EDM: LglCntntMCatIsSelect
lglCntntMCatIsSelect
- Category Is Selectablepublic void setLglCntntMCatIsMultiSelection(@Nullable Boolean lglCntntMCatIsMultiSelection)
Original property name from the Odata EDM: LglCntntMCatIsMultiSelection
lglCntntMCatIsMultiSelection
- Multiple Selection of Categoriespublic void setLglCntntMCatLevel(@Nullable Short lglCntntMCatLevel)
Original property name from the Odata EDM: LglCntntMCatLevel
lglCntntMCatLevel
- Category Levelpublic void setLglCntntMCatIsObsolete(@Nullable Boolean lglCntntMCatIsObsolete)
Original property name from the Odata EDM: LglCntntMCatIsObsolete
lglCntntMCatIsObsolete
- Category Is Obsoletepublic void setLglCntntMCatModel(@Nullable String lglCntntMCatModel)
Original property name from the Odata EDM: LglCntntMCatModel
lglCntntMCatModel
- Model for Dynamic Categoriespublic void setLglCntntMCategoryValue(@Nullable String lglCntntMCategoryValue)
Original property name from the Odata EDM: LglCntntMCategoryValue
lglCntntMCategoryValue
- Category Valuepublic void setLglCntntMChangedByUser(@Nullable String lglCntntMChangedByUser)
Original property name from the Odata EDM: LglCntntMChangedByUser
lglCntntMChangedByUser
- Changed By Userpublic void setLglCntntMChangedUTCDateTime(@Nullable ZonedDateTime lglCntntMChangedUTCDateTime)
Original property name from the Odata EDM: LglCntntMChangedUTCDateTime
lglCntntMChangedUTCDateTime
- Changed UTC Date Timepublic void setLglCntntMCreatedByUser(@Nullable String lglCntntMCreatedByUser)
Original property name from the Odata EDM: LglCntntMCreatedByUser
lglCntntMCreatedByUser
- Created Bypublic void setLglCntntMCreatedUTCDateTime(@Nullable ZonedDateTime lglCntntMCreatedUTCDateTime)
Original property name from the Odata EDM: LglCntntMCreatedUTCDateTime
lglCntntMCreatedUTCDateTime
- Created Onpublic void setLglCntntMParentCategory(@Nullable String lglCntntMParentCategory)
Original property name from the Odata EDM: LglCntntMParentCategory
lglCntntMParentCategory
- Parent Category IDpublic void setLglCntntMRootCategory(@Nullable String lglCntntMRootCategory)
Original property name from the Odata EDM: LglCntntMRootCategory
lglCntntMRootCategory
- Root Category IDpublic void setLglCntntMCatPurpose(@Nullable String lglCntntMCatPurpose)
Original property name from the Odata EDM: LglCntntMCatPurpose
lglCntntMCatPurpose
- Category Purposepublic void setLglCntntMCatIsSystGenerated(@Nullable Boolean lglCntntMCatIsSystGenerated)
Original property name from the Odata EDM: LglCntntMCatIsSystGenerated
lglCntntMCatIsSystGenerated
- System generated categorypublic void setLglCntntMCatConstant(@Nullable String lglCntntMCatConstant)
Original property name from the Odata EDM: LglCntntMCatConstant
lglCntntMCatConstant
- A category qualifier denotes the value that meets the standard of a legal document.protected String getEntityCollection()
VdmEntity
getEntityCollection
in class VdmEntity<LegalCategory>
@Nonnull protected Map<String,Object> getKey()
getKey
in class VdmObject<LegalCategory>
@Nonnull protected Map<String,Object> toMapOfFields()
toMapOfFields
in class VdmObject<LegalCategory>
protected void fromMap(Map<String,Object> inputValues)
fromMap
in class VdmObject<LegalCategory>
@Nonnull public static <T> LegalCategoryField<T> field(@Nonnull String fieldName, @Nonnull Class<T> fieldType)
T
- The type of the extension field when performing value comparisons.fieldName
- The name of the extension field as returned by the OData service.fieldType
- The Java type to use for the extension field when performing value comparisons.@Nonnull public static <T,DomainT> LegalCategoryField<T> field(@Nonnull String fieldName, @Nonnull TypeConverter<T,DomainT> typeConverter)
T
- The type of the extension field when performing value comparisons.DomainT
- The type of the extension field as returned by the OData service.typeConverter
- A TypeConverterfieldName
- The name of the extension field as returned by the OData service.@Nullable public HttpDestinationProperties getDestinationForFetch()
VdmEntity
getDestinationForFetch
in class VdmEntity<LegalCategory>
protected void setServicePathForFetch(@Nullable String servicePathForFetch)
VdmEntity
Note: Use with caution, as this can easily break the fetch call on this entity. See the interface of the corresponding service for the default service path.
setServicePathForFetch
in class VdmEntity<LegalCategory>
public void attachToService(@Nullable String servicePath, @Nonnull HttpDestinationProperties destination)
VdmEntity
Note: Use with caution, as this can easily break the fetch calls on this entity. See the interface of the corresponding service for the default service path.
attachToService
in class VdmEntity<LegalCategory>
servicePath
- Optional parameter. New service path to apply to this entity and any associated entities that were
previously fetched. If a null value is provided and the service path has never been set, then the
service path will be set to the default defined in the corresponding service interface.destination
- New destination to apply to this entity and any associated entities that were previously fetched.protected String getDefaultServicePath()
VdmEntity
getDefaultServicePath
in class VdmEntity<LegalCategory>
protocol://hostname:port
and the OData resource name (entity set, $metadata
, etc.)@Nonnull protected Map<String,Object> toMapOfNavigationProperties()
toMapOfNavigationProperties
in class VdmObject<LegalCategory>
@Nonnull public List<LegalCategoryText> fetchLegalCategoryText() throws com.sap.cloud.sdk.odatav2.connectivity.ODataException
Please note: This method will not cache or persist the query results.
com.sap.cloud.sdk.odatav2.connectivity.ODataException
- If the entity is unmanaged, i.e. it has not been retrieved using the OData VDM's services and
therefore has no ERP configuration context assigned. An entity is managed if it has been either
retrieved using the VDM's services or returned from the VDM's services as the result of a CREATE or
UPDATE call.@Nonnull public List<LegalCategoryText> getLegalCategoryTextOrFetch() throws com.sap.cloud.sdk.odatav2.connectivity.ODataException
If the navigation property to_LegalCategoryText of a queried LegalCategory is operated lazily, an ODataException can be thrown in case of an OData query error.
Please note: Lazy loading of OData entity associations is the process of asynchronous retrieval and persisting of items from a navigation property. If a lazy property is requested by the application for the first time and it has not yet been loaded, an OData query will be run in order to load the missing information and its result will get cached for future invocations.
com.sap.cloud.sdk.odatav2.connectivity.ODataException
- If the entity is unmanaged, i.e. it has not been retrieved using the OData VDM's services and
therefore has no ERP configuration context assigned. An entity is managed if it has been either
retrieved using the VDM's services or returned from the VDM's services as the result of a CREATE or
UPDATE call.@Nonnull public io.vavr.control.Option<List<LegalCategoryText>> getLegalCategoryTextIfPresent()
If the navigation property for an entity LegalCategory has not been resolved yet, this method will not
query further information. Instead its Option
result state will be empty
.
Option
with result state
empty
is returned.public void setLegalCategoryText(@Nonnull List<LegalCategoryText> value)
If the navigation property to_LegalCategoryText of a queried LegalCategory is operated lazily, an ODataException can be thrown in case of an OData query error.
Please note: Lazy loading of OData entity associations is the process of asynchronous retrieval and persisting of items from a navigation property. If a lazy property is requested by the application for the first time and it has not yet been loaded, an OData query will be run in order to load the missing information and its result will get cached for future invocations.
value
- List of LegalCategoryText entities.public void addLegalCategoryText(LegalCategoryText... entity)
If the navigation property to_LegalCategoryText of a queried LegalCategory is operated lazily, an ODataException can be thrown in case of an OData query error.
Please note: Lazy loading of OData entity associations is the process of asynchronous retrieval and persisting of items from a navigation property. If a lazy property is requested by the application for the first time and it has not yet been loaded, an OData query will be run in order to load the missing information and its result will get cached for future invocations.
entity
- Array of LegalCategoryText entities.@Nonnull public static LegalCategory.LegalCategoryBuilder builder()
@Nullable public String getLglCntntMCategory()
Original property name from the Odata EDM: LglCntntMCategory
@Nullable public String getLglCntntMCatType()
Original property name from the Odata EDM: LglCntntMCatType
@Nullable public Boolean getLglCntntMCatIsSelect()
Original property name from the Odata EDM: LglCntntMCatIsSelect
@Nullable public Boolean getLglCntntMCatIsMultiSelection()
Original property name from the Odata EDM: LglCntntMCatIsMultiSelection
@Nullable public Short getLglCntntMCatLevel()
Original property name from the Odata EDM: LglCntntMCatLevel
@Nullable public Boolean getLglCntntMCatIsObsolete()
Original property name from the Odata EDM: LglCntntMCatIsObsolete
@Nullable public String getLglCntntMCatModel()
Original property name from the Odata EDM: LglCntntMCatModel
@Nullable public String getLglCntntMCategoryValue()
Original property name from the Odata EDM: LglCntntMCategoryValue
@Nullable public String getLglCntntMChangedByUser()
Original property name from the Odata EDM: LglCntntMChangedByUser
@Nullable public ZonedDateTime getLglCntntMChangedUTCDateTime()
Original property name from the Odata EDM: LglCntntMChangedUTCDateTime
@Nullable public String getLglCntntMCreatedByUser()
Original property name from the Odata EDM: LglCntntMCreatedByUser
@Nullable public ZonedDateTime getLglCntntMCreatedUTCDateTime()
Original property name from the Odata EDM: LglCntntMCreatedUTCDateTime
@Nullable public String getLglCntntMParentCategory()
Original property name from the Odata EDM: LglCntntMParentCategory
@Nullable public String getLglCntntMRootCategory()
Original property name from the Odata EDM: LglCntntMRootCategory
@Nullable public String getLglCntntMCatPurpose()
Original property name from the Odata EDM: LglCntntMCatPurpose
@Nullable public Boolean getLglCntntMCatIsSystGenerated()
Original property name from the Odata EDM: LglCntntMCatIsSystGenerated
@Nullable public String getLglCntntMCatConstant()
Original property name from the Odata EDM: LglCntntMCatConstant
@Nonnull public String toString()
toString
in class VdmObject<LegalCategory>
public boolean equals(@Nullable Object o)
equals
in class VdmObject<LegalCategory>
protected boolean canEqual(@Nullable Object other)
canEqual
in class VdmObject<LegalCategory>
public int hashCode()
hashCode
in class VdmObject<LegalCategory>
Copyright © 2021 SAP SE. All rights reserved.