SAP RFC函数RFC_READ_TABLE使用与优化

时间:2022-07-25
本文章向大家介绍SAP RFC函数RFC_READ_TABLE使用与优化,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

RFC_READ_TABLE

第三方系统可通过RFC调用此函数直接访问(查询)SAP R/3系统的数据表。 合理使用此函数可以大幅度减少第三方系统集成数据接口开发量。

查询表结构

查询数据

导入参数

  • QUERY_TABLE 表名称(必填)
  • DELIMITER 分隔符,默认值空格 在返回数据的DATA表项目中,通过此参数传递的分隔符分隔字段值,传空格则不包含分隔符
  • NO_DATA 不传输数据,默认值为空格 如果此项不为空格,则函数不返回表数据,只返回字段信息
  • ROWSKIPS 跳行数,默认值0
  • ROWCOUNT 行数,默认值0 行数为0则返回所有行

表参数

  • OPTIONS 选择条件语句(传入)
  1. TEXT where语句文本
  • FIELDS 字段信息(传入/传出)
  1. FIELDNAME 字段名
  2. OFFSET 偏移量
  3. LENGTH 长度
  4. TYPE 数据类型
  5. FIELDTEXT 字段描述 作为传入参数时,只需要传递FIELDNAME字段值,用于选择需要返回的字段; 作为传出参数时,返回字段相关信息
  • DATA 表数据(传出)
  1. WA 行记录数据

优化

此函数可通过ROWSKIPS,ROWCOUNT参数实现分页查询,但实际使用时会发现返回的数据并没有排序,导致分页数据错乱。

解决办法

修改程序使用主键排序查询

#  SELECT * FROM (QUERY_TABLE) INTO <WA> WHERE (OPTIONS).
SELECT * FROM (QUERY_TABLE) INTO <WA> WHERE (OPTIONS) ORDER BY PRIMARY KEY.