文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

ABAP CCDEF是什么

2023-06-04 03:24

关注

本篇内容介绍了“ABAP CCDEF是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

我们新建一个ABAP类之后,完成代码编写,第一次激活时,会看到这些以类的名称开头,中间跟着一大段=符号,以五个字符结尾的对象出现在待激活列表里。它们是什么鬼?

ABAP CCDEF是什么

我们来动手研究一番。Jerry在2019猪年大年三十写的文章 SAP GUI和Windows注册表 曾经提到Windows系统的注册表,而ABAP Netweaver也有属于自己的注册表:TADIR和TRDIR. 无论在SE80或者是SE11事务码里创建的对象,在这两张表里都会留下一些痕迹。

创建一个最简单的ABAP类,包含public,protected和private方法和属性各一个,麻雀虽小,五脏俱全。

ABAP CCDEF是什么

激活之后,在注册表TRDIR里根据类的名字ZCL_ABAP_CLASS进行查询,得到如下记录:

ABAP CCDEF是什么

由此可见,ABAP里的类(Class), 技术上是通过若干可以通过SE38直接打开的ABAP include程序组成:

ABAP CCDEF是什么

对于上述TRDIR里的记录,我们可以逐一用SE38打开,搞清楚它们到底代表什么含义。

CCAU

这个AU的含义可以用ABAP Unit来帮助记忆。

ABAP CCDEF是什么

SE38打开include程序之后,自动进入下面这个界面,发现CCAU程序存储的是这个类的单元测试代码。

CCDEF

DEF代表Definition(定义). SE38里打开ZCL_ABAP_CLASS================CCDEF,看到的是这个界面:

ABAP CCDEF是什么

此处维护的是ABAP类的局部定义,包括类的局部类,局部接口,局部类型定义等等。

也可以先进入SE24,然后点击Local Definitions/Implementations打开。

ABAP CCDEF是什么

CCIMP

IMP代表implementation(实现). SE38打开ZCL_ABAP_CLASS================CCIMP, 能看到局部类的实现。

ABAP CCDEF是什么

CI

类的私有区域定义。

ABAP CCDEF是什么

CO

类的protected区域定义。

ABAP CCDEF是什么

CU

类的公有区域定义。

ABAP CCDEF是什么

CMXXX

CM代表Class Method,XXX是类的方法序号,基于16进制,从1开始递增,例如CM001存储类的第一个方法的实现代码,CM002代表第二个方法,以此类推。

例如,SE38里打开ZCL_ABAP_CLASS================CM001,看到的是第一个私有方法的源代码:

ABAP CCDEF是什么

ZCL_ABAP_CLASS================CM002:

ABAP CCDEF是什么

ZCL_ABAP_CLASS================CM003:

ABAP CCDEF是什么

CCMAC

MAC是Macro(宏)的缩写,存储类的宏定义。

ABAP CCDEF是什么

如何用代码的方式获得一个类的这些不同的ABAP include程序名称呢?

使用ABAP工具类CL_OO_CLASSNAME_SERVICE:

ABAP CCDEF是什么

比如我想知道CL_CRM_BOL_CORE这个类所有方法对应的include名称,那么在工具类的GET_ALL_METHOD_INCLUDES打个断点,

然后SE24里打开CL_CRM_BOL_CORE,点击Source Code Based:

ABAP CCDEF是什么

断点立即触发,从调用栈能看出,为了在Source Code模式下显示出ABAP类的完整代码,需要把散落存储在各个include程序里的代码读取出来。

ABAP CCDEF是什么

类方法和其include程序名称的对应关系一目了然。

ABAP CCDEF是什么

在ABAP Type Group SEOP里,存储了本文介绍的以CC开头的include类型的常量定义。

ABAP CCDEF是什么

“ABAP CCDEF是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯