美文网首页
SAP ABAP 系统进行 client 拷贝时遇到的 6399

SAP ABAP 系统进行 client 拷贝时遇到的 6399

作者: _扫地僧_ | 来源:发表于2022-06-26 14:21 被阅读0次

    使用事物码 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,能看到更多的帮助信息:

    相关文章

      网友评论

          本文标题:SAP ABAP 系统进行 client 拷贝时遇到的 6399

          本文链接:https://www.haomeiwen.com/subject/dwnwvrtx.html