如何在SAP Cloud Platform CF中的OData V4中访问新业务应用程序(CDS)中的.hdbcds(MTA)项目

2020-09-06 21:54发布

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

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


亲爱的

我们在SAP CP-CF中有一个MTA项目,其中包含HDB,Node.js,UI5模块,并且该项目已经上线。

1。 HDB模块-使用* .hdbcds定义实体等。

2。 Node.js模块-仅使用Node.js方法(不支持XSJS)

现在,我正在考虑将新需求开发到 Cloud Foundry中的SAP的新业务应用程序编程模型,而不会中断现有项目。 比方说,我仍然保留了现有的用于HDB的MTA项目,我想创建CDS视图并将其作为OData V4服务(Node.js)公开。

在查看SAP教程时- https://developers .sap.com/tutorials/cp-apm-06-reuse-extend.html ,其中介绍了将现有基于CDS的SAP CP业务应用程序扩展到另一个SAP CP业务应用程序项目的步骤,但是尚不清楚 如何将旧的MTA(HDB)模块访问到新的编程模型中。.

是否可以将这些MTA项目/HDI Schema/同义词(基于* .hdbcds创建)访问到CDS的新编程模型中。

提示:我们将在两个项目中使用相同的SPACE,并且不想再使用XSODATA(尽管它可以工作,但已弃用)。

任何有关此主题的指针,链接建议都将很有帮助。

谢谢!

此致

Chathia。

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

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


亲爱的

我们在SAP CP-CF中有一个MTA项目,其中包含HDB,Node.js,UI5模块,并且该项目已经上线。

1。 HDB模块-使用* .hdbcds定义实体等。

2。 Node.js模块-仅使用Node.js方法(不支持XSJS)

现在,我正在考虑将新需求开发到 Cloud Foundry中的SAP的新业务应用程序编程模型,而不会中断现有项目。 比方说,我仍然保留了现有的用于HDB的MTA项目,我想创建CDS视图并将其作为OData V4服务(Node.js)公开。

在查看SAP教程时- https://developers .sap.com/tutorials/cp-apm-06-reuse-extend.html ,其中介绍了将现有基于CDS的SAP CP业务应用程序扩展到另一个SAP CP业务应用程序项目的步骤,但是尚不清楚 如何将旧的MTA(HDB)模块访问到新的编程模型中。.

是否可以将这些MTA项目/HDI Schema/同义词(基于* .hdbcds创建)访问到CDS的新编程模型中。

提示:我们将在两个项目中使用相同的SPACE,并且不想再使用XSODATA(尽管它可以工作,但已弃用)。

任何有关此主题的指针,链接建议都将很有帮助。

谢谢!

此致

Chathia。

付费偷看设置
发送
3条回答
xfwsx85
1楼 · 2020-09-06 22:32.采纳回答

我认为来自 Neha Soni 的帖子应该对您有所帮助:从 使用SAP Cloud应用程序编程模型的现有业务服务

今天我必须做完全一样的事情。 基本上,您必须执行以下步骤:

  1. 现有的XSA项目需要提供允许访问要使用的对象的角色
  2. 在CAPM项目中,请使用。 hdbsynonymconfig,.hdbsynonym和.hdbgrants配置同义词
  3. 如果现有表中包含小写字母,则可能需要创建视图
  4. 使用@ cds.persistence创建cd。 存在注释
  5. 基于数据库cds
Tong__Ming
2楼-- · 2020-09-06 22:17

感谢格雷戈·沃尔夫。 我还在下面的链接中找到了您的问题,该问题有助于解决构建问题: https://github。 com/SAPDocuments/Tutorials/issues/3620

已解决问题:我必须进入我的空间并删除应用程序hdispacedeploy,然后它才能工作。

在这里也为了他人的利益而更新。

Alawn_Xu
3楼-- · 2020-09-06 22:25

消息的开头(2/2)...

5。 继续进行操作db模块不会引发任何显式错误,但是它表示生成失败。是否遗漏了任何步骤? 抱歉,很长的信息,只是为了确保我没有错过任何步骤。

 10:04:25 PM(执行程序)执行生成命令:
 10:04:43 PM(执行员)警告:数据库模块指定的版本为" ^ 3.8.2"。 找到的最佳匹配是版本" 3.11.0"。
 10:04:43 PM(执行员).build.js,.serviceinfo.log,cfg,data-model.cds,package.json,src
 10:04:43 PM(执行员)@ sap/hdi-deploy,版本3.11.0(默认模式),服务器版本2.00.040.00.1537847996(2.0.40.0),节点版本8.12.0,HDI版本-1,容器 API版本-1
 10:04:43 PM(执行程序)容器API版本检测失败; 根本原因:服务器不支持容器API版本检测。
 10:04:43 PM(执行器)检测HDI版本失败; 根本原因:服务器不支持HDI版本检测。将环境变量" SERVICE_REPLACEMENTS"中的服务替换为1个替换
 10:04:43 PM(执行程序)服务器不支持实时更新Make消息。 完成制作后,将显示消息。
 10:04:43 PM(执行员)在/tmp/hdi-space-deploy-36EUA75qihcoY2-content/.hdiignore处没有忽略文件。
 10:04:43 PM(执行员)正在收集文件...
 10:04:43 PM(执行员)在cfg/中找不到.hdiconfig,使用src中的一个。
 10:04:43 PM(执行员)正在收集文件...确定(0s 6ms)
 10:04:43 PM(执行员)收集了4个目录收集了10个文件收集了0个可重用模块目标服务:ztinybusapp-ztinybusapp-db-hdi-convWMNuy3DZMub/k4S
 10:04:43 PM(执行者)会话变量APPLICATION设置为" SAP_HDI//"。
 10:04:43 PM(执行员)先前版本的请求ID 13952已于2019-06-13 16:14:42.979000900完成,状态为Committed和消息:在容器" ZTINYBUSAPP_ZTINYBUSAPP_DB_HDI_CONTAINER_1"中启动make,要部署0个文件,将0个文件迁移到 取消部署...好。
 10:04:43 PM(执行员)正在处理吊销文件...
 10:04:43 PM(执行员)正在处理吊销文件...确定(0s 0ms)
 10:04:43 PM(执行员)正在处理授权文件...
 10:04:43 PM(执行员)正在处理" src/同义词/Synonym_S1.hdbgrants" ...
 10:04:43 PM(执行员)使用类型为" hdi"的授权者服务" consumed-db"
 10:04:44 PM(执行员)正在处理" src/synonyms/Synonym_S1.hdbgrants" ...确定
 10:04:44 PM(执行员)正在处理授权文件...确定(0s 516ms)
 10:04:44 PM(执行员)预处理文件...
 10:04:44 PM(执行员)预处理文件...确定(0s 0ms)
 10:04:44 PM(执行员)正在连接至容器" ZTINYBUSAPP_ZTINYBUSAPP_DB_HDI_CONTAINER_1" ...
 10:04:44 PM(执行员)正在连接至容器" ZTINYBUSAPP_ZTINYBUSAPP_DB_HDI_CONTAINER_1" ...正常(0s 20ms)
 10:04:44 PM(执行员)锁定容器" ZTINYBUSAPP_ZTINYBUSAPP_DB_HDI_CONTAINER_1" ...
 10:04:44 PM(执行员)锁定容器" ZTINYBUSAPP_ZTINYBUSAPP_DB_HDI_CONTAINER_1" ...正确(0s 93ms)
 10:04:44 PM(执行员)正在与容器" ZTINYBUSAPP_ZTINYBUSAPP_DB_HDI_CONTAINER_1"同步文件...
 10:04:44 PM(执行员)与容器" ZTINYBUSAPP_ZTINYBUSAPP_DB_HDI_CONTAINER_1"同步文件...正常(0s 414ms)
 10:04:44 PM(执行员)基于增量检测,计划部署2个修改或添加的文件
 10:04:44 PM(执行员)部署到容器" ZTINYBUSAPP_ZTINYBUSAPP_DB_HDI_CONTAINER_1" ...
 10:04:45 PM(执行员)在容器" ZTINYBUSAPP_ZTINYBUSAPP_DB_HDI_CONTAINER_1"中启动make,要部署2个文件,要取消部署0个文件...
 10:04:45 PM(执行员)正在迁移库...正在制作...不需要做正在制作...正常(0s 3ms)正在迁移库...正常(0s 11ms)正在制作...正在准备...正在准备 进行交易...添加" cfg/Synonym_S1.hdbsynonymconfig"以进行部署...添加" cfg/Synonym_S1.hdbsynonymconfig"以进行部署... ok(0s 9ms)添加" src/synonyms/Synonym_S1.hdbsynonymconfig"以进行部署。  。添加" src/synonyms/Synonym_S1.hdbsynonym"进行部署... ok(0s 4ms)准备... ok(0s 70ms)准备make事务... ok(0s 152ms)检查目录对象的唯一性 架构" ZTINYBUSAPP_ZTINYBUSAPP_DB_HDI_CONTAINER_1" ...正在检查架构" ZTINYBUSAPP_ZTINYBUSAPP_DB_HDI_CONTAINER_1"中目录对象的唯一性。ok(0s 7ms)计算依赖性...扩展...扩展" src/synonyms/Synonym_S。"。  。

 下午10:04:45(执行员)正在扩展" src/synonyms/Synonym_S1.hdbsynonym" ...好的(0秒1毫秒)正在扩展...好的(0s 40毫秒)的预编译...正在预编译的" cfg/Synonym_S1.hdbsynonymconfig"。  。预编译" cfg/Synonym_S1.hdbsynonymconfig" ...确定(0s 0ms)预编译" cfg/Synonym_S1.hdbsynonymconfig $ TABLE_T1.explicit" ...从" cfg/Synonym_S1.hdbsynonymconfigconfig"扩展为" cfg/Synonym_T1。  .explicit" ... ok(0s 0ms)预编译" src/synonyms/Synonym_S1.hdbsynonym" ...预编译" src/synonyms/Synonym_S1.hdbsynonym" ... ok(0s 1ms)预编译... ok(0s 12ms  )合并...合并" cfg/Synonym_S1.hdbsynonymconfig $ TABLE_T1.explicit" ...从" cfg/Synonym_S1.hdbsynonymconfig"扩展

 10:04:45 PM(执行员)合并" cfg/Synonym_S1.hdbsynonymconfig $ TABLE_T1.explicit" ...确定(0s 0ms)预编译" $ synonym.config/TABLE_T1"(合并)...从" cfg/Synonym_S1合并 .hdbsynonymconfig $ TABLE_T1.explicit"预编译" $ synonym.config/TABLE_T1"(合并)...正常(0s 0ms)合并...正常(0s 182ms)计算依赖项... ok(0s 784ms)处理工作清单。  ..取消部署" cfg/Synonym_S1.hdbsynonymconfig $ Table_T1.explicit" ...

 下午10:04:45(执行员)正在部署" $ synonym.config/TABLE_T1" ...从" cfg/Synonym_S1.hdbsynonymconfig"扩展。从" cfg/Synonym_S1.hdbsynonymconfig $ TABLE_T1.explicit"合并。取消部署" cfg/Synonym_S1.hdb"  $ Table_T1.explicit" ... ok(0s 0ms)取消部署" cfg/Synonym_S1.hdbsynonymconfig" ...取消部署" cfg/Synonym_S1.hdbsynonymconfig" ... ok(0s 0ms)部署" cfg/Synonym_S1.hdbsynonymconfig $ TABLE_T 显式"。。。从" cfg/Synonym_S1.hdbsynonymconfig"扩展。部署" cfg/Synonym_S1.hdbsynonymconfig $ TABLE_T1.explicit" ... ok(0s 0ms)部署" cfg/Synonym_S1.hdbsynonymconfig"。  .hdbsynonymconfig" ...确定(0s 0ms)取消部署" src/synonyms/Synonym_S1.hdbsynonym" ...

 10:04:45 PM(执行员)部署" $ synonym.config/TABLE_T1" ...确定(0s 50ms)取消部署" src/synonyms/Synonym_S1.hdbsynonym" ...确定(0s 90ms)部署" src/synonyms/Synonym_S1.hdbsynonym" ...取消部署" $ synonym.config/Table_T1" ...从" cfg/Synonym_S1.hdbsynonymconfig $ Table_T1.explicit"合并取消部署" $ synonym.config/Table_T1" ...确定(0s 10ms)部署 " src/synonyms/Synonym_S1.hdbsynonym" ... ok(0s 90ms)处理工作清单... ok(0s 300ms)正在完成...正在检查模式" ZTINYBUSAPP_ZTINYBUSAPP_DB_HDI_CONTAINER_1"中目录对象的唯一性...

 10:04:45 PM(执行员)检查架构" ZTINYBUSAPP_ZTINYBUSAPP_DB_HDI_CONTAINER_1"中目录对象的唯一性... ok(0s 15ms)最终定... ok(0s 774ms)成功(0警告):已部署2个文件( 有效4),取消部署0个文件(有效2),重新部署0个从属文件正在执行...正常(0s 493ms)在容器" ZTINYBUSAPP_ZTINYBUSAPP_DB_HDI_CONTAINER_1"中启动make,其中要部署2个文件,要取消部署0个文件...确定(0s 510ms)  )

 10:04:45 PM(执行员)部署到容器" ZTINYBUSAPP_ZTINYBUSAPP_DB_HDI_CONTAINER_1" ...正确(0s 765ms)
 下午10:04:45(执行员)无需默认访问角色处理; 全局角色" ZTINYBUSAPP_ZTINYBUSAPP_DB_HDI_CONTAINER_1 :: access_role"将不会适应
 10:04:45 PM(执行员)解锁容器" ZTINYBUSAPP_ZTINYBUSAPP_DB_HDI_CONTAINER_1" ...
 10:04:45 PM(执行员)解锁容器" ZTINYBUSAPP_ZTINYBUSAPP_DB_HDI_CONTAINER_1" ...正常(0s 4ms)
 10:04:45 PM(执行员)已完成部署到容器ZTINYBUSAPP_ZTINYBUSAPP_DB_HDI_CONTAINER_1的操作[depId]。
 10:04:45 PM(执行员)(2s 255ms)
 晚上10:04:45(执行员)
 10:04:45 PM(执行员)结构化日志校验和8f03d6ccd0a33c3fc69f08217dcfa0c9092b82150e373afee9b2c17070d868cf
 10:04:45 PM(执行员)结构日志大小24820
 10:04:45 PM(执行员)发送结构日志
 10:04:45 PM(执行器)与服务器断开连接

 10:04:45 PM(执行员)生成命令失败:生成失败:在发布生成事件期间失败:无法从生成日志创建JSON:json:无法将字符串解组为int类型的Go构造字段BuilderLog.level
 10:04:45 PM(执行员)"用于hdb构建的任务"过程以代码1完成
 10:04:45 PM(执行员)/ztinybusapp/db的构建失败。

没有明确说明为什么BUILD失败。 您能在这里帮忙吗?

我什至尝试过您提到的CDS持久性步骤..但是BUILD一直失败。.

 @ cds.persistence.exists
 实体TABLE_T1 {
         键OP_F1:时间戳不为null;
             OP_F2:整数;
 };
 

更新:我可以使用HANA DB Explorer在HDI容器中查看并打开同义词。 它表明它指向正确的目标架构和表名称。但是,当我单击"打开数据"时,什么也没有发生。 这只是一个空结果。

一周热门 更多>