0
点赞
收藏
分享

微信扫一扫

[转载]日期大写_SAP刘梦_新浪博客

作者:edwin

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.


举报

相关推荐

0 条评论