近日为了模仿ALV的所有功能,费了9牛2虎之力用table control(后称TC)做了一个测试的程序。 对比ALV, TC还是有一点逊色。 ALV提供很多现成的基本功能响应事件, 包括step loop、scroll、cursor、color、display、change、insert、delete、double click、selected、pick、sort、find、sum、print、export、layout、graphic、column header、LED、icon等等。而TC只是能提供滚动条提示、选择、显示、修改、F4help和步循环,其他默认功能都没有提供,各种功能都得自己编码完成。如果要完成复杂的任务的话,用TC对你来说恐怕不是一种挑战,是自虐吧 : (
那为什么至今还提供TC呢? 因为如果你要完成简单的scoll,display,change等功能的话,相对ALV而言,TC完全是不用编码就可以通过wizard实现创建的,而ALV则需要一定的代码来实现。
这个是TC的:

这个是ALV,对比一下:
代码方面,因为至少8~9个屏幕和N种响应事件,代码量巨大, 而且逻辑可能没有ALV标准功能写得那么严谨,还需要加以修饰。