这个简单的代码有什么问题?

2020-09-06 22:21发布

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

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


大家好,

任何人都可以告诉我下面这段代码有什么问题吗?

报告ztest1。
 types:从t1开始,
 fld1类型N,
 fld2类型C,
 pfld3类型N,
 t1结束。
 
类型:t2的开头,
 fld3类型N,
 t2结束。
数据:tab1 TYPE t1,
 wa_tab1 TYPE t1。
 
数据:tab2类型t2,
 wa_tab2输入t2。


实际上,我想声明一个带有字段的结构't1'-fld1为'Numeric'类型,fld2为'char'类型,等等。

然后,我想创建一个内部表'tab2',该表的行类型与't1'相同,即具有与fld1,fld2和pfld3等类型相同的字段。

同样,对于第二个int。 表tab2基于结构类型't2'。

但是我遇到以下语法错误-'未知列名" FLD1"字段列表'

我要去哪里错了?

任何帮助将不胜感激。

感谢与问候

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

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


大家好,

任何人都可以告诉我下面这段代码有什么问题吗?

报告ztest1。
 types:从t1开始,
 fld1类型N,
 fld2类型C,
 pfld3类型N,
 t1结束。
 
类型:t2的开头,
 fld3类型N,
 t2结束。
数据:tab1 TYPE t1,
 wa_tab1 TYPE t1。
 
数据:tab2类型t2,
 wa_tab2输入t2。


实际上,我想声明一个带有字段的结构't1'-fld1为'Numeric'类型,fld2为'char'类型,等等。

然后,我想创建一个内部表'tab2',该表的行类型与't1'相同,即具有与fld1,fld2和pfld3等类型相同的字段。

同样,对于第二个int。 表tab2基于结构类型't2'。

但是我遇到以下语法错误-'未知列名" FLD1"字段列表'

我要去哪里错了?

任何帮助将不胜感激。

感谢与问候

付费偷看设置
发送
12条回答
悻福寶寶
1楼-- · 2020-09-06 22:55

嗨Jelena和Raffaele,

我已根据您的建议更改了代码,但仍然出现相同的错误!

这是修改后的代码:

 REPORT ZTEST1。
 类型:str1的开头,
    fld1类型N,
   fld2类型C,
  pfld3类型N,
   str1的结尾。

   类型:str2的开头,
    fld3类型N,
     str2的结尾。
    
 数据:tab1的str1类型表,
         wa_tab1类型str1。

  数据:str2的tab2类型表,
         wa_tab2键入str2。

 从tab1处选择fld1 fld2,而fld3 = pfld3。

 写:/1 tab1-fld1,tab1-fld2。

 ENDSELECT。

进行语法检查或激活时的错误与早期版本相同。 :

Baoming ROSE
2楼-- · 2020-09-06 22:33

您的类型是通用类型。 您不能针对通用类型定义DATA。例如,类型C是通用类型。

您不能从内部表中进行选择(最新版本的ABAP除外)。

Haoba3210
3楼-- · 2020-09-06 22:46

为了声明内部表,您应该使用:

-的类型表

-类似于的标准表

注意。
Umberto

浮生未央
4楼-- · 2020-09-06 22:43

不是。

您应该使用

 TYPE STANDARD TABLE OF ... 定义>
 类型排序表...带<键定义>
 使用<键定义

的类型的哈希表。可以在适当的地方使用LIKE。

能不能别闹
5楼-- · 2020-09-06 22:47

您好,

这是正确的代码。

wa_tab1-fld1 = 1
wa_tab1-fld2 ='A' 。
APPEND wa_tab1到tab1。

SELECT
fld1,
fld2
从@ tab1到a
fld1 = 1
INTO @DATA(输出)。

WRITE:/1 output-fld1,output-fld2。

ENDSELECT。

致谢

大师Prasad。

大道至简
6楼-- · 2020-09-06 22:39

也应该使用INSERT而不是APPEND。 APPEND仅适用于标准表。 在更高版本的代码中,表类型可能会更改,然后您将不得不使用INSERT,因此最好从头开始使用它。 关于编写健壮的代码。

一周热门 更多>