2013년 5월 6일 월요일

[ABAP] Lotto 6/45




REPORT Z_LOTTO.

TYPES: BEGIN OF LOTTO,
        NUM TYPE INT2,
      END OF LOTTO.

* Sorted table with unique key : Auto sorting & no duplication.
" 1 Game.
DATA: LT_GAME TYPE SORTED TABLE OF LOTTO
      WITH UNIQUE KEY NUM WITH HEADER LINE.

" 5 Game.
DATA: BEGIN OF LT_5GAME OCCURS 0,
       GAME LIKE TABLE OF LT_GAME,
      END OF LT_5GAME.
DATA: LS_GAME LIKE LINE OF LT_GAME.

DATA: LV_CNT(1) TYPE N.

DO 5 TIMES. " make 5 game.
  CLEAR: LT_GAME, LT_GAME[], LT_5GAME, LV_CNT.

  WHILE LV_CNT < 6. " get number until 6.

     CALL FUNCTION 'RANDOM_I2'    " random function.
     EXPORTING
       RND_MIN         = 1
       RND_MAX         = 45
     IMPORTING
       RND_VALUE       = LT_GAME-NUM.

     INSERT TABLE LT_GAME.

     LV_CNT = LINES( LT_GAME ). "number count

  ENDWHILE.

  LT_5GAME-GAME = LT_GAME[].
  APPEND LT_5GAME.

ENDDO.

" display.
LOOP AT LT_5GAME.
  LOOP AT LT_5GAME-GAME INTO LS_GAME.

   WRITE: LS_GAME-NUM  .
  ENDLOOP.
  WRITE /.
ENDLOOP.

댓글 없음:

댓글 쓰기