[SAP ABAP] 函数Function

29 篇文章 1 订阅

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
判断某天是否是假日
  • 7
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一些常见的SAP ABAP面试题,但并不会提供答案,因为这些问题需要您自己思考和回答。以下是一些可能会被问到的SAP ABAP面试题: 1. SAP ABAP是什么? 2. 如何在SAP ABAP中定义变量? 3. 什么是函数模块? 4. 如何在SAP ABAP中处理异常? 5. 如何在SAP ABAP中进行调试? 6. 什么是内表?如何定义内表? 7. 如何在SAP ABAP中处理日期和时间? 8. 如何在SAP ABAP中处理字符串? 9. 如何在SAP ABAP中使用SELECT语句? 10. 如何在SAP ABAP中使用LOOP语句? 11. 如何在SAP ABAP中使用IF语句? 12. 如何在SAP ABAP中使用CASE语句? 13. 如何在SAP ABAP中使用BREAK-POINT语句? 14. 如何在SAP ABAP中使用MESSAGE语句? 15. 如何在SAP ABAP中使用CATCH语句? 16. 什么是数据字典?如何定义数据字典对象? 17. 如何在SAP ABAP中使用ABAP OO? 18. 如何在SAP ABAP中使用ALV报表? 19. 如何在SAP ABAP中使用BAPI? 20. 如何在SAP ABAP中使用RFC? 21. 如何在SAP ABAP中使用IDoc? 22. 如何在SAP ABAP中使用ALE? 23. 如何在SAP ABAP中使用EDI? 24. 如何在SAP ABAP中使用BDC? 25. 如何在SAP ABAP中使用LSMW? 26. 如何在SAP ABAP中使用用户退出? 27. 如何在SAP ABAP中使用BADI? 28. 如何在SAP ABAP中使用Enhancement Spot? 29. 如何在SAP ABAP中使用Enhancement Section? 30. 如何在SAP ABAP中使用Function Exit? 31. 如何在SAP ABAP中使用事件? 32. 如何在SAP ABAP中使用ABAP List Viewer(ALV)? 33. 如何在SAP ABAP中使用SAP Query? 34. 如何在SAP ABAP中使用Smart Forms? 35. 如何在SAP ABAP中使用Adobe Forms? 36. 如何在SAP ABAP中使用BSP? 37. 如何在SAP ABAP中使用Web Dynpro? 38. 如何在SAP ABAP中使用SAPUI5? 39. 如何在SAP ABAP中使用Fiori Launchpad? 40. 如何在SAP ABAP中使用SAP HANA?

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值