‎2009 Jun 29 6:04 AM
Hello,
I have moved my program from dev to qa and I am getting the run time error as given below
export data cluster is too large for the application buffer.
Please tell me that what should be done. Below is the code
REPORT ZGET_WORKLIST_ALL_USERS.
TABLES ZIT_ERROR_TAB.
DATA WA_ZIT_ERROR_TAB TYPE ZIT_ERROR_TAB.
DATA: lt_user TYPE zuser_tt,
ls_user TYPE zuser_sty.
DATA: lt_worklist TYPE uwlitemlist,
lt_messages TYPE TABLE OF swr_messag,
lt_mess_struct TYPE TABLE OF swr_mstruc.
DATA: CREATED_TIME(22) type c,
wa_lt_worklist like line of lt_worklist,
go_sys_exception TYPE REF TO cx_ai_system_fault,
employee_data TYPE REF TO ZPI_CO_SI_EP003_ACTION_ITEM_MA,
output type ZPI_MT_EP003_ACTION_ITEM,
employee_rec type ZPI_DT_EP003_ACTION_ITEM_SUMMA,
employee type ZPI_DT_EP003_ACTION_ITEM_S_TAB,
n type i.
n = 1.
SELECT bname FROM usr02 INTO TABLE lt_user.
SORT lt_user.
DELETE ADJACENT DUPLICATES FROM lt_user.
LOOP AT lt_user INTO ls_user.
CLEAR lt_worklist.
CLEAR lt_messages.
CLEAR lt_mess_struct.
CALL FUNCTION 'SWN_UWL_GET_WORKLIST'
EXPORTING
user = ls_user-bname
IMPORTING
worklist = lt_worklist
TABLES
message_lines = lt_messages
message_struct = lt_mess_struct.
loop at lt_worklist into wa_lt_worklist.
employee_rec-USER_ID = wa_lt_worklist-USER_ID.
employee_rec-SUBJECT = wa_lt_worklist-SUBJECT.
CREATED_TIME = wa_lt_worklist-CREATED_TIME.
employee_rec-CREATED_TIME = CREATED_TIME+0(14).
employee_rec-FORWARDED_BY = wa_lt_worklist-FORWARDED_BY.
employee_rec-IDENTITY_NUMBER = n.
append employee_rec to employee.
output-MT_EP003_ACTION_ITEM-SUMMARY_EMAIL_ACTION_ITEM = employee.
clear employee_rec.
n = n + 1.
endloop.
ENDLOOP.
TRY.
CREATE OBJECT employee_data.
call method employee_data->UPLOAD_ACTION_ITEM
EXPORTING
OUTPUT = output.
commit work.
CATCH cx_ai_system_fault INTO go_sys_exception.
WA_ZIT_ERROR_TAB-message = go_sys_exception->errortext.
WA_ZIT_ERROR_TAB-code = go_sys_exception->code.
WA_ZIT_ERROR_TAB-errordate = sy-datum.
insert into ZIT_ERROR_TAB values wa_ZIT_ERROR_TAB.
ENDTRY.Edited by: SAMEER CHOPRA on Jun 29, 2009 7:04 AM
Edited by: SAMEER CHOPRA on Jun 29, 2009 7:07 AM
Edited by: Vijay Babu Dudla on Jun 29, 2009 2:17 AM
‎2009 Jun 29 7:22 AM
1. Check with your BASIS admin about the buffering problem,
2. Improve your program performance, I coud see there are loop inside loop statement, pls avoid this kind code practice.
‎2009 Jun 29 6:12 AM
Hi,
it memory allocation problem that is being done at run time for this.
contact your basis person to extend buffer allocation for a particular thing.
thanks
vinod
‎2009 Jun 29 6:13 AM
I am mainly fetching number of recorde using statement into lt_user
SELECT bname FROM usr02 INTO TABLE lt_user.
where
lt_user TYPE zuser_tt,
‎2009 Jun 29 6:23 AM
1.Youcan cehck the roll area and heap area in QA system and increase it accordingly using txn RZ11
2. Improve the code performance
3. Use CURSORS
‎2009 Jun 29 7:22 AM
1. Check with your BASIS admin about the buffering problem,
2. Improve your program performance, I coud see there are loop inside loop statement, pls avoid this kind code practice.
‎2009 Jun 29 7:31 AM
Please Try by Replacing Select Query using PACKAGE SIZE addition. Probably It works.
Regards,
J.
‎2009 Jun 29 7:30 AM
Check the below link it says that this exception should rarely occur, however if it occurs then you have to increase the profile parameter rsdb/obj/buffersize............
Moreover, can you tell us at which particular point this run time error is triggered...Is it at the select statement
http://help.sap.com/saphelp_45b/helpdata/en/34/8e73a36df74873e10000009b38f9b8/content.htm