Hello experts,
I've been asked to make a report Zxxx which makes a submit to report FAGL_ACCOUNT_ITEMS_GL and returns a list with all the data. My Zxxx report can be executed online or in background, I have a radiobutton to select online or background. If I run it in foreground with an "small" variant it works fine. When I run it in background, I create a new job that calls Zxxx report and get the result. The problem is when I run Zxxx in foreground with a "huge" variant. I get MEMORY_NO_MORE_PAGING error. If I use the background option provided by SAP: programa -> execute in background, it also works fine (but I don't get the required internal table with all the data I need).
Which can be the problem for this dump ?
Copy paste of my error:
The ABAP/4 runtime system and the ABAP/4 compiler use a common
interface to store different types of data in different parts of
the SAP paging area. This data includes the
ABAP/4 memory (EXPORT TO MEMORY), the SUBMIT REPORT parameters,
CALL DIALOG and CALL TRANSACTION USING, as well as internally defined
macros (specified with DEFINE).
To store further data in the SAP paging area, you attempted to
allocate a new SAP paging block, but no more blocks were
available.
When the SAP paging overflow occurred, the ABAP/4 memory contained
entries for 18 of different IDs.
Please note:
To facilitate error handling, the ABAP/4 memory was
deleted.
s para corregir errores
The amount of storage space (in bytes) filled at termination time was:
Roll area...................... 3218672
Extended memory (EM)........... 1139623424
Assigned memory (HEAP)......... 792213504
Short area..................... " "
Paging area.................... 32768
Maximum address space.......... " "
[....]
Termination occurred in the ABAP program "CL_SALV_BS_RUNTIME_INFO=======CP" -
in "SET_DATA".
The main program was "FAGL_ACCOUNT_ITEMS_GL ".
In the source code you have the termination point in line 64
of the (Include) program "CL_SALV_BS_RUNTIME_INFO=======CM00B".
The program "CL_SALV_BS_RUNTIME_INFO=======CP" was started as a background job.
Job Name....... "ZEXTRACTO_FRANGO"
Job Initiator.. "IBERFI"
Job Number..... 15012200
lle código fuente
Txt.fte.
4 <ls_runtime_data> type any,
5 <lt_runtime_data> type table.
6
7 data:
8 l_export type abap_bool.
9
0 *... set data
1 l_export = abap_true.
2 if ls_runtime_info-structure is not initial.
3 try.
4 create data lr_data_table_line type (ls_runtime_info-structure).
5 assign lr_data_table_line->* to <ls_runtime_data>.
6
7 create data lr_data_table type table of (ls_runtime_info-structure).
8 assign lr_data_table->* to <lt_runtime_data>.
9
0 loop at data assigning <ls_data>.
1 clear <ls_runtime_data>.
2 move-corresponding <ls_data> to <ls_runtime_data>.
3 append <ls_runtime_data> to <lt_runtime_data>.
4 endloop.
5
6 export t_data from <lt_runtime_data> to memory id cl_salv_bs_runtime_info=>c_me
7 clear l_export.
8
9 catch cx_sy_create_data_error.
0 endtry.
1 endif.
2 if l_export eq abap_true.
3 export t_data from data to memory id cl_salv_bs_runtime_info=>c_memid_data.
> clear l_export.
[...]
thanks in advance.
María