如何将嵌套的 JSON 对象直接存储在 ABAP DDIC 中



ABAP Databases,oracle,MaxDB et al.,主要是RDBMS。现在,我有一个无法规范化的 JSON 结构,因此我想按原样存储它。所以,我想要ABAP中一个类似MongoDB的对象存储。

实现这一目标的最佳方法是什么?数据群集是否是一种选择?也许是唯一的选择?

我认为您无法直接从ABAP连接到其他受支持的数据库。如果你有Netweaver Java,你可以调用一些访问MongoDB的自定义Java应用程序。您可以检查SAP Hana是否有类似的东西。在ABAP中,您可以通过ABAP字典与RDBMS进行交互。它支持LCHRSTRINGRAWSTRING等数据类型。查看文档以获取更多详细信息。

数据群集是一个选项,但只需使用二进制类型的数据库字段来存储 JSON 数据。

在ABAP

中有一种称为转换的方法,它将ABAP数据转换为XML/JSON数据,反之亦然。

以下博客上有一个简单的示例:https://blogs.sap.com/2013/07/04/abap-news-for-release-740-abap-and-json/

博客页面上的评论包含更多信息。

简而言之:

您可以简单地将 JSON 存储在任何 RDBMS 的 LOB 列中,该列对应于 ABAP 字典中的数据类型STRING(字符/CLOB(或RAWSTRING(字节/BLOB(。

就是这样。

<小时 />

PS:关于另外两个答案:

  • 不要使用限制为 32000 个字符的LCHR(也不要使用限制为 32000 字节的LRAW(
  • 我认为没有充分的理由使用数据群集(如果要压缩JSON,请使用ZIP或任何标准格式,而不是SAP专有格式(。问题不在于操作/转换JSON,而只是将JSON存储在RDBMS中。

最新更新