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

2020-09-01 23:00发布

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

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


专家们,

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

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

开头的功能组

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

我该怎么做?

希望您能提供帮助。

此致

Basti

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

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


专家们,

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

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

开头的功能组

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

我该怎么做?

希望您能提供帮助。

此致

Basti

付费偷看设置
发送
10条回答
shere_lin
1楼 · 2020-09-01 23:54.采纳回答

嗨,

选择对我有效...

代替您的功能组名称。.我尝试使用XM06 ..它正常工作..

手动检查TADIR和TFDIR表中SE16中是否有任何数据。对于相应的功能组。

谢谢,

Naren

土豆飞人
2楼-- · 2020-09-01 23:50

好,我用" TADIR"做了一个小报告。 (对不起,评论用德语????表示)


 * Lokale Datendeklaration
 * ----------------------------------------
 类型:开始于typ_fugr,
           fugr TYPE sobj_name,
           fugr_t TYPE区域,
        typ_fugr的结尾。

 数据:typ_fugr的lt_fugr类型表,
       ls_fugr与lt_fugr类似。


 * Auswahl des Paketes

 参数:paket类型devclass默认为"/img/MSG/"。

 * ----------------------------------------

 [刷新lt_fugr。

 *Überschriftsspaltenaufnehmen
 * ----------------------------------------

 ls_fugr-fugr ='Functionsbaustein'。
 ls_fugr-fugr_t ='文字'。
 附加ls_fugr至lt_fugr。

 * ----------------------------------------

 * Funktionsgruppen和Text auslesen
 * --------------------------------------------

 选择obj_name
    来自塔迪尔
    INTO ls_fugr-fugr
    在哪里devclass = paket
      AND对象='FUGR'
   AND obj_name LIKE'/MSG/R_VPLAUSI%'或obj_name LIKE'/MSG/R_VPRUEF%'。
   IF(sy-subrc = 0)。

     附加ls_fugr至lt_fugr。
 万一。
 ENDSELECT。
 

在" lt_fugr"中有我的功能组。 我太傻了,无法获取它的模块。

您可以再试一次吗?

另一个问题是,我不知道该给那些发帖的人????莱姆认为。.

再次考虑

Basti

SAP小菜
3楼-- · 2020-09-01 23:49

嗨,

数据:TFDIR的T_FM类型表。

数据:TFDIR的T_FM_LCL类型表。

数据: WA TYPE TFDIR。

  • 获取正确的程序名称。.

将LT_FUGR放入LS_FUGR。

< p>将" SAPL" LS_FUGR-FUGR连接到WA-PNAME中。

将WA附加到T_FM_LCL。

ENDLOOP。

  • 获取 功能模块。

如果不是T_FM_LCL []是初始的。

SELECT * FROM TFDIR

到表T_FM

对于T_FM_LCL中的所有条目

其中PNAME = T_FM_LCL-PNAME。

ENDIF。

谢谢,

Naren

SKY徐
4楼-- · 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"。
 

一周热门 更多>