ABAP OO笔记2

ABAP - OO ALV基本实现步骤 ABAP - OO ALV基本实现步骤新建程序定义屏幕PBO实现PAI实现完整代码 新建程序 使用T-code:SE38 新建Report: ZOOALV 为新建的Report分配一个package,在这里我用本地包代替,实际工作中会有很多个环境,这个package是用来装传输请求,起到在不同环境中的传输代码的作用,在这里不做详细阐明,如下图点击Local Object,进入ABAP 编辑器界面 定义屏幕 在该界面中有两种创建屏幕的方式: 使用代码CALL SCREEN 100,然后双击100进行创 阅读详情

2008-9-2

22.       Methods that have a RETURNING parameter are described as functional methods. These methods cannot have EXPORTING or CHANGING parameters, but has many (or as few) IMPORTING parameters and EXCEPTIONS as required.

23.       Functional methods can be used directly in various expressions.

24.       Methods: tempa

             Importing a type ty_distance

                        Returning b type ty_fuel.

         The syntax for instance methods (analogous to static methods) is as follows, depending on the number of IMPORTING parameters:

         No IMPORTING parameter:  ref->tempa()

         Exactly 1 IMPORTING parameter:  ref->tempa( p1 ) or ref->tempa( a = p1 )

         Several IMPORTING parameters:  ref->tempa( a1 = p1 a2 = p2 )

25.       Constructor

The constructor is a special (instance) method in a class and is always named CONSTRUCTOR. The following rules apply:

a)         Each class has exactly one constructor

b)         The constructor does not need to be defined if no implementation is defined.

c)         The constructor is automatically called during runtime within the CREATE OBJECT statement.

d)         If you need to implement the constructor, then you must define and implement it in the PUBLIC SECTION. When EXCEPTIONS are triggered in the constructor, instances are not created, so no main memory space is taken up.

e)         Only has IMPORTING parameters and EXCEPTIONS.

f)          Is executed exactly once per instance.

g)         Most used to initialize and modify static attributes.

26.       Static Constructor

The static constructor is a special static method in a class and is always named CLASS_CONSTRUCTOR. It is executed precisely once per program. The static constructor of class <classname> is called automatically before the class is first accessed, that is, before any of the following actions are executed:

a)         Creating an instance in the class using CREATE OBJECT obj, where obj has the data type REF TO <classname>.

b)         Addressing a static attribute using <classname>=><an_attribute>.

c)         Calling a static attribute using CALL_METHOD <classname>=><a_classmethod>.

d)         Registering a static event handler method using SET HANDLER <classname>=><handler_method> for obj.

e)         Registering an event handler method for a static event in class <classname>.

f)          Automatically called before the class is first accessed.

27.       In delegation, two objects are involved in handling a request: then recipient of the reques delegates the execution of the request to a delegate.

28.       There is a local namespace within methods. Definitions of variables can cover components in one class.

29.       You can address the object itself within object methods using the implicitly available reference variable ME.

For example:

           In the CONSTRUCTOR, then instance attribute name is covered by the locally defined variable name. in order to still be able to address the instance attribute, you need to use ME.

ABAP OO面向对象编程--定义、实现和使用类 然后,它创建了第二个飞机实例,并使用set_attributes方法(这个在原始的lcl_airplane类定义中没有提供,是在zbc404_hf_lcl_airplane1中定义的)来设置第一个飞机实例的名称和类型。类中有两种类型的组件——那些为每个对象单独存在的组件,以及那些不论实例数量如何,整个类只存在一次的组件。- Define, implement and use simple class(定义、实现和使用简单类):指的是在编程中创建一个基本的类,实现其功能,并在程序中使用它。 阅读详情

相关推荐

把 ABAP OO 讲透:从类与对象到可复用架构的入门地图

摘要:ABAP面向对象编程(OO)是SAP技术栈的核心能力,尤其适用于S/4HANA、Gateway和RAP等现代架构。文章剖析了ABAP OO解决过程式编程痛点的价值:封装状态与行为、提高代码复用性和可维护性。重点分析了日志记录、数据映射和流程处理三大典型场景的OO实现方案,并详解了ABAP特有的双构造器、NEW运算符等关键特性。文章还展示了如何将OO概念应用于Gateway和RAP框架,为ABAP开发者提供了从理论到实践的完整指导。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2958

ABAP 面向对象程序设计 (03)- 对象的创建

本篇博文介绍创建对象的一些知识点。包括构造方法的运用,单例模式等

王敏的专栏 2938

2023电视专用!安卓电子相册APP避坑指南(附开源代码)

本文针对2023年智能电视用户,提供安卓电子相册APP的避坑指南与实战教程。文章详细解析了电视端相册应用的常见广告与兼容性陷阱,并指导用户如何安全获取、部署纯净的APK应用,通过核心设置实现无广告的个性化图片轮播体验,最终打造专属的家庭回忆墙。

weixin_29012677的博客 494

ABAP 面向对象程序设计 (02)- 属性和方法

ABAP 中的类,最主要的组件有属性 (attributes) 和方法 (methods) , 构造方法 (constructor) 是一类特殊的方法,在创建对象实例时,构造方法自动运行。 可以从两个角度来看属性和方法,第一个角度是从可见性的角度,属性和方法可分为 public, protected 和 private。因为在程序中定义的 local class,智能在本程序中使用,所以下面的规则主要是针对 global class 而言。local class 的范围局限在程序内部。 public 属性

王敏的专栏 4474

避坑指南:海康MV_CC_SetIntValue接口的7个典型报错解决方案

本文深度解析海康工业相机SDK中MV_CC_SetIntValue接口的典型报错,提供7个实战解决方案。针对MV_E_CALLORDER、MV_E_PARAMETER等高频错误码,从设备状态、参数值域、依赖关系等核心约束入手,给出清晰的诊断流程与根治代码,帮助开发者构建健壮的参数设置模块,提升开发效率。

y2z3a4b5c的博客 1078

《跨界杂谈》华为印象(五):高度集权的矩阵式架构

高度集权的矩阵式架构 “高度集权的矩阵式架构”不是官方术语。是笔者的一位同事非常经典的总结。解释这个句话还是有点困难的,笔者入职华为三年也没彻底搞明白,在这里只能尝试性的解释一下。 矩阵 我们先看一下“矩阵”。华为有两套部门职能体系,华为内部术语,叫实线部门和虚线部门。由实线与虚线部门交叉构成矩阵。大部分(但不是所有)华为员工都由两个部门(两个领导)进行管理。对员工而言,所谓的实线部

《云计算架构技术与实践》 2994

【转载】ABAP面向对象(Object Orientation)编程4-类的构造方法(constructor method)

构造函数就是CREATE OBJECT的时候会自动调用的方法(method).分为静态和非静态两种。 1,静态构造方法 语法:   1 CLASS-METHODS class_constructor. 静态的构造函数是每个类都已具有的方法,但我们可以通过重定义来完成某些初始化工作 静态的构造器只在程序中被调用一次,即第一次作用该类调用时,且不能被...

hubaichun的专栏 1880

从时序精度到视觉盛宴:PY32F030驱动WS2812的工程艺术与避坑指南

本文深入探讨了基于PY32F030微控制器驱动WS2812智能LED的完整解决方案。通过精确的时序控制、硬件PWM结合DMA传输技术,实现了稳定可靠的驱动效果,并提供了电源管理、信号完整性和常见问题排查等实用避坑指南,帮助开发者轻松应对严格的纳秒级时序挑战。

wind6的博客 120

移动端大语言模型部署实战:从MobiLlama架构解析到性能优化

大语言模型(LLM)通过Transformer架构实现了强大的自然语言理解和生成能力,其核心在于自注意力机制和前馈网络。为了在资源受限的移动和边缘设备上运行,模型轻量化与高效部署成为关键技术挑战。这涉及到模型架构创新(如稀疏专家混合模型)、训练策略(如知识蒸馏)以及部署时的量化与推理优化。这些技术能显著降低计算和内存开销,使AI能力得以在智能手机、嵌入式设备等端侧场景落地,实现低延迟、高隐私的智能交互。本文以轻量化模型MobiLlama为例,深入剖析其面向移动端的稀疏化设计和高效注意力机制优化,为开发者提供

weixin_30444105的博客 491

利用Docker Compose简化openGauss多节点容器化部署

本文详细介绍了如何利用Docker Compose简化openGauss多节点容器化部署,从环境准备到配置文件编写,再到集群部署与验证,提供了一套完整的解决方案。通过Docker Compose,原本复杂的手动部署流程被大幅简化,显著提升了部署效率和可靠性,特别适合企业级开源数据库的高可用架构需求。

weixin_30338481的博客 60

【毕业设计】QT实战:从零构建仿QQ通讯系统,打造你的简历亮点项目

本文为计算机专业毕业生提供了一份详尽的毕业设计实战指南,教你如何从零开始使用QT框架构建一个仿QQ的即时通讯系统。文章深入剖析了项目规划、核心模块(登录、聊天、好友管理)的实现、TCP粘包处理、数据库设计等关键技术难点,并分享了如何将此项目打造成简历亮点,有效提升求职竞争力。

omega的博客 442

你真的会用ABAP, Java和JavaScript里的constructor么?

如果constructor里调用了一个成员方法,这个方法被子类override了,当初始化一个子类实例时,父类的构造函数被的调用,此时父类构造函数的上下文里调用的成员方法,是父类的实现还是子类的实现? 你能不用运行代码,就能准确说出这些语句会打印什么出来呢? ABAP class ZCL_SUPER definition public create public . public...

weixin_30247781的博客 141

把时间当成数据:SAP ABAP 里的 DATS/TIMS 与 DATN/TIMN,怎么选才不踩坑

SAP项目中日期时间字段的陷阱与优化 日期时间字段(DATS/TIMS)在SAP项目中看似简单却常引发事故,主要问题包括: 非法日期(如20201331)入库后,在月结、对账时爆发异常 空值被处理为00000000导致排序错误 ABAP提供两种处理方案: 经典类型DATS/TIMS:存储为字符格式,校验宽松易存脏数据 HANA原生类型DATN/TIMN:数据库级校验,写入即拦截非法值 优化建议: 在接口层和入库前进行严格校验 新项目优先使用DATN/TIMN类型 对遗留数据使用DATS_IS_VALID等函

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 184

ABAP OO的八大理由

几年前SAP BASIS 4.6为ABAP扩展了OO功能,这是很多传统的ABAP程序员陷入困境。首先对于ABAP程序员来说它们终于可以通过OO这种开发方法得潜在价值来提高开发效率和所开发程序的可维护性了。然而一直以来习惯于面向过程编程的ABAPER迅速的转向OO模式也不是那么容易,很多人还是坚持使用传统的面向过程的开发模式,他们觉得不用OO也可以得到他们想要的。这篇文章的主要目的便是让你明白OO能...

caoyang2211的博客 1001

10.嵌入式控制器EC实战 GPIO开发流程

文章目录1.General Control Register (GCR),通用控制寄存器,地址0x1602.GPDRA—GPDRJ端口数据寄存器组(共10组)3.Port Control n Registers (GPCRn, n = A0-I7),端口控制寄存器4.GPIO端口编程指导编程步骤端口初始化使用InitGPIOReg数据结构初始化所有端口默认工作模式读取输入引脚的值(STATE_ACin()): IT8502中各个引脚的描述见下表所示: 在嵌入式控制器EC的IT8502主控芯片中,通过芯片的

qq_30135687的博客 2285

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

ABAP OO面向对象设计

ABAP OO面向对象设计

woniu_maggie的博客 1015

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

ABAP OO的八大理由(三)

对于面向过程的模式,程序的运行通常是从screen的dialog module或selection screen的start-of-selection事件开始的。你在这些处理模块中操作全局变量来实现需求的功能。你可以通过内部的form和外部的function module来实现程序的模块化。这些过程除了可以操作全局变量外还可以具备内部的本地变量来协助实现内部的一些特定功能。   

lvzhqi的专栏 1471

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

ABAP OO 控件创建步骤简单介绍

介绍OO 的创建

风一样的少年的专栏 907

SAP ABAP 之面向对象OO(上帝视角)

SAP ABAP 之面向对象

Li958172829的博客 6461

ABAP OO的八大理由(十二)

 原因五,事件应用中,用户界面的鼠标单击,新帐户的建立,都可以触发一个事件,这个事件要被他感兴趣的处理者知道。事件和事件处理与调用过程有相似之处:触发事件就相当于调用自程序,处理事件就相当于被调用子程序的主程序。区别是被调用的子程序和调用程序是帮定的一块儿的,而事件则不同,处理者有可能处理触发的事件,但也不一定。面向过程的ABAP的事件处理是通过运行时来实现的。而在OO中,类和对象既可以触

lvzhqi的专栏 1191

ABAP OO的八大理由(四)

 OO编程优于过程编程的五个原因下面的部分里我们将着重论述OO编程的主要优点,尽管这里所提到的优点与其他的OO语言(JAVA C++)没有什么太大的区别,我们这里着重在ABAP OO与传统的ABAP程序相比而体现处来的优点。我们将通过实现一个银行账户管理的简单例子来比较两种模式的差别。原因一:数据封装将数据和程序封装在一个组件中将使程序变得容易修改。不要把一个应用的所有的数据和功能

lvzhqi的专栏 1515

ABAP编程中,函数组与ABAP OO编程的相似性

例如,可以创建一个计数器类,它包含一个私有的计数器属性和一个公共的方法来增加计数器的值,这样就可以创建多个计数器对象,每个对象都有自己的计数器实例。在传统的ABAP开发过程中,ABAP中对象的最接近等价物是函数模块和函数组。接口:函数组通过函数模块提供了一个明确的接口,外部程序必须通过这些接口来与函数组交互,这与面向对象编程中的公共方法(public methods)相似。封装:函数组通过函数模块封装了对COUNT变量的操作,这与面向对象编程中的封装原则相似,即隐藏内部实现细节,只暴露必要的接口。

SAP ABAP开发技能记录分享 465

ABAP OO Basics 开源项目教程

ABAP OO Basics 开源项目教程 1. 项目的目录结构及介绍 目录结构 abap-oo-basics/ ├── src/ │ ├── classes/ │ │ ├── zcl_employee.abap │ │ ├── zcl_manager.abap │ │ └── zcl_sales_person.abap │ ├── interfaces/ │ ...

gitblog_00256的博客 317

ABAP OO EXCEPTION

Exception是指ABAP程序在正常执行过程中不能够正常执行下去的情况。BASIS RELEASE 610之后,exception是在exception class的基础之上实现的。CLASS based exception既可以通过abap语句触发也可以由runtime system触发。可以自己定义exception class,不过系统已经自带了一系列的exception class。一

lvzhqi的专栏 1048

ABAP OO 基础项目常见问题解决方案

ABAP OO 基础项目常见问题解决方案 1. 项目基础介绍和主要编程语言 ABAP OO 基础项目是一个开源项目,旨在支持YouTube上的ABAP面向对象基础视频教程。该项目的仓库包含了一系列用于视频教程中的ABAP源代码样例。ABAP(Advanced Business Application Programming)是SAP系统中使用的一种编程语言,该项目主要用于教授ABAP面向对象编程的...

gitblog_01175的博客 482
上一篇: ABAP OO笔记1
下一篇: 如何删除用户菜单中重复的T_CODE
pleham
博客等级 码龄20年 9粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值