适用于SAP HANA的WebIDE:到XSA(hdi)的部署配置

2020-09-14 17:28发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) 嗨, 我的组织DE...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我的组织DEV和PROD中有2个空格。

目前没有可用的专用开发系统,因此开发是在DEV空间中进行的,并通过使用通过构建整个项目在WebIDE中创建的mtar将其部署到PROD空间中。

我们正在使用HANA 2.0 SP03。

在部署期间是否可以更改对象? -举例说明:

我在项目的hdb模块中的src文件夹下创建了一个虚拟表,该虚拟表指向名称为devdb的远程源系统:

虚拟表" promotion_lookup"在" devdb"。" testtb"。" dbo"。" promotion_lookup" 

另一方面,我有一个名为proddb的远程源系统,其中的数据库也具有不同的名称(方式)-因此hdbvirtualtable文件的prod系统的正确内容为:

虚拟表" promotion_lookup" AT" proddb"。"时尚"。" dbo"。" promotion_lookup"
 部署后。  

我的测试项目设置如下所示(我省略了.che文件夹):

 TESTPROJECT |
 | ___分贝
 |  | ___ cfg
 |  |  | ___ .hdconfig
 |  |  | ___ promotion_lookup.hdbvirtualtableconfig
 |  |
 |  | ___ src
 |  |  | ___ .hdconfig
 |  |  | ___ promotion_lookup.hdbvirtualtable
 |  | ___ package.json
 |
 | ___ mta.yaml 

promotion_lookup.hdbvirtualtable的内容:

虚拟表" promotion_lookup"在" devdb"。" testtb"。" dbo"。" promotion_lookup" 

promotion_lookup.hdbvirtualtableconfig的内容:

 {
   " promotion_lookup":
   {
     "目标":
     {
       " remote":" proddb",
       "数据库":"时尚",
       " schema":" dbo",
       " object":" promotion_lookup"
     }
   }
 } 

如果仅构建src文件夹,则可以使用虚拟表promotion_lookup访问devdb系统。

一旦我构建了db文件夹或整个项目,虚拟表就会指向proddb系统。

但这不是我希望它起作用的方式。 我要寻找的是配置此更改,使其仅在单击TESTPROJECT_0.0.1.mtar并选择"部署到XS高级版"后才能完成

是否有任何方法可以为部署szenario进行更改/配置? 即使我将拥有独立的DEV和PROD系统,我也可能会面临相同的问题。 当然,我可以在两个系统上使用相同的名称来设置不同的连接-但是一旦数据库也不同,它将无法正常工作。

因此,我认为使这种情况发生的地方有些缺憾。

预先感谢Torsten

2条回答
何必丶何苦呢
2020-09-14 17:45

不要对* config文件中的值进行硬编码。 而是按照HDI部署程序文档中的说明使用部署占位符值。

启动时,HDI Deployer递归扫描本地 cfg/文件夹,并选择带有 .config 后缀的所有文件,例如 所有 .hdbsynonymconfig .hdbvirtualtableconfig 等文件。 对于所有在其内容中包含 .configure 标记的文件,它将应用配置模板并创建临时配置文件,然后将其部署到HDI容器中。

对于同义词配置文件 cfg/LOCAL_TARGET.hdbsynonymconfig

  {
     " LOCAL_TARGET":{
         "目标":{
             " schema.configure":"逻辑外部服务/架构",
             " database.configure":"逻辑外部服务/数据库",
             " object":" TARGET"
         }
     }
 }  

在配置模板文件中使用 schema.configure database.configure 等并不总是适用的。 因此,HDI Deployer提供了一种从绑定服务复制一组属性的通用方法,例如 模式,数据库,远程源等(如果存在),尽管模板文件未提及它们。

对于配置文件 cfg/LOCAL_TARGET.hdbsynonymconfig ,它可能如下所示:

  {
     " LOCAL_TARGET":{
         "目标":{
             " * .configure":"逻辑外部服务",
             " object":" TARGET"
         }
     }
 }
  

当HDI Deployer遇到 *。configure 条目时,它仅将绑定服务中存在的所有众所周知的字段复制到配置文件中。 众所周知的字段当前是 remote database schema


使用这种方法,您可以通过用户提供的服务在目标空间中配置此类参数,并且这些值将在部署时替换。

一周热门 更多>