SAP Unicode程序,一个C类型的字符占用两个字节(2Byte)。内存设置方面,分配给一个前台进程(Dialog Process)默认是4000000000字节(2000000000的Extended Memory和2000000000的Heap Memory,这个大小可以调整),也就是不到4GB的内存空间,当一个内表的行结构是512个字符(1024个字节时),最多大约可以容纳400万条不到的记录数,如果超过了这个容量,就会发生DUMP或者程序强制关闭。
解决方法:
1.package size .
优点:分次从数据库读取数据,占用内存空间较小
缺点:查询数据库较频繁 。不支持并发运行。
2.OPEN CURSOR
OPEN CURSOR [WITH HOLD] dbcur FOR
SELECT result
FROM source
[[FOR ALL ENTRIES IN itab] WHERE sql_cond]
[GROUP BY group] [HAVING group_cond]
[ORDER BY sort_key].
FETCH NEXT CURSOR dbcur {INTO|APPENDING} target.
CLOSE CURSOR dbcur.