如何获取包的所有功能组及其功能模块?

2020-09-01 23:00发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我需要一个报告,该...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我需要一个报告,该报告从给定的程序包中获取所有功能组,然后从每个功能组中获取所有功能模块。

我有一个包/MSG/R_VERTRAG ,我需要所有以

开头的功能组

/MSG/R_VPLAUSI /MSG/R_VPRUEF ,然后是一个包含所有功能模块的表。

我该怎么做?

希望您能提供帮助。

此致

Basti

10条回答
SKY徐
2020-09-01 23:37
 *&-----------------------------------  ---------------------------------- *
 *&报告ZP_GET_FM_FRM_PKG
 *&------------------------------------------------  --------------------- *
 *&
 *&------------------------------------------------  --------------------- *
 报告ZP_GET_FM_FRM_PKG。


 参数:P_PACKG类型DEVCLASS。  "包名称参数

 类型:开始于TY_FM_DTLS,
          包类型DEVCLASS,
          F_GROUP TYPE AREA,
          F_MODULE TYPE FUNCNAME,
          FM_TEXT TYPE STEXT,
        END OF TY_FM_DTLS。


 数据:TY_FM_DTLS的LT_FM_DTLS类型表,
       LS_FM_DTLS类型TY_FM_DTLS。

 "从包中获取功能组名称
 SELECT OBJ_NAME
   从塔迪尔
   到表@DATA(LT_FG)
   对象在哪里='FUGR'
   AND DEVCLASS = @P_PACKG。

 如果LT_FG不是INITIAL。

 "从功能组获取功能模块名称
   选择功能名称,
          区
     来自ENLFDIR
     插入表@DATA(LT_FM_FG)
     对于@LT_FG中的所有条目
     区域= @ LT_FG-OBJ_NAME + 0(26)。


 万一。

 如果LT_FM_FG不是INITIAL。

 "使用功能模块名称获取功能模块短文本
   选择功能名称,
          文字
     来自TFTIT
     插入表@DATA(LT_FM_TXT)
     对于@LT_FM_FG中的所有条目
     SPRAS ='E'
     AND FUNCNAME = @ LT_FM_FG-FUNCNAME。
 万一。


 "将所有数据填充到一个内部表中

 循环到LT_FM_TXT INTO DATA(LS_FM_TXT)。
   LS_FM_DTLS-F_MODULE = LS_FM_TXT-FUNCNAME。
   LS_FM_DTLS-FM_TEXT = LS_FM_TXT-STEXT。

   读取表LT_FM_FG
   INTO数据(LS_FM_FG)
   WITH KEY FUNCNAME = LS_FM_TXT-FUNCNAME。

   如果SY-SUBRC = 0。
     LS_FM_DTLS-F_GROUP = LS_FM_FG-AREA。
   万一。


   LS_FM_DTLS-PACKAGE = P_PACKG。


   APPEND LS_FM_DTLS到LT_FM_DTLS。
   清除LS_FM_DTLS。


 结局。


 按F_GROUP F_MODULE升序排序LT_FM_DTLS。

 "将内部表数据导出到excel文件中

 通话功能'SAP_CONVERT_TO_XLS_FORMAT'
   出口
 * I_FIELD_SEPERATOR =
 * I_LINE_HEADER =
     I_FILENAME ='F:\ Abc.xls'"文件路径和名称
 * I_APPL_KEEP =''
   桌子
     I_TAB_SAP_DATA = LT_FM_DTLS
 *变化
 * I_TAB_CONVERTED_DATA =
 *例外情况
 * CONVERSION_FAILED = 1
 *其他= 2
           。
 如果SY-SUBRC <> 0。
 *在这里实施适当的错误处理
 万一。


 写:" FM_NAME"。
 

一周热门 更多>