zoukankan      html  css  js  c++  java
  • 显示SAP CRM Product hierarchy的一个小工具

    Recently I start to study SD and I found the product hierarchy in transaction code V/76 could not be viewed in tree style and it is not so convenient to check:

    So I wrote a simple report to retrieve hierarchy data from table T179 and display the data in a tree as below:

    The source code of report is listed below:

    REPORT zdisplay_hierarchy.
    DATA: g_alv_tree TYPE REF TO cl_gui_alv_tree,
      gt_data TYPE STANDARD TABLE OF zcl_alv_tool=>ty_displayed_node,
      ok_code LIKE sy-ucomm,
      save_ok LIKE sy-ucomm,
      ls_data LIKE LINE OF gt_data.
    END-OF-SELECTION.
      DATA(lo_tool) = NEW zcl_alv_tool( ).
      DATA(lt_fieldcat) = lo_tool->get_fieldcat_by_data( ls_data ).
      PERFORM change_label.
      CALL SCREEN 100.
    MODULE pbo OUTPUT.
      SET PF-STATUS 'MAIN100'.
      SET TITLEBAR 'MAINTITLE'.
      IF g_alv_tree IS INITIAL.
      PERFORM init_tree.
      CALL METHOD cl_gui_cfw=>flush
      EXCEPTIONS
      cntl_system_error = 1
      cntl_error = 2.
      ASSERT sy-subrc = 0.
      ENDIF.
    ENDMODULE. " PBO OUTPUT
    MODULE pai INPUT.
      save_ok = ok_code.
      CLEAR ok_code.
      CASE save_ok.
      WHEN 'EXIT' OR 'BACK' OR 'CANC'.
      PERFORM exit_program.
      WHEN OTHERS.
      CALL METHOD cl_gui_cfw=>dispatch.
      ENDCASE.
      CALL METHOD cl_gui_cfw=>flush.
    ENDMODULE. " PAI INPUT
    FORM change_label.
      READ TABLE lt_fieldcat ASSIGNING FIELD-SYMBOL(<id>) INDEX 1.
      <id>-seltext = <id>-reptext = <id>-scrtext_m = <id>-scrtext_s = <id>-scrtext_l = 'Hierarchy ID'.
      <id>-outputlen = 20.
      READ TABLE lt_fieldcat ASSIGNING FIELD-SYMBOL(<text>) INDEX 2.
      <text>-seltext = <text>-reptext = <text>-scrtext_m = <text>-scrtext_l = 'Description'.
      <text>-scrtext_s = 'Text'.
      <text>-outputlen = 40.
    ENDFORM.
    FORM init_tree.
      g_alv_tree = lo_tool->get_tree( ).
      DATA l_hierarchy_header TYPE treev_hhdr.
      PERFORM build_hierarchy_header CHANGING l_hierarchy_header.
      CALL METHOD g_alv_tree->set_table_for_first_display
      EXPORTING
      is_hierarchy_header = l_hierarchy_header
      CHANGING
      it_fieldcatalog = lt_fieldcat
      it_outtab = gt_data.
      PERFORM create_tree.
      g_alv_tree->frontend_update( ).
      lo_tool->expand( ).
    ENDFORM.
    FORM create_tree.
      DATA(lt_data) = lo_tool->get_hierarchy_data( ).
      lo_tool->draw_tree( lt_data ).
    ENDFORM. " init_tree
    FORM build_hierarchy_header CHANGING p_hierarchy_header TYPE treev_hhdr.
      p_hierarchy_header-heading = 'Material hierarchy'.
      p_hierarchy_header-width = 30.
      p_hierarchy_header-width_pix = ' '.
    ENDFORM. " build_hierarchy_header
    FORM exit_program.
      LEAVE PROGRAM.
    ENDFORM. " exit_program
    

    In order to use the report, all you need is to just create a new screen :

    And drag a custom container to screen with name “CCONTAINER1”:

    要获取更多Jerry的原创文章,请关注公众号"汪子熙":

  • 相关阅读:
    [oldboy-django][1初识django]阻止默认事件发生 + ajax + 模态编辑对话框
    第6章Zabbix分布式监控
    第5章Zabbix自动化监控
    第4章Zabbix监控实践
    第3章Zabbix完整监控
    第2章Zabbix基础进阶
    第1章1zabbix快速入门
    自动化利器-YUM仓库搭建实战
    CentOS7修改网卡为eth0
    NTP时间服务器
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/13549359.html
Copyright © 2011-2022 走看看