Chinaunix首页 | 论坛 | 博客
  • 博客访问: 25255
  • 博文数量: 16
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 20
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-20 16:39
个人简介

我自逍遥,我快活!

文章分类

全部博文(16)

文章存档

2017年(1)

2016年(15)

我的朋友

分类: IT业界

2017-07-12 14:41:09

DATA: formel(50),
* Returncode für Fb-Aufruf
      retcode      LIKE sy-subrc,
      funcname(30) TYPE c,
      message(70)  TYPE c,
      pos          TYPE i,
      c            TYPE f,
      l_dmbtr      TYPE mseg-dmbtr.
DATA: a1 TYPE string VALUE '5',
      a2 TYPE string VALUE '8.2',
      c1 TYPE string VALUE 'a1',
      c2 TYPE string VALUE 'a2'.
PERFORM min.

FORM min.
  formel = '(a1+a2)/2*0.1-10'.

  REPLACE c1 WITH a1 INTO formel .
  REPLACE c2 WITH a2 INTO formel .
* Formel FORMEL auf syntaktische Korrektheit prüfen
  CALL FUNCTION 'CHECK_FORMULA'
    EXPORTING
      formula           = formel
    IMPORTING
      subrc             = retcode
      funcname          = funcname
      message           = message
      pos               = pos
    EXCEPTIONS
      error_in_formula  = 1
      missing_parameter = 2
      OTHERS            = 3.

  IF retcode IS INITIAL and sy-subrc = 0.
*    Wenn Formel FORMEL syntaktisch korrekt ist, auswerten
    CALL FUNCTION 'EVAL_FORMULA'
      EXPORTING
        formula = formel
      IMPORTING
        value   = c
      EXCEPTIONS
        OTHERS  = 1.
    IF sy-subrc = 0.
      WRITE: / text-001, c.
      l_dmbtr = c.
      WRITE: / l_dmbtr.
    ELSE.
      WRITE: / sy-subrc.
    ENDIF.
  ELSE.
    WRITE: / funcname, message, pos.
  ENDIF.
阅读(200) | 评论(0) | 转发(0) |
0

上一篇:SAP保存操作记录CDHDR和CDPOS表

下一篇:没有了

给主人留下些什么吧!~~