检索对象的名称和转让请求整个包编程(Retrieving Object names and Tran

2019-10-18 20:24发布

我有两个单独的系统(开发和测试),我需要检查我的所有对象(程序和所有包括)在发展中的版本开发匹配。 >工具 - - >版本管理的每个对象,但对于数百/千对象,这是非常耗时我可以去SE80手动完成。

有没有一种方法来检索对象名称和TR编程,使他们可以输出到一个表或电子表格?

编辑。 (Vwgert在我看来,这样的工作 - 如果没有你能解释一点,为什么它不会感谢?)

因此,使用下面的JOIN我相信我能够检索所有的对象,类型和最新的TR系统。

SELECT a~obj_name b~korrnum c~object b~datum b~zeit
  FROM tadir AS a
  INNER JOIN vrsd AS b
  ON a~obj_name = b~objname
  INNER JOIN e071 AS c
  ON a~obj_name = c~obj_name
  AND a~pgmid = c~pgmid
  AND a~object = c~object
  INTO TABLE gt_obj_tr
  WHERE a~devclass IN s_pkg.

SORT gt_obj_tr BY object ASCENDING obj_name ASCENDING korrnum DESCENDING datum DESCENDING zeit DESCENDING.
DELETE ADJACENT DUPLICATES FROM gt_obj_tr COMPARING object obj_name.

Answer 1:

你可以发现,大部分的对象头表中的TADIR 。 请求和任务标题保存在E070中的条目E071 -只要看看内容,如果你知道什么是运输看起来是相当不言自明。 请注意,某些对象类型可以部分运输( R3TR CLAS是整个类, LIMU METH只有一个方法) -这使得直接连接是不可能的。



Answer 2:

也许最简单的(虽然不漂亮)是使用表REPOSRC和链接到VSRD。 REPOSRC是包含在系统中的所有源代码(方法,程序,函数),所以你可以确保你不会错过任何表。 你可能会做这样的事情(粗略的伪代码):

SELECT name FROM reposrc
       WHERE name LIKE 'Z%'
          OR name LIKE 'SAPLZ%'  
          OR name LIKE 'SAPMZ%'

SELECT objtype objname FROM vrsd
       WHERE objname = reposrc-name
         AND objtype IN ('CINC', 'REPS')  "Class include & reports

当然,这仅仅是源代码,但听起来好像这就是你所需要的。 如果需要从报告名称才能到真正的ABAP对象(方法,类,功能模块)使用功能模块SEO_CLASS_GET_NAME_BY_INCLUDE和功能看它在桌子TFDIR。



文章来源: Retrieving Object names and Transfer requests for an entire package programmatically