截至ABAP 7.40 SP5我可以使用CONCAT函数组合CDS视图选择列表中的两个字段。它仅限于两个参数,但我可以通过链接这个函数来组合多个字段或构建更大的字符串来解决这个问题。我不能这样做,就是把两个字段和一个分隔它们的空间结合起来。当我这么做时:
define view Z...
as select from but000 as bp
{
concat( concat( bp.name_first, ' '), bp.name_last )
}空间' '将从结果字符串中静默地进行裁剪。如何用空格分隔字段?
发布于 2016-12-23 16:11:51
ABAP 7.50
ABAP 7.50将包括是解决此问题的函数。有了这个函数,上面的例子可以简单地写成:
CONCAT_WITH_SPACE( bp.name_first,bp.name_last,1)
1指在这两个参数之间插入的空格数。
7.50还引入了其他字符串函数喜欢INSTR,LEFT,LENGTH,LTRIM,RIGHT,RPAD和RTRIM。7.51看起来将添加 LOWER和UPPER在这个列表中。
ABAP 7.40
在这个版本中,没有一种干净的方法来完成同样的任务。唯一的方法似乎是用一个虚拟字符串连接这两个字段,该字符串将字符组中的空格括起来,而该字符串不会出现在所选字段中。组合之后,您可以从结果中移除这些字符,只留下空格。我在SAP论坛。上采用了克里斯汀·塞特尔的方法
REPLACE(CONCAT( CONCAT( bp.name_first, '|-| |-|'), bp.name_last),'|-|', '')这是因为它将处理这个字符串,如下所示:
name_first|-| |-|
name_first|-| |-|name_last
name_first name_last发布于 2018-07-20 07:08:52
如果您仍然在为一个<7.50版本而挣扎。你可以试试:
concat(concat("first_string",(' ')), "second_string")希望能帮上忙。
https://stackoverflow.com/questions/41304608
复制相似问题