读取全局类的报告?

问题描述 投票:1回答:2

我为全局类尝试了READ REPORT,但是它不起作用。 我需要将全局类的源代码读入表中。我找到了SEO_METHOD_ * FM,但那些仅返回有关类的元数据,而不返回其源代码。

是否有类似于READ REPORT的FM或方法,但对于全局类?

谢谢您的帮助。

sap abap
2个回答
1
投票

所有ABAP代码都存储在表REPOSRC,报告,功能模块,类池等的“包含程序”中。只能通过ABAP语句READ REPORT读取此表。

您需要知道这些用于类池的包含程序的名称。

对于名为ZCL_X的类池,ABAP源代码存储在以下包含程序中:

  • ZCL_X ======================= CS:此包含包含整个源代码,但前提是已通过基于源的代码对其进行了更改编辑器或通过Eclipse ADT。
  • ZCL_X ======================== CP:主要代码,列出了所有或大部分下一个包含程序**注意:CP总是从第31个字符开始,类名和第31个字符之间的所有字符都将替换为=。例如:如果类池名为ZCL_XXXXX,则包含名为ZCL_XXXXX=====================CP
  • ZCL_X ========================= CU:公共部分
  • ZCL_X ========================= CI:私有部分
  • ZCL_X ========================= CO:受保护的部分
  • ZCL_X ======================== CM +++:方法** +++是3个字符的代码,对应于表TMDIR中定义的方法。 METHODNAME列包含方法名称,而METHODINDX列包含用于构建+++的整数,示例:** 1至9:001至009** 10至35:00A至00Z** 36至45:010至019** 46至71:01A至01Z** 72至81:020至02Z**等
  • ZCL_X ======================== CCDEF:本地类定义
  • ZCL_X ========================= CCMAC:宏
  • ZCL_X ========================= CCIMP:本地类实现
  • ZCL_X ========================= CCAU:本地测试类
  • 以及更多...

0
投票

使用CL_RECA_RS_SERVICES,方法GET_SOURCE是这样的:

CALL METHOD cl_reca_rs_services=>get_source
  EXPORTING
    id_objtype = 'CLAS'
    id_objname = 'CL_SALV_BS_RUNTIME_INFO'
  IMPORTING
    et_source  = DATA(source)
  EXCEPTIONS
    not_found  = 1
    others     = 2
  .
© www.soinside.com 2019 - 2024. All rights reserved.