我需要转换值吗?

问题描述 投票:1回答:2

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

Converted and unconverted values via SE16N

sap abap
2个回答
0
投票

ABAP中的SELECT中的表行仅包含未转换的值。使用这些来例如JOIN和其他表格或调用方法/功能模块。转换仅在显示数据时相关。

顺便说一句:尽管如此,这些带有“良好意图”的转换仍会引起问题。例如,类型为NUMC(数字字符)的值在转换过程中具有前导零时经常被修剪/剥离。但是当缺少这些前导零时,某些功能模块将不起作用。


0
投票

首先,可能有必要解释“转换价值”和“未转换价值”(更好的是“外部价值”和“内部价值”)的概念。

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

[如Legxis所解释,对于有意义的代码,对于度量单位“ ST”的内部值(表示数量是件数的度量单位,英国用户更喜欢,这是非常实际的查看PCS(英语单词“ pieces”),而德国用户则更喜欢看到ST(德语单词“Stücks”)。

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

  • CONVERSION_EXIT_CUNIT_INPUT进行从外部值(显示的)到内部值(程序和数据库)的转换
  • [CONVERSION_EXIT_CUNIT_OUTPUT进行从内部值(程序和数据库)到外部值(显示)的转换]
  • 这些功能模块在SAP呈现技术(如SAP GUI,SAPscript,智能表单,SAP Adob​​e表单,BSP,Web Dynpro等)中自动调用。如果调用ABAP语句WRITE,也会调用“ OUTPUT”功能模块。

© www.soinside.com 2019 - 2024. All rights reserved.