메뉴 건너뛰기

SAP 한국 커뮤니티

PROGRAM z13_03.

sapjoy 2012.08.01 19:42 조회 수 : 1159

*&---------------------------------------------------------------------*
*& Module Pool       Z13_02
*&
*&---------------------------------------------------------------------*
PROGRAM  z13_03.

CONTROLS zemp_con TYPE TABLEVIEW USING SCREEN  100.
DATA: gs_cols LIKE LINE OF zemp_con-cols.


TABLES : zemp.
DATA : gt_zemp TYPE TABLE OF zemp.
DATA : ok_code TYPE sy-ucomm,
       save_ok TYPE sy-ucomm.

DATA : gv_fill  TYPE i,
       gv_lines TYPE i,
       gv_limit TYPE i.

 


*&---------------------------------------------------------------------*
*&      Module  STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
  SET PF-STATUS 'G100'.

  CLEAR : gt_zemp.
  SELECT * FROM zemp
  INTO CORRESPONDING FIELDS OF TABLE gt_zemp.

  DESCRIBE TABLE gt_zemp LINES gv_fill.
  zemp_con-lines = gv_fill.

ENDMODULE.                 " STATUS_0100  OUTPUT

*&---------------------------------------------------------------------*
*&      Module  READ_TCONTROL  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE read_tcontrol INPUT.

  gv_lines = sy-loopc.

  MODIFY gt_zemp FROM zemp
  INDEX zemp_con-current_line.
ENDMODULE.                 " READ_TCONTROL  INPUT


*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
  save_ok = ok_code.
  CLEAR ok_code.


  CASE save_ok.
    WHEN 'NEXT_LINE'.
      zemp_con-top_line = zemp_con-top_line + 1.
      gv_limit = gv_fill - gv_lines + 1.
      IF zemp_con-top_line > gv_limit.
        zemp_con-top_line = gv_limit.
      ENDIF.
    WHEN 'PREV_LINE'.
      zemp_con-top_line = zemp_con-top_line - 1.
      IF zemp_con-top_line < 0.
        zemp_con-top_line = 0.
      ENDIF.
    WHEN 'NEXT_PAGE'.
      zemp_con-top_line = zemp_con-top_line + gv_lines.
      gv_limit = gv_fill - gv_lines + 1.
      IF zemp_con-top_line > gv_limit.
        zemp_con-top_line = gv_limit.
      ENDIF.
    WHEN 'PREV_PAGE'.
      zemp_con-top_line = zemp_con-top_line - gv_lines.
      IF zemp_con-top_line < 0.
        zemp_con-top_line = 0.
      ENDIF.
    WHEN 'LAST_PAGE'.
      zemp_con-top_line =  gv_fill - gv_lines + 1.
    WHEN 'FIRST_PAGE'.
      zemp_con-top_line = 0.
  ENDCASE.


ENDMODULE.                 " USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
*&      Module  ZEMP_MODIFY  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE zemp_modify OUTPUT.
  LOOP AT zemp_con-cols INTO gs_cols.
    IF gs_cols-screen-name = 'ZEMP-EMP_PART'.
      gs_cols-invisible = 1.
      MODIFY zemp_con-cols INDEX sy-tabix FROM gs_cols.
    ENDIF.
  ENDLOOP.
ENDMODULE.                 " ZEMP_MODIFY  OUTPUT


*  LOOP AT SCREEN.
*    IF screen-name = 'ZEMP-EMP_PART'.
*      IF zemp-emp_part = 'SAP FCM'.
*        screen-input = 0.
*        MODIFY SCREEN.
*      ENDIF.
*    ENDIF.
*  ENDLOOP.
*&---------------------------------------------------------------------*
*&      Module  CANCEL  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE cancel INPUT.
  LEAVE PROGRAM.
ENDMODULE.                 " CANCEL  INPUT

번호 제목 글쓴이 날짜 조회 수
» PROGRAM z13_03. sapjoy 2012.08.01 1159
568 PROGRAM z13_02. sapjoy 2012.08.01 1176
567 PROGRAM z13_01. sapjoy 2012.08.01 1406
566 report Z12_33 sapjoy 2012.07.30 1193
565 REPORT z12_32. sapjoy 2012.07.30 993
564 REPORT z12_31. sapjoy 2012.07.30 1310
563 REPORT z12_30. sapjoy 2012.07.30 1159
562 REPORT z12_29. sapjoy 2012.07.30 910
561 REPORT z12_28. sapjoy 2012.07.30 1032
560 REPORT z12_27. sapjoy 2012.07.30 1207
559 REPORT Z12_26. sapjoy 2012.07.30 871
558 REPORT z12_25. sapjoy 2012.07.30 997
557 REPORT z12_24. sapjoy 2012.07.30 1153
556 REPORT z12_23. sapjoy 2012.07.30 1021
555 REPORT Z12_22 sapjoy 2012.07.30 1225
554 REPORT z12_21. sapjoy 2012.07.30 919
553 REPORT Z12_20. sapjoy 2012.07.30 926
552 REPORT Z12_19 sapjoy 2012.07.30 930
551 REPORT Z12_18. sapjoy 2012.07.30 964
550 REPORT Z12_17. sapjoy 2012.07.30 978