计算视图:hextoraw('41 42')导致错误:"错误:SAP DBTech JDBC:[264]:"

2020-09-13 17:26发布

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

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


大家好,

我在HANA 1.00.122.12.1502962396(fa/hana1sp12)上,我有一个计算视图,该视图由SYS.DUMMY上的投影以及带有此(列引擎)表达式的计算列组成:

 hextoraw('4142')

当我查询计算视图时,这很好。 当我使用此表达式添加另一个计算列时:

 hextoraw('41 42')

(因此,相同的两个字节,但中间有一个空格),查询视图时出现此错误:

"错误:SAP DBTech JDBC:[264]:无效的数据类型:该值在函数hextobin()处的函数hextobin()处具有无效的十六进制格式" 

我想了解问题所在。
在hextoraw的文档中(https://help.sap.com/viewer/fc5ace7a367c434190a8047881f92ed8/2.0.03/en-US/f5a9ca3718354a499a98ba61ae3da170.html ),其内容为:

"将字节的十六进制表示形式转换为字节字符串。十六进制字符串可以包含0-9,大写或小写af,并且字节的两位数字之间不能有空格;字节之间可以有空格。"

我认为在" 41 42"中,空间确实在两个字节(41和42)之间,这是怎么回事?

先谢谢您,并致以最诚挚的问候,

罗兰。

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

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


大家好,

我在HANA 1.00.122.12.1502962396(fa/hana1sp12)上,我有一个计算视图,该视图由SYS.DUMMY上的投影以及带有此(列引擎)表达式的计算列组成:

 hextoraw('4142')

当我查询计算视图时,这很好。 当我使用此表达式添加另一个计算列时:

 hextoraw('41 42')

(因此,相同的两个字节,但中间有一个空格),查询视图时出现此错误:

"错误:SAP DBTech JDBC:[264]:无效的数据类型:该值在函数hextobin()处的函数hextobin()处具有无效的十六进制格式" 

我想了解问题所在。
在hextoraw的文档中(https://help.sap.com/viewer/fc5ace7a367c434190a8047881f92ed8/2.0.03/en-US/f5a9ca3718354a499a98ba61ae3da170.html ),其内容为:

"将字节的十六进制表示形式转换为字节字符串。十六进制字符串可以包含0-9,大写或小写af,并且字节的两位数字之间不能有空格;字节之间可以有空格。"

我认为在" 41 42"中,空间确实在两个字节(41和42)之间,这是怎么回事?

先谢谢您,并致以最诚挚的问候,

罗兰。

付费偷看设置
发送
4条回答
绿领巾童鞋
1楼 · 2020-09-13 18:07.采纳回答

看看我认为是SAP HANA内核中正确的代码是什么,我非常有信心这是文档中的错误。

对于此事的100%声明,支持事件将是解决之道。

CJones
2楼-- · 2020-09-13 17:45

Lars,谢谢!

我在一个宠物项目中遇到了这个问题,所以我真的没有理由提出支持事件。 因此,如果我理解正确,文档应该已经读取到十六进制字符串中不允许有空格? (这对我来说也更有意义)

Aaron 3364
3楼-- · 2020-09-13 17:42

您可以将" 20"用于十六进制的空格,它将转换为字符串中的空格。 因此,您可以将公式用作hextoraw('412042'),结果将为'A B'。

N-Moskvin
4楼-- · 2020-09-13 18:05

嗨,

当我们将十六进制字节转换为字符串字符时; 我们将20作为最小的十六进制字节,可以将其转换为字符串字符,即空格。

因此09不能是可以转换为字符串字符的正确十六进制字节。 因此,十六进制字节必须在21到FF之间,作为hextoraw的参数。

希望我能解释一下:)

一周热门 更多>

点击此处---> EasySAP.com 一起学习S4 HANA ...

相关问答