ABAP-RFC函数学习

学习目标:

掌握RFC并且写一个简单的RFC函数


学习内容:

写RFC函数步骤
1、 创建函数
2、 创建入参(导入)
3、 创建返回(导出,表)
4、 写源代码


制作步骤:

1、创建函数
输入事务编码:SE37,自定义函数名创建,属性设置远程启用的模块。
2、创建入参(导入)
入参只有一个物料编码(i_matnr)
3. 创建返回(导出,表)
导出:一个执行结果的结构(es_return)。表:物料的信息(表名:et_data 参照结构:zscj_dxl_003)
4.源代码

  DATA: gt_out TYPE TABLE OF zscj_dxl_003, "声明一个内表
        gs_out TYPE zscj_dxl_003.  "声明一个工作区

  DATA ls_json TYPE string."声明json接收的变量


  IF i_matnr IS NOT INITIAL. "判断输入是否为空

    SELECT
          a~matnr
          a~ersda
          a~meins
          b~maktx
          FROM mara AS a
          JOIN makt AS b ON a~matnr EQ b~matnr
        INTO TABLE gt_out
     WHERE
       a~matnr = i_matnr.

     "将物料代码去掉前导0
    LOOP AT gt_out INTO gs_out.

      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
        EXPORTING
          input  = gs_out-code
        IMPORTING
          output = gs_out-code.

      MODIFY gt_out FROM gs_out.

    ENDLOOP.
    "将内表数据加到函数输出表中
    APPEND LINES OF gt_out TO et_data.

    "内表转JSON
    CALL METHOD cl_fdt_json=>data_to_json
      EXPORTING
        ia_data = gt_out  "gt_out为内表
      RECEIVING
        rv_json = ls_json. "ls_json为接收json串的变量


    es_return-type = 'S'.
    es_return-message = '物料查询成功'.
    es_return-json = ls_json.

  ELSE.
    es_return-type = 'E'.
    es_return-message = '物料编码不能为空'.

  ENDIF.

学习产出:

制作了一个RFC函数,既可以返回表参数,也可以返回JSON格式数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

惰小懒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值