点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) data-types.jpg...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) data-types.jpg...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
您好专家
我需要就ODATA SAP网关中使用的数据类型面临的一个问题提出建议。
问题-我们已经将URL公开给第三方,并且在传入有效负载中,我们有一个整数字段,因为他们使用的数据类型为long 20,它可以处理整数值9,223,372,036,854,775,807。
因此,当他们发送JSON有效负载时,SAP会收到如下所示的有效负载。
{" Number":1234567890123456}。
如果您可以在上面的有效负载号中看到字段值是一个整数,这就是为什么它周围没有双引号""的原因。 但是在SAP中,我们在处理此字段时遇到了问题。
SAP中很少有数据类型可用于处理此数据,例如INT16(最高值为32,767)和INT32(最高值为2,147,483,647)。 使用这种数据类型,SAP可以处理不带双引号""的值,例如- {" Number":1234567890123456} 。
当我们使用INT64时,SAP需要双引号(例如 {" Number":" 1234567890123456"})处理大于INT32的值(2,147,483,647)。
所以我的问题是SAP Gateway中是否有任何选项可以接收数据类型为INT64或其他数据类型的整数值,这些整数值最多可以处理9,223,372,036,854,775,807的值而没有双引号?
请检查SAP Gateway中使用的附加EDM数据类型。
data-types.jpg (100.6 kB)
嗨Sagar,
您所看到的行为,这意味着根据OData V2协议规范,Edm.int64是作为字符串而不是数字返回的。
https://www.odata.org/documentation/odata-version- 2-0/json-format/
请参见第4节"原始类型"
原始类型Edm.Int64JSON序列化格式
一个64位整数,格式为 JSON字符串
如果要使用JSON数字,则可以改用OData V4协议。
有关更多详细信息,请参阅我的博客文章
https://blogs.sap.com/2017/12/12/odata-v4-code -based-implementation-overview/
最好的问候
Andre
一周热门 更多>