为什么ABAP开发者需要使用面向对象技术

为什么ABAP开发者需要使用面向对象技术,第1张

因为abap包含的面向对象技术适用性更广。

就比如: GRID alv 和 OO alv。 一个是调用函数,一个是调用方法。 就适用性而已, 简单报表可以使用GRID alv。 如果功能复杂的, 建议可以使用OO alv, 因为SAP有预留很多功能的接口 ,只实现的时候引用就好。非常方便。 而GRID alv。 很多需求就实现起来就很麻烦

ABAP是一种高级企业应用编程语言(Advanced Business Application Programming),起源于20世纪80年代。经过不断的发展,现在的版本为ABAP/4,SAP R/3的应用程序就是用ABAP/4编写的。

ABAP/4是面向对象语言。它支持封装性和继承性。封装性是面向对象的基础,而继承性则是建立在封装性基础上的重要特性。

ABAP/4具有事件驱动的特性。

ABAP/4和COBOL具有类似之处。

ABAP/4适合生成报表。

ABAP/4支持对数据库的 *** 作。

SAP最初开发ABAP/4(高级商业应用程序设计)语言仅为内部使用,为应用程序员提供优化的工作环境。经过不断的改进和修改以满足商业领域的需要。现在,ABAP/4已成为SAP开发所有自己的应用程序的仅有工具。

SAP客户用ABAP/4进行其自身开发。这样的开发对R/3标准解决方案适应特殊问题非常重要。ABAP/4开发工作平台包含所有用于创建和维护ABAP/4程序的工具。

ABAP/4的可解释特性使其易于生成、测试并运行程序的中级版本,以便将来生成最终版本。此过程也叫做早期原形处理,意味着您不必丢弃中级版本。

ABAP/4是第四代支持结构化程序设计的语言。它合并了所有通常的控制结构和模块化概念。

在ABAP/4开发宝典中文版的第一部分,对ABAP/4的基本特性进行了详细描述。这些特性包括:

· ABAP/4包括

- 带有各种类型和结构的声明数据的声明元素

- 数据制作的 *** 作元素

- 控制程序流的控制元素

- 反应外部事件的事件元素

· ABAP/4支持多种语言。文本摘要(例如,标题、页眉和其他文本)将根据程序代码分别存储。您可以随时在不改变程序代码的情况下更改、转换和维护这些文本摘要。

· ABAP/4支持商业数据类型和 *** 作。您可以用特殊日期和时间字段进行计算。系统会自动执行必需的类型转换。

· ABAP/4提供一系列功能处理字符串。

· ABAP/4包含一个叫OpenSQL的SQL子集。用OpenSQL,您可以读取和访问数据库表,与所用的数据库系统无关。

· ABAP/4允许您定义和处理内部表,该表只在运行程序时存在。内部表使其更容易处理数据表,并帮助使用程序中的复杂数据结构。

· ABAP/4允许您定义和调用子程序。也可以调用其他程序的子程序。参数能够以各种方式从子程序传递或传递到子程序。

· ABAP/4包含一种特殊子程序,叫做功能模块。您可以在中央库中创建和维护功能模块。在调用程序和子程序之间功能模块有一个明确定义的数据接口。它们能够以调用程序的独立模式进行分别测试。

这里有两种主要的ABAP/4程序类型:

· 报表程序

报表程序用于分析数据库表中的数据。这种分析的结果可以显示在屏幕上或发送到打印机上。逻辑数据库支持报表程序。逻辑数据库是特殊的ABAP/4程序,使开发者不必编码所有的数据库访问

ALV报表gui里加自定义按钮很简单的,我做过一个例子,给你参考下:

1.输出ALV时,放开i_callback_user_command 执行自定义子例程'USER_COMMAND'

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'

EXPORTING

i_callback_program= p_repid

i_callback_pf_status_set = 'PF_STATUS_SET'

i_callback_user_command = 'USER_COMMAND'

is_layout_lvc = is_layout_lvc

it_fieldcat_lvc = it_alv_field

TABLES

t_outtab = alv_tab

2.在子例程里写上你需要的响应事件

FORM user_command USING r_ucomm LIKE sy-ucomm

rs_selfield TYPE slis_selfield.

**响应具体功能码

CASE r_ucomm.

WHEN 'ALL'.

LOOP AT alv_tab INTO wa_tab.

wa_tab-sel = 'X'.

MODIFY alv_tab FROM wa_tab.

ENDLOOP.

WHEN 'DEL'.

ENDCASE.

CLEAR r_ucomm.

ENDFPRM.

响应自己定义的按钮,执行对应的事件就ok了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8122871.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存