点击此处---> 群内免费提供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"字段列表'
我要去哪里错了?
任何帮助将不胜感激。
感谢与问候
除了可怕的命名选择,我没有发现任何错误。 我将您的代码复制粘贴到ABAP 7.31系统中,并通过了语法检查。 您在哪一行出现错误? 我怀疑您没有与我们共享所有代码...
尝试了解代码的作用。 您确实声明了结构t1,但是没有表声明。 内部表使用TYPE <表的种类> TABLE OF声明。
有关您的版本(ABAPDOCU事务或ABAP编辑器中的F1),请参阅ABAP文档中的关键字TYPE。
P.S。 附带说明-不过请认真对待,养成给变量提供描述性名称的习惯,并删除诸如wa_之类的前缀。 这是否是您的第一个程序并不重要。 这样的名字永远都不行。
让我安排 Dip Choudhury 通过将实际代码(根据他的评论)放置在问题附近来解决问题:
语法错误:
再次,尝试了解代码的作用,然后您也可以了解问题所在以及如何解决。 您应该能够查看每个命令并向其他人(或橡皮鸭:))解释代码的作用。
步骤1 :(即使复制粘贴此代码也很痛苦,但我愿意为科学而牺牲自己。:))
这定义了一个名为str1的类型,这是一种结构类型(=字段组,在这种情况下为3个字段)。
第2步:
这里是实际变量。 tab1是一个内部表,可以保存str1类型的结构的记录,wa_tab1是str1类型的结构。 根据上面的TYPE定义,它具有3个字段。
在这一点上,例如,您可以按照另一个答案的建议进行操作:
前两个命令为结构wa_tab1中的字段分配一个值。 然后将此结构添加到内部表tab1中。 因此,结果,您在表tab1中有1条记录。
第3步。老实说,我不清楚您要使用的记录是什么。
SELECT与数据库表一起使用,而不与内部表一起使用(在最近的发行版中,我相信您也可以从内部表中执行SELECT,但是对于一个简单的示例来说,这似乎有些过头) 。 如果您的目标是从数据库表中选择数据,那么您需要一个不同的结构类型定义。 将合法数据选择为通用N和C类型没有任何意义。 相反,您应该使用与所选内容相对应的数据字典类型。 (ABAP帮助中的许多示例。)长期以来,还没有使用SELECT ... ENDSELECT并在其中进行一些处理。 (不确定HANA是否在此处进行了更改,但我对此表示怀疑。)
如果您想从内部表中获取数据(在您的代码中,该内部表中没有数据,因此也没有意义) 使用内部表的命令:READ和LOOP AT。
我也很惊讶您在pfld3上没有语法错误。 那个是从哪里来的?
然后,当然,我们不能简单地引用内部表中的值,例如
同样,文档深入涵盖了所有这些主题。 即使在旧版本中,也有很多可用的示例。 在ABAP编辑器中,转到菜单环境->示例。
或者有人认为您将s放在表名的末尾。 事情。
而不是
何时收到此错误? 在激活代码时还是在运行时? 您如何访问theese字段?
尝试使用声明表(或标准表):
该错误是在语法检查(Ctrl + F2)/激活期间。
一周热门 更多>
点击此处---> 一起学习S4 HANA ...
相关问答
相关文章
采纳回答
编辑标签
举报内容
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
付费偷看金额在0.1-10元之间