9

我知道 !读取 STXL.CLUSTD 的“正确”方式是通过 SAP ABAP 函数。但我很抱歉,我们正遭受性能问题的严重影响。我们已经决定直接访问数据库 (Oracle),而且我们还没有任何计划来恢复我们的决定,因为到目前为止一切都好得多。

但是,我们遇到了这个问题。STXL.CLUSTD 字段中的文本以难以理解的格式存储。我们无法通过 google 找到有关其编码格式的任何信息。任何人都可以提示我如何从 STXL.CLUSTD 解码文本?

谢谢

4

2 回答 2

11

简短版:你没有。使用功能模块 READ_TEXT。

长版:您正在查看所谓的集群表。有关详细信息,请参阅http://help.sap.com/saphelp_47x200/helpdata/en/fc/eb3bf8358411d1829f0000e829fbfe/frameset.htm。您看到的数据是文本的内部表示,某种程度上与 ABAP 内核在内部处理数据的方式有关。没有元数据,这些数据没有任何意义。如果以不兼容的方式更改原始结构,则无法再读取数据。哦,我有没有提到数据不包含对元数据的引用?在读取这些表的内容时,即使是在ABAP中,也需要知道原始的源数据结构,否则就完蛋了。如果没有元数据和内核如何在运行时处理这些数据类型的知识,您将很难破译内容。

个人观点:直接访问 SAP R/3 系统下面的数据库是一个非常糟糕的主意,因为这不仅绕过了所有的安全措施,而且还使您非常容易受到数据库的所有结构更改的影响。直接访问数据库的唯一真正原因不是缺乏性能,而是缺乏(ABAP)知识,这应该是可以治愈的:-)

于 2010-01-22T09:10:45.397 回答
2

您绝对可以在不运行任何 ABAP 代码或调用 RFC 或 BAPI 等的情况下读取集群和池。这是一种非常好的方法,高性能且易于使用。

我不喜欢人们在 StackOverflow 中鞭打他们的产品,但是您必须使用 ABAP 访问 SAP 数据的信息已经过时了 7 年多。

谢谢,

比尔·麦克莱恩

  • 我刚刚注意到这个线程,我为 Simplement 工作。Snow_FFFF 是正确的(顺便说一句,那个用户不是我,ASFAIK 不是我们公司的任何人)。自 2009 年以来,Data Liberator 产品一直在为我们的客户去集群和去池化表(以及许多其他东西)。
于 2016-08-25T20:15:07.617 回答