01 2011 档案

摘要:REPORT ZTEST7. ************************************************************************ *                                                                    DATEN DEFINITION                           ... 阅读全文
posted @ 2011-01-13 17:37 Kaming's SAP 阅读(933) 评论(0) 推荐(0) 编辑
摘要:收集了SAP提供的标准函数进行单值的输入,供大家参考。 输入一个整形值       value_int = node-get_int_value( ).       CALL FUNCTION ‘CC_POPUP_INT_INPUT’            EXPORTING                 property_name = property_name            IM... 阅读全文
posted @ 2011-01-07 10:06 Kaming's SAP 阅读(462) 评论(0) 推荐(0) 编辑
摘要:将经典的屏幕逻辑从OO的应用程序中分离出来 正如你所看到的,在大部分程序中屏幕逻辑和应用逻辑是紧密地联系在一起的。这些程序都是用户通过在屏幕中输入数据来驱动的,应用逻辑都写在modue或event block中。而对于ABAP OO来说,它主要是用来写应用逻辑而非屏幕逻辑。面向对象的ABAP OO不支持屏幕编程。 如果你想用OO的模式编写ABAP程序,你可能面临的问题便是如何把屏幕程序与之结合起来... 阅读全文
posted @ 2011-01-05 15:38 Kaming's SAP 阅读(176) 评论(0) 推荐(0) 编辑
摘要:原因3:ABAP OO支持一些新的技术 SAP许多新的技术都是基于ABAP OO的,那么在你的项目中必须对面对这一点。许多基础的技术都在ABAP OO中发布了,这些包括: l         User dialog的架构,如SAP control framework(CFW),Business Server Pages(BSP)以及Desktop Office Integration(DOI)等。... 阅读全文
posted @ 2011-01-05 15:38 Kaming's SAP 阅读(182) 评论(0) 推荐(0) 编辑
摘要:下面的例子比较了两种模式下从数据库中取数的不同之处: 在面向过程的ABAP程序中: TABLES:dbtab. SELECT * FROM dbtab. 在面向对象的ABAP程序中 DATA wa TYPE dbtab. SELECT * INTO wa FROM dbtab. TABLES隐含的声明了一个与数据库表名相同的结构变量,那么对数据库表内容的操作都使用这个隐含的变量。而在ABAP OO... 阅读全文
posted @ 2011-01-05 15:38 Kaming's SAP 阅读(182) 评论(0) 推荐(0) 编辑
摘要:原因2:ABAP OO在类中有更严格的语法检查 面向过程的ABAP经历了较长时间的成长,这也带来了如下结果: l         存在着大量的过时的语句 l         存在着很多交叉的概念 l         有一些奇怪的系统行为 l         有些技术显得较难理解 由于不能影响已有的代码,ABAP OO的版本引入了更加严格的语法检查以剔出面向过程的ABAP程序一些弊病,主要包括: l... 阅读全文
posted @ 2011-01-05 15:38 Kaming's SAP 阅读(221) 评论(0) 推荐(0) 编辑
摘要:学会ABAP OO一些简单的语句之后,你就可以通过开发程序直接告诉系统它需要做什么。需要系统做什么是由你明确告诉你的,系统不会做任何隐含的动作。你不需要为了了解系统一些隐含的动作而去读大量的文档,你只需去看程序本身就可以了。 下面的代码演示了如何把一个面向过程的逻辑数据库程序转换为面向对象的逻辑数据库程序,他会变得更加清晰。 CLASS ldb DEFINITION. PUBLIC SECTION... 阅读全文
posted @ 2011-01-05 15:38 Kaming's SAP 阅读(233) 评论(0) 推荐(0) 编辑
摘要:面向对象模式的数据封装 OO模式的编程也有两种数据类型,类实例的属性和类方法中的本地变量。 实例属性的生命周期依赖于对象的生命周期,本地变量的生命周期依赖于类方法的生命周期。所以面向对象的本地变量与面向过程的本地变量的生命周期是一样的。它是类方法中的辅助变量与数据封装无关。ABAP对象的数据封装在类这个级别。可以定义类属性的可见性,它的级别分别是在类内可见,在子类中可见,或者在外部类中可见。下面的... 阅读全文
posted @ 2011-01-05 15:37 Kaming's SAP 阅读(195) 评论(0) 推荐(0) 编辑
摘要:下面的例子是一个修改版的帐户,他已经作为两个子类checking account和saving account的父类。 CLASS account DEFINITION. PUBLIC SETION. PROTECTED SETION.     DATA amount TYPE accounts-amount. ENDCLASS. CLASS account IMPLEMENTATION. MET... 阅读全文
posted @ 2011-01-05 15:37 Kaming's SAP 阅读(124) 评论(0) 推荐(0) 编辑
摘要:原因三:代码重用性 代码重用性是软件维护和开发的一个重要衡量指标。我们应当把一些通用的代码放在一个中心库里,而无须一遍一遍的重复编写功能相似的代码。下面就在代码重用方面检查一下ABAP OO和ABAP OP孰优孰劣。 面向过程的代码重用性 在面向过程的模式中没有什么专门的机制来支持代码的重用性。你可以定义通用的过程,但是如果你想在特殊情况下使用通用代码,你不得不建立很庞大的模块池,每个功能模块又不... 阅读全文
posted @ 2011-01-05 15:37 Kaming's SAP 阅读(132) 评论(0) 推荐(0) 编辑
摘要:面向对象的实例化 行如其名,在面向对象的模式中,对象是唯一存在的东西。对象是类的实例,是通过CREATE OBJECT语句来实现的。ABAP对象不可能被隐含的实例化,你通过指针变量来操作对象。 当然你通过指针所操作的对象不一定是自己创建的,这种现象主要是通过指针操作的对象很有可能是从其他地方传过来的,比如说工厂方法(factory method)或者接口参数。你可以在一个类中创建多个对象每个对象通... 阅读全文
posted @ 2011-01-05 15:37 Kaming's SAP 阅读(121) 评论(0) 推荐(0) 编辑
摘要:原因二,实例化 对象的实例化是面向对象编程的一个重要特点。在ABAP OO中,通过实例化你可以实现一个类的多个变体,这样程序员便可以调用任何一个对象并让他完成相应的功能(比如一个银行帐号的收款存款和窗户的打开关闭等)。 在面向过程的编程中,当程序内容被编译到内存中便隐含着一个实例化的过程,但是这个实例并不能为程序员显式的调用,因为这需要数据和功能的分离,而面向过程的的程序员并不是直接对对象进行操作... 阅读全文
posted @ 2011-01-05 15:37 Kaming's SAP 阅读(151) 评论(0) 推荐(0) 编辑
摘要:原因4:INTERFACE INTERFACE通俗的讲就是通过一个程序来调用另外一个程序的数据和功能。在模块化和相互访问的世界中,INTERFACE提供了两个部件之间联系的桥梁。在ABAP OO中提供了类与调用者之间独立的INTERFACE,这样就把类和使用者之间分离开来。而在ABAP OP (oriented procedure)中没有独立的INTERFACE,而是提供了程序之间隐式的INTER... 阅读全文
posted @ 2011-01-05 15:37 Kaming's SAP 阅读(139) 评论(0) 推荐(0) 编辑
摘要:INTERFACE通过语句INTERFACE….ENDINTERFACE来定义。它可以有与类一样的部件。任何类都可以有一个或多个INTERFACE。通过在类的public部分进行声明,这样在interface中定义的public部分就成为类public interface的一部分。包含独立interface的类必须为类提供服务,这样用户可以通过interface来访问类,而无需知道其中的访问细节。... 阅读全文
posted @ 2011-01-05 15:37 Kaming's SAP 阅读(168) 评论(0) 推荐(0) 编辑
摘要:原因五,事件 应用中,用户界面的鼠标单击,新帐户的建立,都可以触发一个事件,这个事件要被他感兴趣的处理者知道。事件和事件处理与调用过程有相似之处:触发事件就相当于调用自程序,处理事件就相当于被调用子程序的主程序。区别是被调用的子程序和调用程序是帮定的一块儿的,而事件则不同,处理者有可能处理触发的事件,但也不一定。面向过程的ABAP的事件处理是通过运行时来实现的。而在OO中,类和对象既可以触发事件,... 阅读全文
posted @ 2011-01-05 15:37 Kaming's SAP 阅读(158) 评论(0) 推荐(0) 编辑
摘要:是否已经决定转向ABAP OO了 从SAP 4.6C开始,ABAP已经成为既可以面向过程又可以面向对象的混合式语言了。使用了ABAP OO的新特征将使你的ABAP开发大受裨益。 这些新特征包括: u       类是对象的模版 u       对象是通过指针变量来引用的 u       继承 u       独立的interface u       对象可以触发和处理事件 前面已经详细描述了这五个... 阅读全文
posted @ 2011-01-05 15:37 Kaming's SAP 阅读(185) 评论(0) 推荐(0) 编辑
摘要:以下所有《ABAP OO的八大理由》均转自吕中其吕大的scnblogs。 几年前SAP BASIS 4.6为ABAP扩展了OO功能,这是很多传统的ABAP程序员陷入困境。首先对于ABAP程序员来说它们终于可以通过OO这种开发方法得潜在价值来提高开发效率和所开发程序的可维护性了。然而一直以来习惯于面向过程编程的ABAPER迅速的转向OO模式也不是那么容易,很多人还是坚持使用传统的面向过程的开发模式... 阅读全文
posted @ 2011-01-05 15:36 Kaming's SAP 阅读(381) 评论(0) 推荐(0) 编辑
摘要:对于面向过程的模式,程序的运行通常是从screen的dialog module或selection screen的start-of-selection事件开始的。你在这些处理模块中操作全局变量来实现需求的功能。你可以通过内部的form和外部的function module来实现程序的模块化。这些过程除了可以操作全局变量外还可以具备内部的本地变量来协助实现内部的一些特定功能。 对于OO编程,唯一的... 阅读全文
posted @ 2011-01-05 15:36 Kaming's SAP 阅读(130) 评论(0) 推荐(0) 编辑
摘要:OO编程优于过程编程的五个原因 下面的部分里我们将着重论述OO编程的主要优点,尽管这里所提到的优点与其他的OO语言(JAVA C++)没有什么太大的区别,我们这里着重在ABAP OO与传统的ABAP程序相比而体现处来的优点。我们将通过实现一个银行账户管理的简单例子来比较两种模式的差别。 原因一:数据封装 将数据和程序封装在一个组件中将使程序变得容易修改。不要把一个应用的所有的数据和功能放在同各超长... 阅读全文
posted @ 2011-01-05 15:36 Kaming's SAP 阅读(160) 评论(0) 推荐(0) 编辑