将字符串拆分为内部表,其字段为STRING TYPE

2020-09-01 05:41发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我是SAP的新手。 我的程序如下:

报告ZREGEX。

TYPES:字符串开始,
substring(1000)类型c,
字符串结束。

DATA:string1 TYPE STRING VALUE' DIMENSION:TIME | 2019.01,2019.02,2019.03,2019.04,2019.05,'
DATA:string2 TYPE STRING VALUE'2019.06,2019.07,2019.08,2019.09, 2019.10,2019.11,2019.12 '。
DATA:string3 TYPE STRING VALUE' DIMENSION:TIME | 2019.09'。
DATA:my_string TYPE TABLE OF stringa,wa_string LIKE LINE OF my_string。

CONCATENATE string1 string2 string3 string4 INTO string1。 "在unica巨型字符串中字符串1,字符串2,字符串3和字符串4进行连接
将字符串1 AT''插入表my_string中。

我想将string1拆分为三个不同的字符串,然后将它们放入内部表my_string中。

内部表具有一个长度为1000且类型为c的字段子字符串。

但是,分割后的字符串可能会很长,因此长度1000可能不够。 (超过1000个字符的字符串),因此我尝试将substring(1000)TYPE c替换为:

子字符串TYPE STRING。

但是在这种情况下,我收到以下错误:

在添加INTO TABLE后,仅允许使用字符行类型(C,N,D,T或STRING)的表

wa_string必须是字符类型的数据对象(数据类型为C,N,D,T或STRING)。

我该怎么办?

谢谢

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我是SAP的新手。 我的程序如下:

报告ZREGEX。

TYPES:字符串开始,
substring(1000)类型c,
字符串结束。

DATA:string1 TYPE STRING VALUE' DIMENSION:TIME | 2019.01,2019.02,2019.03,2019.04,2019.05,'
DATA:string2 TYPE STRING VALUE'2019.06,2019.07,2019.08,2019.09, 2019.10,2019.11,2019.12 '。
DATA:string3 TYPE STRING VALUE' DIMENSION:TIME | 2019.09'。
DATA:my_string TYPE TABLE OF stringa,wa_string LIKE LINE OF my_string。

CONCATENATE string1 string2 string3 string4 INTO string1。 "在unica巨型字符串中字符串1,字符串2,字符串3和字符串4进行连接
将字符串1 AT''插入表my_string中。

我想将string1拆分为三个不同的字符串,然后将它们放入内部表my_string中。

内部表具有一个长度为1000且类型为c的字段子字符串。

但是,分割后的字符串可能会很长,因此长度1000可能不够。 (超过1000个字符的字符串),因此我尝试将substring(1000)TYPE c替换为:

子字符串TYPE STRING。

但是在这种情况下,我收到以下错误:

在添加INTO TABLE后,仅允许使用字符行类型(C,N,D,T或STRING)的表

wa_string必须是字符类型的数据对象(数据类型为C,N,D,T或STRING)。

我该怎么办?

谢谢

付费偷看设置
发送
6条回答
haha101010
1楼-- · 2020-09-01 05:46

嗨,

使用类似这样的类型:

数据my_table类型为TABLE_OF_STRINGS。

 将''处的string1拆分到表my_table中。
太Q了
2楼-- · 2020-09-01 05:47

请使用CODE按钮设置代码格式,以便以更加用户友好的格式(彩色)显示代码。

亦是此间程序员
3楼-- · 2020-09-01 06:13

您好 Giancarlo Murino

您可以使用语句

< pre> SPLIT str AT xx INTO表处于CHARACTER MODE或
 SPLIT str AT xx INTO表处于BYTE MODE。  

它将基于CHARACTER模式或BYTE模式为您提供STRING或XSTRING类型的表行。

问候

GK

我是小鹏鹏啊
4楼-- · 2020-09-01 05:55
< p>有一些预定义的表类型,其行类型是字符串,如STRING_TABLE ...使用它。

或将字符串类型的组成部分从char 1000更改为string类型也可以。

Nan4612
5楼-- · 2020-09-01 06:13

您好

我尝试了您的代码,因为您的代码格式不正确,所以我无法正确获取详细信息,但是我使用了以下代码并尝试了拆分。 据我了解,您在代码中不必要地给出了string4。 我使用下面的代码并产生如下所示的结果:

 TYPES:字符串的开始,
           substring(1000)TYPE C,
         弦的尽头。


 数据:string1类型字符串值' DIMENSION:TIME | 2019.01,2019.02,2019.03,2019.04,2019.05 '。

 DATA:string2 TYPE字符串值' DIMENSION:TIME | 2019.06,2019.07,2019.08,2019.09,2019.10,2019.11,2019.12 '。

 DATA:string3类型字符串值' DIMENSION:TIME | 2019.09 '。

 数据:字符串类型为my_string的字符串表,wa_string字符串为my_string。

 CONCATENATE string1 string2 string3 INTO string1。  "在un'unica mega-stringa中字符串1,字符串2,字符串3和字符串4的连接"

 将字符串1 AT''插入表my_string中。

请在调试模式下找到结果,如下所示:

SKY徐
6楼-- · 2020-09-01 06:01

Giancarlo Murino

要小心,如果要使用该表在ALV中显示,则不进行结构化将被转储。

一周热门 更多>