주제 : 구구단 프로그램을 생성한다.
내용 : 단수를 입력받으면 해당 단수의 *9까지 결과값이 출력되도록 한다.
스크린 : 파라미터 값을 선언하여 단수를 입력받자.
출력 : write 문을 사용하여 결과 출력을 한다..
프로세스 : Internal Table 에 담아 출력하는 방법, Do 구문으로 직접 출력하는 방법 2가지를 사용해서 연습한다.
정답은 더보기에 있습니다..
1번 : Do 구문 정답
SELECTION-SCREEN BEGIN OF BLOCK B01 WITH FRAME TITLE TEXT-001.
PARAMETERS P01 TYPE I.
SELECTION-SCREEN END OF BLOCK B01.
TYPES : BEGIN OF LINE1,
FD01 TYPE I,
FD02 TYPE C,
FD03 TYPE I,
FD04 TYPE C,
FD05 TYPE I,
END OF LINE1.
DATA : LS_LINE1 TYPE LINE1.
IF P01 IS NOT INITIAL.
DO 9 TIMES.
LS_LINE1-FD01 = P01.
LS_LINE1-FD02 = '*'.
LS_LINE1-FD03 = SY-INDEX.
LS_LINE1-FD04 = '='.
LS_LINE1-FD05 = P01 * LS_LINE1-FD03.
WRITE:/ LS_LINE1-FD01, LS_LINE1-FD02, LS_LINE1-FD03, LS_LINE1-FD04, LS_LINE1-FD05.
ENDDO.
ELSE. " 'I'타입은 INITIAL 값이 '0'이다.
WRITE : '다른값을 입력하세요.'.
ENDIF.
2번 Internal Table 을 이용한 출력
*--------------------------------------------------------------------*
" ITAB 사용하여 구구단꾸미기.
*--------------------------------------------------------------------*
" SCREEN 그리기.
SELECTION-SCREEN BEGIN OF BLOCK B01 WITH FRAME TITLE TEXT-001.
PARAMETERS P01 TYPE I.
SELECTION-SCREEN END OF BLOCK B01.
TYPES : BEGIN OF LINE1,
FD01 TYPE I,
FD02 TYPE C,
FD03 TYPE I,
FD04 TYPE C,
FD05 TYPE I,
END OF LINE1.
DATA : LS_LINE1 TYPE LINE1,
LT_LINE1 LIKE TABLE OF LS_LINE1.
LS_LINE1-FD01 = P01.
LS_LINE1-FD02 = '*'.
LS_LINE1-FD03 = SY-INDEX.
LS_LINE1-FD04 = '='.
LS_LINE1-FD05 = P01 * LS_LINE1-FD03.
DO 9 TIMES.
LS_LINE1-FD01 = P01.
LS_LINE1-FD02 = '*'.
LS_LINE1-FD03 = SY-INDEX.
LS_LINE1-FD04 = '='.
LS_LINE1-FD05 = P01 * LS_LINE1-FD03.
APPEND LS_LINE1 TO LT_LINE1.
ENDDO.
WRITE:/ P01, '단'.
SKIP.
ULINE.
FORMAT COLOR COL_NORMAL.
LOOP AT LT_LINE1 INTO LS_LINE1.
WRITE:/ '|', LS_LINE1-FD01 COLOR COL_POSITIVE, LS_LINE1-FD02, LS_LINE1-FD03, LS_LINE1-FD04, LS_LINE1-FD05, '|'.
ENDLOOP. "Format color col_normal 은 f1 헬프를 이용하여 사용법을 알아보도록 한다.