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
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.
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.
| User | Count |
|---|---|
| 6 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |