cancel
Showing results for 
Search instead for 
Did you mean: 

Getting Started with HANA XSA - General questions

PaoloS
Advisor
Advisor

Hi folks,

I started to work with XSA (HANA OnPrem) and I face some trouble with different topics. I hope someone can help to clarify things.

SQL vs. SAP HANA Web-based Development Workbench vs. SAP HANA Studio vs. SAP Web IDE for SAP HANA.

I know there are already tons of information out there regarding this topic, but it still seems I cannot get my head around it. My current understanding:

  • Avoid creating artifacts via SQL, as those will only be available as Run-time objects. Start with Design-time objects for documentation purpose, etc.
  • SAP HANA Web-based Development Workbench is only for XSC. Avoid using it whenever possible. Eventually, it will disappear anyways in the future.
  • SAP HANA Studio: I see that one a lot in tutorials and documentation. But the SAP HANA Studio is the one which most confuses me. When do I need it? Is there any benefit using it instead of the Web IDE for SAP HANA?
  • SAP Web IDE for SAP HANA - is that one the only single source of truth? Shall I always use the Web IDE?

Let's be more precise:

  • I would like to create a table type, table and procedure. Of all the approaches possible, which one is the recommended? If SAP Web IDE is the only single source of truth, does this mean I shall create an MTA application with only a DB module (even when no HTML5, middleware, etc. is needed), build and deploy it?


How to bring the ABAP and HANA world together?

Now, what is when I want to call the procedure (see above) from an AMDP class? My current understanding is that best practice is to use the SAP Web IDE for SAP HANA. So let's say I create these artifacts via an MTA application and deploy it. Now how do I call it from AMDP? Can I call it, form AMDP even if I haven't specified a schema name in the MTA application? I think defining a schema name makes life much easier, otherwise, I would run into problems when shifting the MTA application to a new HANA database, as the schema name could change (if not specified), correct?

How to ship ABAP and HANA content when they depend on each other?

Now imagine we have the AMDP class and our HANA artifacts in an HDI container (based on MTA) in place. How do we ship everything to a new system? If we ship the AMDP class via ABAP transport requests the AMDP class will not work when the HANA artifacts where not shipped yet. I found out that for such scenarios we SAP HANA Transport for ABAP, correct? When I had a look at the official documentation (https://help.sap.com/viewer/9d6aa238582042678952ab3b4aa5cc71/7.4.19/en-US/ff7652bd542849b18b218efe8d2f2373.html) again I got confused. In the introduction video, they are using SAP HANA Studio to pack the artifacts into packages. Does SAP HANA Transport for ABAP also work with MTA applications? Are there any information about how to ship MTA applications with SAP HANA Transport for ABAP?

I appreciate your help.

Best,

Paolo

Accepted Solutions (1)

Accepted Solutions (1)

thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

I agree with all the answers Lucia has already provided. Let me add to it just a bit.

>If SAP Web IDE is the only single source of truth, does this mean I shall create an MTA application with only a DB module (even when no HTML5, middleware, etc. is needed), build and deploy it?

Yes that's exactly what it means. Every project is an MTA now and its perfectly fine to have only a DB module in your MTA. In fact in latest patch of the SAP Web IDE for SAP HANA, we added a new project wizard for exactly that scenario. It creates the MTA and a single DB module (and the mta.yaml base configuration) all in one step. We added this new wizard exactly because this is a common scenario.

>Now how do I call it from AMDP? Can I call it, form AMDP even if I haven't specified a schema name in the MTA application?

Not specifiying a schema name in the MTA will make it more challenging because the schema name will be different in each system because it gets generated upon deployment. If containers only talk to each other its fine that you don't specify the schema name. In a container to container scenario, everything can be looked up dynamically. However as soon as you introduced external consumption by Non-HDI means, you really need a named container schema in the mta to keep things manageable. This is why the option to name the schema exists.

Beyond the naming of the schema, ABAP shouldn't have too much problems accessing the procedure. The main issue you will have is security. The ABAP DB user won't automatically have access to the execute procedures in foreign containers. Your container will have to include a role which is granted to the ABAP DB technical user before it will have the authorizations necessary to call your procedure in most instances.

Answers (1)

Answers (1)

lsubatin
Active Contributor

Hi Paolo,

Short answer is: new HANA Native development using Web IDE for SAP HANA or Full Stack. ABAP on HANA with ABAP on Eclipse (ADT).

Longer answer:

XS Classic tooling is deprecated as of SPS02 as you can gather from the notes and the help. HANA Studio and the Web Editor workbench were used to build XS Classic apps. SAP Web IDE for SAP HANA is the new tool for native development and MTAs with XS Advanced. You cannot build an MTA with HANA Studio. The new HANA cockpit covers administration tasks formerly covered by HANA Studio. In other words, not many reasons to use HANA Studio in new apps and I would definitely stay out of the Web Editor Workbench in newer versions. Again, this is in the context of HANA Native development.

ABAP on HANA development like AMDP is done in ADT or eclipse with the ABAP plugin (not the same as the plugin for HANA development).

As for the transport piece of ABAP-managed objects in HANA, I would take a look at this for the new approach: https://help.sap.com/viewer/9d6aa238582042678952ab3b4aa5cc71/1709%20002/en-US/c001a13d204a4831a06862... and bear in mind the HANA repository (the one transported through delivery units) was also deprecated. Versions are something to pay attention to as well.

Best,

Lucia.