声明变量时是否可以使用“TEXT-XXX”?

Big*_*oot 1 abap

我正在自学公司提供的ABAP,资源不足。

输出应该是:“员工编号”

“名”

“姓”

“出生日期”

“梦想薪资”

“爱好”

指令为:使用正确数据类型的变量显示以下内容。文本符号应分配给下面列出的值。

text-001 员工编号

text-002 名字

text-003 姓氏

text-004 生日

text-005 梦想薪资

text-006 爱好

然而,在ABAP中声明变量时我们不允许使用破折号(-)。

有什么解决方法吗?

这是我的代码

DATA: text_001 TYPE String,
      text_002 TYPE String,
      text_003 TYPE String,
      text_004 TYPE String,
      text_005 TYPE String,
      text_006 TYPE String,

MOVE 'EMPLOYEE NUMBER' TO text_001.
MOVE 'EMPLOYEE NUMBER' TO text_002.
MOVE 'EMPLOYEE NUMBER' TO text_003.
MOVE 'EMPLOYEE NUMBER' TO text_004.
MOVE 'EMPLOYEE NUMBER' TO text_005.
MOVE 'EMPLOYEE NUMBER' TO text_006.

WRITE: text_001,
     / text_002,
     / text_003,
     / text_004,
     / text_005,
     / text_006.
Run Code Online (Sandbox Code Playgroud)

虽然它输出所需的输出,但检查我的代码的应用程序不接受该代码作为正确答案。因为我需要使用:

text-001而不是 text_001

Phi*_*ipp 5

我认为您可能误解了这些说明。我相信您应该对常量字符串使用文本符号,对变量字符串使用变量。

文本符号是一种存储静态文本字符串的技术,这些文本字符串与 ABAP 代码分开出现在程序中。这样做的主要原因是 i18n。这些文本稍后可以由不知道如何编程 ABAP 的人翻译。当最终用户使用与您创建程序时不同的登录语言时,程序将自动使用翻译后的文本。

您可以在SE80中创建文本符号,方法是转到菜单栏中的“转到” -> “文本元素” ,然后选择“文本符号”选项卡。

您可以在 Eclipse 中创建文本符号,方法是右键单击源代码并在上下文菜单中选择“打开其他” -> “文本元素” 。

每个文本符号都有一个 3 位数字。然后您可以像这样引用该号码:

WRITE: / text-001, gv_firstname.
Run Code Online (Sandbox Code Playgroud)

  • 最好不要使用 TEXT-### 格式,而使用“textliteral”(###)。正如链接的帮助文本所解释的,使用后一种结构,如果文本元素未以登录语言维护,您仍然会获得一些有意义的文本。而且它使代码更易于阅读。 (4认同)