1

我需要创建一个 Z 表来存储修改某个自定义对象的原因。

在 UI 中,用户将选择一个原因 ID,然后选择性地填写一个文本框。该表将或多或少包含以下字段:

key objectID
key changeReasonID
    changedOn
    changedBy
    comments

我的疑问在于评论字段。我阅读了有关 STRING 和 SSTRING 限制的文档,但我不清楚透明表中使用的 STRING 类型字段是否具有有限长度。

即使长度不受限制(至少受数据库限制),我也不确定使用这种方法是否是个好主意,或者您会推荐使用固定长度的 CHAR/SSTRING 类型吗?

**我的系统正在运行 MSSQL 数据库。

4

1 回答 1

4

字符串在 ABAP 结构/表和数据库中都有无限长度。

大多数数据库将只在该列中存储一个指针,该指针指向存储在不同内存段中的实际 CLOB 值。因此,它们限制了这些列的使用,并且可能不允许您将它们用作键或索引。

如果我没记错的话,ABAP每个结构最多支持 16 个字符串字段,这自然会限制它的用例。还要考虑 ABAP 结构具有最大大小。

对于您的情况,如果注释将仍然是唯一的长字段,并且您实际上可以存储无限输入(--> 安全约束?),那么字符串听起来是一个合理的选择。

如果您不确定未来会带来什么,或者为了安全起见,您可能希望选择字符串或只是一个长字符。

于 2020-03-23T15:04:24.147 回答