数据前导零问题解决

在使用文本数据源的时候,经常的会遇到前导0的问题,比如你给了field1字段CHAR 20位长度,但实际数据可能只有8位(例如ABCDEFGH),如果不做设置,那么在数据上载到PSA的时候就会自动保存为“000000000000ABCDEFGH”,想要使用这部分数据的话还得在例程中写转换去掉前导0。

但其实只需要在生成的数据源中做个小修改即可,见下图,在字段的“格式”中,将“E 外部的”改为“内部的”,重新激活,上数,搞定。

 

 

但如果你使用了信息对象为字段模板的话,如果信息对象带有ALPHA转换,那么在数据源中也会带有ALPHA转换,那么即使你把格式设置为“内部的”也无济于事,系统会在上数后自动补0,而且你通过一般的查看数据的途径无法看到数据有前导0.

同理,在BW的转换中,如果你的信息对象是带有ALPHA转换,而你的数据类型是CHAR,长度超过你所需要的数据位数,那么一旦你的数据中出现纯数字, 转换之后系统会帮你自动把0补齐,解决方法:在信息对象中将ALPHA转换删除。特别注意:虽然信息对象相当于域的概念,但修改完之后仍需要将转换重新激 活,否则修改不生效。

posted @ 2012-10-26 16:48  hanmos  阅读(1243)  评论(0编辑  收藏  举报