cancel
Showing results for 
Search instead for 
Did you mean: 

How to change service-name at deploy time for Cross Container project

mike_howles4
Active Contributor
0 Kudos

Hello all,

I am working on a project where I want one single HDI DB Module that contains common Master Data-like Dimension Calculation Views. My idea is to keep these commonly used views reusable via Cross-container access to more business-specific DB Modules that have reporting Calculation Views of their own but can join against the Master Data Dimension Views. I've got this working somewhat by following this tutorial:

https://developers.sap.com/tutorials/xsa-cross-container-access.html

What I am not clear on is how can I define a service-name for the consumed-db that may have a different name? For instance the example in the tutorial uses the build-time service name which would look like RHOWLES-9skqv35et1oio3vg-SflightExample-hdi_db_sflight however at deploy time, will be hdi_db_sflight. We develop in a DEVELOPMENT space and deploy in a DEPLOY space, so I do not think I will have visibility during development to make reference to hdi_db_sflight.

Sample YAML:

ID: SflightCrossContainerExample
_schema-version: '2.0'
version: 0.0.1

modules:
 - name: db_sflight_cc_example
   type: hdb
   path: db_sflight_cc_example
   requires:
    - name: hdi_db_sflight_cc_example
      properties:
        TARGET_CONTAINER: '~{hdi-container-name}'
    - name: consumed-md-container
      group: SERVICE_REPLACEMENTS
      properties:
        key: consumed-db
        service: '~{consumed-service-name}'

resources:
 - name: hdi_db_sflight_cc_example
   parameters:
      config:
         schema: SFLIGHT_CC_EXAMPLE
   properties:
      hdi-container-name: ${service-name}
   type: com.sap.xs.hdi-container

 - name: consumed-md-container
   type: org.cloudfoundry.existing-service
   parameters:
      service-name: RHOWLES-9skqv35et1oio3vg-SflightExample-hdi_db_sflight
   properties:
      consumed-service-name: '${service-name}'

Is this something I would be able to achieve with xs deploy flags, or something I have to do in a mtad.yaml deployment descriptor?

Thanks for any help.

View Entire Topic
thomas_jung
Developer Advocate
Developer Advocate
0 Kudos

>As mentioned, our development build-time is in a DEVELOPMENT space, but our deployed objects are in DEPLOY space.

But that's just a rule you came up with. And one I'd say is wrong. You should deploy you MTAs into the DEVELOPMENT space as well to provide stable versions of containers for other developers to work with.

mike_howles4
Active Contributor
0 Kudos

> But that's just a rule you came up with. And one I'd say is wrong.

Noted. We will change our approach as a result. (And stop listening too closely to Max Attention trainers.)

Thank you for your time.