Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7126933
  • 博文数量: 655
  • 博客积分: 10264
  • 博客等级: 上将
  • 技术积分: 8278
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-04 17:47
个人简介

ABAP顾问

文章分类

全部博文(655)

文章存档

2017年(2)

2014年(8)

2013年(3)

2012年(2)

2011年(18)

2010年(102)

2009年(137)

2008年(274)

2007年(134)

分类:

2010-04-21 22:06:51

REPORT  z_barry_test NO STANDARD PAGE HEADING .
 
DATA: date1 LIKE sy-datum,
      date2(30).

date1 = sy-datum.
DO 400 TIMES.
  date1 = date1 + 1 .
  PERFORM get_date2 USING date1 CHANGING date2.
  WRITE / date2.
ENDDO.
 
*&---------------------------------------------------------------------*
*&      Form  get_date2
*&---------------------------------------------------------------------*
FORM get_date2 USING value(date_in) LIKE sy-datum
               CHANGING date_str.
  DATA: yy(10),
        mm(10),
        dd(10).
  DATA: len TYPE i.
 
  len = 3 - cl_abap_char_utilities=>charsize.
  yy = date_in+0(4).
  mm = date_in+4(2).
  dd = date_in+6(2).
 
  TRANSLATE yy USING '0〇1一2二3三4四5五6六7七8八9九'.
  TRANSLATE mm USING '1一2二3三4四5五6六7七8八9九'.
  TRANSLATE dd USING '1一2二3三4四5五6六7七8八9九'.
 
  IF date_in+4(2) > 9.
    SHIFT mm BY len PLACES .
    CONCATENATE '十' mm INTO mm.
  ENDIF.
  IF date_in+6(2) > 29 .
    SHIFT dd BY len PLACES .
    CONCATENATE '三十' dd INTO dd.
  ELSEIF date_in+6(2) > 19 .
    SHIFT dd BY len PLACES .
    CONCATENATE '二十' dd INTO dd.
  ELSEIF date_in+6(2) > 9.
    SHIFT dd BY len PLACES  .
    CONCATENATE '十' dd INTO dd.
  ENDIF.

  CONCATENATE yy '年' mm'月' dd '日' INTO date_str.
  REPLACE ALL OCCURRENCES OF '0' IN date_str WITH ``.
ENDFORM.
阅读(2882) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~