Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Error in Search help

Former Member
0 Likes
1,071

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..

8 REPLIES 8
Read only

Former Member
0 Likes
889

Have you done some coding for the search help or is it standard SAP search help. Can you please us give the code?

Read only

0 Likes
889

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..

Read only

0 Likes
889

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'.

Read only

0 Likes
889

Yes,Exactly this way...But still i am facing this problem....

Thanx.

Read only

0 Likes
889

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..

Read only

0 Likes
889

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....

Read only

0 Likes
889

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

Read only

0 Likes
889

hi,

yes this will solve your problem.but in f4 help it will show 500 records by default..

but you can see all records..