know,or not. that's a question.
abap动态计算公式程序
上一篇 /
下一篇 2007-12-29 13:24:03
/ 个人分类:abap开发
代码摘至程序RSCALC10,部分修改.
REPORT ZDEMO_FORMULA.
DATA:
6|x p*Nw0 RETCODE TYPE SY-SUBRC,ITPUB个人空间@hv7[3X
rVDW)`i
FUNCNAME(30) TYPE C,ITPUB个人空间,B"nE
M5ov(Uq
MESSAGE(70) TYPE C,
NpZVzx0 POS TYPE I,
k*r@qg4W0 C TYPE I.
PARAMETERS FORMEL type formel.
PERFORM. MIN.
FORM. MIN.
&JRZ#Ap#o5cxf4Z0*check formula
)BtL5q ~9Tg `t0 CALL FUNCTION 'CHECK_FORMULA'ITPUB个人空间K@k"DT)]
EXPORTING FORMULA = FORMELITPUB个人空间
NVC!y+YJ&W
IMPORTING SUBRC = RETCODEITPUB个人空间u1\"^$zr7E+l.m [
FUNCNAME = FUNCNAME
T m
e&eY;f_6m6t0 MESSAGE = MESSAGEITPUB个人空间Z,j6~R8`s^*^
POS = POS
Zi*G8g~&{p+MK$}GLi0 EXCEPTIONSITPUB个人空间`&`&{6~mSK/U!j%S
ERROR_IN_FORMULA = 1
ELwe3g-b D8FF0 MISSING_PARAMETER = 2ITPUB个人空间n&pk"h:W2VE&i
THERS = 3.
IF SY-SUBRC EQ 0."formula is ok
* IF RETCODE IS INITIAL.
* work out formula
!`MysC
N0 CALL FUNCTION 'EVAL_FORMULA'ITPUB个人空间r-u_$H^FR9[0V.N
EXPORTING FORMULA = FORMELITPUB个人空间`Z(x3`"gdC$D
IMPORTING VALUE = CITPUB个人空间{le1n?Jf|VzQ3T
EXCEPTIONS OTHERS = 1.ITPUB个人空间W*Rg&a:w%gZ-Xp
IF SY-SUBRC EQ 0.ITPUB个人空间D5ZS0|q^xcB
WRITE: / 'successful!'.
0I!xkw9\'bK0 write: / .
0y(GX%I6X0 write: / 'c:', 20 C.
AM^Gt
s0 ELSE.ITPUB个人空间P)d1lq$\%@/d?a
WRITE: / 'error!'.ITPUB个人空间 L.j1Kj;YK'm~:x
write: / .ITPUB个人空间*ea9Tm@]kk
WRITE: / 'sy-subrc:', 20 SY-SUBRC.
ENDIF.ITPUB个人空间&LyG8M,H1jQQ#Y9@ eO
* ELSE.
U:Ip!K)K!S1?0* WRITE: / FUNCNAME, MESSAGE, POS.ITPUB个人空间 SLJXVc1k
* ENDIF.
ELSE.
w7g3k9d(gx*~/P0 WRITE: / 'CHECK_FORMULA',20 'error!'.
1AZ1\ X0n"e0 ENDIF.
ENDFORM.
还有另一种方法实现,详细见:http://tolyhuang.itpub.net/post/29951/287361
导入论坛
引用链接
收藏
分享给好友
推荐到圈子
管理
举报
TAG:
abap
formula
sap
计算公式
check_formula
eval_formula