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.