메뉴 건너뛰기

SAP 한국 커뮤니티

INCLUDE z18_05_o01

전통주막 2024.11.12 20:45 조회 수 : 1

*&---------------------------------------------------------------------*
*& Include          Z18_05_O01
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
  SET PF-STATUS 'S0100'.
* SET TITLEBAR 'xxx'.
ENDMODULE.
*&---------------------------------------------------------------------*
*& Module ALV_TREE OUTPUT
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
MODULE alv_tree OUTPUT.

  IF go_alv_tree IS INITIAL.

    CREATE OBJECT go_docking_container
      EXPORTING
        repid     = sy-cprog
        dynnr     = sy-dynnr
        side      = cl_gui_docking_container=>dock_at_left
        extension = 2000.

    CREATE OBJECT go_alv_tree
      EXPORTING
        parent              = go_docking_container
        node_selection_mode = cl_gui_column_tree=>node_sel_mode_multiple
        item_selection      = 'X'
        no_toolbar          = ' '
        no_html_header      = 'X'.


    DATA lt_fcat TYPE lvc_t_fcat.
    CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
      EXPORTING
        i_structure_name = 'ZS18_05'
      CHANGING
        ct_fieldcat      = lt_fcat.

    LOOP AT lt_fcat INTO DATA(ls_fcat).

      CASE ls_fcat-fieldname.
        WHEN 'DEPCD'.
          ls_fcat-outputlen = '10'.
        WHEN 'DNAME'.
          ls_fcat-outputlen = '10'.
        WHEN 'EMPCD'.
          ls_fcat-outputlen = '10'.
        WHEN 'ENAME'.
          ls_fcat-outputlen = '10'.
        WHEN 'CERT_CNT'.
          ls_fcat-coltext = '취득 자격증 수'.
          ls_fcat-outputlen = '15'.
          ls_fcat-do_sum = 'X'.
        WHEN 'FAM_CNT'.
          ls_fcat-coltext = '부양 가족 수'.
          ls_fcat-outputlen = '15'.
          ls_fcat-do_sum = 'X'.
      ENDCASE.

      MODIFY lt_fcat FROM ls_fcat.
    ENDLOOP.


    CALL METHOD go_alv_tree->set_table_for_first_display
      EXPORTING
        i_structure_name    = 'ZS18_05'
        is_hierarchy_header = VALUE #( heading = '조직구조' tooltip = '조직구조'
                                       width = 30 width_pix = ' ' )
      CHANGING
        it_outtab           = gt_outtab
*       it_filter           =
        it_fieldcatalog     = lt_fcat.


    DATA:
      lv_root_node_key  TYPE lvc_nkey,
      lv_child_node_key TYPE lvc_nkey,
      lv_leaf_node_key  TYPE lvc_nkey,
      lv_node_text      TYPE lvc_value.

    " Root Node
    lv_node_text = '부서'.
    CALL METHOD go_alv_tree->add_node
      EXPORTING
        i_relat_node_key = ''
        i_relationship   = cl_gui_column_tree=>relat_last_child
        i_node_text      = lv_node_text
      IMPORTING
        e_new_node_key   = lv_root_node_key.



    " Second Node Table
    SELECT *
      FROM zteamlist
      INTO TABLE @DATA(lt_teamlist).


    " Leaf Node Table
    SELECT  a~depcd
           ,a~dname
           ,b~empcd
           ,b~ename
           ,COUNT( c~empcd ) AS cert_cnt
           ,COUNT( d~empcd  ) AS fam_cnt
      FROM zteamlist AS a LEFT OUTER JOIN
           zemplist  AS b
        ON a~depcd  EQ b~depcd
                          LEFT OUTER JOIN
           zempcert  AS c
        ON b~empcd  EQ c~empcd
                          LEFT OUTER JOIN
           zfamily   AS d
        ON b~empcd EQ d~empcd
      GROUP BY a~depcd , a~dname , b~empcd , b~ename
      ORDER BY a~depcd , b~empcd
      INTO CORRESPONDING FIELDS OF TABLE @gt_list.

    LOOP AT lt_teamlist INTO DATA(ls_teamlist).

      " Child Node
      CALL METHOD go_alv_tree->add_node
        EXPORTING
          i_relat_node_key = lv_root_node_key
          i_relationship   = cl_gui_column_tree=>relat_last_child
          is_node_layout   = VALUE #( isfolder = 'X' expander = 'X' )
          i_node_text      = CONV #( ls_teamlist-dname )
        IMPORTING
          e_new_node_key   = lv_child_node_key.

      " Leaf Node
      LOOP AT gt_list INTO DATA(ls_data) WHERE depcd EQ ls_teamlist-depcd.

        CALL METHOD go_alv_tree->add_node
          EXPORTING
            i_relat_node_key = lv_child_node_key
            i_relationship   = cl_gui_column_tree=>relat_last_child
            is_outtab_line   = ls_data
            is_node_layout   = VALUE #( n_image = icon_employee )
*           it_item_layout   =
            i_node_text      = CONV #( ls_data-ename )
          IMPORTING
            e_new_node_key   = lv_leaf_node_key.

      ENDLOOP.
    ENDLOOP.

    CALL METHOD go_alv_tree->update_calculations.

    CALL METHOD go_alv_tree->frontend_update.


  ENDIF.

ENDMODULE.

번호 제목 글쓴이 날짜 조회 수
223 REPORT Z99_8 전통주막 2024.11.12 1
222 REPORT z99_7 전통주막 2024.11.12 0
221 REPORT z99_6 전통주막 2024.11.12 0
220 REPORT z99_5 전통주막 2024.11.12 0
219 REPORT z99_4 전통주막 2024.11.12 0
218 REPORT z99_3 전통주막 2024.11.12 0
217 REPORT z99_2 전통주막 2024.11.12 0
216 REPORT z99_1 전통주막 2024.11.12 1
215 INCLUDE z19_02_f01 전통주막 2024.11.12 1
214 INCLUDE z19_02_i01 전통주막 2024.11.12 0
213 INCLUDE z19_02_o01 전통주막 2024.11.12 0
212 INCLUDE z19_02_top 전통주막 2024.11.12 2
211 REPORT z19_02 file 전통주막 2024.11.12 0
210 INCLUDE z19_01_i01 전통주막 2024.11.12 0
209 INCLUDE z19_01_o01 전통주막 2024.11.12 0
208 INCLUDE z19_01_top 전통주막 2024.11.12 0
207 REPORT z19_01 file 전통주막 2024.11.12 0
206 INCLUDE z18_05_i01 전통주막 2024.11.12 0
» INCLUDE z18_05_o01 전통주막 2024.11.12 1
204 INCLUDE z18_05_top 전통주막 2024.11.12 0