自己开发的ABAP代码版本查看工具

为什么要写这个工具

我在做SAP CRM Fiori的开发时,需要在一个method的众多repository里一个一个查看寻找我需要的关键字,太费时间和眼睛,所以写了一个report把一个method所有version的source code都download下来,直接用Ctrl+F即可搜索,避免了manual effort。

如何使用

执行report,输入要查看version 信息的ABAP class name和method name:

clipboard1

执行后输出结果:

自己开发的ABAP代码版本查看工具_第1张图片

download到本地后即可使用各种文本处理工具进行所需的查询:

自己开发的ABAP代码版本查看工具_第2张图片
自己开发的ABAP代码版本查看工具_第3张图片

source code

REPORT ZTEST_CAG_CAT.


PARAMETERS: cname TYPE SEOCOMPO-clsname OBLIGATORY DEFAULT 'CL_CRM_OPPORTUNITY_MPC_EXT',

            mname TYPE seocompo-cmpname OBLIGATORY DEFAULT 'DEFINE_OPPORTUNITY'.


data: lv_name TYPE vrsd-objname,

      lt_version TYPE STANDARD TABLE OF vrsd,

      lt_table TYPE STANDARD TABLE OF ABAPTXT255,

      lt_trdir TYPE STANDARD TABLE OF TRDIR,

      lt_VSMODISRC TYPE STANDARD TABLE OF SMODISRC,

      lt_VSMODILOG TYPE STANDARD TABLE OF SMODILOG.


lv_name = cname && '%' && mname.


SELECT objname versno datum zeit FROM vrsd INTO CORRESPONDING FIELDS OF TABLE lt_version

   WHERE objname LIKE lv_name ORDER BY versno DESCENDING.


LOOP AT lt_version ASSIGNING FIELD-SYMBOL().

   CALL FUNCTION 'SVRS_GET_REPS_FROM_OBJECT'

     EXPORTING

       object_name                        = -objname

       object_type                        = 'METH'

       versno                             = -versno

     TABLES

       repos_tab                          = lt_table

       TRDIR_TAB                          = lt_trdir

       VSMODISRC                          = lt_VSMODISRC

       VSMODILOG                          = lt_VSMODILOG.


   ASSERT sy-subrc = 0.


   WRITE: / 'version number: ' COLOR COL_GROUP, -versno COLOR COL_NEGATIVE,

   'Date: ' COLOR COL_KEY, -datum COLOR COL_HEADING, ' time: ' COLOR COL_POSITIVE, -zeit COLOR COL_NORMAL.


   LOOP AT lt_table ASSIGNING FIELD-SYMBOL().

      WRITE: / -line.

   ENDLOOP.

ENDLOOP.

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

你可能感兴趣的:(ABAP)