2012 Jul 11 12:48 PM
dear all,
I am creating search help using F4IF_INT_TABLE_VALUE_REQUEST using parameter.
but when i am using selection-option as a input parameter i am not getting perfect value
eg.
SELECTION-SCREEN BEGIN OF BLOCK blk WITH FRAME TITLE text-001.
PARAMETERS : bukrs TYPE febko-bukrs OBLIGATORY.
SELECT-OPTIONS : hbkid FOR febko-hbkid OBLIGATORY.
SELECT-OPTIONS : hktid FOR febko-hktid.
PARAMETERS : aznum TYPE febko-aznum.
*SELECT-OPTIONS : aznum FOR febko-aznum.
*SELECT-OPTIONS : azdat FOR febko-azdat OBLIGATORY.
PARAMETERS : r_open RADIOBUTTON GROUP rb1.
PARAMETERS : budat TYPE bkpf-budat DEFAULT sy-datum.
PARAMETERS : r_clear RADIOBUTTON GROUP rb1.
SELECT-OPTIONS : augdt FOR bsas-augdt.
SELECTION-SCREEN END OF BLOCK blk.
AT SELECTION-SCREEN OUTPUT.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR aznum.
PERFORM statement_no.
form STATEMENT_NO .
DATA: dynfields TYPE TABLE OF dynpread WITH HEADER LINE.
dynfields-fieldname = 'BUKRS'.
APPEND dynfields.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-cprog
dynumb = sy-dynnr
translate_to_upper = 'X'
TABLES
dynpfields = dynfields
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.
READ TABLE dynfields WITH KEY fieldname = 'BUKRS'.
bukrs = dynfields-fieldvalue.
CLEAR : dynfields.
REFRESH : dynfields.
dynfields-fieldname = 'HBKID-LOW'.
APPEND dynfields.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-cprog
dynumb = sy-dynnr
translate_to_upper = 'X'
TABLES
dynpfields = dynfields
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.
READ TABLE dynfields WITH KEY fieldname = 'HBKID-LOW'.
hbkid-LOW = dynfields-fieldvalue.
CLEAR : dynfields.
REFRESH : dynfields.
dynfields-fieldname = 'HBKID-HIGH'.
APPEND dynfields.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-cprog
dynumb = sy-dynnr
translate_to_upper = 'X'
TABLES
dynpfields = dynfields
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.
READ TABLE dynfields WITH KEY fieldname = 'HBKID-HIGH'.
hbkid-high = dynfields-fieldvalue.
hbkid-sign = 'I'.
IF hbkid-high IS INITIAL.
hbkid-option = 'EQ'.
ELSE.
hbkid-option = 'BT'.
ENDIF.
APPEND hbkid.
CLEAR : it_helptab.
SELECT absnd ktonr aznum azdat hbkid FROM febko INTO TABLE it_helptab
WHERE bukrs = bukrs AND hbkid IN hbkid.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
* DDIC_STRUCTURE = ' '
retfield = 'AZNUM'
* PVALKEY = ' '
DYNPPROG = sy-repid
DYNPNR = sy-dynnr
DYNPROFIELD = 'AZNUM'
* STEPL = 0
WINDOW_TITLE = 'Statement Number'
* VALUE = ' '
VALUE_ORG = 'S'
* MULTIPLE_CHOICE = ' '
* DISPLAY = ' '
* CALLBACK_PROGRAM = ' '
* CALLBACK_FORM = ' '
* MARK_TAB =
* IMPORTING
* USER_RESET =
tables
value_tab = it_helptab
* FIELD_TAB =
* RETURN_TAB = it_return
* DYNPFLD_MAPPING =
* 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.
*READ TABLE it_return into wa_return index 1.
*aznum = wa_return-fieldval.
endform. " STATEMENT_NO
2012 Jul 11 1:32 PM
Hi,
If you want parameter use :
*READ TABLE it_return into wa_return index 1.
*aznum = wa_return-fieldval.
For select-options use :
*READ TABLE it_return into wa_return index 1.
*aznum-low = wa_return-fieldval.
Regards.