关于sap:SAP-ABAP-系统进行-client-拷贝时遇到的-63999-table-too-wide-错误消息

48次阅读

共计 810 个字符,预计需要花费 3 分钟才能阅读完成。

应用事物码 SCC9 进行 client 之间数据拷贝时,遇到如下谬误:63999 table too wide

这个谬误在 SAP NOTE 2099033 里有介绍。问题的本源是:

Limitation in the source code when table length is greater than 63999 Bytes

意思是试图拷贝一个 length 超过 63999 字节的数据库表。

在事物码 SE11 里,菜单 Utilites->Runtime Objects->Display 查看一个数据库表的 length:


解决办法

  1. 执行 report RSCCEXPT,将引起 copy 谬误的数据库表,剔除出 client copy 过程。

  1. 应用 customizing transport 手动将被剔除出 client copy 的数据库表的内容进行传输。

SAP ABAP 中的表缓冲是 ABAP 表中的一个概念,用于进步性能(通常是 10 到 100 倍的数量级晋升)并缩小解决(拜访)表的工夫。

表的缓冲区是数据库层和应用程序层之间的接口。应用层与缓冲区通信,缓冲区与数据库层通信,反之亦然。

数据库接口确定数据是否在缓冲区中。如果没有,它会从数据库中获取数据并同步缓冲区。

ABAP 反对下列几种缓冲类型:

  1. 当应用齐全缓冲 (full bufferred) 时,要么缓冲整个表,要么不缓冲任何记录。当拜访单个记录时,该表的整个数据 / 记录都会被缓冲。缓冲是指所有记录都在缓冲表中。

齐全缓冲适应于频繁读取然而极少写入的数据库表。

  1. 当应用 Generic Buffering 时,所有带有 Generic 键的记录都会被一次性缓冲。通用键仅用于从表中过滤数据的某些键的组合键。
    通用键是主键的一部分。在 SELECT 语句的 WHERE 条件中应提及所有通用键,否则会绕过缓冲区并间接从数据库中读取数据。
  2. Single-Record Buffering:仅缓冲曾经被拜访过的记录。

在事物码 SE11 里选中 Buffering Type 点 F1,能看到更多的帮忙信息:

正文完
 0