一般在获取数据之前都需要进行初始化操作:
FORM int_data
FREE : gt_data[] , gt_fieldcat[] , gt_alv_g[] , gt_alv_fe[] , "清空内表数据
git_alv_g[] , git_alv_fe[].
ENDFORM.
转载资料推荐:
https://blog.csdn.net/yang362046076/article/details/49301771
在我们使用完内表或者工作区后,需要进行一些清理工作。abap提供了3中方式:refresh,clear, free。
这3种方式的作用:
refresh
此语句将删除内部表的全部内容(包括header line,如果是带有header line的内表)。之前所使用的部分内存仍可进行后续的插入操作。即清空了内存的数据,并没有回收完内存空间,内存还被改内表占据。
clear
含有header line的内表:clear语句和refresh有相同作用。
对于不含header line的内表:clear语句仅能初始化header line,内表数据并没有影响。
free
free会删除内表的全部内容(包括header line),并且会释放之前所用内存。一般用于已完成一些操作且程许后续不会再需要的内表。
现在并不建议使用带有header line的内表!当你使用的时候,比如为itab,你用itab-字段 表示工作区,用itab[]为内表。在abap调试器的变量就是这样处理的。