ABAP调用JavaScript进行幂乘运算

ECC版本没有内置的ipow运算函数,所以需要进行幂乘运算的话,可以采用调用JavaScript的方式来实现,参考代码如下:

源码:

FUNCTION zfm_power_calculate .


*"----------------------------------------------------------------------
 *"*"局部接口:
*" IMPORTING
 *" VALUE(X) TYPE STRING
 *" VALUE(Y) TYPE STRING
 *" EXPORTING
 *" VALUE(RETURN)
 *" VALUE(ERRMSG) TYPE STRING
 *" EXCEPTIONS
 *" HAS_ERROR
 *"----------------------------------------------------------------------


* Global data declarations


  DATA:
     lo_js    TYPE REF TO cl_java_script,
     lo_excep TYPE REF TO cx_dynamic_check.

   DATA:
     lv_js_string TYPE string,
     lv_return    TYPE string.

   TRY .
       lo_js = cl_java_script=>create( ).

       CONCATENATE `var result = Math.pow(` x `,` y `);result;` INTO lv_js_string.

       lv_return = lo_js->evaluate( lv_js_string ).

       CONDENSE lv_return NO-GAPS.

       return = lv_return.
     CATCH cx_dynamic_check INTO lo_excep.
       RAISE has_error.
       errmsg = lo_excep->get_text( ).
   ENDTRY.
 ENDFUNCTION.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DeveloperMrMeng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值