07-28-2016 9:28 AM
Hi all,
I tried to create an xlsx file using xlsx2abap.
My internal table that I want to extract have more than 120 000 rows.
So I create a new worksheet every 65 000 rows because I read that it was the max.
But I still have a dump that I really doin't understand.
I really need your help ! Thanks in advance.
My dump :
Désignation
Internally required memory is not available
Causes
Resource bottleneck
The current program "CL_IXML=======================CP" had to be terminated
because
a capacity limit has been reached.
Solutions
Note which actions and input led to the error.
For further help in handling the problem, contact your SAP administrator.
You can use the ABAP dump analysis transaction ST22 to view and manage
termination messages, in particular for long term reference.
Analyse des erreurs
An internal function tries to request memory.
This memory could not be allocated by the operating system.
Comment corriger l'erreur
As the resource memory is collectively used by all processes that are
active at a time, it is possible that not the running process, but
another process requires too much memory.
In this case, the problem is solved when this process has finished.
You probably have to enlarge the "Swap Space" of your computer.
Report the error to the group responsible for installing your
R/3 System.
Environnement système
SAP Release..... 731
SAP Basis Level. 0017
Application server...
Network address......
Operating system..... "AIX"
Release.............. "6.1"
Hardware type........
Character length.... 8 Bits
Pointer length....... 64 Bits
Work process number.. 18
Shortdump setting.... "full"
Database server...
Database type..... "ORACLE"
Database name..... "EAE"
Database user ID.. "SAPSR3"
Terminal.......... " "
Char.set.... "it_IT.ISO8859-1"
SAP kernel....... 722
created (date)... "May 14 2015 20:15:08"
create on........ "AIX 1 6 00F870994C00"
Database version. "OCI_112, 11.2.0.2.0, V1, default"
Patch level. 4
Patch text.. " "
Database............. "ORACLE 10.2.0.*.*, ORACLE 11.2.*.*.*, ORACLE 12.*.*.*.*"
SAP database version. 722
Operating system..... "AIX 1 6, AIX 1 7"
Memory consumption
Roll.... 6219056
EM...... 2002804544
Heap.... 10006400
Page.... 352256
MM Used. 2009699968
MM Free. 783248
Infos sur point d'interruption
Termination occurred in the ABAP program "CL_IXML=======================CP" -
in "IF_IXML_NODE~SET_VALUE".
The main program was "ZPM_EXTRACT_NECST_IS010 ".
In the source code you have the termination point in line 45
of the (Include) program "BCCIIXML_LCLI".
The program "CL_IXML=======================CP" was started as a background job.
Extrait code source (Texte source modifié)
Ligne Source
39 method if_ixml_node~set_namespace_uri
40 by kernel module abkm_iXMLNode_SetNamespaceURI.
41 endmethod.
42
43 method if_ixml_node~set_value
44 by kernel module abkm_iXMLNode_SetValue.
>>>>> endmethod.
46
47 method if_ixml_node~remove_node
48 by kernel module abkm_iXMLNode_RemoveNode.
49 endmethod.
07-28-2016 9:50 AM
Hi,
This dump is due to less memory. Your custom program to generate excel require huge memory and SAP can not allocate all the memory to single program so it gave dump.
You will get same dump if you try to download huge data from any SAP std. table to excel file.
I would suggest not to process such a huge records instead split the processing e.g in one run process around 65K records only.
Regards
Sachin
07-28-2016 9:50 AM
Hi,
This dump is due to less memory. Your custom program to generate excel require huge memory and SAP can not allocate all the memory to single program so it gave dump.
You will get same dump if you try to download huge data from any SAP std. table to excel file.
I would suggest not to process such a huge records instead split the processing e.g in one run process around 65K records only.
Regards
Sachin
07-28-2016 10:03 AM
max 65000 rows was for old Excel versions. If you save in XLSX format which is recent, then you might generate more rows, up to 1 million.
Anyway, as Sachin says, just split the work in several parts to reduce the amount of memory required. At the end, you can still end up with one tab containing 120.000 rows.