Skip to Content

ABAP Dictionary External Views for Overcoming ABAP CDS Views Limitations

Hi, in this post I would like to share usage of ABAP Dictionary External Views in ABAP CDS views development to overcome some limitations.

Scenario 1

Imagine that we have S/4HANA system and HANA DB also used for other applications. In this case we usually have and use in HANA not only main schema of S/4HANA system. We use ABAP CDS views in S/4HANA for reporting reasons.

How to use data from REPZME schema in our ABAP CDS views? By default you could use only tables visible in ABAP Dictionary of T85 Application server and placed in SAPT85 schema.

Scenario 2

Imagine that we have S/4HANA system and using ABAP CDS views for reporting reasons. But some developers in your company are good at HANA Information Models development or already exist some Calculation Views with complex logic.

Do you need to rebuild them using ABAP CDS views or may be you could reuse it?

Solution

In this post I would like to show solution for Scenario 1 and Scenario 2.

From ABAP 7.4 SP02 it is possible to create Dictionary External Views for this reasons.

We would like to use table MARA from REPZME Schema in ABAP CDS views.

1.Go to HANA Studio Modeler Perspective, create in Content Area some package and Calculation VIew for table MARA. I just select 4 fields for demo purpose. In CV we could use tables not only from main SAPT85 Schema.

2. Go to HANA Studio ADT Perspective, create some ABAP Package and create new “Dictionary view”. Give it a name, description and select External View option and find our Calculation Views with Browse button.

3. Change DDIC fields type if needed and activate.

4. Go to ABAP Dictionary and check existence and look at data.

 

5. Go back to ADT Perspective and create ABAP CDS views Data definition based on External view ZT04_PROXY.

Result

We use in ABAP CDS views data from table not in visible by default in ABAP Dictionary or reuse in ABAP CDS views complex logic that was written in Calculation Views .

 

Thank you for attention!

9 Comments
You must be Logged on to comment or reply to a post.
  • Hello Maksim,

     

    Thank you for sharing.

     

    Could you please also share how Native HANA and S4HANA  System will be connected, for consuming calculation view on Native HANA in S4HANA CDS View if they are on different HANA Databases?

     

    Thanks

  • You cannot consume ABAP CDS in the Native HANA system. You should use any of the data provisioning techniques such as SLT, SDI, or BODS to get the table(s) data into the Native from S4HANA. You can use CDS views as Source for BODS and target can be HANA, but it is not recommended at all, you might run into licensing agreement issues.

    • I consume data from HANA table in ABAP CDS view, not like you mention.

      By the way currently external views shouldn’t be used any more, and we use AMDP for this purpose.

       

        • Hello,

          I’ve replicated some external tables using SLT into a  schema “A” in HANA  DB and I can see those tables as native HANA tables.

          How can I consume that data in ABAP side which runs over the HANA schema “B” of the ECC server.

          I’m trying to use CDS but I have not been able to connect or query the data in tables from schema “A” into schema “B”. I’m getting a lot of “table doesn’t exist” and “not authorization” errors.

          Is there any known procedure for this?, Is this even posible? I know it can be done with other former SAP DB tech (Oracle, Sybase, MS SQL, etc).

          Could anybody please share some documentation form making the schema connection?

          Thanks,

          Carlos.

  • Carlos Tolosa Hi Carlos,  in order to access non-s/4(ECC) schema data in ABAP CDS views, you need to use CDS Table functions. Table functions along with AMDP class and method implementation can help youaccess native HANA SQL objects to read data. Then this table function can be used in CDS views to model your VDM.