ABAP OO的八大理由(十六)
来源:互联网 发布:毁人不倦知乎 编辑:程序博客网 时间:2024/06/08 11:00
下面的例子比较了两种模式下从数据库中取数的不同之处:
在面向过程的ABAP程序中:
TABLES:dbtab.
SELECT * FROM dbtab.
在面向对象的ABAP程序中
DATA wa TYPE dbtab.
SELECT * INTO wa FROM dbtab.
TABLES隐含的声明了一个与数据库表名相同的结构变量,那么对数据库表内容的操作都使用这个隐含的变量。而在ABAP OO中,这种隐含的方式是不被允许的。TABLES语句是禁用的,必须使用更加明确的语句。
下面是另一个例子:
在面向过程的ABAP程序中:
FIELD-SYMBOLS <fs>.
IF <fs> IS ASSIGNED.
ENDIF.
在面向对象的ABAP程序中:
FIELD-SYMBOLS <fs> TYPE ANY.
IF <fs> IS ASSIGNED.
ENDIF.
在ABAP OO中形参和FIELD SYMBOL必须明确的指定类型,而在过程的ABAP程序中是没有必要的。如果没有明确指定FIELD SYMBOL的类型,ABAP运行时就会自动把SPACE分配给这个field symbol。这样的话在过程的ABAP程序中判断语句的返回结果为TRUE,而在ABAP OO中则为false。
最后一个例子如下:
在过程的ABAP程序中;
DATA number TYPE I VALUE ….
TRANSLATE number TO UPPER CASE.
在ABAP OO中
DATA number TYPE I VALUE …
TRANSLATE number TO UPPER CASE.
在过程的ABAP程序中对数字型的字符型操作abap运行时会给警告信息,而在ABAP OO中则会给错误信息。在ABAP OO中,系统运行时保证了对应的操作必须针对对应的变量。
原因3:ABAP OO支持一些新的技术
SAP许多新的技术都是基于ABAP OO的,那么在你的项目中必须对面对这一点。许多基础的技术都在ABAP OO中发布了,这些包括:
l User dialog的架构,如SAP control framework(CFW),Business Server Pages(BSP)以及Desktop Office Integration(DOI)等。
l Frameworks for persisting data in the database(Object Service) and Shared Objects(area classes)
l Service classes CL_GUI_FRONTEND_SERVICES for working with data at the presentation server
l Laguate related classes,such as Run Time Type Services(RTTS) classes on CL_ABAP_EXPIMP subclasses for extended EXPORT/IMPORT functionality for example.
- ABAP OO的八大理由(十六)
- ABAP OO的八大理由(五)
- ABAP OO的八大理由(六)
- ABAP OO的八大理由(九)
- ABAP OO的八大理由(十二)
- ABAP OO的八大理由(十三)
- ABAP OO的八大理由(十四)
- ABAP OO的八大理由(十五)
- ABAP OO的八大理由(十七)
- ABAP OO的八大理由(-)
- ABAP OO的八大理由
- ABAP OO的八大理由(THE END)
- ABAP OO的八大理由(二)
- ABAP OO的八大理由(三)
- ABAP OO的八大理由(四)
- ABAP OO的八大理由(七)
- ABAP OO的八大理由(八)
- ABAP OO的八大理由(十)
- web标准常见问题集合
- Designer88为设计师打造的专业项目交易平台
- JDK6 新特性
- IFrame实例应用集(转)
- java正则表达式入门文档
- ABAP OO的八大理由(十六)
- about Media Encoder
- 竖向三级弹出菜单
- lua学习笔记(持续更新中)
- 正则表达式 Pattern、Matcher
- Ubuntu 8.10版本 绰号已经确定为“Intrepid Ibex”
- 财富
- 网络上关于VC调试的一些文章
- JAVA正则表达式4种常用功能