将文本和变量的组合存储在单个变量中
Store a combination of texts and variables in a single variable
我正在用 ABAP 编写一个程序来以不同的格式显示系统日期,例如 DDMMYYYY 和 YYYYDDMM。
代码段是:
WRITE: / 'DATE IN DDYYYYMM FORMAT IS',SY-DATUM+6(2),'.',SY-DATUM+0(4),'.',SY-DATUM+4(2).
产生此输出:
DATE IN DDYYYYMM FORMAT IS 27 . 2007 . 07
是否可以将 DATE IN DDYYYYMM FORMAT IS 27 . 2007 . 07
存储在变量 c
中,这样当我编写代码 WRITE : c.
时它会输出 DATE IN DDYYYYMM FORMAT IS 27 . 2007 . 07
?
您可以使用字符串运算符&&
来连接文本和变量:
DATA: date_text TYPE c LENGTH 10.
date_text = sy-datum+6(2) && '.' &&
sy-datum+0(4) && '.' &&
sy-datum+4(2).
WRITE: / 'DATE IN DDYYYYMM FORMAT IS',
date_text.
输出将是:
DATE IN DDYYYYMM FORMAT IS 17.2019.07
PS:对于WRITE,您可以将NO-GAP
添加到每个元素,以便删除额外的space:
WRITE: / 'DATE IN DDYYYYMM FORMAT IS',
sy-datum+6(2) NO-GAP,
'.' NO-GAP,
sy-datum+0(4) NO-GAP,
'.' NO-GAP,
sy-datum+4(2) NO-GAP.
输出会像上面那样。
像这样的一个方便的方法是使用string templates:
DATA(lv_date) = |{ sy-datum+6(2) }.{ sy-datum+0(4) }.{ sy-datum+4(2) }|.
WRITE: / |DATE IN DDYYYYMM FORMAT IS { lv_date }|.
我正在用 ABAP 编写一个程序来以不同的格式显示系统日期,例如 DDMMYYYY 和 YYYYDDMM。
代码段是:
WRITE: / 'DATE IN DDYYYYMM FORMAT IS',SY-DATUM+6(2),'.',SY-DATUM+0(4),'.',SY-DATUM+4(2).
产生此输出:
DATE IN DDYYYYMM FORMAT IS 27 . 2007 . 07
是否可以将 DATE IN DDYYYYMM FORMAT IS 27 . 2007 . 07
存储在变量 c
中,这样当我编写代码 WRITE : c.
时它会输出 DATE IN DDYYYYMM FORMAT IS 27 . 2007 . 07
?
您可以使用字符串运算符&&
来连接文本和变量:
DATA: date_text TYPE c LENGTH 10.
date_text = sy-datum+6(2) && '.' &&
sy-datum+0(4) && '.' &&
sy-datum+4(2).
WRITE: / 'DATE IN DDYYYYMM FORMAT IS',
date_text.
输出将是:
DATE IN DDYYYYMM FORMAT IS 17.2019.07
PS:对于WRITE,您可以将NO-GAP
添加到每个元素,以便删除额外的space:
WRITE: / 'DATE IN DDYYYYMM FORMAT IS',
sy-datum+6(2) NO-GAP,
'.' NO-GAP,
sy-datum+0(4) NO-GAP,
'.' NO-GAP,
sy-datum+4(2) NO-GAP.
输出会像上面那样。
像这样的一个方便的方法是使用string templates:
DATA(lv_date) = |{ sy-datum+6(2) }.{ sy-datum+0(4) }.{ sy-datum+4(2) }|.
WRITE: / |DATE IN DDYYYYMM FORMAT IS { lv_date }|.