know,or not. that's a question.

abap动态计算公式程序

上一篇 / 下一篇  2007-12-29 13:24:03 / 个人分类:abap开发

代码摘至程序RSCALC10,部分修改.

REPORT  ZDEMO_FORMULA.

DATA:
6| xp*Nw0      RETCODE      TYPE SY-SUBRC,ITPUB个人空间@hv7[3X rVDW)`i
      FUNCNAME(30) TYPE C,ITPUB个人空间,B"nE M5ov(U q
      MESSAGE(70)  TYPE C,
NpZVzx0      POS          TYPE I,
k*r@qg4W0      C            TYPE I.

PARAMETERS FORMEL type formel.

PERFORM. MIN.

FORM. MIN.
&J RZ#Ap#o5cxf4Z0*check formula
)Bt L5q~9Tg ` t0  CALL FUNCTION 'CHECK_FORMULA'ITPUB个人空间K@k"DT)]
       EXPORTING  FORMULA   = FORMELITPUB个人空间 NV C!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;Y K'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

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

我的栏目

日历

« 2008-10-11  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 946
  • 日志数: 18
  • 图片数: 5
  • 文件数: 3
  • 建立时间: 2007-12-22
  • 更新时间: 2008-10-11

RSS订阅

Open Toolbar