ABAP总结之十一,Enhancement(2)--Dictionary Elements
2008-07-29 08:03
232 查看
对于透明表及结构的增强,主要两种。一种是Append Structure,还有一种就是Include形式。
Append Structure可以扩展原来的表结构,但是并不是在原来的表上加字段,而是再建一个附加的结构,物理上,数据是存在两处的。而且,一个Append Structure只能有一张表结构。如果把有Append Structure结构的表进行复制的话,那么在新的表中,原有的Append Structure就变成了固定字段,物理表也变成了一张。
Include格式,多见于由于增强而自动生成的表字段,比如做屏幕增强的时候。当然,你也可以自己定义。相比Append Structure, Include就可以包含多张表结构(Include的Data Elements可以Append Structure)。它不具有Append Structure的‘复制’性能,即使复制,还是会以原结构存在于新表中。
当你做完增强后,如果想所加字段在SM30表维护中也出现,那么需要通过以下路径生成表维护程序:
SE11->进入相应表,并做完增强->Utilities->Table Maintenance Generator
如果你要反复地更改增强,比如改变某一字段的长度。那么在减少字段时,需用SE14进行物理表的修改,否则无法激活。
有一种情况要注意,原有数据表中存在数据时,Append Structure或Include增强,不会影响原有数据,只会在原有的数据中加上相应的空白字段。如果,将字段的长度减少时,数据的就会丢失,一般是从尾部开始丢失。所以不建议,在已有数据的情况下,减少字段长度。
下面将以下我碰到的一个实际例子。
由于业务的需要,一个标准表的标准字段长度不够,这时候就要增强字段长度。我那时候想了3套方案。
1.直接增加字段长度。
(由于这个字段有一定的命名规则,程序会截取字符进行进行判断,直接增加字段长度,直接修改代价比较大)
2.Apend一个附加字段,在逻辑判断的时候,将附加字段和原有字段综合起来进行判断。
(要修改相应的程序)
3.由于这个字段是用来Mapping的,有它一定的命名规则。改变原有的命名规则,延长这个字段的使用寿命。
现在还没定出来使用哪个。不过个人感觉,如果一开始架构的时候能对业务增长有一个比较可靠的估计,那么碰到这种情况的概率也会大大减少。毕竟,上线后再做修改和增强,已经属于费力的工程了。
对于字典文档的增强,可以在以下路径中做:
CMOD->GoTo->Text enhancements->Data elements/Keywords
Append Structure可以扩展原来的表结构,但是并不是在原来的表上加字段,而是再建一个附加的结构,物理上,数据是存在两处的。而且,一个Append Structure只能有一张表结构。如果把有Append Structure结构的表进行复制的话,那么在新的表中,原有的Append Structure就变成了固定字段,物理表也变成了一张。
Include格式,多见于由于增强而自动生成的表字段,比如做屏幕增强的时候。当然,你也可以自己定义。相比Append Structure, Include就可以包含多张表结构(Include的Data Elements可以Append Structure)。它不具有Append Structure的‘复制’性能,即使复制,还是会以原结构存在于新表中。
当你做完增强后,如果想所加字段在SM30表维护中也出现,那么需要通过以下路径生成表维护程序:
SE11->进入相应表,并做完增强->Utilities->Table Maintenance Generator
如果你要反复地更改增强,比如改变某一字段的长度。那么在减少字段时,需用SE14进行物理表的修改,否则无法激活。
有一种情况要注意,原有数据表中存在数据时,Append Structure或Include增强,不会影响原有数据,只会在原有的数据中加上相应的空白字段。如果,将字段的长度减少时,数据的就会丢失,一般是从尾部开始丢失。所以不建议,在已有数据的情况下,减少字段长度。
下面将以下我碰到的一个实际例子。
由于业务的需要,一个标准表的标准字段长度不够,这时候就要增强字段长度。我那时候想了3套方案。
1.直接增加字段长度。
(由于这个字段有一定的命名规则,程序会截取字符进行进行判断,直接增加字段长度,直接修改代价比较大)
2.Apend一个附加字段,在逻辑判断的时候,将附加字段和原有字段综合起来进行判断。
(要修改相应的程序)
3.由于这个字段是用来Mapping的,有它一定的命名规则。改变原有的命名规则,延长这个字段的使用寿命。
现在还没定出来使用哪个。不过个人感觉,如果一开始架构的时候能对业务增长有一个比较可靠的估计,那么碰到这种情况的概率也会大大减少。毕竟,上线后再做修改和增强,已经属于费力的工程了。
对于字典文档的增强,可以在以下路径中做:
CMOD->GoTo->Text enhancements->Data elements/Keywords
相关文章推荐
- ABAP总结之十一,Enhancement(3)--User Exits
- 【转载】ABAP总结之十一,Enhancement(3)--User Exits .
- ABAP总结之十一,Enhancement(1)--BTEs
- ABAP总结之十一,Enhancement(4)--Customer Exits
- ABAP总结之十一,Enhancement(6)--BAdIs
- ABAP总结之十一,Enhancement(5)--Field Exits
- Enhancement(2)--Dictionary Elements {转载}
- ABAP总结之四,CATT & eCATT
- abap 日期处理总结
- WinForm控件开发总结(十一)-----调试控件的设计时行为
- C#基础总结之五Dictionary<string, string[]>和while循环
- ABAP总结-转载,好全啊
- TestNG 学习总结 - 依赖测试(十一)
- Android按键灯,指示灯总结【Android源码解析十一】
- 作业十一 指针+总结
- 总结前十一课中老师重点回顾的问题
- H.264句法和语法总结(十一)宏块层预测句法
- abap 添加 Table ‘Enhancement category for table missing’ 警告解决
- [Java面试十一]数据库总结.
- HBase总结(十一)hbase Java API 介绍及使用示例