点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我现在尝试使用不同的版本,以在HANA2的XSA项目中的过程中使用表类型,并且总是以某种方式获得错误消息:
HDI:8201003数据库错误411::无效的表类型:找不到表类型OPTNET_HDI_DB_1.OPTNET.db.cds :: calculation.results.TT_R_MODEL_IN:第2行第13列(在pos 58)
表类型在CDS文件中定义为
类型TT_R_MODEL_IN { CALC_GROUP:计算.CALC_GROUP; 年龄:小数(34,0); RATE:DecimalFloat; LENGTH_CUMULATED:小数(18,2); };
我非常确定我正在使用名称空间和上下文,因为在此上下文中还有一个实体,我可以访问它。
该过程已被删除,现在看起来像:
过程" OPTNET.db.prc :: r_model"( IN数据集整数 OUT结果" OPTNET.db.cds :: calculation.results.TT_R_MODEL_OUT" ) 语言SQLSCRIPT SQL安全调用程序 如 开始 END
我确实在.hdtabletype文件中使用tabletype成功。 但是在文档中使用了CDS文件..我确实不建议使用.hdtabletype?
类型不再在数据库中创建实际的表类型。 它们仅创建只能在CDS中使用的伪类型。 如果您还想生成数据库表类型,则需要使用语法表类型,而不仅仅是类型。 这使您可以控制是否要真正生成一个TABLE TYPE。 在此处查看示例:
https: //github.com/SAP/com.sap.openSAP.hana5.example/blob/hana2_sps03/core_db/src/data/Procedures.hdbcds
感谢,
这正是我所缺少的信息!
我假设您的XSA项目是OPTNET,hdbmodule是db,然后将存储过程存储在文件夹prc中。
这就是为什么您的sp为PROCEDURE" OPTNET.db.prc :: r_model"
所以类似地,您必须将表类型限定为
注意:我假设您也将.hdbtabletype文件也放在了prc文件夹中
知道了,但我没有答案,但是我面临着另一个问题,我有 在经典模式中用表类型定义了一个存储过程,并赋予角色/创建的服务等执行权限。 但我似乎无法将sp用作hdi容器中的同义词。 您是否有机会完成此方案
一周热门 更多>