Show TOC

Interface /IWBEP/IF_V4_DP_INTERMEDIATELocate this document in the navigation structure

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.

Methods
Method /IWBEP/IF_V4_DP_INTERMEDIATE~CHECK_MODIFICATION_CONDITIONS

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.

Note

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.

Table 1:

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.

Method /IWBEP/IF_V4_DP_INTERMEDIATE~PATCH_ENTITY

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.

Note

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.

Table 2:

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

An exception will be raised if an error occurs that was caused by inconsistent data or an inconsistent state on account of 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.
  • Validation failed (provider application did not confirm that the data provided was used).

Method /IWBEP/IF_V4_DP_INTERMEDIATE~READ_ENTITY_TREE

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.

Table 3:

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.

Method /IWBEP/IF_V4_DP_INTERMEDIATE~READ_ENTITY_TREE_LIST

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.

Table 4:

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.