调用 RFC_READ_TABLE 时出现 DATA_BUFFER_EXCEEDED 错误?

2023-11-21

我的 java/groovy 程序从用户输入接收表名和表字段,它查询 SAP 中的表并返回其内容。

用户输入可能涉及表CDPOS and CDHDR。在阅读 SAP 文档和谷歌搜索后,我发现这些是存储更改文档日志的表。但我没有找到任何可以在java中使用远程调用函数来执行此类查询。

然后我使用了已弃用的 RFC 功能模块RFC_READ_TABLE并尝试仅根据此 RFC 构建自定义查询。然而,我发现如果我传递给这个 RFC 的所需字段的数量超过 2,我总是得到DATA_BUFFER_EXCEEDED即使我限制最大行数也会出错。

我没有被授权成为SAP系统中的ABAP开发人员,无法在现有系统中添加任何FM,所以我只能用JAVA编写代码来完成这个需求。

难道我做错了什么?你能给我一些关于这个问题的提示吗?


DATA_BUFFER_EXCEEDED仅当您要读取的字段的总宽度超过width of the DATA参数,可能因 SAP 版本而异 - 当前系统为 512 个字符。和数量无关rows,而是单个数据集的大小。

那么问题来了:该文件的内容是什么?FIELDS范围?如果为空,则意味着“读取所有字段”。CDHDR宽度为 192 个字符,所以我认为问题是CDPOS宽度为 774 个字符。主要问题是字段VALUE_OLD and VALUE_NEW,均为 245 个字符。

即使您没有获得开发人员访问权限,您也应该敦促某人获得只读字典访问权限,以便能够详细检查结构。

无耻插件:RCER包含一个包装类RFC_READ_TABLE它负责字段处理并确保所选字段的总宽度低于功能模块施加的限制。

另请注意,这些表在生产环境中可能会很大 - 想想数十亿个条目。通过对这些表执行过多的读取操作,您可以轻松地使数据库陷入瘫痪。

PS: RFC_READ_TABLE根据 SAP 说明,未发布供客户使用382318,以及注释758278建议创建自己的功能模块并提供具有改进逻辑的模板。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

调用 RFC_READ_TABLE 时出现 DATA_BUFFER_EXCEEDED 错误? 的相关文章

  • ABAP DOI技术中I_OI_SPREADSHEET接口的使用

    前言部分 大家可以关注我的公众号 公众号里的排版更好 阅读更舒适 正文部分 在DOI技术中 I OI SPREADSHEET接口有很多对excel的操作方法 举个例子 CELL FORMAT方法 这个方法里面就有参数ALIGN 可以去覆盖e
  • FICO F.27 Customer statement 打印

    需求 定制化打印 替换标准的F 27打印 类似于采购订单的打印 但是略有不同 查阅资料之后步骤如下 T code F 27 is SAP standard program to produce customer vendor corresp
  • SAP 在制品明细

    Report ZCO019 REPORT zco019 TABLES matdoc SELECT OPTIONS s bukrs FOR matdoc bukrs OBLIGATORY s bu
  • ABAP DOI详解

    导语 DOI是SAP与Office集成的一种技术 是早期OLE的升级版本 把Excel嵌套在程序当中进行展示 需要提前上传模板 在Excel模板中 可以事先设计好公式 在SAP将数据写入Excel中之后会自动用公式进行计算 对于习惯于用Ex
  • 如何搜索可用的 RFC 功能模块和表

    我必须承认我不是 SAP R 3 编程方面的专家 所以这更多的是关于这个问题的基本问题 有没有办法获取 SAP 系统上可访问的 RFC 模块和 或表的列表 在互联网上的许多示例中 我发现一个 RFC 模块似乎在每个 SAP 系统上都可用 S
  • 删除 ALV 中选定的行

    我有 ALV 表 并在表工具栏中创建了一个自定义按钮 每当按下按钮时 我想删除选定的行 现在只显示一条消息 以便我可以查看自定义按钮是否正常工作 METHOD on user command CASE e salv function WHE
  • 将 ALV 输出网格中的复选框标记为选中

    我正在使用类创建 ALV 输出网格cl gui alv grid 使用 fieldcatalog 的相应记录将输出表的其中一列定义为复选框 ls fcat checkbox X ls fcat edit X 对于包含复选框的列的所有记录 它
  • 确定 ABAP 中的活动格式设置

    As the 格式化设置的ABAP文档解释 格式设置设置如下 在内部会议开始时 他们是由相关默认设置决定当前用户的用户主记录中的固定值 使用语句 SET COUNTRY 这是当前内部会话的默认设置可以使用特定于国家 地区的格式进行覆盖 但作
  • 在ABAP中找到两个数据集的差异?

    我有一组值 foo bar blue 我有一个看起来像这样的表 ID my col 1 foo 2 bar 我想要设置值减去所有可用的 my col 值 foo bar blue 减去 foo bar 结果应该是 蓝色 在ABAP中如何做到
  • HTTPS 通信失败 ABAP

    我正在开发一个应连接到两个 Web 应用程序的应用程序 第一个 Web 应用程序已完成 http example com 不幸的是 第二个 Web 应用程序使用 HTTPS https example com 抛出这个错误 Http Com
  • ALV 列表中的两级列标题

    我想添加一个标题行来对列标题进行分组 Departure Arrival lt This row is what I want to add Airport Gate Date Airport Gate Date O Hare A10 10
  • 并行模式下的 BAPI_GOODSMVT_CREATE 导致“物料 XXX 的工厂数据已锁定”错误

    目前 我们正在开发并行性的大规模 GI 发布 以显着减少工作时间 因为我们一天必须发布大约 300k 的 GI 项目 Problem 我知道 BAPI GOODSMVT CREATE 有一个限制 由于表锁 您不能同时发布相同的材料 所以我将
  • 隐藏警告的杂注:where 条件中使用的字段可能包含空值

    我正在寻找一个编译指示 可以用来隐藏当选择的 WHERE 条件中使用的字段可能包含数据库中的 NULL 值时生成的编译器警告 阅读 SAP note 1088403 后 我知道这里可能存在问题 但我无法应用那里建议的解决方案 因为我在 WH
  • 如何使用 Excel VBA 自动化 SAP GUI?

    我正在尝试登录 SAP Excel VBA 代码为我提供了一个弹出窗口来确认我的信息 但是当我提交表单时 它不会将我带到新的 SAP GUI 窗口 此外 有没有一种方法可以自动弹出所有要求确认我的信息的弹出框 我希望这段代码最终能够在一天中
  • ABAP 对象中的“ADD-CORRESPONDING”相当于什么?

    对于以下可执行程序 存在以下语法错误 OO 上下文中不支持 ADD CORRESPONDING 相当于什么ADD CORRESPONDING在ABAP对象中 REPORT CLASS lcl app DEFINITION FOR TESTI
  • ABAP中的求值顺序

    ABAP 是否有明确的评估顺序 例如 在表达式中foo bar 是否可以保证哪种方法foo and bar 首先评估 执行 在 ABAP 关键字文档中找不到此类信息 ABAP 文档 arith exp 算术运算符 https help sa
  • 缓慢选择所有条目

    下面的 SELECT 与内部表一起运行GIT KUNNR TAB包含 2 291 000 条具有唯一客户 kunnr 的行 需要 16 分钟才能完成 select kunnr umsks umskz gjahr belnr buzei bs
  • 如何找到调用该方法的ABAP程序/FM?

    我是SAP SD模块专家 经常需要调试代码 有时我需要知道哪些程序 FM 地址特定的表 我用使用地点在 SE11 中的表中 它会找到寻址该表的类方法 但是当我使用使用地点对于类方法 系统找不到任何内容 你知道如何找到调用此方法的程序或FM吗
  • SAP JCo 使用 Java 在 SAP 系统中创建记录

    我正在尝试使用从 ABAP 获得的功能和结构在 SAP 系统中创建一个条目 我指的是这个链接在 SAP 中创建采购信息记录 https stackoverflow com questions 8534602 creating purchas
  • 调用 HTTP_POST 时出现 Bad Request 错误?

    我有一个关于 SAP 功能模块 http post 的问题 我只想将 SAP 中的一条短消息 msg 发布到我之前安装的推送通知服务器 pushd Github Projekt 现在我不知道如何传递消息 我用测试符号测试了 FM CALL

随机推荐