Skip to Content
Author's profile photo Edy Simon

Memory Leak on Form DataTable

The other day, I was developing an add on for one of our customer.

The customization requires me to load a considerable amount of data into a datatable bound to a matrix.

I noticed on my computer memory usage that each time I open the form, the SBO (not the customized program) memory usage increases.

This make sense, since i am reading a lot of data from the tables and dump them into my form datasource.

However, when I close the form, the memory are not fully released.

Each and everytime i open and close the form, the SBO memory usage is getting bigger and bigger.

After some debugging, I found out that the memory from the DataTable object is not released.

The solution for this is quite simple.

Catch the Before Form Closed event. and call this :

oform.DataSources.DataTables.Item(“UID”).Clear()

Observing the life cycle of form creation.

1. Create Form

2. Add DataSource.

3. Bind DataSource.

4. Initialize the Form.

5. Users interact with the form.

6. Close form,

I think it is a good practice to add one step in between point 5 and 6, which is Clean Up the DataSources.

Note :

My Development system was :

Windows XP SP3

SBO 882 PL 8

Regards

Edy

Assigned Tags

      3 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      Hello Edy!

      I developed an add-on that uses 7 data tables in a thread. Each 1 second those data tables execute the method ExecuteQuery(), and 7 matrices load each DataTable. The memory increase continuously. I tried to use the method Clear(), but memory still in use. You know a way to resolve this? I'm using the SAP 9.1 PL 03.

      Thanks!

      Marcel

      Author's profile photo Edy Simon
      Edy Simon
      Blog Post Author

      Hi Marcel,

      I notice the behavior but have never tried to resolve this.

      In my original posting environment, the memory is only released after I clear up the data table and close the form.

      I am currently not able to test it on 9.1 because of my work load. Will definitely look at it again in my free time.

      Regards
      Edy

      Author's profile photo Former Member
      Former Member

      Thanks Edy!