2009 Jun 12 5:42 AM
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.
2009 Jun 12 6:25 AM
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.
2009 Jun 12 5:44 AM
2009 Jun 12 5:54 AM
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
2009 Jun 12 6:19 AM
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
2009 Jun 12 6:22 AM
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
2009 Jun 12 6:25 AM
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.
2009 Jun 12 6:26 AM
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.