请教! 不回车如何取值?
在一个屏幕上有两个可输入字段,在第一个字段输入值后在,不做任何动作,光标移到第2个字段,但
第2个字段的选择条件是第一个字段的值,这时我总是取不到第一字段的值,有什么办法啊?
DATA: dynpfields TYPE TABLE OF dynpread INITIAL SIZE 10 WITH HEADER LINE.
CLEAR dynpfields. REFRESH dynpfields.
dynpfields-fieldname = 'PA_REGIO'. APPEND dynpfields. " Region/Province/State
dynpfields-fieldname = 'PA_ORT01'. APPEND dynpfields. " City
*read fields
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-repid
dynumb = sy-dynnr
TABLES
dynpfields = dynpfields
EXCEPTIONS
OTHERS = 11.
IF sy-subrc <> 0.
EXIT. " could not find the field in the selection screen
ENDIF.
DATA r_regio TYPE RANGE OF regio WITH HEADER LINE.
DATA r_ort01 TYPE RANGE OF ort01 WITH HEADER LINE.
LOOP AT dynpfields WHERE fieldvalue IS NOT INITIAL.
TRANSLATE dynpfields-fieldvalue TO UPPER CASE. "#EC TRANSLANG
CASE dynpfields-fieldname.
WHEN 'PA_REGIO'.
CONCATENATE dynpfields-fieldvalue '*' INTO r_regio-low.
r_regio-sign = 'I'. "#EC *
r_regio-option = 'CP'. "#EC *
APPEND r_regio.
WHEN 'PA_ORT01'.
CONCATENATE dynpfields-fieldvalue '*' INTO r_ort01-low.
r_ort01-sign = 'I'. "#EC *
r_ort01-option = 'CP'. "#EC *
APPEND r_ort01.
ENDCASE.
ENDLOOP.
SELECT DISTINCT ort01_maco FROM jgtsadr UP TO 500 ROWS INTO TABLE it_f4help
WHERE regio IN r_regio AND ort01 IN r_ort01.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'ORT01'
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'PA_ORT01'
value_org = 'S'
TABLES
value_tab = it_f4help.