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.

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐