Skip to Content
May 14, 2021 at 03:44 AM

Design Guidelines for SAP CAP Reusable Data Models

302 Views Last edit May 14, 2021 at 03:50 AM 2 rev


I am working on a project to develop an application for the field of agriculture. I am working with SAP CAP and SAP HANA DB.

In addition to the data models typical of the problem domain, I have also created a small data model of commonly used objects/concepts: Geographic Regions, Units of Measure, Periodic Dates, and other minor ones.

For this second data model (which, for simplicity, I'm going to name here as COMMON), in addition to the model definition file (CDS file), I have several store procedures written in SAP HANA SQLScript. That's all.

However, since the second model is more or less "Universal" I would like to separate it into a separate project and use it in my agriculture app., as well as being able to reuse it in later projects.

This is to raise general doubts about whether it is convenient (or a good design practice) to do what I think, and above all the best way to do it (have certain guidelines in this regard).

Particular questions:

1. Should I create a new project for my model COMMON or just create another module within my agricultural application (which follows the SAP CAP model)?

2. In case of creating another project for COMMON (the option that in principle I have thought to choose), I understand that I must use synonyms for the tables, views, store procedures, etc. Is this correct? How do you do with the CDS file (the definition of the model COMMON)? Can you also create a synonym for that? I need to be able to use the definitions in there (entities, views, and types) in the CDS models of my agriculture app. Is it possible?

3. If I put the COMMON model in another project, would it be convenient to define a UI (service module) for it or should the project only have the Database module?

Thank you in advance for any help and/or suggestions regarding these questions.