Skip to content

概要

子程序从FORM语句开始执行直到遇ENDFORM结束,使用子程序的主要目的在于代 码模块化、结构化及重复利用。在ABAP程序中使用PERFORM语句调用子程序,此外,还存在与 PERFORM语句有相似功能的函数(FunctionModule),此函数用传入/传出参数(变量、结构体、内表、例外处理等)传递数据。本章第1~6节中将讲述PERFORM 语句(Intermal、External Subroutine),在7~10 节中将讲述数(Function Module)。

概要--子程序

在C语言中是使用函数,在JAVA中是使用方法(METHOD)来实现代码模块化及重复使用。代表此类语言程序开始的MAINO在C语言中称之为函数,而在JAVA中却称为方法(ABAP语言也支持以类为基础的方法,此内容在第12章详细讲解)。所谓的模块化是把有具体功能的代码集合在一起的程序块,有可以重复使用的特性。代码过长不利于维护,因此即使代码不能重复使用,也可以使用此方法。从事SAP 行业的人事特别是ABAP程序员经常会遇到运营维护项目,此时会发现有的代码中存在以IF语句组成的复杂代码。开发程序时也要考虑以后的运营维护,因此按照具体功能进行模块化的编程习惯,比任何技术都更为重要。有的人会担心反复调用 PERFORM语句是否会影响运行速度。一般降低运行速度原因是使用了不恰当的 SOL 语句和内表导致的结果,因此不用担心。