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: 

F4 ENTRIES WITH RESPECT TO RADIOBUTTON.

Former Member
0 Kudos

Hi exprts,

Kindly give me a solution.

I have 2 radio buttons in my selection screen and a field with f4 entry.

if i click the 1st button, only few datas should populate in the f4 entry of that field .

if i click the 2nd button, the other values from same table should populate in the f4 entry.

Thanks,

priya.

3 REPLIES 3

Former Member
0 Kudos

Check this sample code:

Hope u can get the idea from here.

DATA : it_return1 LIKE ddshretval OCCURS 0 WITH HEADER LINE,

it_return2 LIKE ddshretval OCCURS 0 WITH HEADER LINE.

DATA: BEGIN OF it_ernam OCCURS 0,

ernam LIKE mara-ernam,

END OF it_ernam.

DATA: BEGIN OF it_matnr OCCURS 0,

matnr LIKE mara-matnr,

END OF it_matnr.

PARAMETERS: p_ernam LIKE mara-ernam,

p_matnr LIKE mara-matnr.

DATA m LIKE mara-matnr.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_ernam.

SELECT ernam FROM mara INTO TABLE it_ernam.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'P_ERNAM'

value_org = 'S'

TABLES

value_tab = it_ernam

return_tab = it_return1

EXCEPTIONS

parameter_error = 1

no_values_found = 2

OTHERS = 3.

p_ernam = it_return1-fieldval.

SELECT matnr FROM mara INTO TABLE it_matnr WHERE ernam = p_ernam.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_matnr.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

retfield = 'P_MATNR'

value_org = 'S'

TABLES

value_tab = it_matnr

return_tab = it_return2

EXCEPTIONS

parameter_error = 1

no_values_found = 2

OTHERS = 3.

vinod_vemuru2
Active Contributor
0 Kudos

Hi Priya,

Just copy paste below code. It works exactly the way u want.

When i select PKG radiobutton F4 gives all package materials.

When i select BULK radiobutton F4 gives all bulk materials.

Hope it solves ur problem.


PARAMETERS: po_pkg RADIOBUTTON GROUP g1 DEFAULT 'X' USER-COMMAND ucomm,
            po_bulk RADIOBUTTON GROUP g1,
            po_matnr(10) TYPE c.
TYPES: BEGIN OF t_mara,
        tragr TYPE mara-tragr,
        matnr TYPE mara-matnr,
     END OF t_mara.
DATA: i_mara TYPE TABLE OF t_mara,
      i_ret  TYPE TABLE OF ddshretval,
      wa_mara TYPE t_mara,
      wa_ret TYPE ddshretval.

AT SELECTION-SCREEN ON RADIOBUTTON GROUP g1.
REFRESH i_mara[].

  IF po_pkg EQ 'X'.
   SELECT tragr matnr FROM mara INTO TABLE i_mara WHERE tragr EQ 'PKG'.
  ELSE.
   SELECT tragr matnr FROM mara INTO TABLE i_mara WHERE tragr EQ 'BULK'.
  ENDIF.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR po_matnr.
"Select Default radiobutton materials i.e PKG materials
IF i_mara[] IS INITIAL AND po_pkg EQ 'X'.
  SELECT tragr matnr FROM mara INTO TABLE i_mara WHERE tragr EQ 'PKG'.
ENDIF.

  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
*   DDIC_STRUCTURE         = ' '
      retfield               = 'WA_MARA-MATNR'
*   PVALKEY                = ' '
*   DYNPPROG               = ''
*   DYNPNR                 = ''
*   DYNPROFIELD            = ' '
*   STEPL                  = 0
*   WINDOW_TITLE           =
*   VALUE                  = ' '
     value_org              = 'S'
*   MULTIPLE_CHOICE        = ' '
*   DISPLAY                = ' '
*   CALLBACK_PROGRAM       = ' '
*   CALLBACK_FORM          = ' '
    TABLES
      value_tab              = i_mara
*   FIELD_TAB              =
     return_tab             = i_ret
*   DYNPFLD_MAPPING        =
   EXCEPTIONS
     parameter_error        = 1
     no_values_found        = 2
     OTHERS                 = 3
            .
  READ TABLE i_ret INTO wa_ret INDEX 1.
  po_matnr = wa_ret-fieldval.

Thanks,

Vinod.

Edited by: Vinod Reddy Vemuru on Sep 13, 2008 5:32 PM

Former Member
0 Kudos

Hi,

Please follow the below procedure.

AT SELECTION-SCREEN ON VALUE REQUEST.

if radiobutton1 = 'X'.

write the select query for which fields you want to display in the F4 help.

call the FM 'F4...................'.

elseif radiobutton2 = 'X'.

write the select query for which fields you want to display in the F4 help.

call the FM 'F4................'.

endif.