Skip to Content
0

HANA XSA Deployment - HDI schema name

May 01 at 08:09 PM

150

avatar image
Former Member

Hi,

Please help us on this. We are facing issue with reports based on HDI Container objects after deploying MTA project from DEV space to QA space.

In DEV space we have cloned our MTA project(ZMTA_XS) from git and built it.It created three schemas ZMTA_XS, ZMTA_XS#DI, ZMTA_XS#OO and we have created BO reports based on the column views in ZMTA_XS.


Now we have deployed the MTA project from DEV to QA using CLI tool and also moved BO reports. In QA space the project is creating schemas with technical names for ex:

9ABA7DDAF8304D5EA7A8D291AEBCC88B, 9ABA7DDAF8304D5EA7A8D291AEBCC88B#DI, 9ABA7DDAF8304D5EA7A8D291AEBCC88B#OO. beacause of this our reports are not working.

My question is when we cloned the project why the schemas are created with proper name(ZMTA_XS*) and when the same project is deployed to another space using CLI it is generating schemas with different GUID kind of name. Can't we retain same schema name as in DEV after the deployment to target space . How can we acheive it.


Thankyou in advance

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

2 Answers

Best Answer
Florian Pfeffer
May 02 at 04:44 AM
0

I assume that you have cloned your project to SAP Web IDE for SAP HANA, built it here and deployed it from there to the DEV environment. And I assume that in your development descriptor file (mta.yaml) the specific schema names are defined as parameters for your HDI resources. In that case, when the MTA is deployed to the DEV environment, the SAP Web IDE creates a deployment descriptor (mtad.yaml) containing the schema names defined as parameters, and that schema names are used.

When you deploy the MTA using the CLI (what command you have used, xs push?) and you have not defined the schema names in a deployment descriptor or deployment descriptor extension, it is not known which schema names should be used.

Show 2 Share
10 |10000 characters needed characters left characters exceeded

A variant of this issue is that you aren't specifying the schema name at all in the mta.yaml. When you built in DEV, I bet you built the HDB module directly from the Web IDE. This uses a different resource allocator than if you build via the deployer. The Web IDE will pull the container names from the project name even if you don't use the Schema specification in your resource. However when you deploy the MTAR, the deployer will generate Schema names unless you explicitly state them in the mta.yaml. Therefore you really need to supply those in the container resource as below. Then when you build the MTA and deploy using xs deploy, the name will be respected. Please note this name will still be different than a build from within the Web IDE. The Web IDE attaches a postfix number to keep the container name unique in a development system. This avoids problems where multiple developers might build the same project multiple times and not want to overwrite each other.

Here is an example. Node the indentation is lost when posting here. This example can also be found here: https://github.com/SAP/com.sap.openSAP.hana5.example/blob/hana2_sps03/mta.yaml

resources: - name: user-container properties: user-container-name: '${service-name}' type: com.sap.xs.hdi-container parameters: config: schema: OPENSAP_USER_EXAMPLE - name: container properties: container-name: '${service-name}' type: com.sap.xs.hdi-container parameters: config: schema: OPENSAP_EXAMPLE
1
Former Member
Thomas Jung

Thanks Thomas for the explanation.

The mta.yaml file changes - i.e setting schema name resolved the issue.

Thanks,

Srikanth

0
avatar image
Former Member May 02 at 04:56 PM
0

I found solution. You can standardize the generated schema name across landscape using following setting in mta.yaml file.

resources:

- name: container

properties:

container-name: ${service-name}

type: com.sap.xs.hdi-container

parameters:

config:

schema: ZXS_MTA

With above setting the schema ZXS_MTA will be created for your MTA project after deployment.

Share
10 |10000 characters needed characters left characters exceeded