Shashank B
Shashank B

Reputation: 1

Is there a way to return a 3D list from embedded Python back to ECL?

I have a 2D array in Python which I want to return back to ELC, for further usage. The recordset is of the following format

layout:=RECORD
      INTEGER RED;
      INTEGER GREEN;
      INTEGER BLUE;
END;

The no. of records approximate to around 640000, which when I attempt to return to ELC and display, gives the following error:

Dataset too large to output to workunit(limit is set to 10)megabytes

Is there any method to change the output limit of a workunit?

Upvotes: 0

Views: 74

Answers (1)

Richard Taylor
Richard Taylor

Reputation: 780

Shashank,

RGB values tend to each usually be in the range of 0-255 (in ECL, that means an UNSIGNED1 -- an unsigned 1-byte integer type), and the INTEGER type you're using defaults to an 8-byte signed integer type.

So, if you change your return types from your Python code to 1-byte unsigned RGB values you should reduce the total return size to an eighth of the previous. Since 640000 recs * 3 bytes each = 1.92Mb total returned data (considerably smaller than the 10Mb error message you're getting), just doing this should hopefully solve your problem.

HTH,

Richard

Upvotes: 1

Related Questions