3

众所周知,SAP 不建议在透明表中使用超过 255 个字符的字段。应该使用几个 255 字段,将文本换成 LCHR、LRAW 或 STRING,或者使用 SO10 文本等。

然而,在维护遗留(和丑陋)开发的同时,经常会出现这样的问题:如何查看数据库中存储的内容char500char1000字段?现实生活场景:

  1. char1000我们有一个开发,其中一些结构从透明表中的字段写入和读取
  2. 我们知道字段结构并通过CL_ABAP_CONTAINER_UTILITIES=>FILL_CONTAINER_CSO_STRUCT_TO_CHAR顺利解析字段,所有字段都放置得很好
  3. 通过 SE11/SE16/SE16n 显示字段不会给出任何结果,因为该字段在调试器 AFAIR 中被截断为 255 和 132。

是否有任何标准工具、交易或 FM 可以用来显示如此长的字段?

4

2 回答 2

1

在 DBA 座舱 (ST04) 中,有一个 SQL 命令行,您可以在其中直接输入“本机”SQL 命令并将结果显示为 ALV 视图。使用 substring 函数,您可以将字段拆分为多个部分(expl: select substr(sql_text,1,100) s1, substr(sql_text,101,100) s2, substr(sql_text,201,100) s3, substr(sql_text,301,100) s4 from dba_hist_sqltext where sql_id = '0cuyjatkcmjf0')。PS:每个 ALV 单元格最多 128 个字符。

不确定此工具是否适用于所有受支持的数据库软件。

还有一个名为 RSDU_EXEC_SQL 的等效程序(在所有基于 ABAP 的系统中?)

不幸的是,它们不适用于 SAP(集群表等)的表的 ersatz,因为它们只能使用 ABAP“Open SQL”查询。

于 2018-02-28T19:08:39.063 回答
0

如果您有一个 ERP 系统,您可以使用信息类型 1002 手动检查事务 PP01。基本上,它们将文本存储在表 HRP1002 和 HRT1002 中,并使用文本编辑器创建一个特殊视图。它看起来像这样: http: //www.sapfunctional.com/HCM/Positions/Page1.13.jpg

在调试器中,您可以将视图切换到例如 HTML,您应该会看到整个字符串,但就我而言,编辑是有限的知道一定数量的字符。

于 2017-12-14T06:35:15.047 回答