Abap 如何使用新语法创建简单类型的值';s值关键字?

Abap 如何使用新语法创建简单类型的值';s值关键字?,abap,Abap,这是给你的 可以使用value语句创建初始值 DATA(l_value) = VALUE char4( ). 但似乎不可能用同样的方法创建一个具体的方案 DATA(l_value) = VALUE char4( 'AAA' ). 我得到以下语法错误 类型“C”不是结构 有什么提示吗?如何使用value关键字创建简单类型的值?您不能。 文件中明确指定 基本数据类型和引用类型不能用值显式指定以构造值,除非创建初始值。 因此,对基本数据类型使用VALUE的唯一正确用例是分配初始值。要指定具体值,必

这是给你的

可以使用
value
语句创建初始值

DATA(l_value) = VALUE char4( ).
但似乎不可能用同样的方法创建一个具体的方案

DATA(l_value) = VALUE char4( 'AAA' ).
我得到以下语法错误

类型“C”不是结构

有什么提示吗?如何使用
value
关键字创建简单类型的值?

您不能。
文件中明确指定

基本数据类型和引用类型不能用值显式指定以构造值,除非创建初始值。

因此,对基本数据类型使用
VALUE
的唯一正确用例是分配初始值。要指定具体值,必须使用
NEW
运算符:

DATA(l_value) = NEW char4( 'AAA' ).

不过,它将是一个对象,而不是变量。

我无法清楚地理解您的问题,但如果您想在声明任何变量时为其提供初始值,则可以使用“value”关键字


数据l_值类型c值“A”。

嘿,suncatcher。您还有时间再次查看我的缩减表子集吗?@icbytes,我在评论中告诉您,我不知道原因。我建议您对常见的数据集进行广泛的测试,而不是对您引用的那些奇怪的QM BAPI结构进行测试。这不是大声喧哗的理由。但是,无论某些结构有多旧,只要没有更好的选择,或者只要在客户名称空间中重新设计轮子需要花费时间,您就必须始终坚持尽可能接近sap标准。如果由客户付费,重新设计轮子可能非常有趣:)但通常生产性解决方案应该是可持续的,灵活敏捷。我不知道您的结构是如何填充的,它有什么排序规则,等等。所有这些因素都会影响表表达式的行为,因此我无法重现这个问题。在你自己的问题中进一步提问,因为这是离题。这并不能以任何方式回答问题。它是关于新ABAP语法中的
关键字。