有个敌人向我征询对于 SAP 产品加强字段扩大(Field Extensibility) 的问题:
Jerry,你好。看过你写的 SAP 产品加强 Field Extensibility 文章,对扩大字段在物理数据库的构造还不是很分明,创立一个扩大字段后,物理数据库中是在 SAP 标品的表中加列,还是有一个关联表?或者说这是不是有多种可选的策略?
想问一下这一块细节。
这位敌人应该看的是笔者这篇文章:SAP 产品的 Field Extensibility。
本文就通过一个理论的例子,解说如何手动给 SAP ABAP 数据库表,通过加强的形式,削减新的字段。
所谓加强(enhancement),是一种降级平安的扩大形式,这种形式不会对 SAP 规范产品公布的数据库表造成间接批改,这意味着客户能够在本人的零碎上,通过这种加强形式给 SAP 规范数据库表削减新的字段。其后如果 SAP 数据库表产生了版本更新,比方削减了新的规范字段,或者对已有字段进行重命名,客户加强的这些字段都不会受到影响。
客户加强字段存储在一个客户创立的名叫 append structure 的 ABAP DDIC 构造上,这个构造是独立于 SAP 规范数据库表,存储在客户本人的命名空间下的开发包里。
下图是 SAP CRM 产品主数据的明细页面,其中产品的形容信息,寄存在数据库表 COMM_PRSHTEXT
里。
COMM_PRSHTEXT 的主键为 PRODUCT_GUID 和 LANGU,这暗示咱们一个产品能够别离基于不同的语言,别离保护多条形容信息。
SHORT_TEXT 字段寄存产品描述 大小写相干
的内容,这些形容信息字符,在对应语言里如果能转换成大写,则全副转换成大写模式,而后寄存到另一个字段 SHTEXT_LARGE
里。
这两列的内容的一些例子,如下图所示:
本文咱们介绍如何在这张数据库表里通过加强的形式,增加一个额定的自定义字段。假如咱们增加的新字段数据类型为整数类型,用来存储一个产品描述信息的字符个数(通过 ABAP 规范函数 strlen 取得)。
最初增加的扩大字段成果如下图所示:
具体的步骤如下)。