gpt4 book ai didi

abap - 我需要转换一个值吗?

转载 作者:行者123 更新时间:2023-12-04 21:01:41 26 4
gpt4 key购买 nike

当我从数据库表中选择一个单位时,我注意到,通过事务 SE16N,同一字段有两个不同的值。一个未转换的和一个转换的值。通过我的 SELECT 语句,我收到了未转换的语句。我是否需要转换此值才能继续使用它?

Converted and unconverted values via SE16N

最佳答案

首先,可能有必要解释一下什么是“转换后的值(value)”和“未转换的值(value)”(即所谓的“外部值(value)”和“内部值(value)”)。

内部值是程序使用并存储在数据库中的实际值,外部值仅在显示、屏幕上、打印输出等时计算。

正如 Legxis 解释的那样,对于度量单位“ST”(表示数字是件数的度量单位)的内部值,看到一个有意义的代码是非常实用的,英语用户更愿意看到 PCS(英语单词“pieces”),而德语用户更愿意看到 ST(德语单词“Stücks”)。

转换算法是在 DDIC 域级别(事务代码 SE11)通过“conversion routine”字段定义的,一个 5 字符的代码定义了在显示时自动调用的转换功能模块.例如,度量单位与域MEINS相关,它具有例程CUNIT,对应于功能模块CONVERSION_EXIT_CUNIT_INPUTCONVERSION_EXIT_CUNIT_OUTPUT

  • CONVERSION_EXIT_CUNIT_INPUT 将外部值(显示)转换为内部值(程序和数据库)
  • CONVERSION_EXIT_CUNIT_OUTPUT 将内部值(程序和数据库)转换为外部值(显示)

这些功能模块在 SAP GUI、SAPscript、Smart Form、SAP Adob​​e form、BSP、Web Dynpro 等 SAP 渲染技术中自动调用。如果调用 ABAP 语句 WRITE,“OUTPUT”功能模块也会被调用。

请注意,为 DDIC 域定义的“输出长度”可能具有一定的重要性,因为可以定义比内部长度更大的输出长度(显示)。例如,语言代码内部存储在一个字符上,但显示在两个字符上。例如,在英语中,语言代码“V”(瑞典)显示为“SW”(瑞典),语言代码“S”(西类牙)显示为“SP”(西类牙)。

最后,如果你很好地理解了这个概念,你应该得出结论,你通常不需要自己转换任何东西。仅当您想要定义一个不是上述 SAP 支持的技术之一的接口(interface)时,它才有用。

关于abap - 我需要转换一个值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58097610/

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