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

F4 functionality for search help

Former Member
0 Kudos
249

Hi all,

Am having two select options for cost center groups and for cost centers (s_ksgru and s_kostl ). If i give value in cost center group and after that if i press F4 for cost center it has to display the cost centers that comes under the given cost center group.

i wrote code as :

AT SELECTION-SCREEN ON S_KSGRU.

  • Bapi to get list of cost centers for given group

CALL FUNCTION 'BAPI_COSTCENTER_GETLIST'

EXPORTING

CONTROLLINGAREA = 'AFIL'

COSTCENTERGROUP = S_KSGRU-LOW

TABLES

COSTCENTER_LIST = I_COSTCENTER_LIST.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_KOSTL-LOW.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

RETFIELD = 'COSTCENTER'

VALUE_ORG = 'S'

  • MULTIPLE_CHOICE = 'X'

TABLES

VALUE_TAB = I_COSTCENTER_LIST1

RETURN_TAB = RET_TAB.

MOVE RET_TAB-FIELDVAL TO S_KOSTL-LOW.

CLEAR RET_TAB-FIELDVAL.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_KOSTL-HIGH.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

RETFIELD = 'COSTCENTER'

VALUE_ORG = 'S'

  • MULTIPLE_CHOICE = 'X'

TABLES

VALUE_TAB = I_COSTCENTER_LIST1

RETURN_TAB = RET_TAB.

MOVE RET_TAB-FIELDVAL TO S_KOSTL-HIGH.

CLEAR : RET_TAB-FIELDVAL.

S_KOSTL-SIGN = 'IN'.

S_KOSTL-OPTION = 'EQ'.

APPEND S_KOSTL.

This code is working fine.

But after giving cost center group in select-options

again i have to press enter..and then if i press F4 its displaying all the values..

If i wont press enter its throwing error No inputu values...

But i want to get F4 values without presing enter.

Will u plz tell me where to correct the code.

Its very urgent.

Thanks and Regards,

Ramya

1 REPLY 1
Read only

Former Member
0 Kudos
186

Hi abaper,

1. The entered value on screen

IS NOT AVAILABLE

if we try to detect in

AT SELECTION-SCREEN ON VALUE-REQUEST FOR MYFIELD.

2. In such case, we have use the FM

DYNP_VALUES_READ

3. To get a taste of this,

enter value in P_MONAT,

and it won't be available in F4. (in debuggin)

But it will be available, after the Fm is called.

4. Just copy paste

5.

report abc.

PARAMETERS: p_monat LIKE bkpf-monat DEFAULT sy-datum+4(2).

data : flds like DYNPREAD occurs 0 with header line.

*----


AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_MONAT.

REFRESH FLDS.

FLDS-FIELDNAME = 'P_MONAT'.

APPEND FLDS.

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 = flds

  • 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

.

BREAK-POINT.

*----


field value is available in FLDS-FIELDVALUE

regards,

amit m.