
REPORT Z_F4_FOR_SELECT_OPTIONS.
DATA:
ls_fixedv TYPE zdtel_fix
.
SELECT-OPTIONS:
s_fixedv FOR ls_fixedv
.
REPORT Z_F4_FOR_SELECT_OPTIONS.
DATA:
ls_test TYPE zstest
.
SELECT-OPTIONS:
s_chktab FOR ls_test-check_tab,
s_explic FOR ls_test-explicit,
s_dattyp FOR ls_test-datatyp,
s_fixed FOR ls_test-fixed
.
F4 help can be added to selection criteria if there is no automatic F4 help by defining AT SELECTION-SCREEN ON VALUE-REQUEST FOR
event for it.
F4IF_FIELD_VALUE_REQUEST
if suitable SEARCHHELP
already exists in system (SE11>Search help)SEARCHHELP
param will be the search help that exists in system, to find existing Search help for Data Element use Where-Used list (Ctrl+Shift+F3) and select Search helpTABNAME, FIELDNAME
can be any string, not used when providing SEARCHHELP
param but mandatoryF4IF_INT_TABLE_VALUE_REQUEST
if select options can be provided in an itab tableVALUE_TAB
param contains the possible valuesRETFIELD
param should be the field name from VALUE_TAB
*&---------------------------------------------------------------------*
*& Report Z_F4_FOR_SELECT_OPTIONS
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT Z_F4_FOR_SELECT_OPTIONS.
DATA:
lv_aufnr TYPE aufnr,
lv_aufart TYPE aufart
.
SELECT-OPTIONS:
s_aufnr FOR lv_aufnr,
s_aufart FOR lv_aufart
.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_aufnr-low.
PERFORM aufnr_f4 CHANGING s_aufnr-low.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_aufnr-high.
PERFORM aufnr_f4 CHANGING s_aufnr-high.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_aufart-low.
PERFORM aufart_f4 CHANGING s_aufart-low.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_aufart-high.
PERFORM aufart_f4 CHANGING s_aufart-high.
FORM aufnr_f4
CHANGING
cv_aufnr TYPE aufnr.
DATA:
lv_value TYPE help_info-fldvalue,
lt_return TYPE STANDARD TABLE OF ddshretval
.
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
exporting
TABNAME = '<any>' " Table/structure name from Dictionary
FIELDNAME = '<any>' " Field name from Dictionary
SEARCHHELP = 'ORDE' " Search help as screen field attribute
VALUE = lv_value " Field contents for F4 call
tables
RETURN_TAB = lt_return " Return the selected value
exceptions
FIELD_NOT_FOUND = 1 " Field does not exist in the Dictionary
NO_HELP_FOR_FIELD = 2 " No F4 help is defined for the field
INCONSISTENT_HELP = 3 " F4 help for the field is inconsistent
NO_VALUES_FOUND = 4 " No values found
OTHERS = 5
.
IF sy-subrc NE 0.
RETURN.
ENDIF.
READ TABLE lt_return INTO DATA(ls_ret) INDEX 1.
cv_aufnr = ls_ret-fieldval.
ENDFORM.
FORM aufart_f4
CHANGING
cv_aufart TYPE aufart.
DATA:
lt_values TYPE STANDARD TABLE OF t003o,
lt_return TYPE STANDARD TABLE OF ddshretval
.
SELECT * "#EC CI_NOWHERE
FROM t003o
INTO TABLE lt_values.
IF sy-subrc NE 0.
RETURN.
ENDIF.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
exporting
RETFIELD = 'AUART' " Name of field in VALUE_TAB
VALUE_ORG = 'S' " Value return: C: cell by cell, S: structured
tables
VALUE_TAB = lt_values " Table of values: entries cell by cell
RETURN_TAB = lt_return " Return the selected value
exceptions
PARAMETER_ERROR = 1 " Incorrect parameter
NO_VALUES_FOUND = 2 " No values found
OTHERS = 3
.
IF sy-subrc NE 0.
RETURN.
ENDIF.
read table lt_return INTO DATA(ls_return) INDEX 1.
cv_aufart = ls_return-fieldval.
ENDFORM.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
4 | |
3 | |
3 | |
2 | |
2 | |
2 | |
2 | |
1 | |
1 |