SAP ABAP 功能模块

功能模块构成SAP系统的主要部分,因为多年来SAP使用功能模块模块化代码,允许代码自身,开发人员以及客户的代码重用。

 赛锐信息:SAP ABAP 功能模块 图1
赛锐信息,SAP ERP定制,ERP定制

功能模块是包含一组具有导入和导出参数的可重用语句的子程序。 与包含程序不同,功能模块可以独立执行。 SAP系统包含几个可从任何ABAP程序调用的预定义功能模块。 该功能组用作一种逻辑上属于一起的多个功能模块的容器。 例如,人力资源工资系统的功能模块将被放在一起成为一个功能组。

要了解如何创建功能模块,必须探索函数构建器。 您可以找到事务代码为SE37的函数构建器。 只需用通配符键入功能模块名称的一部分,以演示可以搜索功能模块的方式。 键入* amount *,然后按F4键。

 赛锐信息:SAP ABAP 功能模块 图2
赛锐信息,SAP ERP定制,ERP定制

搜索结果将显示在新窗口中。 功能模块显示在具有蓝色背景的行中,其功能组以粉红色的行显示。 您可以使用对象导航器屏幕(事务SE80)进一步查看功能组ISOC。 您可以看到功能模块列表以及功能组中保存的其他对象。 让我们考虑函数模块SPELL_AMOUNT。 此功能模块将数字转换为字。

创建新程序

步骤1 – 转到事务SE38并创建一个名为Z_SPELLAMOUNT的新程序。

步骤2 – 输入一些代码,以便可以设置一个参数,其中可以输入值并将其传递到功能模块。 文本元素text-001在这里显示为“输入值”。

步骤3 – 要为此编写代码,请使用CTRL + F6。 之后,将出现一个窗口,其中“CALL FUNCTION”是列表中的第一个选项。 在文本框中输入“spell_amount”,然后点击继续按钮。

 赛锐信息:SAP ABAP 功能模块 图3
赛锐信息,SAP ERP定制,ERP定制

步骤4 – 自动生成一些代码。 但是我们需要增强IF语句以包含一个代码,以向屏幕写入一条消息,说“函数模块返回一个值:sy-subrc”,并添加ELSE语句,以便在函数 模块成功,这里,必须设置一个新的变量来保存从函数模块返回的值,让我们称之为\’result\’。

下面是代码 –

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。

 赛锐信息:SAP ABAP 功能模块 图4
赛锐信息,SAP ERP定制,ERP定制

上面的代码产生以下输出:

Spelling the Amount 
Amount in words is: 
FIVE THOUSAND SIX HUNDRED EIGHTY

关于赛锐信息

作为SAP的资深合作伙伴,赛锐信息是一家专业提供SAP行业化管理软件解决方案的顾问公司,致力于为企业提供SAP ERP系统咨询服务、IT规划、业务流程优化、信息系统实施、行业信息系统方案开发,运营外包及售后维护等全面的服务方案。已服务1000+家不同行业、规模的大中小型企业客户。在电子高科技、汽车零部件、印刷包装、医疗器械、快消品、专业服务等行业信息化管理领域具有领导性地位。

相关文章

联系我们

联系我们

130-0752-1773

在线咨询:点击这里给我发消息

邮件:info@sapzx.com

工作时间:周一至周五9:00-18:00,节假日正常休息

关注微信
关注微信
分享本页
返回顶部