abap - 如何通过 IMG-Activity 找到自定义路径

标签 abap sap-basis

我想通过代码(abap)阅读 SAP 中 IMG 事件的自定义路径。我有来自 e071K 的 IMG-Activity,它将对象存储在传输作业中。现在我找到了存储 SPRO 的树结构的表 TNODEIMG。这是完美的,因为它拥有我需要的东西。但我找不到与我的 IMG 事件的连接。 TNODEIMG 中的 Unique-Id 是其他格式,似乎是不同的 Id。有人知道我怎么能读出来吗?

更新:

@vwegert:感谢您提供有用的答案。到目前为止,我得到这个列表充满了节点 ID:lt_eref_list ,但不要得到 parent 。您在这里看到一些误解或失败吗?

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.

先感谢您。

最佳答案

IMG 事件使用相当笨重的事务S_CUS_IMG_ACTIVITY 来维护。 .该事务提供了一个 where-used 函数:

where-used index

通过功能模块跟踪该功能 S_CUS_IMG_ACTIVITY_XREFS_CUS_IMG_ENTRY_VIA_ACTIVITY到一个名为 STREE_GET_NODES_FOR_GIVEN_REF 的功能模块标识节点(为了准备,检查它的调用者)。阅读这些功能模块可以为您提供大量有关要使用的结构和功能模块的信息。

为了您的目的,STREE_GET_NODES_FOR_GIVEN_REF可能很有趣。在引用列表中,将事件 ID 指定为 NODE_ID类型为 COBJ .这将为您提供一个节点列表,包括它们的父 ID,然后您可以将其提供给 STREE_GET_PARENTS_OF_NODE (结构 ID 是结果集中的树 ID)。要获取节点文本,您可以使用 STREE_NODE_READ .

关于abap - 如何通过 IMG-Activity 找到自定义路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45440913/

相关文章:

abap - 有没有标准方法可以获取 SAP 用户之前的登录日期?

abap - 使 table 可定制/可移动?

abap - 调试后台作业(一步)和调试程序有什么区别?

javascript - 向 SOAP WSDL 发送请求

python - 从 Python 查询 SAP 数据库?

scheduled-tasks - SAP后台作业: how is it running?

authorization - 根据授权限制维护 View 输出

abap - 显示来自 SAP 透明表的 500+ 个字符字段

release - ABAP 功能列表

http - 将 URL 字符串映射到 ABAP 中的 RFC 目标的标准方法?