1. 概述
1.1 应用场景
用户数据存储在 SAP 中,因此需要对接 SAP 取数,但是由于数据安全问题或对 SAP 底层表并不了解,无法直接连接 SAP 的底层数据库取数。
因此希望通过 RFC 接口调用的方式,调用 SAP 系统内已经开发好的函数,来获取 SAP 系统内的数据,并进行后续的数据开发处理。
1.2 功能说明
FineDataLink 支持通过 RFC 接口调用 SAP 系统内已经开发好的函数,并将数据取出。
若需要使用参数进行取数,详情参见:带参数的SAP RFC取数
2. 前提条件
在使用 SAP RFC 进行取数和数据开发前,需要先建立 FineDataLink 与 SAP 系统的连接,详情参见:配置 SAP 数据连接
3. 操作步骤
通过调用接口函数来取出存放在 SAP 系统中的 country 数据,将 LANDX 为 USA 的数据过滤出来,并落库。
3.1 SAP 取数
1)新建定时任务,拖入「数据转换」节点,进入「数据转换」节点。
2)拖入「SAP RFC 输入」算子,选择本文第二章创建好的数据连接,输入函数。如下图所示:
或者点击「设置」按钮选择 SAP 已经写好的函数,如下图所示:
设置项 | 说明 |
---|---|
数据连接 | 下拉展示有权限的,且已配置的 SAP 数据连接 |
函数 | 可手动编辑或者点击「设置」按钮选择已有的函数 不支持引用参数 |
输入 | 参数名称:所选 SAP 函数的输入参数名 SAP 数据类型:所选 SAP 函数的输入参数数据类型,不可编辑 数据类型:该参数在 FDL 中对应的参数数据类型 参数值:可手动填写固定值,支持引用参数 |
输出数据下拉框 | 下拉框列出所有可选的输出结果集 目前对于一个 SAP RFC 输入,仅支持输出一组结果集中的数据 |
输出 | SAP 列名:SAP-ABAP 函数输出结果集中的数据列名称,不可编辑 SAP 数据类型:SAP-ABAP 函数输出结果及中数据列对应的SAP数据类型,不可编辑 数据类型:FDL 对应输出的数据类型,不可编辑 |
此时点击「数据预览」即可查看取出的全量数据,如下图所示:
如果想要删除指定的数据,则在输出位置删除参数名即可,如下图所示:
3.2 数据过滤
1)拖入「数据过滤」算子,与「SAP RFC 输入」算子相连。
2)将 LANDX 为 USA 的数据过滤出来。如下图所示:
点击「数据预览」,如下图所示:
3.3 数据输出
1)拖入「DB表输出」算子,将处理后的数据输出到数据库表中。如下图所示:
2)写入方式选择「直接将数据写入目标表」。
3)点击右上角「保存」按钮。
4)运行任务即可。