SAP ABAP开发:函数模块详解与应用

需积分: 49 59 下载量 104 浏览量 更新于2024-08-18 收藏 1.53MB PPT 举报
"函数模块-sap+ABAP开发实例详解" 在SAP ABAP开发中,函数模块扮演着重要的角色,它们是可复用的代码单元,可以在整个系统范围内被调用。函数模块与子程序(form)的主要区别在于,函数模块是外部定义的,拥有透明的接口,其接口定义与实现代码分开,而子程序通常只在定义它的程序内部使用。 函数模块属于特定的函数组,通过SAP的函数制作器(Function Builder)创建。这使得它们能够被本系统中的不同程序调用,并且由于支持远程功能调用(RFC),函数模块还可以跨系统调用,无论是其他R/3系统、R/2系统还是非R/3环境。 在ABAP编程中,程序主要分为两类:报表程序和对话程序。报表程序,如其名,用于生成报告,可以是结构简单的普通报表程序,输出格式固定,不支持交互操作,或者交互式报表程序,允许用户通过各种事件(如点击、菜单选择等)对结果进行操作。报表程序由事件块组成,如START-OF-SELECTION事件块,它们由ABAP运行时环境按照固定的顺序调用,与程序源代码的顺序无关。 对话程序,也称为事务程序,更为复杂,包含ABAP代码、用户对话、图形用户界面和事务代码。它们由事务代码触发运行,通常有菜单栏、标准工具栏、应用程序工具栏和标题栏等元素。 在编写ABAP程序时,我们经常使用TABLES语句来声明数据库表格,如透明表、视图或结构,这将创建一个与数据库对象对应的表工作区。此外,TYPES语句用于定义自定义数据类型,可以是简单类型、结构化类型或内表类型,以满足特定的编程需求。 例如,在一个具体的实例中,可能有一个名为"rep"的报表程序,用于统计汽柴油、石脑油和航空煤油的日销售完成情况。它会利用NOSTANDARDPAGEHEADING、LINE-SIZE、LINE-COUNT和MESSAGE-ID等添加项来定制输出格式,并通过DEFINING DATABASE ldb声明逻辑数据库,以自动处理数据。TABLES语句如"TABLES dbtab."用来声明表工作区,而TYPES语句则用于定义数据类型的结构。 SAP ABAP开发涉及多种编程概念和技术,如函数模块、事件驱动编程、数据库交互以及数据类型的定义,这些共同构成了ABAP程序的基础。理解并熟练运用这些知识点对于进行有效的SAP系统开发至关重要。