我想通过代码(abap)阅读SAP中IMG活动的自定义路径.我有来自e071K的IMG-Activity,它将对象存储在传输作业中.现在我找到了存储SPRO树结构的表TNODEIMG.这是完美的,因为它符合我的需要.但我找不到与IMG-Activity的连接.TNODEIMG中的Unique-Id采用其他格式,似乎是一个不同的Id.有人知道我怎么能读出这个?
更新:
@vwegert:谢谢你的帮助.到目前为止,我得到的这个列表充满了Node-Id:lt_eref_list但是没有得到父母.你看到一些误解或失败吗?
DATA: lt_iref_list TYPE STANDARD TABLE OF hier_ref,
lt_eref_list TYPE STANDARD TABLE OF hier_ref,
ls_ref TYPE hier_ref,
lt_parent_list TYPE STANDARD TABLE OF hier_iface,
lt_check_list TYPE STANDARD TABLE OF hier_iface.
ls_ref-node_id = 'SIMG_CFMENUOLQSOQ46'.
APPEND ls_ref TO lt_iref_list.
CALL FUNCTION 'STREE_GET_NODES_FOR_GIVEN_REF'
TABLES
i_list_of_references = lt_iref_list
e_list_of_references = lt_eref_list.
LOOP AT lt_eref_list ASSIGNING FIELD-SYMBOL(<ls_ref>).
CALL FUNCTION 'STREE_GET_PARENTS_OF_NODE'
EXPORTING
structure_id = <ls_ref>-node_id
* IMPORTING
* message = ls_message
TABLES
check_nodes = lt_check_list
parent_nodes = lt_parent_list.
ENDLOOP.
Run Code Online (Sandbox Code Playgroud)
先感谢您.
IMG 活动是使用相当笨重的事务来维护的S_CUS_IMG_ACTIVITY。该交易提供了一个使用位置函数:
跟踪该功能会导致功能模块的出现S_CUS_IMG_ACTIVITY_XREF并S_CUS_IMG_ENTRY_VIA_ACTIVITY到达一个名为STREE_GET_NODES_FOR_GIVEN_REF标识节点的函数模块(为了做好准备,请检查其调用者)。阅读这些功能模块可以让您了解有关要使用的结构和功能模块的大量信息。
出于您的目的,STREE_GET_NODES_FOR_GIVEN_REF可能会很有趣。在引用列表中,将活动 ID 指定为NODE_IDtype COBJ。这将为您提供一个节点列表,包括其父 ID,然后您可以将其提供给这些节点STREE_GET_PARENTS_OF_NODE(结构 ID 是结果集中的树 ID)。要获取节点文本,您可以使用STREE_NODE_READ.