BI 7.0 之后APD可以把数据导入到Flatfile,这个功能不错。
不过有一个很棘手的问题,就是如果是负数的话,导到Flatfile时负号是放在数字后面
的,很烦。不过可以处理。
1. 加入一个 ABAP Routine 的节点,连好输入输出,双击进入编辑界面跳到 Target Flds
把每个 KYF 的 Type 都对应到字符类型的InfoObject上,比如 0TXTLG 。
2. 在routine中加入正则法则进行负号替换
LOOP AT it_source INTO ls_source.
MOVE-CORRESPONDING ls_source TO ls_target.
if ls_target-KYF_0001 < 0.
REPLACE ALL OCCURRENCES OF REGEX '(\d+\.\d+|\d+)-'
IN ls_target-KYF_0001 WITH '-$1'.
endif.
if ls_target-KYF_0002 < 0.
REPLACE ALL OCCURRENCES OF REGEX '(\d+\.\d+|\d+)-'
IN ls_target-KYF_0002 WITH '-$1'.
endif.
...........
APPEND ls_target TO et_target.
ENDLOOP.
以上解决问题。
注:Regex要在BI 7.0之后才能支持。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/554557/viewspace-663311/ ,如需转载,请注明出处,否则将追究法律责任。