Hi all,
I wan't to model my HANA DB in an "ALM" way so I can migrate my objects between environment (e.g Dev, Test, Prod) so I can't create my objects as I did until now directly in the catalog (using "Create Table", "Create View", etc..)
After some reading I understand I have to use one of the design time options for creating a persistent model (HDB* files or CDS) and then use HALM for transporting the development between environments.
Due to my use of Spatial data, I understand that my only option is CDS because HDBTable doesn't support these types (ST_Geometry, ST_Point).
After some days of work and learning how to model with CDS I have some problems or question you all might know and share your ideas..
- CDS - Does it have any limitation with spatial types? (ST_Geometry, ST_Point)
- CDS - What is the purpose of Context when I create entities?
- CDS - Same as 2 - for Namespaces.. Should we create all entities in same file? separate files?
- CDS - When we create columns associate to another entity - we notice that no foreign key is created (in the runtime object). What is the meaning of this associations (other than easier joins in a CDS view)? Do I need to create the Foreign keys with another method? How do I create foreign keys?
- CDS - Calculated field - we tried to create a calculation field of type ST_Geometry - but I get an error - "GIS type ST_Geometry cannot be used as a constant or default value" - will it be supported? Is there any way to create a "GENERATED ALWAYS AS" column (as in SQL)?
- Procedures and CDS - How do I create procedures for the entities modeled with CDS? (The catalog tables are created by the CDS - Do I use them directly? Do I need to know how the runtime objects are called, What is their structure?)
- If I model my tables with CDS - what is SAP recommendation for inserting/updating rows to a table? (do I need to know how the CDS created the runtime objects? Is there any CDS layer for using the entities created?)
- Can I refactor the objects runtime names? (An entity creates a catalog table with the name: "schema.namespace::context.name" - can I use only the name for "easier" modeling to the SP's? same for the columns - If i create them with a type - they get the type's name before the column name.
- How do I create an identity column (sequence) with CDS?
And another question regarding HALM but not CDS:
- Triggers - I noticed I can't create a SQL Trigger in a project (in the repository) - How do I create triggers so I can use HALM for transporting them between environments?
Thank you,
Yaron Inghel