선언하고 다르게 사용할 수 있다. 허나 상수로 선언하면 안바뀐다.
clear 해도 인티저형과 CHar 형은 결과가 다르다.
어떤 단어와 단어, 부호 사에에는 공백이 무조건 필요하다.
ex) gv_num = gv_num + 1.
If문과 Case문 쓰는 방법입니다.
값을 입력하지 않았다면 입력해주세요!
* 입력값선언
PARAMETERS Pa_sub TYPE C LENGTH 1.
PARAMETERS Pa_Num TYPE i.
* 변수선언
Data gv_subject TYPE C.
Data gv_Num1 TYPE i.
Data gv_Num2 TYPE i.
Data gv_rank TYPE C.
* 케이스 분류
IF Pa_sub = 'A' or Pa_sub = 'a'. "to upper case 쓰면 대문자 변환가능
Move Pa_Num to gv_Num1.
ELSEIF Pa_sub = 'B' or Pa_sub = 'b'. "to upper case 쓰면 대문자 변환가능
Move Pa_Num to gv_Num2.
ENDIF.
* A 점수분류
IF gv_Num1 >= 90.
gv_rank = 'A'.
ELSEIF gv_Num1 < 90 and gv_Num1 >= 80 . " ELSEIF gv_Num1 between 80 and 89.
gv_rank = 'B'.
ElseIF gv_Num1 < 80 and gv_Num1 >= 1. " ELSEIF gv_Num1 between 1 and 79.
gv_rank = 'c'.
ENDIF.
* B 점수분류
IF gv_Num2 >= 85.
gv_rank = 'A'.
ELSEIF gv_Num2 < 85 and gv_Num2 >= 70 . " ELSEIF gv_Num2 between 70 and 84.
gv_rank = 'B'.
ElseIF gv_Num2 < 70 and gv_Num2 >= 1 . " ELSEIF gv_Num2 between 1 and 69.
gv_rank = 'c'.
ENDIF.
* A와 B가 모두 영점인 경우 C
* Why? Or을 쓰면 초기값 때문에 분류가 안된다.
iF gv_Num1 = 0 and gv_Num2 = 0.
gv_rank = 'C'.
endif.
* 출력을 하며 A와 B값을 전환
IF Pa_sub = 'A' or Pa_sub = 'a'. "to upper case 쓰면 대문자 변환가능
WRITE '과목명: SAP UI5'.
ELSEIF Pa_sub = 'B' or Pa_sub = 'b'. "to upper case 쓰면 대문자 변환가능
WRITE '과목명: ABAP'.
ENDIF.
NEW-LINE.
WRITE '등급'.
WRITE : gv_rank.
*아래는 CASE문
*PARAMETERS: pa_cour TYPE c LENGTH 1,
* pa_num TYPE N LENGTH 3.
*
*DATA gv_result TYPE c.
*DATA gv_course TYPE c LENGTH 8.
*
*CASE pa_cour.
* WHEN 'A'.
* gv_course = 'SAPUI5'.
* IF pa_num >= 90.
* gv_result = 'A'.
* ELSEIF pa_num BETWEEN 80 and 89.
* gv_result = 'B'.
* ELSE.
* gv_result = 'C'.
* ENDIF.
* WHEN 'B'.
* gv_course = 'ABAP'.
* IF pa_num >= 85.
* gv_result = 'A'.
* ELSEIF pa_num BETWEEN 70 and 84.
* gv_result = 'B'.
* ELSE.
* gv_result = 'C'.
* ENDIF.
*ENDCASE.
*
*WRITE: '과목:',gv_course.
*NEW-LINE.
*WRITE: '등급:',gv_result.
두가지의 IF문과 CASE 문을 보셨습니다.
파라메터 즉 사용자가 입력한 값을 정의할때는 Pa 임!
Data 는 정의할 때 gv , lv_ 임. 꼭 구분해주세요!!
사용자는 아무것도 모르는 사람입니다.
값이 마이너스로 둘어올 수 도있고 입력을 안하고 실행할 수 도있고
등등등 모든 상황을 고려해주세요!!
그리고 입력안한값 결과 실행이 안되는건 항상
If 문의 서두에 넣어주시라요.
Select문 드디어 나왔습니다. 멋있죠
sy-subrc 사용: sy-subrc는 이전에 실행된 명령문의 결과를 나타냅니다.
IS INITIAL은 sy-subrc가 0인 경우를 체크하는 것입니다.
일반적으로, sy-subrc가 0이면 성공적인 실행을 의미합니다.
type scarr-carrname. => scarr 테이블에 carrname구조와 같다.
활용 버젼.