ABAP:切断超过一定长度的文本

时间:2011-04-06 12:17:14

标签: sap abap bsp

我有一个文本列表,其长度范围从1个字符到数千个。我想切断超过255个字符的所有文本。我怎样才能做到这一点? 我是否必须检查每个字符串的长度然后用(255)剪切它还是有更优雅的表达?

编辑:像这样

<% IF STRLEN( wa_comm-text ) > 255. %>
<%= wa_comm-text(255) %> ...
<% ELSE. %>
<%= wa_comm-text %>
<% ENDIF. %>

这是BSP

提前致谢

3 个答案:

答案 0 :(得分:4)

另一个选项是:

<% 
data: ls_text(255) type c. 
ls_text = wa_comm-text.   
%>
<%= ls_text %>

因为你显然不能在字符串上使用子字符串,如果它们更短,你将会遇到运行时错误。

答案 1 :(得分:0)

我为此创建了一个名为zss的'字符串解决方案'类,其中使用静态方法切断给定字符串和给定长度。

然后你可以做这样的事情:

<%= zss=>left( s = wa_comm-text cutoff = 255 ). %>

甚至更具体的方法

<%= zss=>left255(  wa_comm-text ). %>

答案 2 :(得分:0)

只是一个选择:

<%= CONV char255( wa_comm-text ) %>

内联转换和修整为目标类型在这里完成。