[SAP ABAP] 函数Function
本文主要讲解SAP ABAP中的Function函数相关的知识点
Function函数与子例程类似,按照功能将代码模块化
我们可以使用事务码SE37查看需要使用的函数以及对该函数进行测试
我们也可以对STRING_SPLIT_AT_POSITION函数进行测试
1.函数调用
我们可以使用事务码SE38进入ABAP编辑器界面,使用"模式/Pattern"辅助导入相应的函数
执行结果如下所示
我们也可以使用BAPI_COMPANYCODE_GETDETAIL函数查看公司代码为0003的详细信息
执行结果如下所示
函数和子例程的区别
① 子例程是局部模块化,仅在当前Report里面使用
② Function函数是全局模块化,是一个特殊的"全局子例程",可以在多个程序里面使用
③ Function函数可以单独运行以及测试
④ Function函数可以提供Exception例外功能
函数组(Function Group / FG) 是函数模块(Function Module / FM) 的集合,函数模块可以共享函数组内的数据
2.自定义函数的创建与调用
使用事务码SE80创建函数组ZFG_COMMON_12
填写好相应的信息并保存即可创建函数组,最后需要对函数组进行激活
使用事务码SE37创建自定义函数ZFM_GET_EKPO_12
在"导入"页签填写输入参数
在"导出"页签填写输出参数
在"例外"页签填写参数
使用SE91维护消息Z_ABAP34
在"源代码"页签填写对应代码
点击激活和执行按钮即可对自定义的函数进行测试
调用自定义函数
执行结果如下所示
补充扩展练习
函数组ZFG_COMMON_12中创建一个函数ZFM_GET_EKPO_DETAIL_12,并在程序中调用输出查询结果
实现需求 :传入采购订单编号,查询采购订单的所有行项目信息(EKPO),查询结果使用表参数,如果没有查到返回消息需要抛出异常
使用事务码SE37创建该函数
在"导入"页签填写输入参数
提示Tips:不点击"可选的",表示该输入参数是必填项
在"表"页签填写相关的表参数
在"例外"页签填写参数
使用SE91维护消息Z_ABAP34
在"源代码"页签填写对应代码
点击激活按钮即可生效该函数
调用自定义函数
执行结果如下所示
3.常用的Function函数
FM | 功能描述 |
READ_EXCHANGE_RATE
|
获取汇率
|
LAST_DAY_OF_MONTHS
|
每个月的最后一天
|
CONVERSION_EXIT_ALPHA_OUTPUT
|
去掉前导
零
|
CONVERSION_EXIT_ALPHA_INPUT
|
增加前导零
|
SPELL_AMOUNT
|
金额转换成大写
|
CTVB_COMPARE_TABLES
|
用于比较新内表和原内表内容
|
DAY_IN_WEEK
|
通过这个日期得出那天是星期几
|
RP_CALC_DATE_IN_INTERVAL
|
用来得到将来
/
过去的日期
|
BKK_ADD_MONTH_TO_DATE
|
日期的加减
|
HOLIDAY_CHECK_AND_GET_INFO
|
判断某天是否是假日
|
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)