ITPub博客

首页 > Linux操作系统 > Linux操作系统 > abap动态计算公式程序

abap动态计算公式程序

原创 Linux操作系统 作者:sapr 时间:2007-12-29 13:24:03 0 删除 编辑

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

REPORT  ZDEMO_FORMULA.

DATA:
      RETCODE      TYPE SY-SUBRC,
      FUNCNAME(30) TYPE C,
      MESSAGE(70)  TYPE C,
      POS          TYPE I,
      C            TYPE I.

PARAMETERS FORMEL type formel.

PERFORM. MIN.

FORM. MIN.
*check formula
  CALL FUNCTION 'CHECK_FORMULA'
       EXPORTING  FORMULA   = FORMEL
       IMPORTING  SUBRC     = RETCODE
                  FUNCNAME  = FUNCNAME
                  MESSAGE   = MESSAGE
                  POS       = POS
       EXCEPTIONS
                   ERROR_IN_FORMULA = 1
                   MISSING_PARAMETER = 2
                   THERS = 3.

  IF SY-SUBRC EQ 0."formula is ok

*    IF RETCODE IS INITIAL.

* work out formula
       CALL FUNCTION 'EVAL_FORMULA'
            EXPORTING  FORMULA   = FORMEL
            IMPORTING  VALUE     = C
            EXCEPTIONS OTHERS    = 1.
       IF SY-SUBRC EQ 0.
          WRITE: / 'successful!'.
          write: / .
          write: / 'c:', 20 C.
       ELSE.
          WRITE: / 'error!'.
          write: / .
          WRITE: / 'sy-subrc:', 20 SY-SUBRC.

       ENDIF.
*    ELSE.
*       WRITE: / FUNCNAME, MESSAGE, POS.
*    ENDIF.

  ELSE.
      WRITE: / 'CHECK_FORMULA',20 'error!'.
  ENDIF.

ENDFORM.

还有另一种方法实现,详细见:http://tolyhuang.itpub.net/post/29951/287361

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10842258/viewspace-52949/,如需转载,请注明出处,否则将追究法律责任。

上一篇: SAP Control Framework
请登录后发表评论 登录
全部评论

注册时间:2007-12-22

  • 博文量
    89
  • 访问量
    247754