前提:Dialog屏幕中值的写入后台需回车才能实现
    效果:通过下面函数可以在没有回车的时候就能获取到你已经操作的值-对应该字段。如:checkbox、下拉框按钮一般都不会回车就可以通过这个函数直接获取你屏幕上的值用于后台操作

    “获取dialog屏幕输入
    DATA: LT_DYNPREAD TYPE STANDARD TABLE OF DYNPREAD . DATA: LW_DYNPREAD TYPE DYNPREAD .
    LW_DYNPREAD-FIELDNAME = P_FIELD.(自定义值,对应要获取的屏幕字段) APPEND LW_DYNPREAD TO LT_DYNPREAD .

    CALL FUNCTION ‘DYNP_VALUES_READ’ EXPORTING DYNAME = SY-REPID “程序名
    DYNUMB = SY-DYNNR “控制的屏幕
    TABLES DYNPFIELDS = LT_DYNPREAD
    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. IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ELSE. READ TABLE LT_DYNPREAD INTO LW_DYNPREAD WITH KEY FIELDNAME = P_FIELD. IF SY-SUBRC EQ 0. PV_VALUE = LW_DYNPREAD-FIELDVALUE.(输出返回给dialog屏幕) ENDIF. ENDIF.