1. 概述
1.1 版本
FineDataLink 版本 | 功能变动 |
---|---|
4.0.10 | - |
4.1.12.2 |
|
1.2 应用场景
用户数据存储在 SAP 中,因此需要对接 SAP 取数,但是由于数据安全问题或对 SAP 底层表并不了解,无法直接连接 SAP 的底层数据库取数。
因此希望获取 SAP 系统内的数据,并进行后续的数据开发处理。
1.3 功能说明
FineDataLink 支持通过 RFC 接口调用 SAP 系统内已经开发好的函数、「选表」,将数据取出。
若取出后的数据需要进行数据开发后落库,可以使用「数据转换」中的「SAP ERP输入」。
若取出数据后希望直接落库,则使用「数据同步」即可。
1.4 注意事项
1)使用该功能需要配置 SAP 数据连接
2)从 SAP ERP 数据源中取数时,表字段长度不能超过 512,否则会报错:DATA_BUFFER_EXCEEDED
3)FDL 服务器端的语言需要和 SAP 服务端的语言一致。
例如:FDL 服务器端语言为 EN,rfc 函数 abap 程序中使用登录语言参数作为查询条件,将导致取数异常,需要将 SAP 服务端的默认语言改为 EN 。
2. 功能说明
配置方式 | 配置项 | 说明 |
---|---|---|
函数调用 (调用自定义函数获取数据) | 函数 | 可手动编辑或者点击「设置」按钮选择已有的函数 不支持引用参数 |
输入 |
| |
输出数据下拉框 | 下拉框列出所有可选的输出结果集 目前对于一个 SAP ERP 输入,仅支持输出一组结果集中的数据 | |
输出 | SAP 列名:SAP-ABAP 函数输出结果集中的数据列名称,不可编辑 SAP 数据类型:SAP-ABAP 函数输出结果集中数据列对应的SAP数据类型,不可编辑 数据类型:FDL 对应输出的数据类型,不可编辑 | |
选表 (调用RFC_READ_TABLE函数获取SAP表数据) | 来源表 | 输入需要取数的SAP表 不允许引用参数 不能选择视图 |
数据过滤 | 输入过滤条件。 语法可以参考 OPEN SQL 的过滤语法。 过滤条件允许引用参数。 |
3. SAP 函数调用取数数据类型与FDL字段类型的映射关系
「SAP ERP 输入」算子配置界面如下图所示:
在下图中,SAP 函数调用的数据类型是 CHAR 时,FDL 中自动映射为 String 类型;SAP 数据类型是 INT 时,FDL 中自动映射为 Integer 类型。
「SAP ERP 输入」算子支持的 SAP 数据类型如下表所示,若用户需要支持其他 SAP 数据类型,可反馈给技术支持。
SAP 数据类型 | FDL中数据类型 |
---|---|
CHAR STRING | String |
DATE | Date |
BCD | BigDecimal |
TIME | Date |
BYTE XSTRING | Binary |
NUM | String |
FLOAT DECF16 DECF34 | Double |
INT INT2 INT1 | Integer |
JSONSTRING STRUCTURE TABLE | JSONString |
4. 索引
场景 | 文档 |
---|---|
RFC 调用 ABAP Function 函数取数-不带参数 | 不带参数的SAP函数调用取数 |
RFC 调用 ABAP Function 函数取数-带参数 | 带参数的SAP函数调用取数 |
选表取数 | SAP ERP 选表查询 |