‎2008 Jul 02 8:25 AM
Hi Sap Gurus,
I have a problem regarding Search help of a field in Selection Screen of one program where the system is giving Short dump & showing the message " SAP Paging Overflow When Storing Data in ABAP/4 Memory ".....
How can i solve this problem.Thanx in Advance...
Regards,
Bipasha..
‎2008 Jul 02 8:32 AM
Have you done some coding for the search help or is it standard SAP search help. Can you please us give the code?
‎2008 Jul 02 8:39 AM
As there was no SAP standard f4 help for Reservation Number (RSNUM) so i have used two function Modules.....
1. DYNP_VALUES_READ
2. F4IF_INT_TABLE_VALUE_REQUEST
1st one is for reading the screen input & the 2nd one is for f4 help on the basis of the previous Function Module..
Pls tell me the reason behind that.....
Thanx for Reply.....
Bipasha..
‎2008 Jul 02 8:45 AM
Have you done the coding in the following way:
*&---------------------------------------------------------------------*
*& Report ZTEST_SOURAV15
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZTEST_SOURAV15 .
TABLES: mara, marc.
PARAMETERS: matnr TYPE mara-matnr.
PARAMETERS: werks TYPE marc-werks.
TYPES : BEGIN OF ty_marc ,
werks TYPE marc-werks ,
END OF ty_marc.
DATA : it_marc TYPE STANDARD TABLE OF ty_marc.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR werks.
DATA: l_i_dynpfields TYPE STANDARD TABLE OF dynpread INITIAL SIZE 0,
l_wa_dynpfields TYPE dynpread.
l_wa_dynpfields-fieldname = 'MATNR'.
APPEND l_wa_dynpfields TO l_i_dynpfields.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-repid
dynumb = sy-dynnr
* TRANSLATE_TO_UPPER = ' '
* REQUEST = ' '
* PERFORM_CONVERSION_EXITS = ' '
* PERFORM_INPUT_CONVERSION = ' '
* DETERMINE_LOOP_INDEX = ' '
TABLES
dynpfields = l_i_dynpfields
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
invalid_parameter = 7
undefind_error = 8
double_conversion = 9
stepl_not_found = 10
OTHERS = 11
.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
READ TABLE l_i_dynpfields INTO l_wa_dynpfields
WITH KEY fieldname = 'MATNR'.
IF sy-subrc = 0.
DATA l_matnr TYPE matnr.
l_matnr = l_wa_dynpfields-fieldvalue.
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
EXPORTING
input = l_matnr
IMPORTING
output = l_matnr
EXCEPTIONS
length_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
SELECT werks FROM marc INTO TABLE it_marc WHERE matnr EQ l_matnr.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'WERKS'
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'P_WERKS'
value_org = 'S'
TABLES
value_tab = it_marc.
ENDIF.
START-OF-SELECTION.
WRITE: / ' this is for testing'.
‎2008 Jul 02 10:53 AM
Yes,Exactly this way...But still i am facing this problem....
Thanx.
‎2008 Jul 02 10:57 AM
hi
do by this way simple,
SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_scrnum FOR wwscrnum." MATCHCODE OBJECT zscrhdr.
SELECTION-SCREEN: END OF BLOCK b1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_scrnum-low.
SELECT * FROM zscr_hdr INTO CORRESPONDING FIELDS OF TABLE thdr
WHERE posi = 'P250'.
SORT thdr BY scrnum.
DELETE ADJACENT DUPLICATES FROM thdr.
DELETE thdr WHERE posi IS initial.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'SCRNUM'
dynpprog = sy-cprog
dynpnr = sy-dynnr
dynprofield = 'THDR_SCRNUM'
value_org = 'S'
TABLES
value_tab = thdr.
hope this will help u..
‎2008 Jul 02 11:07 AM
actually in my program 37000records are fetching in the internal table of the search help.....I think for these huge number of data this problem is occurred.....Will ur solution can resolve this problem??
Thanx....
‎2008 Jul 02 11:09 AM
Hi,
Try ds n u get error then let me know
TYPES: BEGIN OF TY_F4HELP,
ENAME TYPE PA0001-ENAME,
PERNR TYPE PA0001-PERNR,
END OF TY_F4HELP.
IT_F4HELP TYPE STANDARD TABLE OF TY_F4HELP WITH HEADER LINE.
DATA: IT_RETURN_TAB TYPE ddshretval OCCURS 0 WITH HEADER LINE . " Return table for F4 help
SELECT DISTINCT ename pernr
FROM PA0001
INTO TABLE IT_F4HELP.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'ENAME'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = IT_F4HELP
RETURN_TAB = it_return_tab
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3.
READ TABLE it_return_tab INDEX 1.
IF SY-SUBRC <> 0.
ENDIF.
IF sy-subrc = 0.
MOVE it_return_tab-fieldval TO P_ename.
ENDIF.
CLEAR: it_return_tab.
regards,
Mehul
‎2008 Jul 02 11:12 AM
hi,
yes this will solve your problem.but in f4 help it will show 500 records by default..
but you can see all records..