2022-1-17 SPRO中快速拷贝路径.md

2022-1-17 SPRO中快速拷贝路径

推广项目很少更新IMG里的配置路径,但是新项目中整理配置清单,一个个路径拷贝出来是一件体力活,我搜索了失传已久的秘方来做这件事

效果图:
copypath
copypath

1. 实现步骤

1-1. 菜单选择方法:

  • se38,Include LSHI01F1I ( Form HANDLE_MENU_REQUEST, End)

  • 找到show Implict Enhancement Options
    enter description here
    enter description here

  • 点击增强
    enter description here
    enter description here

  • 创建增强,在弹出对话框中输入命名

  • 插入以下代码用于版本激活

    ENHANCEMENT 1 ZFIIMP_CUSTOMIZING_PATH. "active version
    IF sy-tcode EQ 'SPRO'.
    call method g_tree_data->menu->add_function
    exporting
    fcode = 'ZCOPY_P'
    text = 'Show activity path'.
    ENDIF.
    ENDENHANCEMENT.

    enter description here

    • Include LSHI01F1J ( Form HANDLE_MENU_SELECT, Start )
      ENHANCEMENT 2 ZFIIMP_CUSTOMIZING_PATH. "active version
      TYPES :
      ty_string TYPE c LENGTH 5000.
      DATA :
      lv_rc TYPE i,
      lt_string TYPE STANDARD TABLE OF ty_string,
      lw_string TYPE ty_string.
      IF sy-tcode EQ 'SPRO'.
      CASE g_fcode.
      WHEN 'ZCOPY_P'.
      DATA: BEGIN OF zz,
      lv_nodekey TYPE tv_nodekey ,
      le_item TYPE shi_item,
      le_node TYPE treev_node,
      lv_relatkey TYPE tv_nodekey,
      lv_relatship_ant TYPE int4,
      html TYPE string,
      END OF zz.
      CHECK g_tree_data->tree IS NOT INITIAL.
      READ TABLE g_tree_data->nodes INTO zz-le_node WITH KEY node_key = g_tree_data->node_key .
      CHECK sy-subrc = 0.
      READ TABLE g_tree_data->items INTO zz-le_item
      WITH KEY
      node_key = g_tree_data->node_key
      item_name = 'TEXT'.
      CHECK sy-subrc = 0.
      zz-html = zz-le_item-text.
      zz-lv_relatkey = zz-le_node-relatkey.
      zz-lv_relatship_ant = zz-le_node-relatship.
      WHILE zz-lv_relatkey IS NOT INITIAL.
      READ TABLE g_tree_data->nodes INTO zz-le_node WITH KEY node_key = zz-lv_relatkey .
      CHECK sy-subrc = 0.
      READ TABLE g_tree_data->items INTO zz-le_item
      WITH KEY node_key = zz-le_node-node_key item_name = 'TEXT' .
      CHECK sy-subrc = 0.
      zz-lv_relatkey = zz-le_node-relatkey .
      IF zz-le_item-text IS NOT INITIAL AND zz-lv_relatship_ant = '4'.
      zz-html = zz-le_item-text && '->' && zz-html.
      ENDIF.
      zz-lv_relatship_ant = zz-le_node-relatship.
      ENDWHILE.
      IF lt_string IS INITIAL.
      lw_string = zz-html. APPEND lw_string TO lt_string.
      ENDIF.
      CALL METHOD cl_gui_frontend_services=>clipboard_export
      IMPORTING
      data = lt_string
      CHANGING
      rc = lv_rc.
      IF lv_rc = 0.
      MESSAGE 'Activity Path copied to clipboard' TYPE 'S'.
      ENDIF.
      // popup a window
      IF zz-html IS NOT INITIAL.
      zz-html = escape( val = zz-html
      format = cl_abap_format=>e_html_text ).
      cl_demo_output=>new(
      )->begin_section( 'Activity path'
      )->write_html( zz-html
      )->display( ).
      ENDIF.
      RETURN.
      ENDCASE.
      ENDIF.
      ENDENHANCEMENT.

1-2. 屏幕方法

参考链接
注意 代码最后遗漏ENDCASE.需要自行补足。

posted @   sxl7777  阅读(397)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示