Learn and share on deeper, cross technology development topics such as integration and connectivity, automation, cloud extensibility, developing at scale, and security.
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
Showing results for
Search instead for
Did you mean:
Exciting update! On March 10, the SAP Builders group will merge with this one to form the Application Development and Automation group. This expanded space will now focus on all innovations across application development and automation at SAP. Stay tuned for more updates!
I just want to put the light on a feature - in the context of advanced view building with ABAP Core Data Services (CDS) - that is available starting with AS ABAP 7.4 SP8: CDS views with input parameters.
Yes, as a developer, you can now parameterize your CDS views. It means you can define one general views which produce context-specific result sets by using parameter values passed at execution time. This means that you do no longer need to create a view for each context!
For example:
Language filter in combination with associations
Instead of creating a a CDS view for each language, only one parameterized view is now needed. The specific language key value is passed at execution time.
Calculation of sales tax Instead of creating a a CDS view for each country with the specific value-added tax, only one parameterized view is now needed. The country-specific value-added tax is passed at execution time and used in the related arithmetic expressions.
Watch the compact video tutorial below. It shows how to create and call parameterized views in ABAP.
Note that CDS views with parameters are not supported on all SAP certified databases - At least SAP HANA does :smile: . However, the DDL of the ABAP CDS allows creating and accessing CDS views with parameters independent of the database system.
In case an Open SQL statement SELECT is access such a parameterized view or a view that contains such a view as data source, but the accessed database system does not support them, a non-handleable exception of the class CX_SY_SQL_UNSUPPORTED_FEATURE is raised.
The recommended approach when using a database-specific features (e.g. views with parameters) in ABAP programs is to use the method USE_FEATURES of the class CL_ABAP_DBFEATURES to check whether the accessed database system supports it.**
(**) Starting with AS ABAP 7.50, CDS views with parameters are supported on any DB. Thus, it is no longer needed to check whether the feature is supported or not, i.e. an alternative (fallback) implementation is no longer needed.
Example:
IF abap_true = cl_abap_dbfeatures=>use_features( requested_features =
VALUE #( ( cl_abap_dbfeatures=>views_with_parameters ) ) ). "Call of CDS view with input parameters SELECT * FROM demo_iparameter_02( p_langu = @SY-langu, p_saving_rate = '0.04', p_lc_status = @p_status ) INTO TABLE @DATA(lt_data).
cl_demo_output=>display_data( EXPORTING value = lt_data name = 'Demo: CDS View with Input Parameters' ). ELSE. "alternative implementation cl_demo_output=>display( 'Database system does not support views with parameters' ). ENDIF.