[SAP ABAP] 函数Function

30 篇文章 3 订阅

Function函数与子例程类似,按照功能将代码模块化

我们可以使用事务码SE37查看需要使用的函数以及对该函数进行测试

我们也可以对STRING_SPLIT_AT_POSITION函数进行测试

1.函数调用

我们可以使用事务码SE38进入ABAP编辑器界面,使用"模式/Pattern"辅助导入相应的函数

STRING_SPLIT_AT_POSITION函数的调用

执行结果如下所示

我们也可以使用BAPI_COMPANYCODE_GETDETAIL函数查看公司代码为0003的详细信息

BAPI_COMPANYCODE_GETDETAIL函数的调用

执行结果如下所示 

函数和子例程的区别

① 子例程是局部模块化,仅在当前Report里面使用

② Function函数是全局模块化,是一个特殊的"全局子例程",可以在多个程序里面使用

③ Function函数可以单独运行以及测试

④ Function函数可以提供Exception例外功能

函数组(Function Group / FG) 是函数模块(Function Module / FM) 的集合,函数模块可以共享函数组内的数据

2.自定义函数的创建与调用

使用事务码SE80创建函数组ZFG_COMMON_12

填写好相应的信息并保存即可创建函数组,最后需要对函数组进行激活

使用事务码SE37创建自定义函数ZFM_GET_EKPO_12

在"导入"页签填写输入参数   

在"导出"页签填写输出参数 

在"例外"页签填写参数

使用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
判断某天是否是假日
  • 16
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值