DATA: date LIKE sy-datum VALUE ‘20000101’,
datu(8).
datu = date.
datu = ‘99999999’ – datu.
然后拿datu去跟tcurr-gdatu比较.
即,用99999999减去TCURR~GDTAU就是实际汇率日期,OB08显示的是转换后的日期、其对应底表TCURR存储的是内部日期格式。
也可以使用函数做输入输出转化CONVERSION_EXIT_INVDT_OUTPUT
在SE16里需要输入正常的日期才能查询到数据:
在SQL语句中需要把日期换算成内部格式才能查询到。
比如,我们需要查询20190801的所有汇率信息,则先用99999999减去20190801得到内部日期79809198,再用这个日期去查询数据库才能查出。
如下演示ABAP直接去TCURR汇率:
data(lv_date) = sy-datum.
lv_date(4) = p_gjahr.
lv_date+4(2) = p_monat.
lv_date+6(2) = ’01’.
lv_date = lv_date – 1. “上月最后一天.
lv_date+6(2) = ’01’. “上月第一天.
“data(lv_gdatu) = conv d( 99999999 – lv_date ).
data lv_gdatu type gdatu_inv. “char类型
data lv_int1 type n length 8.
data lv_int2 type n length 8.
data lv_int3 type n length 8.
lv_int1 = lv_date.
lv_int2 = 99999999.
lv_int3 = lv_int2 – lv_int1.
write lv_int3 to lv_gdatu.
“message s000 with lv_gdatu.
select *
into table @data(lt_tcurr)
from tcurr
where gdatu eq @lv_gdatu
and kurst eq ‘M’.
本文作者: GavinDong
版权属于: GavinDong博客
文章链接: https://gavindong.com/3342.html
如果使用过程中遇到问题,可 **点击此处** 交流沟通。
版权所有,转载时必须以链接形式注明作者和原始出处及本声明。