This interface contains methods with medium complex functionality.
The SAP Gateway Foundation framework offers generic implementations for all methods that delegate to corresponding methods of the /IWBEP/IF_V4_DP_BASIC interface. For specific requests you need to overwrite these methods to overcome the performance limitations of the generic implementation.
Due to the generic implementation of interface /IWBEP/IF_V4_DP_INTERMEDIATE, there might be performance improvement capabilities if the interface methods are implemented specifically.
In case of an update or deletion of an entity, the default implementation of CHECK_MODIFICATION_CONDITIONS performs a check if the eTag matches. Specifically, before an update or deletion, the current eTag of an entity which will be updated or deleted is read and compared. If the eTag comparison does not match, an exception is raised.
As a precondition, navigation must not be active. If it is active (for example for containment updates) the provider application has to implement its own eTag handling.
For an example implementation using this interface, see the default implementation within class /IWBEP/CL_V4_ABS_DATA_PROVIDER.
Parameter |
Description |
---|---|
IO_REQUEST |
Instance of /IWBEP/IF_V4_REQU_INTM_COND with request information. |
IO_RESPONSE |
Instance of /IWBEP/IF_V4_RESP_INTM_COND where the response information have to be set. |
Exceptions
An exception will be raised if an error occurs, caused due to inconsistent data or an inconsistent state caused by the provider application, for instance /iwbep/if_v4_dp_basic~read_entity for the entity to be patched is not implemented by the provider application. Furthermore, an exception will also be raised if the eTag does not match.
A patch request is a partial update of an entity. All provided components in the request are patched. The data of the patched entity will be returned.
As a precondition, an entity to be patched has to exist.
For an example implementation using this interface, see the data provider class /IWBEP/CL_V4_TEA_BUSI_DATA of the Business Test Application Service. As an alternative, find the default implementation within class /IWBEP/CL_V4_ABS_DATA_PROVIDER.
Parameter |
Description |
---|---|
IO_REQUEST |
Instance of /IWBEP/IF_V4_REQU_INTM_PATCH with request information. |
IO_RESPONSE |
Instance of /IWBEP/IF_V4_RESP_INTM_PATCH where the response information have to be set. |
Exceptions
Validation failed (provider application did not confirm that the data provided was used).
This method reads an entity’s data (read_entity) and also does an expand for its requested expand entities. The result is an entity and its expanded entities.
Parameter |
Description |
---|---|
IO_REQUEST |
Instance of /IWBEP/IF_V4_REQU_INTM_TREE_R with request information. |
IO_RESPONSE |
Instance of /IWBEP/IF_V4_RESP_INTM_TREE_R where the response information have to be set. |
Exceptions
An exception is defined in the signature of the interface method, but currently it is not raised.
This method reads the data for a list of entities (read_entity_list) and also does an expand for its requested expand entities. The result is a list of entities and their expanded entities.
Note that the framework can completely handle expand requests in a generic way. In case of performance-critical scenarios or if you experience a bad response time it is highly recommended to handle complex full/subsets of the expand request by specific application implementations. Therefore it is required to redefine READ_ENTITY_TREE_LIST.
Parameter |
Description |
---|---|
IO_REQUEST |
Instance of /IWBEP/IF_V4_REQU_INTM_TREE_L with request information. |
IO_RESPONSE |
Instance of /IWBEP/IF_V4_RESP_INTM_TREE_L where the response information have to be set. |
Exceptions
An exception is defined in the signature of the interface method, but currently it is not raised.