从SAP透明表中显示500+字符字段

时间:2017-12-13 17:49:01

标签: sap abap sap-data-dictionary

众所周知,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显示字段不会产生任何结果,因为字段被截断为255,而在调试器中则为132,AFAIR。
  4. 我们可以使用标准工具,交易或FM来显示这么长的字段吗?

2 个答案:

答案 0 :(得分:1)

在DBA驾驶舱(ST04)中,有一个SQL命令行,您可以在其中直接输入" native" SQL命令并将结果显示为ALV视图。使用子字符串函数,您可以将字段拆分为多个部分(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(群集表等)为表格工作,因为只能使用ABAP" Open SQL"来查询。

答案 1 :(得分:0)

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

在调试器中,您可以将视图切换为例如HTML,你应该看到整个字符串,但据我所知,编辑只限于一定数量的字符串。