ITPub博客

首页 > Linux操作系统 > Linux操作系统 > APD导出Flatfile 的负号问题

APD导出Flatfile 的负号问题

原创 Linux操作系统 作者:leniz 时间:2010-05-21 11:46:28 0 删除 编辑

   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/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-05-31

  • 博文量
    448
  • 访问量
    1193707