2020-09-08 12:41发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
有人知道如何使用RS_TOOL_ACCESS来建立使用清单吗?
我知道我必须使用OPERATION =" CROSSREF",但是我无法使其正常工作...
感谢您的帮助,
昆汀
你好
示例用法
1)
nodetype ='DM'。
调用函数" RS_NAVIGATION_BREAK"。
调用函数" RS_TOOL_ACCESS"
导出
操作='CROSSREF'
object_name = rsd2x-mconame
object_type =节点类型
monitor_activation ='X'
例外
其他= 01。
2)
在ABAP编辑器中显示程序源
检查标记='X'。
清除tab_objlist。 刷新tab_objlist。
tab_objlist-obj_name = sy-lisel + 6(40)。
tab_objlist-obj_type ='P'。
tab_objlist-encl_obj = sy-lisel + 6(40)。
tab_objlist-position ='1'。
附加tab_objlist。
operation ='SHOW'
表格
objlist = tab_objlist
not_executed = 1
invalid_object_type = 2
其他= 3。
尝试此操作,您会有所了解。。。。。。。。。。。。。。。。。。。。。。
您好,昆汀,
您还是找不到文档,您可能会发现 问问自己是否值得麻烦。 以FORM为例。 您所描述的PERFORM ... IN PROGRAM是一种很少使用的静态调用形式。 您可以在后台运行扫描(RPR_ABAP_SOURCE_SCAN)以查找呼叫。 如果调用是动态完成的,您将一无所获。
我从事类似的任务来查找未使用的功能模块(无论如何都是无用的任务-管理要求)。 我们最终要做的是创建一个程序,该程序将一段代码插入每个可能未使用的函数中,并将其插入传输中。 该代码会将使用情况信息写入数据库。 然后过一会儿,我们可以检查函数是否使用以及在哪里使用。
很好的编程场所,但没有任何实际意义。
请注意不要在此上浪费太多时间。
问候,
Clemens
嗨,桑托什,
谢谢,我现在不了解CROSSREF操作的工作原理。
但是您有关于对象类型的任何信息吗?
我找不到关于值及其含义的任何信息。
我想搜索给定对象,该对象可以是表单,功能模块,报告。
而且我想不受限制地进行搜索,因此范围应无处不在。
你知道怎么做吗?
再次感谢
Quentin
你好,
Object_type只是程序或功能模块而已
通话功能'RS_TOOL_ACCESS'
object_name = v_tfpm042va-fname
object_type ='FUNC'。
示例
object_type ='TABL'。
object_type ='PROG'
操作='显示'
OBJECT_NAME = OBJECT_NAME
OBJECT_TYPE ='PROG'
ENCLOSING_OBJECT ='LXGDXUXX'
例外情况
NOT_EXECUTED = 1
INVALID_OBJECT_TYPE = 2
如果SY-SUBRC <> 0。
消息ID SY-MSGID类型SY-MSGTY编号SY-MSGNO
使用SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4。
ENDIF。
感谢您的精确度,但我仍然无法做我想做的事。
现在让我们考虑一个例子。 我在特定程序中有一个表单(不是函数,报表,而是表单)。
我想要找到的是在任何功能模块或报告中使用此特定表单的位置。
我该怎么做?
谢谢
嗨克莱门斯,
能否让我知道您是如何通过此功能模块将代码添加到ABAP代码中并在一个运输请求中进行更改的?
我们需要一些功能。
Madhuri
最多设置5个标签!
你好
示例用法
1)
nodetype ='DM'。
调用函数" RS_NAVIGATION_BREAK"。
调用函数" RS_TOOL_ACCESS"
导出
操作='CROSSREF'
object_name = rsd2x-mconame
object_type =节点类型
monitor_activation ='X'
例外
其他= 01。
2)
在ABAP编辑器中显示程序源
检查标记='X'。
清除tab_objlist。 刷新tab_objlist。
tab_objlist-obj_name = sy-lisel + 6(40)。
tab_objlist-obj_type ='P'。
tab_objlist-encl_obj = sy-lisel + 6(40)。
tab_objlist-position ='1'。
附加tab_objlist。
调用函数" RS_TOOL_ACCESS"
导出
operation ='SHOW'
monitor_activation ='X'
表格
objlist = tab_objlist
例外
not_executed = 1
invalid_object_type = 2
其他= 3。
尝试此操作,您会有所了解。。。。。。。。。。。。。。。。。。。。。。
您好,昆汀,
您还是找不到文档,您可能会发现 问问自己是否值得麻烦。 以FORM为例。 您所描述的PERFORM ... IN PROGRAM是一种很少使用的静态调用形式。 您可以在后台运行扫描(RPR_ABAP_SOURCE_SCAN)以查找呼叫。 如果调用是动态完成的,您将一无所获。
我从事类似的任务来查找未使用的功能模块(无论如何都是无用的任务-管理要求)。 我们最终要做的是创建一个程序,该程序将一段代码插入每个可能未使用的函数中,并将其插入传输中。 该代码会将使用情况信息写入数据库。 然后过一会儿,我们可以检查函数是否使用以及在哪里使用。
很好的编程场所,但没有任何实际意义。
请注意不要在此上浪费太多时间。
问候,
Clemens
嗨,桑托什,
谢谢,我现在不了解CROSSREF操作的工作原理。
但是您有关于对象类型的任何信息吗?
我找不到关于值及其含义的任何信息。
我想搜索给定对象,该对象可以是表单,功能模块,报告。
而且我想不受限制地进行搜索,因此范围应无处不在。
你知道怎么做吗?
再次感谢
Quentin
你好,
Object_type只是程序或功能模块而已
通话功能'RS_TOOL_ACCESS'
导出
operation ='SHOW'
object_name = v_tfpm042va-fname
object_type ='FUNC'。
示例
object_type ='FUNC'。
object_type ='TABL'。
object_type ='PROG'
通话功能'RS_TOOL_ACCESS'
导出
操作='显示'
OBJECT_NAME = OBJECT_NAME
OBJECT_TYPE ='PROG'
ENCLOSING_OBJECT ='LXGDXUXX'
例外情况
NOT_EXECUTED = 1
INVALID_OBJECT_TYPE = 2
其他= 3。
如果SY-SUBRC <> 0。
消息ID SY-MSGID类型SY-MSGTY编号SY-MSGNO
使用SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4。
ENDIF。
嗨,
感谢您的精确度,但我仍然无法做我想做的事。
现在让我们考虑一个例子。 我在特定程序中有一个表单(不是函数,报表,而是表单)。
我想要找到的是在任何功能模块或报告中使用此特定表单的位置。
我该怎么做?
谢谢
嗨克莱门斯,
能否让我知道您是如何通过此功能模块将代码添加到ABAP代码中并在一个运输请求中进行更改的?
我们需要一些功能。
谢谢
Madhuri
一周热门 更多>