메뉴 건너뛰기

SAP 한국 커뮤니티

INCLUDE z18_03_o01

전통주막 2024.11.12 20:41 조회 수 : 2

*&---------------------------------------------------------------------*
*& Include          Z18_03_O01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE STATUS_0100 OUTPUT.
  SET PF-STATUS 'S0100'.
* SET TITLEBAR 'xxx'.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module COLUMN_TREE OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE COLUMN_TREE OUTPUT.

  IF GO_TREE_CONTAINER IS INITIAL.
    CREATE OBJECT GO_TREE_CONTAINER
      EXPORTING
        CONTAINER_NAME = 'TREE_AREA'.

    CREATE OBJECT GO_COLUMN_TREE
      EXPORTING
        PARENT                = GO_TREE_CONTAINER
        NODE_SELECTION_MODE   = CL_GUI_COLUMN_TREE=>NODE_SEL_MODE_SINGLE
        ITEM_SELECTION        = 'X'
        HIERARCHY_COLUMN_NAME = 'Column1'
        HIERARCHY_HEADER      = VALUE #( HEADING = '조직구조' WIDTH = 30 ).

    GT_NODE = VALUE #(
      ( NODE_KEY = 'Root' ISFOLDER = 'X' )  ).

    GT_ITEM = VALUE #(
      ( NODE_KEY = 'Root'   ITEM_NAME = 'Column1' TEXT = '부서' ) ).



    SELECT *
      FROM ZTEAMLIST
      ORDER BY DEPCD
      INTO TABLE @DATA(LT_TEAMLIST).

    LOOP AT LT_TEAMLIST INTO DATA(LS_TEAMLIST).

      APPEND VALUE #( NODE_KEY = LS_TEAMLIST-DEPCD
                      ISFOLDER = 'X'
                      RELATKEY = 'Root' ) TO GT_NODE.

      APPEND VALUE #( NODE_KEY = LS_TEAMLIST-DEPCD
                      ITEM_NAME = 'Column1'
                      TEXT = LS_TEAMLIST-DNAME ) TO GT_ITEM.
    ENDLOOP.


    SELECT *
      FROM ZEMPLIST
      WHERE DEPCD IS NOT INITIAL
      ORDER BY DEPCD, EMPCD
      INTO TABLE @DATA(LT_EMPLIST).

    LOOP AT LT_EMPLIST INTO DATA(LS_EMPLIST).
      APPEND VALUE #( NODE_KEY = LS_EMPLIST-EMPCD
                      ISFOLDER = SPACE
                      RELATKEY = LS_EMPLIST-DEPCD ) TO GT_NODE.

      APPEND VALUE #( NODE_KEY  = LS_EMPLIST-EMPCD
                      ITEM_NAME = 'Column1'
                      TEXT      = LS_EMPLIST-EMPCD ) TO GT_ITEM.

    ENDLOOP.

    CHECK GT_NODE IS NOT INITIAL.


    CALL METHOD go_column_tree->add_column
      EXPORTING
        name        = 'Column2'
        alignment   = cl_gui_column_tree=>align_left
        width       = 20
        header_text = '직원명'.

    LOOP AT lt_emplist INTO ls_emplist.

      APPEND VALUE #( node_key = ls_emplist-empcd
                      item_name = 'Column2'
                      text = ls_emplist-ename ) TO gt_item.
    ENDLOOP.

    CALL METHOD go_column_tree->add_column
      EXPORTING
        name        = 'Column3'
        alignment   = cl_gui_column_tree=>align_left
        width       = 20
        header_text = '보유 자격증 수'.

    SELECT  empcd
           ,CAST( COUNT( empcd ) AS CHAR( 20 ) ) AS count
      FROM zempcert
      GROUP BY empcd
      ORDER BY empcd
      INTO TABLE @DATA(lt_empcert).
*
    LOOP AT lt_empcert INTO DATA(ls_empcert).
      APPEND VALUE #( node_key = ls_empcert-empcd
                      item_name = 'Column3'
                      class = cl_gui_column_tree=>item_class_button
                      text = ls_empcert-count ) TO gt_item.
    ENDLOOP.



    CALL METHOD GO_COLUMN_TREE->ADD_NODES_AND_ITEMS
      EXPORTING
        NODE_TABLE                = GT_NODE
        ITEM_TABLE                = GT_ITEM
        ITEM_TABLE_STRUCTURE_NAME = 'MTREEITM'.



    CALL METHOD GO_COLUMN_TREE->SET_REGISTERED_EVENTS
      EXPORTING
        EVENTS = VALUE #(
        ( EVENTID = CL_GUI_COLUMN_TREE=>EVENTID_NODE_DOUBLE_CLICK
          APPL_EVENT = 'X' )
        ( EVENTID = CL_GUI_COLUMN_TREE=>EVENTID_BUTTON_CLICK
          APPL_EVENT = 'X' )
          ).

    DATA(LO_EVENT) = NEW LCL_TREE_EVENT( ).
    SET HANDLER: LO_EVENT->HANDLE_NODE_DOUBLE_CLICK FOR GO_COLUMN_TREE,
                 LO_EVENT->HANDLE_NODE_BUTTON_CLICK FOR GO_COLUMN_TREE.


  ENDIF.

ENDMODULE.
*&---------------------------------------------------------------------*
*& Module ALV OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE ALV OUTPUT.
  IF GO_ALV_CONTAINER IS INITIAL.

    CREATE OBJECT GO_ALV_CONTAINER
      EXPORTING
        CONTAINER_NAME = 'LIST_AREA'.

    CREATE OBJECT GO_ALV_GRID
      EXPORTING
        I_PARENT = GO_ALV_CONTAINER.

    CALL METHOD GO_ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY
      EXPORTING
        I_STRUCTURE_NAME = 'ZS18_02'
        IS_LAYOUT        = VALUE #( CWIDTH_OPT = 'X' )
      CHANGING
        IT_OUTTAB        = GT_LIST.
  ENDIF.

ENDMODULE.

번호 제목 글쓴이 날짜 조회 수
203 REPORT z18_05 file 전통주막 2024.11.12 2
202 INCLUDE z18_04_i01 전통주막 2024.11.12 1
201 INCLUDE z18_04_o01 전통주막 2024.11.12 1
200 INCLUDE z18_04_c01 전통주막 2024.11.12 1
199 INCLUDE z18_04_top 전통주막 2024.11.12 1
198 REPORT z18_04 file 전통주막 2024.11.12 1
197 INCLUDE z18_03_i01 전통주막 2024.11.12 0
» INCLUDE z18_03_o01 전통주막 2024.11.12 2
195 INCLUDE z18_03_c01 전통주막 2024.11.12 0
194 INCLUDE z18_03_top 전통주막 2024.11.12 2
193 REPORT z18_03. file 전통주막 2024.11.12 3
192 INCLUDE z18_02_i01 전통주막 2024.11.11 1
191 INCLUDE z18_02_o01 전통주막 2024.11.11 1
190 INCLUDE z18_02_c01 전통주막 2024.11.11 1
189 INCLUDE z18_02_top 전통주막 2024.11.11 1
188 REPORT z18_02 file 전통주막 2024.11.11 1
187 INCLUDE z18_01_i01 전통주막 2024.11.11 1
186 INCLUDE z18_01_o01 전통주막 2024.11.11 1
185 INCLUDE z18_01_top 전통주막 2024.11.11 1
184 REPORT z18_01 file 전통주막 2024.11.11 1