取得一个字符串表达式的计算结果(实现方法一)
来源:互联网 发布:python 自学 编辑:程序博客网 时间:2024/05/22 04:40
利用数据库来帮助我们计算.
REPORT zsolar.
DATA: lv_re TYPE string.
PERFORM frm_test USING '20*(2+3)' CHANGING lv_re.
WRITE:/ lv_re.
*&---------------------------------------------------------------------*
*& Form frm_test
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->LV_IN text
* -->LV_OUT text
*----------------------------------------------------------------------*
FORM frm_test USING lv_in CHANGING lv_out.
DATA: code TYPE TABLE OF rssource-line,
prog(8) TYPE c, msg(120) TYPE c, lin(3) TYPE c,
wrd(10) TYPE c, off(3) TYPE c.
DATA: lv_temp TYPE string.
CONCATENATE 'SELECT' lv_in 'from mara into :lv_out' INTO lv_temp SEPARATED BY space.
APPEND 'PROGRAM SUBPOOL.' TO code.
APPEND 'FORM frm_string_count2 USING lv_in CHANGING lv_out.' TO code.
APPEND 'DATA: msg TYPE string,' TO code.
APPEND 'oref TYPE REF TO cx_sy_native_sql_error.' TO code.
APPEND 'TRY .' TO code.
APPEND 'EXEC SQL.' TO code.
* APPEND 'SELECT 12*34+56 from mara into :lv_out' TO code.
APPEND lv_temp TO code.
APPEND 'ENDEXEC.' TO code.
APPEND 'CATCH cx_sy_native_sql_error INTO oref.' TO code.
APPEND 'CALL METHOD oref->get_text' TO code.
APPEND 'RECEIVING' TO code.
APPEND 'result = msg.' TO code.
APPEND 'WRITE msg.' TO code.
APPEND 'ENDTRY.' TO code.
APPEND 'ENDFORM.' TO code.
GENERATE SUBROUTINE POOL code NAME prog
MESSAGE msg
LINE lin
WORD wrd
OFFSET off.
IF sy-subrc EQ 0.
PERFORM frm_string_count2 IN PROGRAM (prog) USING lv_in CHANGING lv_re IF FOUND.
ENDIF.
ENDFORM. "frm_test
*&---------------------------------------------------------------------*
*& Form frm_string_count
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
*FORM frm_string_count2 USING lv_in CHANGING lv_out.
* DATA: msg TYPE string,
* oref TYPE REF TO cx_sy_native_sql_error.
* TRY .
* EXEC SQL.
*
* SELECT 12*34+56 from mara into :lv_out
*
* ENDEXEC.
* CATCH cx_sy_native_sql_error INTO oref.
* CALL METHOD oref->get_text
* RECEIVING
* result = msg.
* WRITE msg.
* ENDTRY.
*ENDFORM. "frm_string_count
- 取得一个字符串表达式的计算结果(实现方法一)
- 取得一个字符串表达式的计算结果(实现方法二)
- 输入一个字符串表达式,输出计算结果
- 给定一个表示分数加减表达式的字符串,需要以字符串格式返回计算结果。结果表达式也是分数式
- 输入一个字符串表达式,输出计算结果(队列、栈的应用)
- asp.net字符串的数学表达式计算结果
- //键盘输入算数表达式(字符串的),求计算结果.
- javascript 计算一个字符串表达式的值
- 计算一个字符串表示的四则运算表达式
- 利用API 实现字符串表达式的计算
- 利用API 实现字符串表达式的计算
- pb中使用字符串表达式计算结果
- 一个计算四则运算表达式文本的方法
- 自己实现的一个中缀表达式计算
- 将某个指定的字符串表达式转换为算术表达式并计算其结果
- 计算字符串数学公式的结果
- PHP 实现后缀表达式(接受四则运算字符串,输出计算结果,附代码)
- 字符串表达式的计算
- NAT和Proxy的区别
- Linux下完全卸载ORACLE 10G的方法
- INT 10H中断
- 调用约定
- 生成bcb能用的python.lib
- 取得一个字符串表达式的计算结果(实现方法一)
- Handle类
- 我以前的文章怎么都不见了?
- 程序员面试题精选100题(11)-求二元查找树的镜像
- 程序每次运行结果不一样
- 积分!!!!!!!!!!!!!!
- 电脑保护色
- Ubuntu系统下Sudo命令不可用的解决方法
- Delphi实现winsock编程之一(winsock概述及其加载)