一个实现字符串公式计算的FM,玩儿的东西
可以自己加屏幕做个计算器
这个FM内对字符串的处理我没有深究,有兴趣可以看看,应该能学不少东西,呵呵
DATA
:formula
TYPE
string
,
l_value
TYPE
f
,
l_dmbtr
TYPE
mseg
-dmbtr
.
formula
=
'12
+
32
+
(
1
*4
-3*2)'
.
CALL
FUNCTION
'EVAL_FORMULA'
EXPORTING
formula
=
formula
IMPORTING
value
=
l_value
.
IF
sy
-subrc
<>
0
.
MESSAGE
ID
sy
-msgid
TYPE
sy
-msgty
NUMBER
sy
-msgno
WITH
sy
-msgv1
sy
-msgv2
sy
-msgv3
sy
-msgv4
.
ENDIF
.
l_dmbtr
=
l_value
.
WRITE
:l_dmbtr
.