2006 Dec 12 1:34 PM
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
2006 Dec 12 1:38 PM
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.