熟悉一下ABAP基本语法, 例程如下.
*&---------------------------------------------------------------------*
*& Report ZWQS_TEST_UNIT4
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZWQS_TEST_UNIT4.
TYPES gty_result TYPE p LENGTH 16 DECIMALS 2.
PARAMETERS:
pa_int1 TYPE i,
pa_op TYPE c LENGTH 1,
pa_int2 TYPE i.
DATA gv_result TYPE gty_result.
IF ( pa_op = '+' OR
pa_op = '-' OR
pa_op = '*' OR
pa_op = '/' AND pa_int2 <> 0 OR
pa_op = '%' ).
CASE pa_op.
WHEN '+'.
gv_result = pa_int1 + pa_int2.
WHEN '-'.
gv_result = pa_int1 - pa_int2.
WHEN '*'.
gv_result = pa_int1 * pa_int2.
WHEN '/'.
gv_result = pa_int1 / pa_int2.
WHEN '%'.
PERFORM calc_percentage
USING
pa_int1
pa_int2
CHANGING
gv_result.
ENDCASE.
WRITE: 'Result:'(res), gv_result.
ELSEIF pa_op = '/' AND pa_int2 = 0.
WRITE: 'No division by zero!'(dbz).
ELSE.
WRITE: 'Invalid operator!'(iop).
ENDIF.
*&---------------------------------------------------------------------*
*& Form calc_percentage
*&---------------------------------------------------------------------*
* calculate percentage value
*----------------------------------------------------------------------*
* -->PV_ACT actual value
* -->PV_MAX maximum value
* <--CV_RESULT result
*----------------------------------------------------------------------*
FORM calc_percentage USING pv_act TYPE i
pv_max TYPE i
CHANGING cv_result TYPE gty_result.
*Simple Error Handling
IF pv_max = 0.
cv_result = 0.
WRITE 'Error in percentage calculation'(epc).
ELSE.
*Calculate result
cv_result = pv_act / pv_max * 100.
ENDIF.
ENDFORM. " calc_percentage
----
本文详细介绍了如何使用ABAP基本语法编写一个简单的计算器程序,包括加、减、乘、除和百分比计算功能。同时,还提供了一个用于计算百分比的专用函数,确保了代码的灵活性和易读性。
2万+

被折叠的 条评论
为什么被折叠?



