REPORT demo_data_calculate .
* / DIV MOD
DATA: pack TYPE p DECIMALS 4,
n TYPE f VALUE '+5.2',
m TYPE f VALUE '+1.1'.
pack = n / m.
WRITE pack. “pack=4.7273
pack = n DIV m.
WRITE / pack. "pack=4.0000
pack = n MOD m. "pack=0.8000
WRITE / pack.
ULINE. "一条横线
* MULTIPLY-CORRESPONDING
DATA: BEGIN OF rate,
usa TYPE f VALUE '0.6667',
frg TYPE f VALUE '1.0',
aut TYPE f VALUE '7.0',
END OF rate.
DATA: BEGIN OF money,
usa TYPE i VALUE 100,
frg TYPE i VALUE 200,
aut TYPE i VALUE 300,
END OF money.
MULTIPLY-CORRESPONDING money BY rate.
WRITE / money-usa. "money-sua=100*0.6667=67
WRITE / money-frg. "money-frg=200*1.0=200
WRITE / money-aut. "money-aut=300*7.0=2100
ULINE. "一条横线
* ADD ...
DATA: BEGIN OF series,
n1 TYPE i VALUE 10,
n2 TYPE i VALUE 20,
n3 TYPE i VALUE 30,
n4 TYPE i VALUE 40,
n5 TYPE i VALUE 50,
n6 TYPE i VALUE 60,
END OF series.
DATA sum TYPE i.
ADD series-n1 THEN series-n2 UNTIL series-n5 GIVING sum.
WRITE sum. "sum=10+20+30+40+50=150
ADD series-n2 THEN series-n3 UNTIL series-n6 TO sum.
WRITE / sum. "sum=20+30+40+50+60+150(上次运算中SUM的值)=350