Application Development 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: 

At F4IF_INT_TABLE_VALUE_REQUEST program goes for dump

Former Member
0 Kudos
294

Hi,

The following piece of code in my program goes for dump.Please help:

AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_screen-low.

SELECT FIELD1 FROM TXXX INTO TABLE T_field.

IF SY-SUBRC = 0.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

RETFIELD = s_screen

TABLES

VALUE_TAB = T_field.

ENDIF.

1 ACCEPTED SOLUTION

Former Member
0 Kudos
166

Hi,

Try this piece of code. It fulfills your requirement.

retfield -> name of the return field in the internal table

dynprofield -> name of the screen field.


TABLES: VBAK.

DATA: BEGIN OF T_VBELN OCCURS 0,
      VBELN TYPE VBAK-VBELN,
      END OF T_VBELN.

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-T01.
  SELECT-OPTIONS: S_SCREEN FOR VBAK-VBELN.
SELECTION-SCREEN END OF BLOCK B1.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_screen-low.
SELECT VBELN FROM VBAK INTO TABLE T_VBELN.
IF SY-SUBRC = 0.

  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield               = 'VBELN'
     DYNPPROG               = 'ZTRIAL'
     DYNPNR                 = SY-DYNNR
     DYNPROFIELD            = 'S_SCREEN'
     VALUE_ORG              = 'S'  "Mandatory 
    tables
      value_tab              = T_VBELN
   EXCEPTIONS
     PARAMETER_ERROR        = 1
     NO_VALUES_FOUND        = 2
     OTHERS                 = 3
            .
  IF sy-subrc <> 0.
 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
ENDIF.

6 REPLIES 6

shishupalreddy
Active Contributor
0 Kudos
166

May I knwo the Dump message ???

Former Member
0 Kudos
166

Hi,

I think you need to write

Try with the below code.

PARAMETERS: p_bukrs(4).

DATA: BEGIN OF itab OCCURS 0,

bukrs LIKE t001-bukrs,

END OF itab.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_bukrs.

SELECT bukrs FROM t001 INTO TABLE itab.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'BUKRS' ---> Field from internal table Itab

dynpprog = sy-repid

dynpnr = sy-dynnr

dynprofield = 'P_BUKRS' --> Screen field

value_org = 'S'

TABLES

value_tab = itab

EXCEPTIONS

parameter_error = 1

no_values_found = 2

OTHERS = 3.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

If it is a select option is s_bukrs then

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'BUKRS'

dynpprog = sy-repid

dynpnr = sy-dynnr

dynprofield = 'S_BUKRS-LOW'

value_org = 'S'

TABLES

value_tab = itab

EXCEPTIONS

parameter_error = 1

no_values_found = 2

OTHERS = 3.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

Regards,

Kumar Bandanadham

Edited by: Velangini Showry Maria Kumar Bandanadham on Jun 12, 2009 7:00 AM

Former Member
0 Kudos
166

Hi,

You also need to export the program name, screen number and the screen field in the FM 'F4IF_INT_TABLE_VALUE_REQUEST'...

dynpprog = sy-repid

dynpnr = sy-dynnr

dynprofield = 'S_WERKS-LOW' " Your selection screen field

~Nanda

Former Member
0 Kudos
166

Hi,

try like below:

SELECT epstp

ptext FROM t163x

INTO TABLE it_t163x

WHERE spras = sy-langu.

v_retfield = 'EPSTP'.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

RETFIELD = v_retfield

dynpprog = sy-cprog

dynpnr = sy-dynnr

dynprofield = 'S_EPSTP-LOW'

window_title = 'PO Item Category'

value_org = 'S'

callback_program = sy-repid

TABLES

VALUE_TAB = it_t163x[]

EXCEPTIONS

PARAMETER_ERROR = 1

NO_VALUES_FOUND = 2

OTHERS = 3

.

IF SY-SUBRC EQ 0.

S_EPSTP-LOW = it_return_tab.

ENDIF.

Rgds,

Pavan

Former Member
0 Kudos
167

Hi,

Try this piece of code. It fulfills your requirement.

retfield -> name of the return field in the internal table

dynprofield -> name of the screen field.


TABLES: VBAK.

DATA: BEGIN OF T_VBELN OCCURS 0,
      VBELN TYPE VBAK-VBELN,
      END OF T_VBELN.

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-T01.
  SELECT-OPTIONS: S_SCREEN FOR VBAK-VBELN.
SELECTION-SCREEN END OF BLOCK B1.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_screen-low.
SELECT VBELN FROM VBAK INTO TABLE T_VBELN.
IF SY-SUBRC = 0.

  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      retfield               = 'VBELN'
     DYNPPROG               = 'ZTRIAL'
     DYNPNR                 = SY-DYNNR
     DYNPROFIELD            = 'S_SCREEN'
     VALUE_ORG              = 'S'  "Mandatory 
    tables
      value_tab              = T_VBELN
   EXCEPTIONS
     PARAMETER_ERROR        = 1
     NO_VALUES_FOUND        = 2
     OTHERS                 = 3
            .
  IF sy-subrc <> 0.
 MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
ENDIF.

former_member188685
Active Contributor
0 Kudos
166
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = s_screen "<-----This is wrong...Type incompatable Dump will trigger

Try to pass the Correct fields name.