메뉴 건너뛰기

SAP 한국 커뮤니티

<img src=2.gif>DEMO_DYNPRO_TABCONT_LOOP 예제소스 질문드립니다.

안녕아밥 2011.03.29 18:47 조회 수 : 2681

DEMO_DYNPRO_TABCONT_LOOP


 


REPORT demo_dynpro_tabcont_loop.


CONTROLS flights TYPE TABLEVIEW USING SCREEN 100.


DATA: ok_code TYPE sy-ucomm,
      save_ok TYPE sy-ucomm.


DATA: itab TYPE TABLE OF demo_conn,
      fill TYPE i.
TABLES demo_conn.


DATA: lines TYPE i,
      limit TYPE i.


SELECT * FROM spfli INTO CORRESPONDING FIELDS OF TABLE itab.


CALL SCREEN 100.


MODULE status_0100 OUTPUT.
  SET PF-STATUS 'SCREEN_100'.
  DESCRIBE TABLE itab LINES fill.
  flights-lines = fill.
ENDMODULE.


MODULE fill_table_control OUTPUT.
  READ TABLE itab INTO demo_conn INDEX flights-current_line.
ENDMODULE.


MODULE cancel INPUT.
  LEAVE PROGRAM.
ENDMODULE.


MODULE read_table_control INPUT.
  lines = sy-loopc.
  MODIFY itab FROM demo_conn INDEX flights-current_line.
ENDMODULE.


MODULE user_command_0100 INPUT.
  save_ok = ok_code.
  CLEAR ok_code.
  CASE save_ok.
    WHEN 'NEXT_LINE'.
      flights-top_line = flights-top_line + 1.
      limit = fill - lines + 1.
      IF flights-top_line > limit.
        flights-top_line = limit.
      ENDIF.
    WHEN 'PREV_LINE'.
      flights-top_line = flights-top_line - 1.
      IF flights-top_line < 0.
        flights-top_line = 0.
      ENDIF.
    WHEN 'NEXT_PAGE'.
      flights-top_line = flights-top_line + lines.
      limit = fill - lines + 1.
      IF flights-top_line > limit.
        flights-top_line = limit.
      ENDIF.
    WHEN 'PREV_PAGE'.
      flights-top_line = flights-top_line - lines.
      IF flights-top_line < 0.
        flights-top_line = 0.
      ENDIF.
    WHEN 'LAST_PAGE'.
      flights-top_line =  fill - lines + 1.
    WHEN 'FIRST_PAGE'.
      flights-top_line = 0.
  ENDCASE.
ENDMODULE.


 


 


 


MODULE fill_table_control OUTPUT.
READ TABLE itab INTO demo_conn INDEX flights-current_line.
ENDMODULE.


 


디버깅을 하다보면 itab 의 라인수는 19인데요 왜 인덱스가 10까지만 도는지 궁금합니다.


실행을 하면 10라인까지만 화면에 보여지기때문에 그런가여?


 


MODULE user_command_0100 INPUT. 이부분이 어려운거 같은데


그냥 암기하는게 나을까여?


TYPE-M 부분이 어려운거같네요 초보라서 죄송합니다 ㅜㅜ


 


 



번호 제목 글쓴이 날짜 조회 수
6506 프린트 한페이지에 시트 맞추기 문의 [1] 쌥쌥잇 2024.05.25 182
6505 매개변수 ID 가 SUBSCREEN 과 일반 SCREEN 에서 인식하는게 다른가요? [2] 초밥 2024.05.03 269
6504 [ABAP] CHAR TYPE 필드 MAX 값 구하기.. [2] Mckee 2024.04.24 409
6503 read table 구문중 데이터 많을때.. [2] happy_boy 2024.04.24 409
6502 INITIALIZATION과 DEFAULT의 차이점 [2] BINY 2024.04.16 379
6501 BAPI_ROUTING_CREATE 실행 시 에러 파뤼타임 2024.04.16 201
6500 값을 필드명으로 쓸 수 있을까요?? [2] 비행청년 2024.04.09 330
6499 제발 도와주세요 ㅠㅠ (count) [1] 뚜비둡 2024.04.06 363
6498 abap 코드 오류 도와주세요.. [6] 대생힘들다 2024.04.04 646
6497 대학 과제인데 모르는 부분이 있어서요. [8] 대생힘들다 2024.04.03 486
6496 ABAP JOIN문 질문 [1] 뚜비둡 2024.03.29 405
6495 SKF 기표 취소 관련 문의 asfasf 2024.03.26 146
6494 넘버레인지 interval cts에 관해서 문의드립니다. [2] happy_boy 2024.03.22 304
6493 abap 으로 DFS 알고리즘 구현해보신분 계실까요...? Juenkdo1 2024.03.14 283
6492 SFTP 전송 방법 질문 드립니다. [4] 초밥 2024.03.05 992
6491 CDS 뷰 필드추가 백상아리 2024.02.29 354
6490 Screen 화면을 새 창으로 띄워서 원래 창에서도 작업 가능한 방법 Aranha 2024.02.24 197
6489 DYNP_VALUES_READ 함수 질문 [2] eeeaass 2024.02.22 418
6488 Try ~ CATCH [1] 곰작 2024.02.19 467
6487 public method 호출 시 오류 [1] wid5785 2024.02.10 234