在数据源的定义里面,选择源数据的字段格式是internal还是external。
这个你随便选。还有个转换例程。
然而你不懂什么意思。
首先解释一下:
internal:数据在数据库上是怎么保存的
external:数据是怎么展示的
如果你的数据源是SAP自己的ERP、BW啥的,那这些字段就已经是内部的格式。那就不需要转换。
如果你这个数据没有SAP的内部格式,那你在数据源定义里面只能选format是external,那么系统会自动转换成内部格式。
不然的话,那你就在转换里面写一个routine,来call 一个功能模块:conversion_exit_****_input
当然还是直接选external方便。
举个例子:
我要加载下面的文本文件数据源到系统里面,有一个是日期字段。
我这里选择的是internal,但是当我加载的时候,会给我报一个0DATS的错,加载不上去。
为啥呢,因为日历日是参考0DATE的,这个内部格式是8位哈。是YYYMMDD格式,而我的数据源里面的格式是2012.02.12这种格式,多了两个点。
那么我需要把数据源里面的format改成external才能不出错。
当你是internal,SAP就会把你的值和它的内部格式比对一下,如果不是internal,就会报错。
当你是external,那SAP就知道了,哦你不想用我的内部格式,那就会放你一马,而且让你用你自己的格式。也就是external的格式。最后你信息提供者里展示的也是外部格式。
如果有时候,你选了external,但是没办法加载你的数据。
要在conversion那里写一个RSDAT,以下是个示例图,这个RSDAT转换就是告诉SAP,无论我的格式是啥,也许是04/12/2020,那你也给我转换过来,我也要输入的。
如果写了RSDAT还不能加载数据源,那么,到你的帐号的格式下面改:把默认的日期改了,你顺便还能把你的小数位的显示方式给改了,我下面的是欧洲的小数位显示,咱可以改成1,234.56这种的。
这样改完就没啥了。
还有就是你transfer不勾的话,后续转换里面是找不到这个字段的。