该WRITE
语句有很多选项,所以我想知道,它是否调用了 CONVERSION_EXIT_* 函数,或者它如何以多种方式打印原始数据类型?
如果它确实使用了 CONVERSION_EXIT_*s,那是什么?
该WRITE
语句有很多选项,所以我想知道,它是否调用了 CONVERSION_EXIT_* 函数,或者它如何以多种方式打印原始数据类型?
如果它确实使用了 CONVERSION_EXIT_*s,那是什么?
原始数据类型 ( DATA foo TYPE n LENGTH 10
) 没有ALPHA
分配给它们的任何转换出口 ( 等)。
您可以手动选择它们,例如使用
写...到...使用编辑掩码'==ALPHA'。
或者可以将它们分配给数据字典域(事务代码SE11
)。在这种情况下,它们被隐式调用,例如:
通过写
数据(语言)= CONV 系统语言('E')。" 域 SYLANGU 有 conv.exit ISOLA
数据文本类型 c 长度 2。
将语言写入文本。" conv.exit ISOLA 将 'E' 转换为 'EN'
除了WRITE
,ABAP 本身在支持转换退出方面做的很少——这是一件好事,因为转换应该只发生在程序的输入/输出边界而不是内部。
只要您正在处理它,最好将所有数据保留为内部格式,并且仅在输出发生之前对其进行转换。