如何识别标准包装的组件是否在自定义代码中使用。

2020-08-13 23:21发布

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

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


你好

我正在进行自定义代码分析,遇到了一个案例,该案例中的EC_PORTAL包将被退役(分包门户网站在S/4 HANA中将不可用)。 我想在自定义代码(Z包)中识别出这种情况,其中来自此包EC_PORTAL的组件已在自定义代码中使用。 我可以手动检查每个组件,但这将花费大量时间来完成分析。 是否有自动化的方法,程序或类似的方法可以帮助我加快流程。

致谢

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

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


你好

我正在进行自定义代码分析,遇到了一个案例,该案例中的EC_PORTAL包将被退役(分包门户网站在S/4 HANA中将不可用)。 我想在自定义代码(Z包)中识别出这种情况,其中来自此包EC_PORTAL的组件已在自定义代码中使用。 我可以手动检查每个组件,但这将花费大量时间来完成分析。 是否有自动化的方法,程序或类似的方法可以帮助我加快流程。

致谢

付费偷看设置
发送
3条回答
当学会了学习
1楼-- · 2020-08-13 23:55

>>是否有自动化的方法,程序或类似的方法可以帮助我加快流程。

没有,至少我不知道。 如果您要不断分析这些软件包中是否有很多软件包和对象,而这些对象是否被其他对象使用,则您必须编写自己的程序,最终才能获得回报。 自定义Y-或Z-包。

您将要做的是:

  1. 在(标准)包中查找所有对象
    在 在SAP表'TADIR'中,您将通过属性'DEVCLASS'找到属于一个包的所有对象。 您的程序将选择具有单个或多个程序包作为输入选择选项,然后从TADIR中获得 all 所有包含的对象,或者 filter 用硬编码或通过( 默认值)通过某些相关类型(PGMID和OBJECT,例如" R3TR FUGR"用于功能组," R3TR PROG"用于报告," R3TR DOMA"用于域," R3TR DTEL"用于数据元素等)选择选项。 您很有可能会过滤软件包中可能存在的对象的列表,因为有许多对象与您的任务无关或几乎无关。
  2. 在与软件包间接链接的软件包中查找其他对象
    对于某些物体,例如 功能模块,您还必须在表'TFDIR'中查找,以从功能组(R3TR FUGR)的TADIR条目获取到随附的功能模块。 为此,您必须在功能组的对象名称中添加" SAPL",并按程序名称(PNAME)在表TFDIR中搜索该引用,以查找所有功能模块。 功能模块的对象类型为FUNC。
  3. 从定制Y或Z包中的(标准)包中获取对象的使用位置列表。
    您可以使用FM'RS_EU_CROSSREF'搜索 其中使用的对象列表和FM返回内部发现表。
通话功能'RS_EU_CROSSREF'
     出口
       i_find_obj_cls = object_type"例如DTEL,FUNC,CLAS,...
       no_dialog ='X'
     桌子
       i_findstrings = i_findstrings"以上对象类型的对象名称
       i_scope_devclass = i_scope_devclass"仅z软件包(I,CP,Z *)
       o_founds = o_founds"返回使用位置列表
     例外情况
       OTHERS = 9 

如果这是您要继续执行任务的方式,请告诉我是否需要进一步的帮助。

粗暴的香蕉
2楼-- · 2020-08-13 23:59

不确定RPR_ABAP_SOURCE_SCAN是否有帮助

樱桃小丸子0093
3楼-- · 2020-08-14 00:09

并非如此。 事实证明,标准软件包不是标准软件包。 我不得不处理从ERP到BW的本质上是基础应用程序的迁移,但是开发人员已经使用了太多的东西,实际上这只是标准SAP,而不是标准SAP。

我什至在SAP聘用的顾问建议使用FM的情况下,也发现以后没有两个版本了。

一周热门 更多>