FavoriteLoading
0

如何对比两个结构相同的内表内容[CTVB_COMPARE_TABLES]

[隐藏]

1, 用‘=’对比

直接使用 if itab1[] = itab2[]. endif.判断两个内表内容是否相同,这种方法虽然简单但是也有一定的局限性,就是只有两个内表的内容完全一致 时,才认为相等。如果内表内容的排列顺序不一致,也认为两个内表不等,也就是说‘=’是一条一条比较的。

测试代码如下:

运行结果:

2017-02-09_19-20-13

2, 使用CTVB_COMPARE_TABLES

也可以调用CTVB_COMPARE_TABLES来比较内表,

2017-02-09_20-08-01

参数含义:

输入参数:
TABLE_OLD:旧表
TABLE_NEW:新表
KEY_LENGTH:键长度,指定内表中的前若干个字节为主键,做为内表行是否为增加的判断条件。
IF_SORTED:排序标记,如果已排序,在比较时可以提高效率。

输出参数:
TABLE_DEL:被删除的行
TABLE_ADD:被增加的行
TABLE_MOD:被修改的行
NO_CHANGES:表没有被修改的标记,如果这个标记为 “X”,表示TABLE_OLD和TABLE_NEW内容没有改变,如果为空则说明这两个内表内容不一致

例子代码:

显示结果:

2017-02-09_20-07-07

以上。