on 02-12-2011 1:51 AM
Hi,
I met an issue when publishing a procurement catalog in CCM. I got runtime error on TSV_TNEW_OCCURS_NO_ROLL_MEMORY. We do have many items in this procurement however we also published this catalog a few weeks ago with no issue.
It looks like memory shortage so I requested our BASIS person to restart the catalog server. But when I re-published it, I got same runtime error.
Can anybody help me to get an idea on this issue and any suggestion?
Below I captured some information from ST22 error analysis. Sorry it's all in text as I don't know how I can post screenshots here.
Error analysis
The internal table "\DATA=GT_HISTOR
Y_BUF[86078]-REC" could not be filled.
Memory location: "Session memory"
You attempted to create an OCCURS area 12288 bytes long for the internal
table "\DATA=GT_HISTORY_BUF[86078]-
REC". This is because the first entry is to be stored
in the internal table.
The amount of memory requested is no longer available.
Last error logged in SAP kernel
Component............ "EM"
Place................ "SAP-Server SIRDCM_PCM_02 on host SIRDCM (wp 19)"
Version.............. 37
Error code........... 7
Error text........... "Warning: EM-Memory exhausted: Workprocess gets PRIV "
Description.......... " "
System call.......... " "
Module............... "emxx.c"
Line................. 1897
The error reported by the operating system is:
Error number..... " "
Error text....... " "
Information on where terminated
Termination occurred in the ABAP program "/CCM/CL_CHAR_VALUATION_MANAGERCP" -
in "DELETE_HISTORY".
The main program was "/CCM/PE_START_REG_PUBLICATION ".
In the source code you have the termination point in line 88
of the (Include) program "/CCM/CL_CHAR_VALUATION_MANAGERCM00S".
Source Code Extract
Line SourceCde
58 ls_timestamp-high = lv_timestamp_to.
59 APPEND ls_timestamp TO lt_timestamp.
60 lt_history_db = me->read_all_history_db( iv_guid = iv_guid
61 it_timestamp = lt_timestamp ).
62
63 * sort results from database
64 SORT lt_history_db BY process guid timestamp.
65
66 * now consolidate results with buffer table
67 LOOP AT lt_history_db REFERENCE INTO lr_history_db.
68 * only consider records that aren't in buffer
69 READ TABLE gt_history_buf BINARY SEARCH TRANSPORTING NO FIELDS
70 WITH KEY process = lr_history_db->process
71 guid = lr_history_db->guid
72 timestamp = lr_history_db->timestamp.
73 IF sy-subrc NE 0.
74 lv_sytabix = sy-tabix.
75 ls_history_buf-process = lr_history_db->process.
76 ls_history_buf-guid = lr_history_db->guid.
77 ls_history_buf-timestamp = lr_history_db->timestamp.
78 INSERT ls_history_buf INTO gt_history_buf INDEX lv_sytabix REFERENCE INTO lr_history_
79 ENDIF.
80
81 IF lr_history_buf IS BOUND AND
82 lr_history_buf->process = lr_history_db->process AND
83 lr_history_buf->guid = lr_history_db->guid AND
84 lr_history_buf->timestamp = lr_history_db->timestamp.
85
86 ls_history_obj_buf-rec = lr_history_db->*.
87 ls_history_obj_buf-rec_op = /ccm/cl_data_access_constants=>co_operation_delete.
>>>>> APPEND ls_history_obj_buf TO lr_history_buf->rec.
89
90 ELSE.
91 CLEAR lr_history_buf.
92 ENDIF.
93
94 ENDLOOP.
Many thanks!
Best Regards,
Ellly
Hi Elly,
Do you have the history functionality switched on or off? (See note 1068821)
If it is still on you can switch it off to improve the runtime of the publishing and update.
Otherwise I would check the table /ccm/d_value_h to see how many records there are there. I expect it is a lot, you can use the report /CCM/DELETE_HISTORY_BG to remove some of these older entries which should also help. Mkae sure you use small segments when using this report as it also has a tendency to time out/dump due to long runtime when large amounts of data are processed.
If you do not want/need the history then you should turn it off as defiend in the note then you can delete the data in this table (safely) using either db tools to drop the table or by implemening a simple report like:
&----
*& Report ZDELETEHISTORY
*&
&----
*&
*&
&----
REPORT ZDELETEHISTORY.
delete from /CCM/D_VALUE_H.
commit work.
Regards,
Jason
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.