gpt4 book ai didi

abap - 使用 ID 以编程方式获取文本符号

转载 作者:行者123 更新时间:2023-12-04 02:41:35 24 4
gpt4 key购买 nike

有没有办法在运行时以编程方式获取文本符号的值?

场景是我有一个调用功能模块的简单报表。我在 CHAR1 类型的变量 LV_MSG 中收到一个导出参数。这表示在程序中创建的特定状态消息,例如 F(失败)、X(匹配)或 E(错误)。我目前使用 CASE 语句打开 LV_MSG 并用消息的简短描述填充另一个变量。这些描述作为文本符号进行维护,我在编译时使用 text-MS# 检索这些符号,其中 # 与 LV_MSG 的可能返回值相同,例如 text -MSX 的值为“找到完全匹配”。

现在在我看来,整个 CASE 语句是不必要的,因为我可以将 ID 为 'MS' + LV_MSG 的文本符号的值分配给我的描述变量>(伪代码,将使用 CONCATENATE)。现在我的问题是如何在运行时根据其 ID 的字符串表示形式找到文本符号。这可能吗?

如果是这样,我的代码看起来会更清晰,并且在功能模块中添加新消息时我不必更新我的实际代码,因为我只需要添加一个新的文本符号。但是这种方法会更快吗?或者它实际上会降低报告的性能吗?

最佳答案

就我个人而言,我可能会定义一个域并使用域的固定值来表示值。这样,您甚至可以绕过字符串连接。您可以使用功能模块 DD_DOMVALUE_TEXT_GET 轻松访问域值的语言相关文本。

要访问程序的文本元素,请使用像 READ_TEXT_ELEMENTS 这样的功能模块。

请注意,像这样的泛型编程肯定会减慢您的程序。它是否会使您的代码看起来更清晰,这是在旁观者的眼中——如果值很少改变,我不明白为什么一个简单的 CASE 语句应该不如一些通用的文本访问。

关于abap - 使用 ID 以编程方式获取文本符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19807609/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com