• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

狼升空

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

会计报表里的数据处理

1、会计里的报表都要将数据已000.000.00,00或者-000.000.00,00的形式在ALV上显示,这样取出来的数必须要卓处理

*&---------------------------------------------------------------------*
*&      Form  CHANGE_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
form CHANGE_DATA .
    loop at tb_result.
    clear prt_result.
    move-corresponding tb_result to prt_result.
    perform num2char using tb_result-start1 changing prt_result-start1.
    perform num2char using tb_result-start2 changing prt_result-start2.
    perform num2char using tb_result-end1 changing prt_result-end1.
    perform num2char using tb_result-end2 changing prt_result-end2.
    append prt_result.
  endloop.
endform.                    " CHANGE_DATA

*&--------------------------------------------------------------------*
*&      Form  NUM2CHAR
*&--------------------------------------------------------------------*
*       text
*---------------------------------------------------------------------*
*      -->FNUM       text
*      -->SRET       text
*---------------------------------------------------------------------*
FORM num2char USING fnum like tb_result-end1 CHANGING sret.
  WRITE fnum NO-ZERO TO sret.
  IF fnum < 0.
    CONCATENATE '-' sret INTO sret.
  ENDIF.
  if sret CO '0.'.
    sret = '               '.
  endif.
  CONDENSE sret NO-GAPS.
ENDFORM.

这里面的 prt_result 里的字段都是文本类型,sert 也是文本类型。

注意:这里的WRITE 不能用move 或者 = 号代替。

posted on 2012-11-15 15:40  狼升空  阅读(323)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3