2020-09-01 23:00发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们,
我需要一个报告,该报告从给定的程序包中获取所有功能组,然后从每个功能组中获取所有功能模块。
我有一个包/MSG/R_VERTRAG ,我需要所有以
/MSG/R_VPLAUSI 和/MSG/R_VPRUEF ,然后是一个包含所有功能模块的表。
我该怎么做?
希望您能提供帮助。
此致
Basti
嗨,
选择对我有效...
代替您的功能组名称。.我尝试使用XM06 ..它正常工作..
手动检查TADIR和TFDIR表中SE16中是否有任何数据。对于相应的功能组。
谢谢,
Naren p>
好,我用" 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"中有我的功能组。 我太傻了,无法获取它的模块。
您可以再试一次吗?
另一个问题是,我不知道该给那些发帖的人????莱姆认为。.
再次考虑
数据:TFDIR的T_FM类型表。
数据:TFDIR的T_FM_LCL类型表。
数据: WA TYPE TFDIR。
获取正确的程序名称。.
将LT_FUGR放入LS_FUGR。
将WA附加到T_FM_LCL。
ENDLOOP。
获取 功能模块。
如果不是T_FM_LCL []是初始的。
SELECT * FROM TFDIR
到表T_FM p>
对于T_FM_LCL中的所有条目
其中PNAME = T_FM_LCL-PNAME。
ENDIF。
Naren
*&----------------------------------- ---------------------------------- * *&报告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"。
最多设置5个标签!
嗨,
选择对我有效...
代替您的功能组名称。.我尝试使用XM06 ..它正常工作..
手动检查TADIR和TFDIR表中SE16中是否有任何数据。对于相应的功能组。
谢谢,
Naren p>
好,我用" TADIR"做了一个小报告。 (对不起,评论用德语????表示)
在" lt_fugr"中有我的功能组。 我太傻了,无法获取它的模块。
您可以再试一次吗?
另一个问题是,我不知道该给那些发帖的人????莱姆认为。.
再次考虑
Basti
嗨,
数据: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 p>
对于T_FM_LCL中的所有条目
其中PNAME = T_FM_LCL-PNAME。
ENDIF。
谢谢,
Naren
一周热门 更多>