- SAP ABAP 教程
- SAP ABAP - 主页
- SAP ABAP - 概述
- SAP ABAP - 环境
- SAP ABAP - 屏幕导航
- SAP ABAP - 基本语法
- SAP ABAP - 数据类型
- SAP ABAP - 变量
- SAP ABAP - 常量和文字
- SAP ABAP - 操作员
- SAP ABAP - 循环控制
- SAP ABAP - 决策
- SAP ABAP - 字符串
- SAP ABAP - 日期和时间
- SAP ABAP - 格式化数据
- SAP ABAP - 异常处理
- SAP ABAP - 字典
- SAP ABAP - 域
- SAP ABAP - 数据元素
- SAP ABAP - 表
- SAP ABAP - 结构
- SAP ABAP - 视图
- SAP ABAP - 搜索帮助
- SAP ABAP - 锁定对象
- SAP ABAP - 模块化
- SAP ABAP - 子例程
- SAP ABAP - 宏
- SAP ABAP - 功能模块
- SAP ABAP - 包含程序
- SAP ABAP - 开放 SQL 概述
- SAP ABAP - 本机 SQL 概述
- SAP ABAP - 内部表
- SAP ABAP - 创建内部表
- ABAP - 填充内部表
- SAP ABAP - 复制内部表
- SAP ABAP - 读取内部表
- SAP ABAP - 删除内部表
- SAP ABAP - 面向对象
- SAP ABAP - 对象
- SAP ABAP - 类
- SAP ABAP - 继承
- SAP ABAP - 多态性
- SAP ABAP - 封装
- SAP ABAP - 接口
- SAP ABAP - 对象事件
- SAP ABAP - 报表编程
- SAP ABAP - 对话框编程
- SAP ABAP - 智能表单
- SAP ABAP - SAP 脚本
- SAP ABAP - 客户退出
- SAP ABAP - 用户退出
- SAP ABAP - 业务插件
- SAP ABAP - Web Dynpro
- SAP ABAP 有用资源
- SAP ABAP - 问题解答
- SAP ABAP - 快速指南
- SAP ABAP - 有用的资源
- SAP ABAP - 讨论
SAP ABAP - 功能模块
功能模块构成了 SAP 系统的主要部分,因为多年来 SAP 一直使用功能模块来模块化代码,从而允许其自身、开发人员以及客户重用代码。
功能模块是包含一组带有导入和导出参数的可重用语句的子程序。与 Include 程序不同,功能模块可以独立执行。SAP系统包含几个预定义的功能模块,可以从任何ABAP程序调用。功能组充当逻辑上属于在一起的多个功能模块的一种容器。例如,人力资源薪资系统的功能模块将被组合到一个功能组中。
要了解如何创建功能模块,必须探索功能构建器。您可以找到事务代码为 SE37 的函数生成器。只需键入带有通配符的功能模块名称的一部分即可演示搜索功能模块的方式。输入*金额*,然后按 F4 键。
搜索结果将显示在新窗口中。功能模块显示在蓝色背景的行中,其功能组显示在粉红色的行中。您可以使用对象导航器屏幕(事务 SE80)进一步查看功能组 ISOC。您可以看到功能模块的列表以及功能组中保存的其他对象。让我们考虑一下功能模块 SPELL_AMOUNT。该功能模块将数字转换为文字。
创建一个新程序
步骤 1 - 转到事务 SE38 并创建一个名为 Z_SPELLAMOUNT 的新程序。
步骤 2 - 输入一些代码,以便可以设置参数,在其中可以输入值并将其传递到功能模块。此处的文本元素 text-001 为“输入值”。
步骤 3 - 要为此编写代码,请使用 CTRL+F6。此后,将出现一个窗口,其中“调用功能”是列表中的第一个选项。在文本框中输入“spell_amount”,然后单击“继续”按钮。
步骤 4 - 自动生成一些代码。但我们需要增强 IF 语句,添加一段代码,向屏幕写入一条消息,表示“函数模块返回了一个值:sy-subrc”,并添加 ELSE 语句,以便在函数执行时写出正确的结果。模块成功。这里必须设置一个新变量来保存从功能模块返回的值。我们将其称为“结果”。
以下是代码 -
REPORT Z_SPELLAMOUNT. data result like SPELL. selection-screen begin of line. selection-screen comment 1(15) text-001. parameter num_1 Type I. selection-screen end of line. CALL FUNCTION 'SPELL_AMOUNT' EXPORTING AMOUNT = num_1 IMPORTING IN_WORDS = result. IF SY-SUBRC <> 0. Write: 'Value returned is:', SY-SUBRC. else. Write: 'Amount in words is:', result-word. ENDIF.
步骤 5 - 功能模块返回的变量称为 IN_WORDS。在程序中设置相应的变量“result”。通过使用 LIKE 语句来引用称为 SPELL 的结构来定义 IN_WORDS。
步骤 6 - 保存、激活并执行程序。输入如下屏幕截图所示的值,然后按 F8。
上面的代码产生以下输出 -
Spelling the Amount Amount in words is: FIVE THOUSAND SIX HUNDRED EIGHTY