This Interface represents the request attributes of an entityset request. All entity names used in the request object are the technical names of the entities, for example the names of the properties in the underlying data structures.
Method GET_ENTITY_TYPE_NAME
This method is used to return the technical name of the target entity type
Parameter |
Description |
---|---|
RV_ENTITY_TYPE |
This parameter of the type /IWBEP/IF_MGW_CORE_SRV_RUNTIME=>TY_E_TECHNICAL_NAME is used to return the technical name of the target entity type. |
Method GET_ENTITY_SET_NAME
This method returns the technical name of the target entity set.
Parameter |
Description |
---|---|
RV_ENTITY_TYPE |
This parameter of the type /IWBEP/IF_MGW_CORE_SRV_RUNTIME=>TY_E_TECHNICAL_NAME is used to return the technical name of the target entity set. |
Method GET_FILTER
This method is used to return the instance of the filter object.
Parameter |
Description |
---|---|
RO_FILTER |
This parameter of the type /IWBEP/IF_MGW_REQ_FILTER is used to return the technical name of the target entity type. |
Parameter | Description |
---|---|
RV_IF_MODIFIED_SINCE | This parameter is of type TZNTSTMPS. |
Method GET_SOURCE_ENTITY_TYPE_NAME
This method is used to return the technical name of the source entity type.
Parameter |
Description |
---|---|
RV_ENTITY_TYPE |
This parameter of the type /IWBEP/IF_MGW_CORE_SRV_RUNTIME=>TY_E_TECHNICAL_NAME is used to return the technical name of the target entity type. |
Method GET_SOURCE_ENTITY_SET_NAME
This method is used to return the technical name of source entity set
Parameter |
Description |
---|---|
RV_ENTITY_SET |
This parameter of the type /IWBEP/IF_MGW_CORE_SRV_RUNTIME=>TY_E_TECHNICAL_NAME is used to return the technical name of the target entity set. |
Method GET_SOURCE_KEYS
This method is to be used when the entity is called by a navigation: Source entity type and target entity type are different. This method returns a table of source entity keys. The returned key values are not converted even if they are defined in the model provider class as convertible. Use method GET_CONVERTED_SOURCE_KEYS to get the key values converted automatically.
Parameter |
Description |
---|---|
RV_SOURCE_KEYS |
This parameter of the type /IWBEP/IF_MGW_CORE_SRV_RUNTIME=>TY_E_TECHNICAL_PAIR is used to return the table of the source entity keys. |
Method GET_NAVIGATION_PATH
This method is used to return the navigation path using technical names.
Parameter |
Description |
---|---|
RT_NAVIGATION_PATH |
This parameter of the type /IWBEP/IF_MGW_CORE_SRV_RUNTIME=>TY_T_TECHNICAL_NAVI is used to return the navigation path using technical names. |
Method GET_TOP
This method is used to get the paging information of the $top parameter. The $top parameter indicates the number of entries which should be returned by the server.
Parameter |
Description |
---|---|
RV_TOP |
This parameter has string which is only filled in case of $top is given in OData request. |
Method GET_SKIP
This method is used to get the paging information of the $skip parameter. The $skip parameter indicates the number of entries which should be skipped by the server.
Parameter |
Description |
---|---|
RV_SKIP |
This parameter has integer to specify the number of items which should be skipped. |
Method HAS_INLINECOUNT
If an inlincount is requested the response has to contain a count of entries embedded in the payload. The count has to be calculated by the application and has to be passed via the response context.
Parameter |
Description |
---|---|
RV_HAS_INLINECOUNT |
This parameter contains a boolean value which indicates whether an inlinecount is requested by the client. |
Method HAS_COUNT
This method indicates whether the client requested a count only.
If a count is requested the response contains the amount of entries only. The count can be calculated by the application and can be passed via the response context. If the counting is not done by the application the runtime derives the amount of entries via the returned data table.
Parameter |
Description |
---|---|
RV_HAS_COUNT |
This parameter contains a boolean value which indicates whether a count is requested by the client. |
Method GET_SKIPTOKEN
The server can limit the amount of entries sent in a response in other to avoid a performance overhead if a huge number of entries is requested. A next link in the payload contains the skiptoken set by the server in the response context.
Parameter |
Description |
---|---|
RV_SKIP |
This parameter contains skiptoken which is generated by the server and used to identify the next entries which need to be sent back. |
Method GET_DELTATOKEN
This method provides the delta token from a delta link within a feed. The delta token has previously been set in the response structure of a get feed call.
Note that a delta token needs to be issued in a normal feed to signal to the client that it supports delta tokens.
The way the delta token is issued and constructed is done by the issuer and is of his choice. For convenience sake you can use a date-time token (for default cases). In case of a date-time token you only need to take into account that the delta token should be related to one specific time zone, such as UTC.
A delta token call from a client needs to be handled appropriately. The delta token holds specific information which is known by the issuer. With this information it should be easy to extract the changed data. Deleted records are not supported at present.
Parameter |
Description |
---|---|
RV_DELTATOKEN |
This parameter contains the delta token which is generated by the server and is used to identify the delta entries which need to be sent back. |
Method GET_SEARCH_STRING
If a search is used then this method contains the search string.
A search string can be applied to a Collection request which can be used as a freetext parameter.
Parameter |
Description |
---|---|
RV_SEARCH_STRING |
This parameter contains the search parameter provided by the client. |
Select System Query Option ($select) to select only a subset of properties which should be returned by the server. The $select can be considered by the application for performance reasons and improvements. The SAP Gateway runtime takes care of applying the $select properly irrespective of whether $select is taken into account from the application or not. So for the consumer, it is always the same behavior. It is only possible to specify a $select query for simple properties or for complex properties of the Entity Type itself. Note that it is not possible to properties of complex properties.
Parameter |
Description |
---|---|
RT_SELECT |
This parameter of type /IWBEP/IF_MGW_CORE_SRV_RUNTIME=>TY_T_TECHNICAL_NAME contains the system query option ($select). |
GET_SELECT_WITH_MANDTRY_FIELDS
Select the system query option ($select) to select only a subset of properties which should be returned by the server. The $select can be considered by the application for performance reasons and improvements. The SAP Gateway runtime takes care of applying the $select properly irrespective of whether $select is taken into account from the application or not. So, for the consumer it is always the same behavior. The SAP Gateway runtime always adds the mandatory fields of the entity type (keys, etag, mime type mapping) to the select table irrespective of whether the key fields are already part of the original OData request or not. Therefore it is ensured that the result of this method can, for example, directly be applied to an SQL statement without any enrichment from the application developer.
It is only possible to specify a $select query for simple properties or for complex properties of the entity type itself according to the OData specification. Note that it is not possible to select properties of complex properties.
In case of $expand the result also contains the selected properties of all included expands. The selected properties of all included expands are necessary for service providers that implement their own expand instead of framework expand to improve performance.
If you only want to have the selected properties including the mandatory fields you have to use GET_SELECT_ENTITY_PROPERTIES.
If $select is not used the returned table RT_SELECT will be empty, and this means all entity properties are required.
When implementing your own expand (method GET_EXPANDED_ENTITY or GET_EXPANDED_ENTITYSET) you can use the parameter IO_EXPAND to get the complete expand tree and all necessary information to process the whole expand completely or just partly to improve performance. See also /IWBEP/IF_MGW_ODATA_EXPAND.
GET_ORDERBY
OrderBy system query option ($orderby) .
Parameter |
Description |
---|---|
RT_ORDERBY |
This parameter of type /IWBEP/IF_MGW_CORE_SRV_RUNTIME=>TY_T_TECHNICAL_ORDER contains the OrderBy system query option ($orderby). |
Parameter | Description |
---|---|
ES_KEY_VALUES | Type DATA |
Method GET_FILTER_EXPRESSION_TREE
This method is to be used to get the filter expression tree.
Parameter |
Description |
---|---|
RO_FILTER_TREE |
This parameter contains $filter system query option in a object tree format. |
Method GET_OSQL_WHERE_CLAUSE
This method is to be used to get an Open SQL WHERE clause.
Parameter |
Description |
---|---|
RV_OSQL_WHERE_CLAUSE |
This parameter contains the Open SQL WHERE Clause string generated from $filter system query option. |
Method GET_SELECT_ENTITY_PROPERTIES
Contrary to GET_SELECT_WITH_MANDTRY_FIELDS, this method only returns the selected properties including the mandatory fields of the current entity.
Parameter |
Description |
---|---|
RT_SELECT |
Type STRING_TABLE |
Method IS_CACHE_PAGE_ON_HB_ALLOWED
Soft state for the service has been activated
and if the SQRC has not been de-activated for the service by the system administrator via transaction /IWBEP/CONF_SERVICE
Parameter |
Description |
---|---|
RV_IS_CACHE_AND_PAGE_OK |
Type ABAP_BOOL |
SQRC Functionality
Soft state for the service has been enabled in transaction /IWFND/MAINT_SERVICE
This is only possible if the corresponding DPC (data provider class) redefines the methods of interface /IWBEP/IF_MGW_CORE_SRV_RUNTIME. Software components IW_BEP and IW_FND have to be on support package stack 09 or SAP NetWeaver 7.40 SP08 (SAP_GWFND) respectively.
Your date provider in method /IWBEP/IF_MGW_APPL_SRV_RUNTIME~GET_ENTITYSET does the followiung:
It applies the filter (system query option $filter)
It applies the sorting (system query option $sort)
It does not apply the paging (system query options $top and $skip)
It returns ES_RESPONSE_CONTEXT-DO_CACHE_AND_PAGE_ON_HUB = ABAP_TRUE together with the list of entities
It does not do server-side paging (triggered via ES_RESPONSE_CONTEXT-SKIPTOKEN or ES_RESPONSE_CONTEXT-EXPAND_SKIPTOKEN)
Consecutive client requests are a GET on an Entity Set.
The only difference between the request URLs are the values of the $top and $skip system query options. The rest of the URL must be identical.