针对如下的BRF+ function:

基于如下输入,根据rule的规则,计算出的final price应等于 10 / ( 1 + 0.12 ) = 8.93

可以使用如下的report来将上述输入传入brf+的API,通过ABAP 代码来调用function的执行:

REPORT zcall_function.DATA: lo_function TYPE REF TO if_fdt_function,lo_context  TYPE REF TO if_fdt_context,lo_result   TYPE REF TO if_fdt_result,lx_fdt      TYPE REF TO cx_fdt,lv_string   TYPE string.
FIELD-SYMBOLS <ls_message> TYPE if_fdt_types=>s_message.
lo_function =
cl_fdt_factory=>if_fdt_factory~get_instance(
)->get_function( iv_id = 'FA163E8EAB031EE48B847ADC6A96D5F0' ).
TRY.lo_context = lo_function->get_process_context( ).lo_context->set_value( iv_name = 'CUSTOMER'ia_value = 'sap' ).lo_context->set_value( iv_name = 'ITEM' ia_value = 'pencil' ).lo_context->set_value( iv_name = 'PROMOTION' ia_value = space ).lo_context->set_value( iv_name = 'SHELF_PRICE'ia_value = '10' ).lo_function->process( EXPORTING io_context = lo_contextIMPORTING eo_result = lo_result ).lo_result->get_value( IMPORTING ea_value = lv_string ).WRITE lv_string .CATCH cx_fdt INTO lx_fdt.LOOP AT lx_fdt->mt_message ASSIGNING <ls_message>.WRITE / <ls_message>-text.ENDLOOP.
ENDTRY.

report输出和在BRF+ workbench里得到的结果一致:

使用ABAP调用BRF+ function相关推荐

  1. SAP ABAP 调用 BAPI_GOODSMVT_CREATE 没有执行 MIGO/MB0A 相同检查的问题

    SAP ABAP 调用 BAPI_GOODSMVT_CREATE 没有执行 MIGO/MB0A 相同检查的问题 引言: 调用 MIGO 的BAPI(BAPI_GOODSMVT_CREATE)实现特定业 ...

  2. abap 调用外部web service 使用小结

    abap调用外部 web service 时,大致分为以下三个步骤 1,se80,选择package,点击创建enterprise service/web service-proxy client 2 ...

  3. SAP创建Web Service以及用ABAP调用

    如果运行 soamanager 打不开,网页显示 devaix .zhongpin.com ,打开 C :\WINDOWS\system32\drivers\etc, 用记事本打开 hosts 文件 ...

  4. 在SAP API hub自动生成使用ABAP调用API的胶水代码

    登录api.sap.com, 找到自己想用ABAP调用的API: API References里,点击Code Snippt, 即可看到API Hub自动生成的使用ABAP调用该API的代码: 要获取 ...

  5. ibatis oracle function,IBATIS调用oracle function(函数)的步骤实例

    IBATIS调用oracle function(函数)的方法实例 引用 create or replace function getClassifiedCode(p_planCode in varch ...

  6. 20170326 ABAP调用外部webservice实例

    调用外部webservice 使用Tcode: SICF SPROXSET      设置创建proxy 的权限 SE80 SOAMANAGER 一.目的:调用外部SRM系统的 webservice: ...

  7. SAP接口集成-abap调用外部数据库

    SAP接口集成-abap调用外部数据库 前言 一.SAP配置外部数据源 二.使用步骤 1.新建测试程序 2.使用场景介绍 总结 前言 PI/PO集成方式很多,但是有趣的灵魂不多,现在介绍一个直接用ab ...

  8. ABAP 调用第三方 API,遇到乱码该怎么办?

    这是 Jerry 2022 年第二篇原创文章,也是本公众号第 370 篇原创文章. 之前有一个朋友在知乎上向我咨询过这个问题,我觉得很有代表性,所以专门用一篇文章来讲述一些相关知识点. 先看这位朋友遇 ...

  9. ABAP 调用migo

    在遇到MIGO这样的无法使用set parameter,因为有些字段是没有parameter ID. 调用函数MIGO_DIALOG跳转: CALL FUNCTION 'MIGO_DIALOG' EX ...

最新文章

  1. java栈、堆、方法区
  2. 解决笔记本集成声卡在某些情况下视频、语音没有声音
  3. Java堆栈功能_【ThinkingInJava】35、用java实现堆栈功能
  4. php的异常处理,PHP异常处理Exception类
  5. day02: SQL_DML, oracle中sql的各种查询
  6. B 树、B+ 树、B* 树
  7. 搭建分布式 ASP.NET Core Web
  8. 需求分析师与产品经理的区别
  9. 获取打开文件的路径和文件名
  10. TortoiseGit 本地仓库和远程仓库建立联系_入门试炼_02
  11. ftp完成版本更新php,php – 将开发团队从FTP转换为版本控制系统
  12. mysql-安装包模式的安装过程-旧版
  13. excel公式:用countif、match、index合并同类项
  14. 利用innerHTML实现隐显效果-两种实现方法
  15. Java Web-面试题
  16. 基于java的试题库管理系统(java CS窗体版)
  17. AI 技术本身的一些优势,比如它能够从大量数据里去总结背后的规律
  18. 2020-02-02
  19. 简述自动化测试实习收获
  20. eclipse的plugins导入hadoop-eclipse-plugin-2.6.0.jar后Preference下没有hadoop Map/Reduce的解决方法

热门文章

  1. APUE(7)---进程环境
  2. [转]jQuery 读取 xml
  3. .net Remoting(3)——激活,激活方式
  4. 高考舞弊案背后的“文化魔咒”—— 如何整顿学风?(教育的失败!社会的...)...
  5. maven 常用的插件
  6. ARM硬件支持java技术Jazelle DBX
  7. Java虚拟机简单介绍
  8. GIT项目管理工具(part9)--保存工作区
  9. RxJS switchMap, mergeMap, concatMap,exhaustMap 的比较
  10. SAP Spartacus里的bootstrap button usage