IF문과 CASE WHEN 구문을 사용하여 계산기 만들기
REPORT ZBD400_20_COMPUTE.
" 총 3개의 매개변수 ( Parameters )
" 2개의 정수 와 1개의 연산자
" 전역변수 1개를 요구 - 2개의 정수와 연산자로 계산된 결과값
" 연산자는 case 문을 통해서 계산로직을 분기
" 계산된 결과가 저장된 전역변수를 WRITE 문을 통해서 출력
" 연산자는 사칙연산( + , - , * , / ) 외에는 허용하지 않는다.
" 만약 입력시 오류 메시지 출력
" / 연산자 중 분모에 해당하는 값이 0일 경우 오류 메시지 출력
*Task 1 매개변수와 연산자 생성, 전역변수 생성
PARAMETERS : INPUT1 TYPE I,
FACTOR TYPE C,
INPUT2 TYPE I.
DATA: GV_RESULT TYPE P DECIMALS 2.
IF FACTOR = '/' AND INPUT2 = 0.
MESSAGE I000(OO) WITH '0으로 나눌 수 없습니다.' .
EXIT.
ELSEIF INPUT1 IS INITIAL OR INPUT2 IS INITIAL OR FACTOR IS INITIAL.
MESSAGE I000(OO) WITH '값을 입력해주세요' .
EXIT.
ELSE.
*Task 2 연산자는 case문을 통해서 계산로직을 분기
CASE FACTOR.
WHEN '+'. GV_RESULT = INPUT1 + INPUT2.
WHEN '-'. GV_RESULT = INPUT1 - INPUT2.
WHEN '*'. GV_RESULT = INPUT1 * INPUT2.
WHEN '/'. GV_RESULT = INPUT1 / INPUT2.
WHEN OTHERS. MESSAGE I000(OO) WITH '사칙연산만 가능합니다.' .
EXIT.
ENDCASE.
*계산된 결과가 저장된 전역변수를 WRITE 문을 통해서 출력
WRITE : /1 '계산결과는 ' , INPUT1, FACTOR, INPUT2, (3) '= ',GV_RESULT,' 입니다.'.
ENDIF.
결과화면
'ABAP' 카테고리의 다른 글
SAP Data Element (ABAP Object) (0) | 2021.11.06 |
---|