메뉴 건너뛰기

SAP 한국 커뮤니티

REPORT Z15_10

가능 2025.09.22 01:14 조회 수 : 0

REPORT Z15_10.

DATA : CON1_REF    TYPE REF TO    CL_GUI_CUSTOM_CONTAINER.
DATA : G_GRID      TYPE REF TO    CL_GUI_ALV_GRID.
DATA : GT_EMPLIST  TYPE TABLE OF ZEMPLIST.
DATA : GS_VARIANT  TYPE DISVARIANT.
DATA : GS_LAYOUT   TYPE LVC_S_LAYO.
DATA : GT_TOOLBAR  TYPE UI_FUNCTIONS.
DATA : GT_SORT  TYPE LVC_T_SORT.
DATA : OK_CODE  TYPE SY-UCOMM.

PARAMETERS: P_VARI LIKE DISVARIANT-VARIANT.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARI.
  GS_VARIANT-REPORT = SY-REPID.
  CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
    EXPORTING
      IS_VARIANT    = GS_VARIANT
      I_SAVE        = 'A'
    IMPORTING
      ES_VARIANT    = GS_VARIANT
    EXCEPTIONS
      NOT_FOUND     = 1
      PROGRAM_ERROR = 2
      OTHERS        = 3.

  IF SY-SUBRC EQ 0.
    P_VARI = GS_VARIANT-VARIANT.
  ENDIF.

START-OF-SELECTION.

  SELECT * FROM ZEMPLIST
       INTO TABLE GT_EMPLIST.

  CALL SCREEN 100.


*&---------------------------------------------------------------------*
*&      Module  INIT_CON  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE INIT_CON OUTPUT.
  IF CON1_REF IS INITIAL.
    CREATE OBJECT CON1_REF
      EXPORTING
        CONTAINER_NAME = 'CON1'.

    CREATE OBJECT G_GRID
      EXPORTING
        I_PARENT = CON1_REF.


  ENDIF.


  GS_VARIANT-REPORT = SY-REPID.
  GS_VARIANT-USERNAME = SY-UNAME.

  PERFORM SETTING_LAYOUT CHANGING GS_LAYOUT.
  PERFORM SETTING_TOOLBAR.
  PERFORM SETTING_SORT.

  CALL METHOD G_GRID->SET_TABLE_FOR_FIRST_DISPLAY
    EXPORTING
      I_STRUCTURE_NAME     = 'ZEMPLIST'
      IS_VARIANT           = GS_VARIANT
      I_SAVE               = 'A'
      I_DEFAULT            = ''
      IS_LAYOUT            = GS_LAYOUT
      IT_TOOLBAR_EXCLUDING = GT_TOOLBAR
    CHANGING
      IT_OUTTAB            = GT_EMPLIST
      IT_SORT              = GT_SORT.



ENDMODULE.                 " INIT_CON  OUTPUT
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE USER_COMMAND_0100 INPUT.

  IF OK_CODE = 'BACK'.
    DATA: L_ROW   TYPE I,
          L_VALUE TYPE C LENGTH 10,
          L_COL   TYPE I,
          LS_ROW  TYPE LVC_S_ROW,
          LS_COL  TYPE LVC_S_COL,
          LS_ROID TYPE LVC_S_ROID.

    CALL METHOD G_GRID->GET_CURRENT_CELL
      IMPORTING
        E_ROW     = L_ROW
        E_VALUE   = L_VALUE
        E_COL     = L_COL
        ES_ROW_ID = LS_ROW
        ES_COL_ID = LS_COL
        ES_ROW_NO = LS_ROID.

    LEAVE PROGRAM.
  ENDIF.

ENDMODULE.                 " USER_COMMAND_0100  INPUT
*&---------------------------------------------------------------------*
*&      Module  STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE STATUS_0100 OUTPUT.
  SET PF-STATUS '100_STATUS'.
*  SET TITLEBAR 'xxx'.

ENDMODULE.                 " STATUS_0100  OUTPUT
*&---------------------------------------------------------------------*
*&      Form  SETTING_LAYOUT
*&---------------------------------------------------------------------*
FORM SETTING_LAYOUT   CHANGING  P_LAYOUT TYPE LVC_S_LAYO.

  P_LAYOUT-CWIDTH_OPT = 'X'.  "칼럼 길이 자동조절

  P_LAYOUT-GRID_TITLE = 'get_current_cell Method Test'.  "타이틀 바

  P_LAYOUT-SEL_MODE = 'A'.  "선택모드 : 멀티 선택 가능

  P_LAYOUT-ZEBRA      = 'X'.  "Sripe 속성 지정

ENDFORM.                    " setting_layout
*&---------------------------------------------------------------------*
*&      Form  SETTING_TOOLBAR
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM SETTING_TOOLBAR .
  DATA: L_EXCLUDE TYPE UI_FUNC.

  L_EXCLUDE =  CL_GUI_ALV_GRID=>MC_FC_SAVE_VARIANT.
  APPEND L_EXCLUDE TO GT_TOOLBAR.

  L_EXCLUDE = CL_GUI_ALV_GRID=>MC_FC_MAINTAIN_VARIANT.
  APPEND L_EXCLUDE TO GT_TOOLBAR.

ENDFORM.                    " SETTING_TOOLBAR
*&---------------------------------------------------------------------*
*&      Form  SETTING_SORT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM SETTING_SORT .
  DATA : LS_SORT TYPE LVC_S_SORT.

  LS_SORT-SPOS = '1'.
  LS_SORT-FIELDNAME = 'EMPCD'.
  LS_SORT-UP = 'X'.
  LS_SORT-SUBTOT = 'X'.
  APPEND LS_SORT TO GT_SORT.

  LS_SORT-SPOS = '2'.
  LS_SORT-FIELDNAME = 'DEPCD'.
  LS_SORT-UP = 'X'.
  LS_SORT-SUBTOT = 'X'.
  APPEND LS_SORT TO GT_SORT.

ENDFORM.                    " SETTING_SORT

번호 제목 글쓴이 날짜 조회 수
443 REPORT Z15_22 가능 2025.09.22 0
442 REPORT Z15_21 가능 2025.09.22 0
441 REPORT Z15_20 가능 2025.09.22 0
440 REPORT Z15_19 가능 2025.09.22 0
439 REPORT Z15_18 가능 2025.09.22 0
438 REPORT Z15_17 가능 2025.09.22 0
437 REPORT Z15_16 가능 2025.09.22 1
436 REPORT Z15_15 가능 2025.09.22 0
435 REPORT Z15_14 가능 2025.09.22 0
434 REPORT Z15_13 가능 2025.09.22 0
433 REPORT Z15_12 가능 2025.09.22 1
432 REPORT Z15_11 가능 2025.09.22 0
» REPORT Z15_10 가능 2025.09.22 0
430 REPORT Z15_09 가능 2025.09.22 1
429 INCLUDE Z15_08F01 가능 2025.09.22 1
428 INCLUDE Z15_08O01 가능 2025.09.22 0
427 INCLUDE Z15_08TOP 가능 2025.09.22 0
426 REPORT Z15_08 가능 2025.09.22 2
425 INCLUDE Z15_07F01 가능 2025.09.22 0
424 INCLUDE Z15_07O01 가능 2025.09.22 1